Added ScreenHowToPlay, removed texture hints, and cleaned up ThemeMetric stuff

This commit is contained in:
Chris Danford
2002-08-27 03:59:22 +00:00
parent 6b87066f8f
commit 142002091a
54 changed files with 797 additions and 785 deletions
+2
View File
@@ -1,4 +1,6 @@
------------------------CVS after 3.00 beta 6----------------
CHANGE: Texture Hints have been removed in favor of smarter, automatic
texture format chooser.
CHANGE: New Nullsoft NSIS installer.
CHANGE: NG no longer breaks combo.
NEW FEATURE: Hidden easter egg. You have to be "perfect" to find it.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1008 B

+54 -21
View File
@@ -1,10 +1,20 @@
[General]
CautionType=1 // 0 for skip, 1 for DDR caution, 2 for Ez2's SelectPlayer
SelectStyleType=0 // 0 for MAX type, 1 for 5th type, 2 for EZ2 type
SelectDifficultyType=1 // 0 for skip, 1 for MAX type
StageType=0 // 0 for MAX, 1 for Pump, 2 for EZ2
// Possible NextScreen Codes:
// - ScreenCaution
// - ScreenEz2SelectPlayer
// - ScreenEz2SelectStyle
// - ScreenHowToPlay
// - ScreenSelectCourse
// - ScreenSelectDifficulty
// - ScreenSelectGroup
// - ScreenSelectMusic
// - ScreenSelectStyle5th
// - ScreenSelectStyle
[TitleMenu]
[Common]
ColorP1=0.4,1.0,0.8,1 // sea green
ColorP2=1.0,0.5,0.2,1 // orange
[ScreenTitleMenu]
ChoicesX=320
ChoicesStartY=60
ChoicesSpacingY=48
@@ -22,8 +32,15 @@ GoToCautionOrSelectPlayer=0
SecondsBeforeDemonstration=30
SecondsBetweenAttract=12
HelpText=Use # $ to select, then press START
NextScreen=ScreenCaution
[SelectStyle]
[ScreenCaution]
NextScreen=ScreenSelectStyle
[ScreenEz2SelectPlayer]
NextScreen=ScreenSelectGroup
[ScreenSelectStyle]
IconsStartX=60
IconsSpacingX=76
IconsStartY=100
@@ -36,8 +53,12 @@ PreviewX=160
PreviewY=240
HelpText=Use ! " to select, then press START
TimerSeconds=40
NextScreen=ScreenSelectDifficulty
[SelectDifficulty]
[ScreenEz2SelectStyle]
NextScreen=ScreenSelectGroup
[ScreenSelectDifficulty]
MorePage1X=580
MorePage1Y=90
MorePage2X=700
@@ -56,16 +77,17 @@ OniX=860
OniY=180
EndlessX=1060
EndlessY=180
ArrowOffsetP1X=-40
ArrowOffsetP1Y=200
ArrowOffsetP2X=+40
ArrowOffsetP2Y=200
ArrowShadowLengthX=10
ArrowShadowLengthY=10
CursorOffsetP1X=-40
CursorOffsetP1Y=200
CursorOffsetP2X=+40
CursorOffsetP2Y=200
CursorShadowLengthX=10
CursorShadowLengthY=10
HelpText=Use ! " to select, then press START
TimerSeconds=40
NextScreen=ScreenSelectGroup
[SelectGroup]
[ScreenSelectGroup]
FrameX=180
FrameY=160
BannerX=180
@@ -89,8 +111,16 @@ TitlesColumns=3
TitlesRows=10
HelpText=Use ! " to select, then press START
TimerSeconds=40
NextScreenArcade=ScreenHowToPlay
NextScreenOni=ScreenHowToPlay
[SelectMusic]
[ScreenHowToPlay]
NextScreenArcade=ScreenSelectMusic
NextScreenOni=ScreenSelectCourse
HelpText=
TimerSeconds=15
[ScreenSelectMusic]
BannerFrameX=160
BannerFrameY=118
BannerX=150
@@ -134,7 +164,7 @@ SongOptionsY=298
HelpText=! or " change music Hold ! and " then press START to change sort::## easier difficulty $$ harder difficulty::#$#$ to change sort
TimerSeconds=60
[SelectCourse]
[ScreenSelectCourse]
BannerFrameX=160
BannerFrameY=118
BannerX=150
@@ -156,7 +186,10 @@ ScoreP2Y=286
HelpText=Use ! " to select, then press START
TimerSeconds=60
[Gameplay]
[ScreenStage]
StageType=0 // 0 for MAX, 1 for Pump, 2 for EZ2
[ScreenGameplay]
TopFrameX=320
TopFrameY=36
TopFrameExtraY=442
@@ -214,7 +247,7 @@ AutoPlayY=360
SecondsBetweenComments=10
DemonstrationSeconds=30
[Evaluation]
[ScreenEvaluation]
BannerX=320
BannerY=100
StageX=320
@@ -274,7 +307,7 @@ HelpText=Press START to continue
TimerSeconds=40
SpinGrades=1
[Other]
[ScreenManager]
StatsX=632
StatsY=10
CreditsP1X=100
@@ -282,7 +315,7 @@ CreditsP1Y=470
CreditsP2X=540
CreditsP2Y=470
[WheelItem]
[WheelItemDisplay]
IconX=-136
SongNameX=-30
SectionNameX=-30
+7 -3
View File
@@ -11,8 +11,12 @@
*/
#include "GameConstantsAndTypes.h"
#include "ThemeManager.h"
#define COLOR_P1 THEME->GetMetricC("Common","ColorP1")
#define COLOR_P2 THEME->GetMetricC("Common","ColorP2")
D3DXCOLOR DifficultyClassToColor( DifficultyClass dc )
{
@@ -51,9 +55,9 @@ D3DXCOLOR PlayerToColor( const PlayerNumber p )
{
switch( p )
{
case PLAYER_1: return D3DXCOLOR(0.4f,1.0f,0.8f,1); // sea green
case PLAYER_2: return D3DXCOLOR(1.0f,0.5f,0.2f,1); // orange
default: ASSERT( false ); return D3DXCOLOR(1,1,1,1);
case PLAYER_1: return COLOR_P1;
case PLAYER_2: return COLOR_P2;
default: ASSERT(0); return D3DXCOLOR(0.5f,0.5f,0.5f,1);
}
};
+3 -8
View File
@@ -24,7 +24,7 @@ const float GRADES_TO_SCROLL = NUM_GRADE_FRAMES*4;
GradeDisplay::GradeDisplay()
{
Load( THEME->GetPathTo("Graphics","evaluation grades") );
Load( THEME->GetPathTo("Graphics","evaluation grades 1x7") );
StopAnimating();
m_fTimeLeftInScroll = 0;
@@ -85,13 +85,8 @@ void GradeDisplay::SetGrade( PlayerNumber p, Grade g )
case GRADE_C: SetState( 4*iNumCols+p ); break;
case GRADE_D: SetState( 5*iNumCols+p ); break;
case GRADE_E: SetState( 6*iNumCols+p ); break;
case GRADE_NO_DATA:
if( this->GetNumStates()%8 == 0 )
SetState( 7*iNumCols+p );
else
SetDiffuseColor( D3DXCOLOR(1,1,1,0) ); // don't show anything
break;
default: ASSERT( false );
case GRADE_NO_DATA: SetDiffuseColor( D3DXCOLOR(1,1,1,0) ); break;
default: ASSERT(0);
}
};
+4 -4
View File
@@ -6,10 +6,10 @@
/* If this actor is used anywhere other than SelectGroup, we
* can add a setting that changes which metric group we pull
* settings out of, so it can be configured separately. */
#define BUTTON_X THEME->GetMetricF("SelectGroup","ButtonX")
#define BUTTON_START_Y THEME->GetMetricF("SelectGroup","ButtonStartY")
#define BUTTON_SPACING_Y THEME->GetMetricF("SelectGroup","ButtonSpacingY")
#define BUTTON_SELECTED_X THEME->GetMetricF("SelectGroup","ButtonSelectedX")
#define BUTTON_X THEME->GetMetricF("ScreenSelectGroup","ButtonX")
#define BUTTON_START_Y THEME->GetMetricF("ScreenSelectGroup","ButtonStartY")
#define BUTTON_SPACING_Y THEME->GetMetricF("ScreenSelectGroup","ButtonSpacingY")
#define BUTTON_SELECTED_X THEME->GetMetricF("ScreenSelectGroup","ButtonSelectedX")
GroupList::GroupList()
{
+2 -2
View File
@@ -50,10 +50,10 @@ LifeMeterBar::LifeMeterBar()
m_quadBlackBackground.SetZoomY( (float)m_iMeterHeight );
m_frame.AddSubActor( &m_quadBlackBackground );
m_sprStreamNormal.Load( THEME->GetPathTo("Graphics","gameplay lifemeter stream normal") );
m_sprStreamNormal.Load( THEME->GetPathTo("Graphics",(GAMESTATE->IsExtraStage()||GAMESTATE->IsExtraStage2())?"gameplay extra lifemeter stream normal":"gameplay lifemeter stream normal") );
m_frame.AddSubActor( &m_sprStreamNormal );
m_sprStreamHot.Load( THEME->GetPathTo("Graphics","gameplay lifemeter stream hot") );
m_sprStreamHot.Load( THEME->GetPathTo("Graphics",(GAMESTATE->IsExtraStage()||GAMESTATE->IsExtraStage2())?"gameplay extra lifemeter stream hot":"gameplay lifemeter stream hot") );
m_frame.AddSubActor( &m_sprStreamHot );
m_sprFrame.Load( THEME->GetPathTo("Graphics","gameplay lifemeter bar") );
-1
View File
@@ -15,7 +15,6 @@
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "ScreenGameplay.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "RageLog.h"
+5 -5
View File
@@ -5,11 +5,11 @@
/* If this actor is used anywhere other than SelectGroup, we
* can add a setting that changes which metric group we pull
* settings out of, so it can be configured separately. */
#define TITLES_START_X THEME->GetMetricF("SelectGroup","TitlesStartX")
#define TITLES_SPACING_X THEME->GetMetricF("SelectGroup","TitlesSpacingX")
#define TITLES_START_Y THEME->GetMetricF("SelectGroup","TitlesStartY")
#define TITLES_COLUMNS THEME->GetMetricI("SelectGroup","TitlesColumns")
#define TITLES_ROWS THEME->GetMetricI("SelectGroup","TitlesRows")
#define TITLES_START_X THEME->GetMetricF("ScreenSelectGroup","TitlesStartX")
#define TITLES_SPACING_X THEME->GetMetricF("ScreenSelectGroup","TitlesSpacingX")
#define TITLES_START_Y THEME->GetMetricF("ScreenSelectGroup","TitlesStartY")
#define TITLES_COLUMNS THEME->GetMetricI("ScreenSelectGroup","TitlesColumns")
#define TITLES_ROWS THEME->GetMetricI("ScreenSelectGroup","TitlesRows")
MusicList::MusicList()
{
+10 -10
View File
@@ -22,16 +22,16 @@
#include "GameState.h"
// WheelItem stuff
#define ICON_X THEME->GetMetricF("WheelItem","IconX")
#define SONG_NAME_X THEME->GetMetricF("WheelItem","SongNameX")
#define SECTION_NAME_X THEME->GetMetricF("WheelItem","SectionNameX")
#define SECTION_ZOOM THEME->GetMetricF("WheelItem","SectionZoom")
#define ROULETTE_X THEME->GetMetricF("WheelItem","RouletteX")
#define ROULETTE_ZOOM THEME->GetMetricF("WheelItem","RouletteZoom")
#define COURSE_X THEME->GetMetricF("WheelItem","CourseX")
#define COURSE_ZOOM THEME->GetMetricF("WheelItem","CourseZoom")
#define GRADE_P1_X THEME->GetMetricF("WheelItem","GradeP1X")
#define GRADE_P2_X THEME->GetMetricF("WheelItem","GradeP2Y")
#define ICON_X THEME->GetMetricF("WheelItemDisplay","IconX")
#define SONG_NAME_X THEME->GetMetricF("WheelItemDisplay","SongNameX")
#define SECTION_NAME_X THEME->GetMetricF("WheelItemDisplay","SectionNameX")
#define SECTION_ZOOM THEME->GetMetricF("WheelItemDisplay","SectionZoom")
#define ROULETTE_X THEME->GetMetricF("WheelItemDisplay","RouletteX")
#define ROULETTE_ZOOM THEME->GetMetricF("WheelItemDisplay","RouletteZoom")
#define COURSE_X THEME->GetMetricF("WheelItemDisplay","CourseX")
#define COURSE_ZOOM THEME->GetMetricF("WheelItemDisplay","CourseZoom")
#define GRADE_P1_X THEME->GetMetricF("WheelItemDisplay","GradeP1X")
#define GRADE_P2_X THEME->GetMetricF("WheelItemDisplay","GradeP2Y")
// MusicWheel stuff
+2 -2
View File
@@ -17,7 +17,7 @@
#include "Quad.h"
#include "TextBanner.h"
#include "RandomSample.h"
#include "GradeDisplay.h"
#include "SmallGradeDisplay.h"
#include "RageSoundStream.h"
#include "GameConstantsAndTypes.h"
#include "MusicSortDisplay.h"
@@ -81,7 +81,7 @@ public:
Sprite m_sprSongBar;
MusicStatusDisplay m_MusicStatusDisplay;
TextBanner m_TextBanner;
GradeDisplay m_GradeDisplay[NUM_PLAYERS];
SmallGradeDisplay m_GradeDisplay[NUM_PLAYERS];
// for TYPE_COURSE
BitmapText m_textCourse;
+1 -1
View File
@@ -542,7 +542,7 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
const float fBottomDistFromTailTop = fYBottom - fYTailTop;
const float fTexCoordTop = SCALE( fTopDistFromTailTop, 0, fFrameHeight, 0.5f, 1.0f );
const float fTexCoordBottom = SCALE( fBottomDistFromTailTop, 0, fFrameHeight, 0.5f, 1.0f );
ASSERT( fBottomDistFromTailTop <= fFrameHeight );
ASSERT( fBottomDistFromTailTop-0.0001 <= fFrameHeight );
const float fTexCoordLeft = bActive ? 0.25f : 0.00f;
const float fTexCoordRight = bActive ? 0.50f : 0.25f;
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, fYTop );
+24 -17
View File
@@ -110,6 +110,17 @@ void RageBitmapTexture::Create(
if( -1 != m_sFilePath.Find("dither") )
bDither = true;
/////////////////////
// Figure out whether the texture can fit into texture memory unscaled
/////////////////////
D3DXIMAGE_INFO ddii;
if( FAILED( hr = D3DXGetImageInfoFromFile(m_sFilePath,&ddii) ) )
{
throw RageException( hr, "D3DXGetImageInfoFromFile() failed for file '%s'.", m_sFilePath );
}
///////////////////////
// Figure out which texture format to use
///////////////////////
@@ -117,11 +128,18 @@ void RageBitmapTexture::Create(
switch( dwTextureColorDepth )
{
case 16:
switch( iAlphaBits )
// switch( iAlphaBits )
// {
// case 0: fmtTexture = D3DFMT_R5G6B5; break;
// case 1: fmtTexture = D3DFMT_A1R5G5B5; break;
// default: fmtTexture = D3DFMT_A4R4G4B4; break;
// }
// Ignore dwTextureColorDepth, and infer based on image format
switch( ddii.Format )
{
case 0: fmtTexture = D3DFMT_R5G6B5; break;
case 1: fmtTexture = D3DFMT_A1R5G5B5; break;
default: fmtTexture = D3DFMT_A4R4G4B4; break;
case D3DFMT_P8: fmtTexture = D3DFMT_A1R5G5B5; break;
default: fmtTexture = D3DFMT_A4R4G4B4; break;
}
break;
case 32:
@@ -131,25 +149,14 @@ void RageBitmapTexture::Create(
throw RageException( "Invalid color depth: %d bits", dwTextureColorDepth );
}
/////////////////////
// Figure out whether the texture can fit into texture memory unscaled
/////////////////////
D3DXIMAGE_INFO ddii;
if( FAILED( hr = D3DXGetImageInfoFromFile(
m_sFilePath,
&ddii ) ) )
{
throw RageException( hr, "D3DXGetImageInfoFromFile() failed for file '%s'.", m_sFilePath );
}
// find out what the min texture size is
dwMaxSize = min( dwMaxSize, DISPLAY->GetDeviceCaps().MaxTextureWidth );
bStretch |= ddii.Width > dwMaxSize || ddii.Height > dwMaxSize;
// HACK: On a Voodoo3 and Win98, D3DXCreateTextureFromFileEx sometimes fails for no good reason.
// So, we'll try the call 2x in a row in case the first one fails
// HACK: On a Voodoo3 and Win98, D3DXCreateTextureFromFileEx fail randomly on rare occasions.
// So, we'll try the call 2x in a row in case the first one fails.
for( int i=0; i<2; i++ )
{
if( FAILED( hr = D3DXCreateTextureFromFileEx(
+1 -4
View File
@@ -11,14 +11,11 @@
*/
#include "ScreenAppearanceOptions.h"
#include <assert.h>
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "ScreenOptions.h"
#include "ScreenTitleMenu.h"
#include "GameConstantsAndTypes.h"
#include "StepMania.h"
#include "PrefsManager.h"
@@ -166,7 +163,7 @@ void ScreenAppearanceOptions::GoToPrevState()
void ScreenAppearanceOptions::GoToNextState()
{
PREFSMAN->SaveGamePrefsToDisk();
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
}
+7 -32
View File
@@ -12,30 +12,19 @@
#include "ScreenCaution.h"
#include "ScreenTitleMenu.h"
#include "GameConstantsAndTypes.h"
#include "ScreenSelectStyle.h"
#include "ScreenEZ2SelectStyle.h"
#include "ScreenSelectStyle5th.h"
#include "RageTextureManager.h"
#include "PrefsManager.h"
#include "AnnouncerManager.h"
#include "GameState.h"
#define SELECT_STYLE_TYPE THEME->GetMetricI("General","SelectStyleType")
enum SelectStyleType // for use with the metric above
{
SELECT_STYLE_TYPE_MAX = 0,
SELECT_STYLE_TYPE_5TH,
SELECT_STYLE_TYPE_EZ2,
};
#define NEXT_SCREEN THEME->GetMetric("ScreenCaution","NextScreen")
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User-6);
const ScreenMessage SM_DoneOpening = ScreenMessage(SM_User-7);
const ScreenMessage SM_StartClosing = ScreenMessage(SM_User-8);
const ScreenMessage SM_GoToSelectMusic = ScreenMessage(SM_User-9);
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User-9);
ScreenCaution::ScreenCaution()
@@ -71,30 +60,16 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM )
{
case SM_StartClosing:
if( !m_Wipe.IsClosing() )
m_Wipe.CloseWipingRight( SM_GoToSelectMusic );
m_Wipe.CloseWipingRight( SM_GoToNextScreen );
break;
case SM_DoneOpening:
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_CAUTION) );
break;
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToSelectMusic:
switch( SELECT_STYLE_TYPE )
{
case SELECT_STYLE_TYPE_MAX:
SCREENMAN->SetNewScreen( new ScreenSelectStyle );
break;
case SELECT_STYLE_TYPE_5TH:
SCREENMAN->SetNewScreen( new ScreenSelectStyle5th );
break;
case SELECT_STYLE_TYPE_EZ2:
SCREENMAN->SetNewScreen( new ScreenEz2SelectStyle );
break;
default:
ASSERT(0);
break;
}
case SM_GoToNextScreen:
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}
}
@@ -110,7 +85,7 @@ void ScreenCaution::MenuStart( const PlayerNumber p )
}
if( !m_Wipe.IsOpening() && !m_Wipe.IsClosing() )
m_Wipe.CloseWipingRight( SM_GoToSelectMusic );
m_Wipe.CloseWipingRight( SM_GoToNextScreen );
}
void ScreenCaution::MenuBack( const PlayerNumber p )
+4 -8
View File
@@ -14,16 +14,12 @@
#include "PrefsManager.h"
#include "SongManager.h"
#include "ScreenManager.h"
#include "ScreenSelectMusic.h"
#include "ScreenEvaluation.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "GameManager.h"
#include "ScreenEditMenu.h"
#include "GameConstantsAndTypes.h"
#include "RageLog.h"
#include "GameState.h"
#include "ScreenTextEntry.h"
//
@@ -573,7 +569,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
}
break;
case DIK_Q:
SCREENMAN->SetNewScreen( new ScreenEditMenu );
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
break;
case DIK_S:
case DIK_W:
@@ -897,7 +893,7 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
if( i != m_pSong->m_BackgroundChanges.GetSize() ) // there is already a BGChange here
sOldBackground = m_pSong->m_BackgroundChanges[i].m_sBGName;
SCREENMAN->AddScreenToTop( new ScreenTextEntry(SM_None, "Type a background name.\nPress Enter to keep,\nEscape to cancel.\nEnter an empty string to remove\nthe Background Change.", sOldBackground, AddBGChange, NULL) );
SCREENMAN->TextEntry( SM_None, "Type a background name.\nPress Enter to keep,\nEscape to cancel.\nEnter an empty string to remove\nthe Background Change.", sOldBackground, AddBGChange, NULL );
}
break;
@@ -1186,10 +1182,10 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
switch( SM )
{
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenEditMenu );
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
break;
case SM_GoToNextState:
SCREENMAN->SetNewScreen( new ScreenEditMenu );
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
break;
}
+5 -8
View File
@@ -13,21 +13,18 @@
#include "ScreenEditMenu.h"
#include "SongManager.h"
#include "ScreenManager.h"
#include "ScreenTitleMenu.h"
#include "ScreenEdit.h"
#include "GameConstantsAndTypes.h"
#include "RageUtil.h"
#include "PrefsManager.h"
#include "GameManager.h"
#include "ScreenPrompt.h"
#include "RageLog.h"
#include "GameState.h"
#include "RageMusic.h"
//
// Defines specific to ScreenEditMenu
//
const float EXPLANATION_X = CENTER_X;
const float EXPLANATION_Y = SCREEN_BOTTOM - 70;
const CString EXPLANATION_TEXT =
@@ -55,8 +52,8 @@ ScreenEditMenu::ScreenEditMenu()
m_Fade.SetOpened();
this->AddSubActor( &m_Fade);
MUSIC->Load( THEME->GetPathTo("Sounds","edit menu music") );
MUSIC->Play( true );
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","edit menu music") );
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
}
@@ -79,7 +76,7 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM )
switch( SM )
{
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
// set the current style based on the notes type
@@ -97,7 +94,7 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM )
GAMESTATE->m_CurStyle = style;
GAMESTATE->m_CurGame = GAMEMAN->GetStyleDefForStyle(style)->m_Game;
SCREENMAN->SetNewScreen( new ScreenEdit );
SCREENMAN->SetNewScreen( "ScreenEdit" );
break;
}
}
+63 -65
View File
@@ -11,7 +11,6 @@
*/
#include "ScreenEvaluation.h"
#include "ScreenSelectMusic.h"
#include "SongManager.h"
#include "ScreenManager.h"
#include "GameManager.h"
@@ -21,69 +20,68 @@
#include "PrefsManager.h"
#include "RageLog.h"
#include "AnnouncerManager.h"
#include "ScreenMusicScroll.h"
#include "GameState.h"
#include "ScreenSelectCourse.h"
#include "GrooveRadar.h"
#define BANNER_X THEME->GetMetricF("Evaluation","BannerX")
#define BANNER_Y THEME->GetMetricF("Evaluation","BannerY")
#define STAGE_X THEME->GetMetricF("Evaluation","StageX")
#define STAGE_Y THEME->GetMetricF("Evaluation","StageY")
#define GRADE_P1_X THEME->GetMetricF("Evaluation","GradeP1X")
#define GRADE_P2_X THEME->GetMetricF("Evaluation","GradeP2X")
#define GRADE_Y THEME->GetMetricF("Evaluation","GradeY")
#define PERCENT_BASE_P1_X THEME->GetMetricF("Evaluation","PercentBaseP1X")
#define PERCENT_BASE_P2_X THEME->GetMetricF("Evaluation","PercentBaseP2X")
#define PERCENT_BASE_Y THEME->GetMetricF("Evaluation","PercentBaseY")
#define JUDGE_LABELS_X THEME->GetMetricF("Evaluation","JudgeLabelsX")
#define PERFECT_P1_X THEME->GetMetricF("Evaluation","PerfectP1X")
#define PERFECT_P2_X THEME->GetMetricF("Evaluation","PerfectP2X")
#define PERFECT_Y THEME->GetMetricF("Evaluation","PerfectY")
#define GREAT_P1_X THEME->GetMetricF("Evaluation","GreatP1X")
#define GREAT_P2_X THEME->GetMetricF("Evaluation","GreatP2X")
#define GREAT_Y THEME->GetMetricF("Evaluation","GreatY")
#define GOOD_P1_X THEME->GetMetricF("Evaluation","GoodP1X")
#define GOOD_P2_X THEME->GetMetricF("Evaluation","GoodP2X")
#define GOOD_Y THEME->GetMetricF("Evaluation","GoodY")
#define BOO_P1_X THEME->GetMetricF("Evaluation","BooP1X")
#define BOO_P2_X THEME->GetMetricF("Evaluation","BooP2X")
#define BOO_Y THEME->GetMetricF("Evaluation","BooY")
#define MISS_P1_X THEME->GetMetricF("Evaluation","MissP1X")
#define MISS_P2_X THEME->GetMetricF("Evaluation","MissP2X")
#define MISS_Y THEME->GetMetricF("Evaluation","MissY")
#define OK_P1_X THEME->GetMetricF("Evaluation","OKP1X")
#define OK_P2_X THEME->GetMetricF("Evaluation","OKP2X")
#define OK_Y THEME->GetMetricF("Evaluation","OKY")
#define MAX_COMBO_P1_X THEME->GetMetricF("Evaluation","MaxComboP1X")
#define MAX_COMBO_P2_X THEME->GetMetricF("Evaluation","MaxComboP2X")
#define MAX_COMBO_Y THEME->GetMetricF("Evaluation","MaxComboY")
#define SCORE_LABELS_X THEME->GetMetricF("Evaluation","ScoreLabelsX")
#define SCORE_NUMBERS_P1_X THEME->GetMetricF("Evaluation","ScoreNumbersP1X")
#define SCORE_NUMBERS_P2_X THEME->GetMetricF("Evaluation","ScoreNumbersP2X")
#define SCORE_Y THEME->GetMetricF("Evaluation","ScoreY")
#define BONUS_P1_X THEME->GetMetricF("Evaluation","BonusP1X")
#define BONUS_P2_X THEME->GetMetricF("Evaluation","BonusP2X")
#define BONUS_Y THEME->GetMetricF("Evaluation","BonusY")
#define BAR_P1_BASE_X THEME->GetMetricF("Evaluation","BarP1BaseX")
#define BAR_P2_BASE_X THEME->GetMetricF("Evaluation","BarP2BaseX")
#define BAR_P1_ROTATION THEME->GetMetricF("Evaluation","BarP1Rotation")
#define BAR_P2_ROTATION THEME->GetMetricF("Evaluation","BarP2Rotation")
#define BAR_START_Y THEME->GetMetricF("Evaluation","BarStartY")
#define BAR_SPACING_Y THEME->GetMetricF("Evaluation","BarSpacingY")
#define BAR_WIDTH THEME->GetMetricF("Evaluation","BarWidth")
#define BAR_HEIGHT THEME->GetMetricF("Evaluation","BarHeight")
#define SONGS_SURVIVED_P1_X THEME->GetMetricF("Evaluation","SongsSurvivedP1X")
#define SONGS_SURVIVED_P2_X THEME->GetMetricF("Evaluation","SongsSurvivedP2X")
#define SONGS_SURVIVED_Y THEME->GetMetricF("Evaluation","SongsSurvivedY")
#define NEW_RECORD_P1_X THEME->GetMetricF("Evaluation","NewRecordP1X")
#define NEW_RECORD_P2_X THEME->GetMetricF("Evaluation","NewRecordP2X")
#define NEW_RECORD_Y THEME->GetMetricF("Evaluation","NewRecordY")
#define TRY_EXTRA_STAGE_X THEME->GetMetricF("Evaluation","TryExtraStageX")
#define TRY_EXTRA_STAGE_Y THEME->GetMetricF("Evaluation","TryExtraStageY")
#define HELP_TEXT THEME->GetMetric("Evaluation","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("Evaluation","TimerSeconds")
#define SPIN_GRADES THEME->GetMetricB("Evaluation","SpinGrades")
#define BANNER_X THEME->GetMetricF("ScreenEvaluation","BannerX")
#define BANNER_Y THEME->GetMetricF("ScreenEvaluation","BannerY")
#define STAGE_X THEME->GetMetricF("ScreenEvaluation","StageX")
#define STAGE_Y THEME->GetMetricF("ScreenEvaluation","StageY")
#define GRADE_P1_X THEME->GetMetricF("ScreenEvaluation","GradeP1X")
#define GRADE_P2_X THEME->GetMetricF("ScreenEvaluation","GradeP2X")
#define GRADE_Y THEME->GetMetricF("ScreenEvaluation","GradeY")
#define PERCENT_BASE_P1_X THEME->GetMetricF("ScreenEvaluation","PercentBaseP1X")
#define PERCENT_BASE_P2_X THEME->GetMetricF("ScreenEvaluation","PercentBaseP2X")
#define PERCENT_BASE_Y THEME->GetMetricF("ScreenEvaluation","PercentBaseY")
#define JUDGE_LABELS_X THEME->GetMetricF("ScreenEvaluation","JudgeLabelsX")
#define PERFECT_P1_X THEME->GetMetricF("ScreenEvaluation","PerfectP1X")
#define PERFECT_P2_X THEME->GetMetricF("ScreenEvaluation","PerfectP2X")
#define PERFECT_Y THEME->GetMetricF("ScreenEvaluation","PerfectY")
#define GREAT_P1_X THEME->GetMetricF("ScreenEvaluation","GreatP1X")
#define GREAT_P2_X THEME->GetMetricF("ScreenEvaluation","GreatP2X")
#define GREAT_Y THEME->GetMetricF("ScreenEvaluation","GreatY")
#define GOOD_P1_X THEME->GetMetricF("ScreenEvaluation","GoodP1X")
#define GOOD_P2_X THEME->GetMetricF("ScreenEvaluation","GoodP2X")
#define GOOD_Y THEME->GetMetricF("ScreenEvaluation","GoodY")
#define BOO_P1_X THEME->GetMetricF("ScreenEvaluation","BooP1X")
#define BOO_P2_X THEME->GetMetricF("ScreenEvaluation","BooP2X")
#define BOO_Y THEME->GetMetricF("ScreenEvaluation","BooY")
#define MISS_P1_X THEME->GetMetricF("ScreenEvaluation","MissP1X")
#define MISS_P2_X THEME->GetMetricF("ScreenEvaluation","MissP2X")
#define MISS_Y THEME->GetMetricF("ScreenEvaluation","MissY")
#define OK_P1_X THEME->GetMetricF("ScreenEvaluation","OKP1X")
#define OK_P2_X THEME->GetMetricF("ScreenEvaluation","OKP2X")
#define OK_Y THEME->GetMetricF("ScreenEvaluation","OKY")
#define MAX_COMBO_P1_X THEME->GetMetricF("ScreenEvaluation","MaxComboP1X")
#define MAX_COMBO_P2_X THEME->GetMetricF("ScreenEvaluation","MaxComboP2X")
#define MAX_COMBO_Y THEME->GetMetricF("ScreenEvaluation","MaxComboY")
#define SCORE_LABELS_X THEME->GetMetricF("ScreenEvaluation","ScoreLabelsX")
#define SCORE_NUMBERS_P1_X THEME->GetMetricF("ScreenEvaluation","ScoreNumbersP1X")
#define SCORE_NUMBERS_P2_X THEME->GetMetricF("ScreenEvaluation","ScoreNumbersP2X")
#define SCORE_Y THEME->GetMetricF("ScreenEvaluation","ScoreY")
#define BONUS_P1_X THEME->GetMetricF("ScreenEvaluation","BonusP1X")
#define BONUS_P2_X THEME->GetMetricF("ScreenEvaluation","BonusP2X")
#define BONUS_Y THEME->GetMetricF("ScreenEvaluation","BonusY")
#define BAR_P1_BASE_X THEME->GetMetricF("ScreenEvaluation","BarP1BaseX")
#define BAR_P2_BASE_X THEME->GetMetricF("ScreenEvaluation","BarP2BaseX")
#define BAR_P1_ROTATION THEME->GetMetricF("ScreenEvaluation","BarP1Rotation")
#define BAR_P2_ROTATION THEME->GetMetricF("ScreenEvaluation","BarP2Rotation")
#define BAR_START_Y THEME->GetMetricF("ScreenEvaluation","BarStartY")
#define BAR_SPACING_Y THEME->GetMetricF("ScreenEvaluation","BarSpacingY")
#define BAR_WIDTH THEME->GetMetricF("ScreenEvaluation","BarWidth")
#define BAR_HEIGHT THEME->GetMetricF("ScreenEvaluation","BarHeight")
#define SONGS_SURVIVED_P1_X THEME->GetMetricF("ScreenEvaluation","SongsSurvivedP1X")
#define SONGS_SURVIVED_P2_X THEME->GetMetricF("ScreenEvaluation","SongsSurvivedP2X")
#define SONGS_SURVIVED_Y THEME->GetMetricF("ScreenEvaluation","SongsSurvivedY")
#define NEW_RECORD_P1_X THEME->GetMetricF("ScreenEvaluation","NewRecordP1X")
#define NEW_RECORD_P2_X THEME->GetMetricF("ScreenEvaluation","NewRecordP2X")
#define NEW_RECORD_Y THEME->GetMetricF("ScreenEvaluation","NewRecordY")
#define TRY_EXTRA_STAGE_X THEME->GetMetricF("ScreenEvaluation","TryExtraStageX")
#define TRY_EXTRA_STAGE_Y THEME->GetMetricF("ScreenEvaluation","TryExtraStageY")
#define HELP_TEXT THEME->GetMetric("ScreenEvaluation","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenEvaluation","TimerSeconds")
#define SPIN_GRADES THEME->GetMetricB("ScreenEvaluation","SpinGrades")
float GRADE_X( int p ) {
switch( p ) {
@@ -873,16 +871,16 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM )
MenuStart( PLAYER_INVALID );
break;
case SM_GoToSelectMusic:
SCREENMAN->SetNewScreen( new ScreenSelectMusic );
SCREENMAN->SetNewScreen( "ScreenSelectMusic" );
break;
case SM_GoToSelectCourse:
SCREENMAN->SetNewScreen( new ScreenSelectCourse );
SCREENMAN->SetNewScreen( "ScreenSelectCourse" );
break;
case SM_GoToMusicScroll:
SCREENMAN->SetNewScreen( new ScreenMusicScroll );
SCREENMAN->SetNewScreen( "ScreenMusicScroll" );
break;
case SM_GoToFinalEvaluation:
SCREENMAN->SetNewScreen( new ScreenEvaluation(true) );
SCREENMAN->SetNewScreen( "ScreenFinalEvaluation" );
break;
}
}
+7 -1
View File
@@ -25,10 +25,11 @@
const int NUM_JUDGE_LINES = 7; // perfect, great, good, boo, miss, ok, max_combo
const int STAGES_TO_SHOW_IN_SUMMARY = 3; // only show the latest three stages in a summary
class ScreenEvaluation : public Screen
{
public:
ScreenEvaluation( bool bSummary );
ScreenEvaluation( bool bFinalEval = false );
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
@@ -79,5 +80,10 @@ protected:
BitmapText m_textTryExtraStage;
};
class ScreenFinalEvaluation : public ScreenEvaluation
{
public:
ScreenFinalEvaluation() : ScreenEvaluation(true) {};
};
+8 -19
View File
@@ -12,17 +12,11 @@ Andrew Livy
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "ScreenCaution.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenSelectDifficulty.h"
#include "ScreenSandbox.h"
#include "GameManager.h"
#include "RageLog.h"
#include "AnnouncerManager.h"
#include "ScreenSelectStyle.h"
#include "ScreenEz2SelectStyle.h"
#include "GameState.h"
#include "RageException.h"
#include "RageTimer.h"
@@ -33,7 +27,9 @@ const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
const ScreenMessage SM_PlayersChosen = ScreenMessage(SM_User + 3);
#define USE_NORMAL_OR_EZ2_SELECT_STYLE THEME->GetMetricB("General","UseNormalOrEZ2SelectStyle")
#define NEXT_SCREEN THEME->GetMetric("ScreenEz2SelectPlayer","NextScreen")
const float TWEEN_TIME = 0.35f;
const D3DXCOLOR OPT_NOT_SELECTED = D3DXCOLOR(0.3f,0.3f,0.3f,1);
@@ -100,11 +96,7 @@ ScreenEz2SelectPlayer::ScreenEz2SelectPlayer()
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) );
if( !MUSIC->IsPlaying() )
{
MUSIC->Load( THEME->GetPathTo("Sounds","select player music") );
MUSIC->Play( true );
}
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select player music") );
// GAMESTATE->m_bPlayersCanJoin = true;
// GAMESTATE->m_bIsJoined[PLAYER_1] = false;
@@ -135,10 +127,10 @@ void ScreenEz2SelectPlayer::Update( float fDeltaTime )
fDeltaTime /= .01f;
ez2_bounce = fmod((ez2_bounce+fDeltaTime), 20);
ez2_bounce = fmodf((ez2_bounce+fDeltaTime), 20);
/* 0..10..19 -> 10..0..9 */
int offset = abs(10-ez2_bounce);
int offset = roundf( fabsf(10-ez2_bounce) );
m_sprOpt[2].SetXY( OPT_X[2], OPT_Y[2] - offset);
m_sprOpt[3].SetXY( OPT_X[3], OPT_Y[3] - offset);
}
@@ -218,13 +210,10 @@ void ScreenEz2SelectPlayer::HandleScreenMessage( const ScreenMessage SM )
case SM_GoToPrevState:
MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
if( USE_NORMAL_OR_EZ2_SELECT_STYLE )
SCREENMAN->SetNewScreen( new ScreenEz2SelectStyle );
else
SCREENMAN->SetNewScreen( new ScreenSelectStyle );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}
}
+8 -15
View File
@@ -1,3 +1,4 @@
#include "stdafx.h"
/****************************************
ScreenEzSelectPlayer,cpp
Desc: See Header
@@ -10,32 +11,30 @@ a polish :)
/* Includes */
#include "stdafx.h"
#include "ScreenEz2SelectStyle.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "ScreenCaution.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenSelectDifficulty.h"
#include "ScreenSandbox.h"
#include "GameManager.h"
#include "RageLog.h"
#include "AnnouncerManager.h"
#include "GameConstantsAndTypes.h"
#include "Background.h"
#include "ScreenSelectGroup.h"
#include "GameState.h"
#include "RageException.h"
#include "RageTimer.h"
/* Constants */
#define NEXT_SCREEN THEME->GetMetric("ScreenEz2SelectStyle","NextScreen")
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
enum DStyles {
DS_EASY,
DS_HARD,
@@ -45,8 +44,6 @@ enum DStyles {
const float TWEEN_TIME = 0.35f;
#define SKIP_SELECT_DIFFICULTY THEME->GetMetricB("General","SkipSelectDifficulty")
float ez2p_lasttimercheck[2];
int ez2p_bounce=0; // used for the bouncing of the '1p' and '2p' images
@@ -164,18 +161,14 @@ void ScreenEz2SelectStyle::HandleScreenMessage( const ScreenMessage SM )
case SM_MenuTimer:
m_soundSelect.PlayRandom();
GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
SCREENMAN->SetNewScreen( new ScreenSelectGroup );
this->SendScreenMessage( SM_GoToNextState, 0 );
break;
case SM_GoToPrevState:
MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
if( SKIP_SELECT_DIFFICULTY )
SCREENMAN->SetNewScreen( new ScreenSelectGroup );
else
SCREENMAN->SetNewScreen( new ScreenSelectDifficulty );
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}
}
+1 -2
View File
@@ -17,7 +17,6 @@
#include "Sprite.h"
#include "AnnouncerManager.h"
#include "ScreenManager.h"
#include "ScreenTitleMenu.h"
#include "AnnouncerManager.h"
#include "GameState.h"
@@ -70,7 +69,7 @@ void ScreenGameOver::HandleScreenMessage( const ScreenMessage SM )
this->SendScreenMessage( SM_GoToNextState, 0.8f );
break;
case SM_GoToNextState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
}
}
+66 -78
View File
@@ -13,85 +13,80 @@
#include "ScreenGameplay.h"
#include "SongManager.h"
#include "ScreenManager.h"
#include "ScreenSelectMusic.h"
#include "ScreenSelectCourse.h"
#include "ScreenEvaluation.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "GameManager.h"
#include "SongManager.h"
#include "RageLog.h"
#include "AnnouncerManager.h"
#include "ScreenGameOver.h"
#include "LifeMeterBar.h"
#include "LifeMeterBattery.h"
#include "GameState.h"
#include "ScoreDisplayNormal.h"
#include "ScoreDisplayOni.h"
#include "ScreenPrompt.h"
#include "ScreenTitleMenu.h"
#include "GrooveRadar.h"
//
// Defines
//
#define TOP_FRAME_X THEME->GetMetricF("Gameplay","TopFrameX")
#define TOP_FRAME_Y THEME->GetMetricF("Gameplay","TopFrameY")
#define TOP_FRAME_EXTRA_Y THEME->GetMetricF("Gameplay","TopFrameExtraY")
#define BOTTOM_FRAME_X THEME->GetMetricF("Gameplay","BottomFrameX")
#define BOTTOM_FRAME_Y THEME->GetMetricF("Gameplay","BottomFrameY")
#define BOTTOM_FRAME_EXTRA_Y THEME->GetMetricF("Gameplay","BottomFrameExtraY")
#define MIDDLE_FRAME_X THEME->GetMetricF("Gameplay","MiddleFrameX")
#define MIDDLE_FRAME_Y THEME->GetMetricF("Gameplay","MiddleFrameY")
#define LIFE_P1_X THEME->GetMetricF("Gameplay","LifeP1X")
#define LIFE_P1_Y THEME->GetMetricF("Gameplay","LifeP1Y")
#define LIFE_P1_EXTRA_Y THEME->GetMetricF("Gameplay","LifeP1ExtraY")
#define LIFE_P2_X THEME->GetMetricF("Gameplay","LifeP2X")
#define LIFE_P2_Y THEME->GetMetricF("Gameplay","LifeP2Y")
#define LIFE_P2_EXTRA_Y THEME->GetMetricF("Gameplay","LifeP2ExtraY")
#define STAGE_X THEME->GetMetricF("Gameplay","StageX")
#define STAGE_Y THEME->GetMetricF("Gameplay","StageY")
#define STAGE_EXTRA_Y THEME->GetMetricF("Gameplay","StageExtraY")
#define SONG_NUMBER_P1_X THEME->GetMetricF("Gameplay","SongNumberP1X")
#define SONG_NUMBER_P1_Y THEME->GetMetricF("Gameplay","SongNumberP1Y")
#define SONG_NUMBER_P1_EXTRA_Y THEME->GetMetricF("Gameplay","SongNumberP1ExtraY")
#define SONG_NUMBER_P2_X THEME->GetMetricF("Gameplay","SongNumberP2X")
#define SONG_NUMBER_P2_Y THEME->GetMetricF("Gameplay","SongNumberP2Y")
#define SONG_NUMBER_P2_EXTRA_Y THEME->GetMetricF("Gameplay","SongNumberP2ExtraY")
#define SCORE_P1_X THEME->GetMetricF("Gameplay","ScoreP1X")
#define SCORE_P1_Y THEME->GetMetricF("Gameplay","ScoreP1Y")
#define SCORE_P1_EXTRA_Y THEME->GetMetricF("Gameplay","ScoreP1ExtraY")
#define SCORE_P2_X THEME->GetMetricF("Gameplay","ScoreP2X")
#define SCORE_P2_Y THEME->GetMetricF("Gameplay","ScoreP2Y")
#define SCORE_P2_EXTRA_Y THEME->GetMetricF("Gameplay","ScoreP2ExtraY")
#define PLAYER_OPTIONS_P1_X THEME->GetMetricF("Gameplay","PlayerOptionsP1X")
#define PLAYER_OPTIONS_P1_Y THEME->GetMetricF("Gameplay","PlayerOptionsP1Y")
#define PLAYER_OPTIONS_P1_EXTRA_Y THEME->GetMetricF("Gameplay","PlayerOptionsP1ExtraY")
#define PLAYER_OPTIONS_P2_X THEME->GetMetricF("Gameplay","PlayerOptionsP2X")
#define PLAYER_OPTIONS_P2_Y THEME->GetMetricF("Gameplay","PlayerOptionsP2Y")
#define PLAYER_OPTIONS_P2_EXTRA_Y THEME->GetMetricF("Gameplay","PlayerOptionsP2ExtraY")
#define SONG_OPTIONS_X THEME->GetMetricF("Gameplay","SongOptionsX")
#define SONG_OPTIONS_Y THEME->GetMetricF("Gameplay","SongOptionsY")
#define SONG_OPTIONS_EXTRA_Y THEME->GetMetricF("Gameplay","SongOptionsExtraY")
#define DIFFICULTY_P1_X THEME->GetMetricF("Gameplay","DifficultyP1X")
#define DIFFICULTY_P1_Y THEME->GetMetricF("Gameplay","DifficultyP1Y")
#define DIFFICULTY_P1_REVERSE_Y THEME->GetMetricF("Gameplay","DifficultyP1ReverseY")
#define DIFFICULTY_P1_EXTRA_Y THEME->GetMetricF("Gameplay","DifficultyP1ExtraY")
#define DIFFICULTY_P1_EXTRA_REVERSE_Y THEME->GetMetricF("Gameplay","DifficultyP1ExtraReverseY")
#define DIFFICULTY_P2_X THEME->GetMetricF("Gameplay","DifficultyP2X")
#define DIFFICULTY_P2_Y THEME->GetMetricF("Gameplay","DifficultyP2Y")
#define DIFFICULTY_P2_REVERSE_Y THEME->GetMetricF("Gameplay","DifficultyP2ReverseY")
#define DIFFICULTY_P2_EXTRA_Y THEME->GetMetricF("Gameplay","DifficultyP2ExtraY")
#define DIFFICULTY_P2_EXTRA_REVERSE_Y THEME->GetMetricF("Gameplay","DifficultyP2ExtraReverseY")
#define DEBUG_X THEME->GetMetricF("Gameplay","DebugX")
#define DEBUG_Y THEME->GetMetricF("Gameplay","DebugY")
#define AUTOPLAY_X THEME->GetMetricF("Gameplay","AutoPlayX")
#define AUTOPLAY_Y THEME->GetMetricF("Gameplay","AutoPlayY")
#define SURVIVE_TIME_X THEME->GetMetricF("Gameplay","SurviveTimeX")
#define SURVIVE_TIME_Y THEME->GetMetricF("Gameplay","SurviveTimeY")
#define SECONDS_BETWEEN_COMMENTS THEME->GetMetricF("Gameplay","SecondsBetweenComments")
#define DEMONSTRATION_SECONDS THEME->GetMetricF("Gameplay","DemonstrationSeconds")
#define TOP_FRAME_X THEME->GetMetricF("ScreenGameplay","TopFrameX")
#define TOP_FRAME_Y THEME->GetMetricF("ScreenGameplay","TopFrameY")
#define TOP_FRAME_EXTRA_Y THEME->GetMetricF("ScreenGameplay","TopFrameExtraY")
#define BOTTOM_FRAME_X THEME->GetMetricF("ScreenGameplay","BottomFrameX")
#define BOTTOM_FRAME_Y THEME->GetMetricF("ScreenGameplay","BottomFrameY")
#define BOTTOM_FRAME_EXTRA_Y THEME->GetMetricF("ScreenGameplay","BottomFrameExtraY")
#define MIDDLE_FRAME_X THEME->GetMetricF("ScreenGameplay","MiddleFrameX")
#define MIDDLE_FRAME_Y THEME->GetMetricF("ScreenGameplay","MiddleFrameY")
#define LIFE_P1_X THEME->GetMetricF("ScreenGameplay","LifeP1X")
#define LIFE_P1_Y THEME->GetMetricF("ScreenGameplay","LifeP1Y")
#define LIFE_P1_EXTRA_Y THEME->GetMetricF("ScreenGameplay","LifeP1ExtraY")
#define LIFE_P2_X THEME->GetMetricF("ScreenGameplay","LifeP2X")
#define LIFE_P2_Y THEME->GetMetricF("ScreenGameplay","LifeP2Y")
#define LIFE_P2_EXTRA_Y THEME->GetMetricF("ScreenGameplay","LifeP2ExtraY")
#define STAGE_X THEME->GetMetricF("ScreenGameplay","StageX")
#define STAGE_Y THEME->GetMetricF("ScreenGameplay","StageY")
#define STAGE_EXTRA_Y THEME->GetMetricF("ScreenGameplay","StageExtraY")
#define SONG_NUMBER_P1_X THEME->GetMetricF("ScreenGameplay","SongNumberP1X")
#define SONG_NUMBER_P1_Y THEME->GetMetricF("ScreenGameplay","SongNumberP1Y")
#define SONG_NUMBER_P1_EXTRA_Y THEME->GetMetricF("ScreenGameplay","SongNumberP1ExtraY")
#define SONG_NUMBER_P2_X THEME->GetMetricF("ScreenGameplay","SongNumberP2X")
#define SONG_NUMBER_P2_Y THEME->GetMetricF("ScreenGameplay","SongNumberP2Y")
#define SONG_NUMBER_P2_EXTRA_Y THEME->GetMetricF("ScreenGameplay","SongNumberP2ExtraY")
#define SCORE_P1_X THEME->GetMetricF("ScreenGameplay","ScoreP1X")
#define SCORE_P1_Y THEME->GetMetricF("ScreenGameplay","ScoreP1Y")
#define SCORE_P1_EXTRA_Y THEME->GetMetricF("ScreenGameplay","ScoreP1ExtraY")
#define SCORE_P2_X THEME->GetMetricF("ScreenGameplay","ScoreP2X")
#define SCORE_P2_Y THEME->GetMetricF("ScreenGameplay","ScoreP2Y")
#define SCORE_P2_EXTRA_Y THEME->GetMetricF("ScreenGameplay","ScoreP2ExtraY")
#define PLAYER_OPTIONS_P1_X THEME->GetMetricF("ScreenGameplay","PlayerOptionsP1X")
#define PLAYER_OPTIONS_P1_Y THEME->GetMetricF("ScreenGameplay","PlayerOptionsP1Y")
#define PLAYER_OPTIONS_P1_EXTRA_Y THEME->GetMetricF("ScreenGameplay","PlayerOptionsP1ExtraY")
#define PLAYER_OPTIONS_P2_X THEME->GetMetricF("ScreenGameplay","PlayerOptionsP2X")
#define PLAYER_OPTIONS_P2_Y THEME->GetMetricF("ScreenGameplay","PlayerOptionsP2Y")
#define PLAYER_OPTIONS_P2_EXTRA_Y THEME->GetMetricF("ScreenGameplay","PlayerOptionsP2ExtraY")
#define SONG_OPTIONS_X THEME->GetMetricF("ScreenGameplay","SongOptionsX")
#define SONG_OPTIONS_Y THEME->GetMetricF("ScreenGameplay","SongOptionsY")
#define SONG_OPTIONS_EXTRA_Y THEME->GetMetricF("ScreenGameplay","SongOptionsExtraY")
#define DIFFICULTY_P1_X THEME->GetMetricF("ScreenGameplay","DifficultyP1X")
#define DIFFICULTY_P1_Y THEME->GetMetricF("ScreenGameplay","DifficultyP1Y")
#define DIFFICULTY_P1_REVERSE_Y THEME->GetMetricF("ScreenGameplay","DifficultyP1ReverseY")
#define DIFFICULTY_P1_EXTRA_Y THEME->GetMetricF("ScreenGameplay","DifficultyP1ExtraY")
#define DIFFICULTY_P1_EXTRA_REVERSE_Y THEME->GetMetricF("ScreenGameplay","DifficultyP1ExtraReverseY")
#define DIFFICULTY_P2_X THEME->GetMetricF("ScreenGameplay","DifficultyP2X")
#define DIFFICULTY_P2_Y THEME->GetMetricF("ScreenGameplay","DifficultyP2Y")
#define DIFFICULTY_P2_REVERSE_Y THEME->GetMetricF("ScreenGameplay","DifficultyP2ReverseY")
#define DIFFICULTY_P2_EXTRA_Y THEME->GetMetricF("ScreenGameplay","DifficultyP2ExtraY")
#define DIFFICULTY_P2_EXTRA_REVERSE_Y THEME->GetMetricF("ScreenGameplay","DifficultyP2ExtraReverseY")
#define DEBUG_X THEME->GetMetricF("ScreenGameplay","DebugX")
#define DEBUG_Y THEME->GetMetricF("ScreenGameplay","DebugY")
#define AUTOPLAY_X THEME->GetMetricF("ScreenGameplay","AutoPlayX")
#define AUTOPLAY_Y THEME->GetMetricF("ScreenGameplay","AutoPlayY")
#define SURVIVE_TIME_X THEME->GetMetricF("ScreenGameplay","SurviveTimeX")
#define SURVIVE_TIME_Y THEME->GetMetricF("ScreenGameplay","SurviveTimeY")
#define SECONDS_BETWEEN_COMMENTS THEME->GetMetricF("ScreenGameplay","SecondsBetweenComments")
#define DEMONSTRATION_SECONDS THEME->GetMetricF("ScreenGameplay","DemonstrationSeconds")
float LIFE_X( int p ) {
switch( p ) {
@@ -1145,15 +1140,7 @@ void ShowSavePrompt( ScreenMessage SM_SendWhenDone )
ASSERT(0);
}
SCREENMAN->AddScreenToTop( new ScreenPrompt(
SM_SendWhenDone,
sMessage,
PROMPT_YES_NO,
true,
SaveChanges,
DontSaveChanges
)
);
SCREENMAN->Prompt( SM_SendWhenDone, sMessage, true, true, SaveChanges, DontSaveChanges );
}
void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
@@ -1263,6 +1250,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
this->SendScreenMessage( SM_PlayToastySound, 0.3f );
// set off screen
m_sprToasty.StopTweening();
m_sprToasty.SetDiffuseColor( D3DXCOLOR(1,1,1,1) );
m_sprToasty.SetX( SCREEN_RIGHT+m_sprToasty.GetUnzoomedWidth()/2 );
m_sprToasty.SetY( SCREEN_BOTTOM-m_sprToasty.GetUnzoomedHeight()/2 );
@@ -1383,11 +1371,11 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
switch( GAMESTATE->m_PlayMode )
{
case PLAY_MODE_ARCADE:
SCREENMAN->SetNewScreen( new ScreenSelectMusic );
SCREENMAN->SetNewScreen( "ScreenSelectMusic" );
break;
case PLAY_MODE_ONI:
case PLAY_MODE_ENDLESS:
SCREENMAN->SetNewScreen( new ScreenSelectCourse );
SCREENMAN->SetNewScreen( "ScreenSelectCourse" );
break;
default: ASSERT(0);
}
@@ -1399,7 +1387,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
ShowSavePrompt( SM_GoToStateAfterCleared );
break;
}
SCREENMAN->SetNewScreen( new ScreenEvaluation(false) );
SCREENMAN->SetNewScreen( "ScreenEvaluation" );
break;
@@ -1472,16 +1460,16 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
break;
}
if( GAMESTATE->m_PlayMode == PLAY_MODE_ONI || GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS )
SCREENMAN->SetNewScreen( new ScreenEvaluation(false) );
SCREENMAN->SetNewScreen( "ScreenEvaluation" );
else if( PREFSMAN->m_bEventMode )
this->SendScreenMessage( SM_GoToScreenAfterBack, 0 );
else if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
SCREENMAN->SetNewScreen( new ScreenEvaluation(true) );
SCREENMAN->SetNewScreen( "ScreenFinalEvaluation" );
else
SCREENMAN->SetNewScreen( new ScreenGameOver );
SCREENMAN->SetNewScreen( "ScreenGameOver" );
break;
case SM_GoToTitleMenu:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
}
}
+1 -4
View File
@@ -11,14 +11,11 @@
*/
#include "ScreenGraphicOptions.h"
#include <assert.h>
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "ScreenOptions.h"
#include "ScreenTitleMenu.h"
#include "GameConstantsAndTypes.h"
#include "StepMania.h"
#include "PrefsManager.h"
@@ -233,7 +230,7 @@ void ScreenGraphicOptions::ExportOptions()
void ScreenGraphicOptions::GoToPrevState()
{
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
PREFSMAN->SaveGlobalPrefsToDisk();
ApplyGraphicOptions();
}
+14 -11
View File
@@ -11,18 +11,21 @@
*/
#include "ScreenHowToPlay.h"
#include <assert.h>
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "ScreenSelectMusic.h"
#include "ScreenSelectCourse.h"
#include "GameConstantsAndTypes.h"
#include "RageLog.h"
#include "GameState.h"
#define HELP_TEXT THEME->GetMetric("ScreenHowToPlay","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenHowToPlay","TimerSeconds")
#define NEXT_SCREEN_ARCADE THEME->GetMetric("ScreenHowToPlay","NextScreenArcade")
#define NEXT_SCREEN_ONI THEME->GetMetric("ScreenHowToPlay","NextScreenOni")
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 1);
@@ -33,9 +36,9 @@ ScreenHowToPlay::ScreenHowToPlay()
m_Menu.Load(
THEME->GetPathTo("Graphics","How To Play Background"),
THEME->GetPathTo("Graphics","How To Play Top Edge"),
ssprintf("%s %s to change line %s %s to select between options then press START", CString(char(3)), CString(char(4)), CString(char(1)), CString(char(2)) ),
false, true, 20
HELP_TEXT, false, true, TIMER_SECONDS
);
m_Menu.TweenOnScreenFromMenu( SM_None );
this->AddSubActor( &m_Menu );
CString sHowToPlayPath;
@@ -57,14 +60,14 @@ ScreenHowToPlay::ScreenHowToPlay()
this->AddSubActor( &m_sprHowToPlay );
m_sprHowToPlay.SetX( SCREEN_LEFT-SCREEN_WIDTH );
m_sprHowToPlay.BeginTweening( 0.3f, Actor::TWEEN_BIAS_BEGIN );
m_sprHowToPlay.SetTweenX( 0 );
m_sprHowToPlay.BeginTweeningQueued( 0.4f ); // sleep
m_sprHowToPlay.BeginTweeningQueued( 0.6f, Actor::TWEEN_BIAS_BEGIN );
m_sprHowToPlay.SetTweenX( CENTER_X );
}
ScreenHowToPlay::~ScreenHowToPlay()
{
LOG->Trace( "ScreenHowToPlay::~ScreenHowToPlay()" );
}
void ScreenHowToPlay::Update( float fDeltaTime )
@@ -101,11 +104,11 @@ void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM )
switch( GAMESTATE->m_PlayMode )
{
case PLAY_MODE_ARCADE:
SCREENMAN->SetNewScreen( new ScreenSelectMusic );
SCREENMAN->SetNewScreen( NEXT_SCREEN_ARCADE );
break;
case PLAY_MODE_ONI:
case PLAY_MODE_ENDLESS:
SCREENMAN->SetNewScreen( new ScreenSelectCourse );
SCREENMAN->SetNewScreen( NEXT_SCREEN_ONI );
break;
default:
ASSERT(0);
@@ -123,5 +126,5 @@ void ScreenHowToPlay::MenuStart( const PlayerNumber p )
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
m_sprHowToPlay.BeginTweening( 0.3f, Actor::TWEEN_BIAS_END );
m_sprHowToPlay.SetTweenX( SCREEN_RIGHT );
m_sprHowToPlay.SetTweenX( SCREEN_RIGHT+m_sprHowToPlay.GetUnzoomedWidth()/2 );
}
+85 -13
View File
@@ -16,17 +16,18 @@
#include "PrefsManager.h"
#include "RageLog.h"
#include "GameState.h"
#include "RageException.h"
ScreenManager* SCREENMAN = NULL; // global and accessable from anywhere in our program
#define STATS_X THEME->GetMetricF("Other","StatsX")
#define STATS_Y THEME->GetMetricF("Other","StatsY")
#define CREDITS_P1_X THEME->GetMetricF("Other","CreditsP1X")
#define CREDITS_P1_Y THEME->GetMetricF("Other","CreditsP1Y")
#define CREDITS_P2_X THEME->GetMetricF("Other","CreditsP2X")
#define CREDITS_P2_Y THEME->GetMetricF("Other","CreditsP2Y")
#define STATS_X THEME->GetMetricF("ScreenManager","StatsX")
#define STATS_Y THEME->GetMetricF("ScreenManager","StatsY")
#define CREDITS_P1_X THEME->GetMetricF("ScreenManager","CreditsP1X")
#define CREDITS_P1_Y THEME->GetMetricF("ScreenManager","CreditsP1Y")
#define CREDITS_P2_X THEME->GetMetricF("ScreenManager","CreditsP2X")
#define CREDITS_P2_Y THEME->GetMetricF("ScreenManager","CreditsP2Y")
float CREDITS_X( int p ) {
switch( p ) {
@@ -152,9 +153,77 @@ void ScreenManager::Input( const DeviceInput& DeviceI, const InputEventType type
m_ScreenStack[m_ScreenStack.GetSize()-1]->Input( DeviceI, type, GameI, MenuI, StyleI );
}
void ScreenManager::SetNewScreen( Screen *pNewScreen )
// Screen classes
#include "ScreenAppearanceOptions.h"
#include "ScreenCaution.h"
#include "ScreenEdit.h"
#include "ScreenEditMenu.h"
#include "ScreenEvaluation.h"
#include "ScreenEz2SelectPlayer.h"
#include "ScreenEz2SelectStyle.h"
#include "ScreenGameOptions.h"
#include "ScreenGameOver.h"
#include "ScreenGameplay.h"
#include "ScreenGraphicOptions.h"
#include "ScreenHowToPlay.h"
#include "ScreenMapInstruments.h"
#include "ScreenMusicScroll.h"
#include "ScreenPlayerOptions.h"
#include "ScreenSandbox.h"
#include "ScreenSelectCourse.h"
#include "ScreenSelectDifficulty.h"
#include "ScreenSelectGame.h"
#include "ScreenSelectGroup.h"
#include "ScreenSelectMusic.h"
#include "ScreenSelectStyle5th.h"
#include "ScreenSelectStyle.h"
#include "ScreenSongOptions.h"
#include "ScreenStage.h"
#include "ScreenTitleMenu.h"
#include "ScreenPrompt.h"
#include "ScreenTextEntry.h"
void ScreenManager::SetNewScreen( CString sClassName )
{
// move CurrentScreen to ScreenToDelete
// It makes sense that ScreenManager should allocate memory for a new screen since it
// deletes it later on. This also convention will reduce includes because screens won't
// have to include each other's headers of other screens.
Screen* pNewScreen;
if( 0==stricmp(sClassName, "ScreenAppearanceOptions") )pNewScreen = new ScreenAppearanceOptions;
else if( 0==stricmp(sClassName, "ScreenCaution") ) pNewScreen = new ScreenCaution;
else if( 0==stricmp(sClassName, "ScreenEdit") ) pNewScreen = new ScreenEdit;
else if( 0==stricmp(sClassName, "ScreenEditMenu") ) pNewScreen = new ScreenEditMenu;
else if( 0==stricmp(sClassName, "ScreenEvaluation") ) pNewScreen = new ScreenEvaluation;
else if( 0==stricmp(sClassName, "ScreenFinalEvaluation") ) pNewScreen = new ScreenFinalEvaluation;
else if( 0==stricmp(sClassName, "ScreenEz2SelectPlayer") ) pNewScreen = new ScreenEz2SelectPlayer;
else if( 0==stricmp(sClassName, "ScreenEz2SelectStyle") ) pNewScreen = new ScreenEz2SelectStyle;
else if( 0==stricmp(sClassName, "ScreenGameOptions") ) pNewScreen = new ScreenGameOptions;
else if( 0==stricmp(sClassName, "ScreenGameOver") ) pNewScreen = new ScreenGameOver;
else if( 0==stricmp(sClassName, "ScreenGameplay") ) pNewScreen = new ScreenGameplay;
else if( 0==stricmp(sClassName, "ScreenGraphicOptions") ) pNewScreen = new ScreenGraphicOptions;
else if( 0==stricmp(sClassName, "ScreenHowToPlay") ) pNewScreen = new ScreenHowToPlay;
else if( 0==stricmp(sClassName, "ScreenMapInstruments") ) pNewScreen = new ScreenMapInstruments;
else if( 0==stricmp(sClassName, "ScreenMusicScroll") ) pNewScreen = new ScreenMusicScroll;
else if( 0==stricmp(sClassName, "ScreenPlayerOptions") ) pNewScreen = new ScreenPlayerOptions;
else if( 0==stricmp(sClassName, "ScreenSandbox") ) pNewScreen = new ScreenSandbox;
else if( 0==stricmp(sClassName, "ScreenSelectCourse") ) pNewScreen = new ScreenSelectCourse;
else if( 0==stricmp(sClassName, "ScreenSelectDifficulty") ) pNewScreen = new ScreenSelectDifficulty;
else if( 0==stricmp(sClassName, "ScreenSelectGame") ) pNewScreen = new ScreenSelectGame;
else if( 0==stricmp(sClassName, "ScreenSelectGroup") ) pNewScreen = new ScreenSelectGroup;
else if( 0==stricmp(sClassName, "ScreenSelectMusic") ) pNewScreen = new ScreenSelectMusic;
else if( 0==stricmp(sClassName, "ScreenSelectStyle5th") ) pNewScreen = new ScreenSelectStyle5th;
else if( 0==stricmp(sClassName, "ScreenSelectStyle") ) pNewScreen = new ScreenSelectStyle;
else if( 0==stricmp(sClassName, "ScreenSongOptions") ) pNewScreen = new ScreenSongOptions;
else if( 0==stricmp(sClassName, "ScreenStage") ) pNewScreen = new ScreenStage;
else if( 0==stricmp(sClassName, "ScreenTitleMenu") ) pNewScreen = new ScreenTitleMenu;
else
throw RageException( "Invalid Screen class name '%s'", sClassName );
// move current screen to ScreenToDelete
RefreshCreditsMessages();
m_ScreensToDelete.Copy( m_ScreenStack );
@@ -162,13 +231,16 @@ void ScreenManager::SetNewScreen( Screen *pNewScreen )
m_ScreenStack.Add( pNewScreen );
}
void ScreenManager::AddScreenToTop( Screen *pNewScreen )
void ScreenManager::Prompt( ScreenMessage SM_SendWhenDone, CString sText, bool bYesNo, bool bDefaultAnswer, void(*OnYes)(), void(*OnNo)() )
{
// our responsibility to tell the old state that it's losing focus
// m_ScreenStack[m_ScreenStack.GetSize()-1]->HandleScreenMessage( SM_LosingInputFocus );
// add the new state onto the back of the array
m_ScreenStack.Add( pNewScreen );
m_ScreenStack.Add( new ScreenPrompt(SM_SendWhenDone, sText, bYesNo, bDefaultAnswer, OnYes, OnNo) );
}
void ScreenManager::TextEntry( ScreenMessage SM_SendWhenDone, CString sQuestion, CString sInitialAnswer, void(*OnOK)(CString sAnswer), void(*OnCanel)() )
{
// add the new state onto the back of the array
m_ScreenStack.Add( new ScreenTextEntry(SM_SendWhenDone, sQuestion, sInitialAnswer, OnOK, OnCanel) );
}
void ScreenManager::PopTopScreen( ScreenMessage SM )
+6 -7
View File
@@ -32,20 +32,19 @@ public:
void Draw();
void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
void SetNewScreen( Screen *pNewScreen );
void AddScreenToTop( Screen *pNewScreen );
void PopTopScreen( ScreenMessage SM_SendToNewTopScreen );
void SetNewScreen( CString sClassName );
void Prompt( ScreenMessage SM_SendWhenDone, CString sText, bool bYesNo = false, bool bDefaultAnswer = false, void(*OnYes)() = NULL, void(*OnNo)() = NULL );
void TextEntry( ScreenMessage SM_SendWhenDone, CString sQuestion, CString sInitialAnswer, void(*OnOK)(CString sAnswer) = NULL, void(*OnCanel)() = NULL );
void PopTopScreen( ScreenMessage SM );
void SystemMessage( CString sMessage );
void SendMessageToTopScreen( ScreenMessage SM, float fDelay );
// void OverrideCreditsMessage( PlayerNumber p, CString sNewString );
void RefreshCreditsMessages();
private:
CArray<Screen*, Screen*&> m_ScreenStack;
CArray<Screen*, Screen*&> m_ScreensToDelete;
CArray<Screen*, Screen*> m_ScreenStack;
CArray<Screen*, Screen*> m_ScreensToDelete;
BitmapText m_textStats;
BitmapText m_textSystemMessage;
+1 -4
View File
@@ -14,9 +14,6 @@
#include "ScreenMusicScroll.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "PrefsManager.h"
#include "ScreenSelectMusic.h"
#include "ScreenTitleMenu.h"
#include "GameManager.h"
#include "RageLog.h"
#include "GameConstantsAndTypes.h"
@@ -227,7 +224,7 @@ void ScreenMusicScroll::HandleScreenMessage( const ScreenMessage SM )
m_Fade.CloseWipingRight( SM_GoToNextState );
break;
case SM_GoToNextState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
}
}
-3
View File
@@ -11,14 +11,11 @@
*/
#include "ScreenOptions.h"
#include <assert.h>
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "ScreenGameplay.h"
#include "PrefsManager.h"
#include "GameConstantsAndTypes.h"
#include "RageLog.h"
#include "GameState.h"
+5 -9
View File
@@ -1,30 +1,26 @@
#include "stdafx.h"
/*
-----------------------------------------------------------------------------
File: ScreenPlayerOptions.h
Class: ScreenPlayerOptions
Desc: Select a song.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "ScreenPlayerOptions.h"
#include <assert.h>
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "ScreenGameplay.h"
#include "ScreenSongOptions.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenSelectMusic.h"
#include "RageLog.h"
#include "GameManager.h"
#include "GameState.h"
#include "RageSound.h"
#include "ScreenSelectCourse.h"
enum {
@@ -134,14 +130,14 @@ void ScreenPlayerOptions::GoToPrevState()
{
if(GAMESTATE->m_PlayMode == PLAY_MODE_ONI ||
GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS)
SCREENMAN->SetNewScreen( new ScreenSelectCourse );
SCREENMAN->SetNewScreen( "ScreenSelectCourse" );
else
SCREENMAN->SetNewScreen( new ScreenSelectMusic );
SCREENMAN->SetNewScreen( "ScreenSelectMusic" );
}
void ScreenPlayerOptions::GoToNextState()
{
SCREENMAN->SetNewScreen( new ScreenSongOptions );
SCREENMAN->SetNewScreen( "ScreenSongOptions" );
}
+9 -11
View File
@@ -15,7 +15,6 @@
#include "PrefsManager.h"
#include "ScreenManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
@@ -26,14 +25,14 @@ const float PROMPT_X = CENTER_X;
const float PROMPT_Y = CENTER_Y + 120;
ScreenPrompt::ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, PromptType pt, bool bDefaultAnswer, void(*OnYes)(), void(*OnNo)() )
ScreenPrompt::ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, bool bYesNoPrompt, bool bDefaultAnswer, void(*OnYes)(), void(*OnNo)() )
{
m_SMSendWhenDone = SM_SendWhenDone;
m_bYesNoPrompt = bYesNoPrompt;
m_bAnswer = bDefaultAnswer;
m_pOnYes = OnYes;
m_pOnNo = OnNo;
m_PromptType = pt;
m_bAnswer = bDefaultAnswer;
m_Fade.SetTransitionTime( 0.5f );
m_Fade.SetDiffuseColor( D3DXCOLOR(0,0,0,0.7f) );
@@ -58,18 +57,17 @@ ScreenPrompt::ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, Prompt
switch( m_PromptType )
if( m_bYesNoPrompt )
{
case PROMPT_OK:
m_textAnswer[0].SetText( "OK" );
m_textAnswer[0].SetX( PROMPT_X );
break;
case PROMPT_YES_NO:
}
else
{
m_textAnswer[0].SetText( "NO" );
m_textAnswer[1].SetText( "YES" );
m_textAnswer[0].SetX( PROMPT_X+50 );
m_textAnswer[1].SetX( PROMPT_X-50 );
break;
}
m_rectAnswerBox.SetXY( m_textAnswer[m_bAnswer].GetX(), m_textAnswer[m_bAnswer].GetY() );
@@ -117,7 +115,7 @@ void ScreenPrompt::HandleScreenMessage( const ScreenMessage SM )
void ScreenPrompt::MenuLeft( const PlayerNumber p )
{
if( m_PromptType == PROMPT_OK )
if( !m_bYesNoPrompt )
return;
MenuRight( p );
@@ -125,7 +123,7 @@ void ScreenPrompt::MenuLeft( const PlayerNumber p )
void ScreenPrompt::MenuRight( const PlayerNumber p )
{
if( m_PromptType == PROMPT_OK )
if( !m_bYesNoPrompt )
return;
m_textAnswer[m_bAnswer].SetEffectNone();
+2 -6
View File
@@ -17,15 +17,11 @@
#include "RandomSample.h"
enum PromptType{ PROMPT_OK, PROMPT_YES_NO };
class ScreenPrompt : public Screen
{
public:
ScreenPrompt();
ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, PromptType pt, bool bDefaultAnswer = false, void(*OnYes)() = NULL, void(*OnNo)() = NULL );
ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, bool bYesNoPrompt=false, bool bDefaultAnswer = false, void(*OnYes)() = NULL, void(*OnNo)() = NULL );
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
@@ -43,7 +39,7 @@ protected:
BitmapText m_textQuestion;
Quad m_rectAnswerBox;
BitmapText m_textAnswer[2]; // "YES" or "NO"
PromptType m_PromptType;
bool m_bYesNoPrompt; // false = OK prompt, true = YES/NO prompt
bool m_bAnswer; // true = "YES", false = "NO";
ScreenMessage m_SMSendWhenDone;
void(*m_pOnYes)();
+1 -3
View File
@@ -13,8 +13,6 @@
#include "ScreenSandbox.h"
#include "ScreenManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "ScreenSelectMusic.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "Quad.h"
@@ -60,7 +58,7 @@ void ScreenSandbox::Input( const DeviceInput& DeviceI, const InputEventType type
case MENU_BUTTON_RIGHT:
break;
case MENU_BUTTON_BACK:
//SCREENMAN->SetNewScreen( new ScreenTitleMenu );
//SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
return;
}
}
+25 -37
View File
@@ -17,41 +17,36 @@
#include "SongManager.h"
#include "GameManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenGameplay.h"
#include "ScreenPrompt.h"
#include "ScreenPlayerOptions.h"
#include "RageLog.h"
#include "InputMapper.h"
#include "InputQueue.h"
#include "ScreenStage.h"
#include "AnnouncerManager.h"
#include "GameState.h"
#include "RageMusic.h"
#define BANNER_FRAME_X THEME->GetMetricF("SelectCourse","BannerFrameX")
#define BANNER_FRAME_Y THEME->GetMetricF("SelectCourse","BannerFrameY")
#define BANNER_X THEME->GetMetricF("SelectCourse","BannerX")
#define BANNER_Y THEME->GetMetricF("SelectCourse","BannerY")
#define BANNER_WIDTH THEME->GetMetricF("SelectCourse","BannerWidth")
#define BANNER_HEIGHT THEME->GetMetricF("SelectCourse","BannerHeight")
#define STAGES_X THEME->GetMetricF("SelectCourse","StagesX")
#define STAGES_Y THEME->GetMetricF("SelectCourse","StagesY")
#define TIME_X THEME->GetMetricF("SelectCourse","TimeX")
#define TIME_Y THEME->GetMetricF("SelectCourse","TimeY")
#define CONTENTS_X THEME->GetMetricF("SelectCourse","ContentsX")
#define CONTENTS_Y THEME->GetMetricF("SelectCourse","ContentsY")
#define WHEEL_X THEME->GetMetricF("SelectCourse","WheelX")
#define WHEEL_Y THEME->GetMetricF("SelectCourse","WheelY")
#define SCORE_P1_X THEME->GetMetricF("SelectCourse","ScoreP1X")
#define SCORE_P1_Y THEME->GetMetricF("SelectCourse","ScoreP1Y")
#define SCORE_P2_X THEME->GetMetricF("SelectCourse","ScoreP2X")
#define SCORE_P2_Y THEME->GetMetricF("SelectCourse","ScoreP2Y")
#define HELP_TEXT THEME->GetMetric("SelectCourse","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("SelectCourse","TimerSeconds")
#define BANNER_FRAME_X THEME->GetMetricF("ScreenSelectCourse","BannerFrameX")
#define BANNER_FRAME_Y THEME->GetMetricF("ScreenSelectCourse","BannerFrameY")
#define BANNER_X THEME->GetMetricF("ScreenSelectCourse","BannerX")
#define BANNER_Y THEME->GetMetricF("ScreenSelectCourse","BannerY")
#define BANNER_WIDTH THEME->GetMetricF("ScreenSelectCourse","BannerWidth")
#define BANNER_HEIGHT THEME->GetMetricF("ScreenSelectCourse","BannerHeight")
#define STAGES_X THEME->GetMetricF("ScreenSelectCourse","StagesX")
#define STAGES_Y THEME->GetMetricF("ScreenSelectCourse","StagesY")
#define TIME_X THEME->GetMetricF("ScreenSelectCourse","TimeX")
#define TIME_Y THEME->GetMetricF("ScreenSelectCourse","TimeY")
#define CONTENTS_X THEME->GetMetricF("ScreenSelectCourse","ContentsX")
#define CONTENTS_Y THEME->GetMetricF("ScreenSelectCourse","ContentsY")
#define WHEEL_X THEME->GetMetricF("ScreenSelectCourse","WheelX")
#define WHEEL_Y THEME->GetMetricF("ScreenSelectCourse","WheelY")
#define SCORE_P1_X THEME->GetMetricF("ScreenSelectCourse","ScoreP1X")
#define SCORE_P1_Y THEME->GetMetricF("ScreenSelectCourse","ScoreP1Y")
#define SCORE_P2_X THEME->GetMetricF("ScreenSelectCourse","ScoreP2X")
#define SCORE_P2_Y THEME->GetMetricF("ScreenSelectCourse","ScoreP2Y")
#define HELP_TEXT THEME->GetMetric("ScreenSelectCourse","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectCourse","TimerSeconds")
float BEST_TIME_X( int p ) {
switch( p ) {
@@ -79,11 +74,7 @@ ScreenSelectCourse::ScreenSelectCourse()
{
LOG->Trace( "ScreenSelectCourse::ScreenSelectCourse()" );
if( !MUSIC->IsPlaying() || MUSIC->GetLoadedFilePath() != THEME->GetPathTo("Sounds","select course music") )
{
MUSIC->Load( THEME->GetPathTo("Sounds","select course music") );
MUSIC->Play( true );
}
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select course music") );
m_bMadeChoice = false;
m_bGoToOptions = false;
@@ -260,7 +251,7 @@ void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM )
MenuStart(PLAYER_1);
break;
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
@@ -276,13 +267,10 @@ void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM )
}
if( bIsHoldingNext || m_bGoToOptions )
{
SCREENMAN->SetNewScreen( new ScreenPlayerOptions );
}
SCREENMAN->SetNewScreen( "ScreenPlayerOptions" );
else
{
SCREENMAN->SetNewScreen( new ScreenStage );
}
SCREENMAN->SetNewScreen( "ScreenStage" );
break;
}
}
+85 -91
View File
@@ -1,57 +1,56 @@
#include "stdafx.h"
/*
-----------------------------------------------------------------------------
File: ScreenSelectDifficulty.cpp
Class: ScreenSelectDifficulty
Desc: Testing the Screen class.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "ScreenSelectDifficulty.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "PrefsManager.h"
#include "ScreenSelectGroup.h"
#include "ScreenTitleMenu.h"
#include "GameManager.h"
#include "RageLog.h"
#include "GameConstantsAndTypes.h"
#include "AnnouncerManager.h"
#include "ScreenSelectCourse.h"
#include "GameState.h"
#include "RageMusic.h"
const float LOCK_INPUT_TIME = 0.30f; // lock input while waiting for tweening to complete
#define MORE_PAGE1_X THEME->GetMetricF("SelectDifficulty","MorePage1X")
#define MORE_PAGE1_Y THEME->GetMetricF("SelectDifficulty","MorePage1Y")
#define MORE_PAGE2_X THEME->GetMetricF("SelectDifficulty","MorePage2X")
#define MORE_PAGE2_Y THEME->GetMetricF("SelectDifficulty","MorePage2Y")
#define EXPLANATION_PAGE1_X THEME->GetMetricF("SelectDifficulty","ExplanationPage1X")
#define EXPLANATION_PAGE1_Y THEME->GetMetricF("SelectDifficulty","ExplanationPage1Y")
#define EXPLANATION_PAGE2_X THEME->GetMetricF("SelectDifficulty","ExplanationPage2X")
#define EXPLANATION_PAGE2_Y THEME->GetMetricF("SelectDifficulty","ExplanationPage2Y")
#define EASY_X THEME->GetMetricF("SelectDifficulty","EasyX")
#define EASY_Y THEME->GetMetricF("SelectDifficulty","EasyY")
#define MEDIUM_X THEME->GetMetricF("SelectDifficulty","MediumX")
#define MEDIUM_Y THEME->GetMetricF("SelectDifficulty","MediumY")
#define HARD_X THEME->GetMetricF("SelectDifficulty","HardX")
#define HARD_Y THEME->GetMetricF("SelectDifficulty","HardY")
#define ONI_X THEME->GetMetricF("SelectDifficulty","OniX")
#define ONI_Y THEME->GetMetricF("SelectDifficulty","OniY")
#define ENDLESS_X THEME->GetMetricF("SelectDifficulty","EndlessX")
#define ENDLESS_Y THEME->GetMetricF("SelectDifficulty","EndlessY")
#define ARROW_OFFSET_P1_X THEME->GetMetricF("SelectDifficulty","ArrowOffsetP1X")
#define ARROW_OFFSET_P1_Y THEME->GetMetricF("SelectDifficulty","ArrowOffsetP1Y")
#define ARROW_OFFSET_P2_X THEME->GetMetricF("SelectDifficulty","ArrowOffsetP2X")
#define ARROW_OFFSET_P2_Y THEME->GetMetricF("SelectDifficulty","ArrowOffsetP2Y")
#define ARROW_SHADOW_LENGTH_X THEME->GetMetricF("SelectDifficulty","ArrowShadowLengthX")
#define ARROW_SHADOW_LENGTH_Y THEME->GetMetricF("SelectDifficulty","ArrowShadowLengthY")
#define HELP_TEXT THEME->GetMetric("SelectDifficulty","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("SelectDifficulty","TimerSeconds")
#define MORE_PAGE1_X THEME->GetMetricF("ScreenSelectDifficulty","MorePage1X")
#define MORE_PAGE1_Y THEME->GetMetricF("ScreenSelectDifficulty","MorePage1Y")
#define MORE_PAGE2_X THEME->GetMetricF("ScreenSelectDifficulty","MorePage2X")
#define MORE_PAGE2_Y THEME->GetMetricF("ScreenSelectDifficulty","MorePage2Y")
#define EXPLANATION_PAGE1_X THEME->GetMetricF("ScreenSelectDifficulty","ExplanationPage1X")
#define EXPLANATION_PAGE1_Y THEME->GetMetricF("ScreenSelectDifficulty","ExplanationPage1Y")
#define EXPLANATION_PAGE2_X THEME->GetMetricF("ScreenSelectDifficulty","ExplanationPage2X")
#define EXPLANATION_PAGE2_Y THEME->GetMetricF("ScreenSelectDifficulty","ExplanationPage2Y")
#define EASY_X THEME->GetMetricF("ScreenSelectDifficulty","EasyX")
#define EASY_Y THEME->GetMetricF("ScreenSelectDifficulty","EasyY")
#define MEDIUM_X THEME->GetMetricF("ScreenSelectDifficulty","MediumX")
#define MEDIUM_Y THEME->GetMetricF("ScreenSelectDifficulty","MediumY")
#define HARD_X THEME->GetMetricF("ScreenSelectDifficulty","HardX")
#define HARD_Y THEME->GetMetricF("ScreenSelectDifficulty","HardY")
#define ONI_X THEME->GetMetricF("ScreenSelectDifficulty","OniX")
#define ONI_Y THEME->GetMetricF("ScreenSelectDifficulty","OniY")
#define ENDLESS_X THEME->GetMetricF("ScreenSelectDifficulty","EndlessX")
#define ENDLESS_Y THEME->GetMetricF("ScreenSelectDifficulty","EndlessY")
#define CURSOR_OFFSET_P1_X THEME->GetMetricF("ScreenSelectDifficulty","CursorOffsetP1X")
#define CURSOR_OFFSET_P1_Y THEME->GetMetricF("ScreenSelectDifficulty","CursorOffsetP1Y")
#define CURSOR_OFFSET_P2_X THEME->GetMetricF("ScreenSelectDifficulty","CursorOffsetP2X")
#define CURSOR_OFFSET_P2_Y THEME->GetMetricF("ScreenSelectDifficulty","CursorOffsetP2Y")
#define CURSOR_SHADOW_LENGTH_X THEME->GetMetricF("ScreenSelectDifficulty","CursorShadowLengthX")
#define CURSOR_SHADOW_LENGTH_Y THEME->GetMetricF("ScreenSelectDifficulty","CursorShadowLengthY")
#define HELP_TEXT THEME->GetMetric("ScreenSelectDifficulty","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectDifficulty","TimerSeconds")
#define NEXT_SCREEN THEME->GetMetric("ScreenSelectDifficulty","NextScreen")
float MORE_X( int iIndex ) {
@@ -102,17 +101,17 @@ float ITEM_Y( int iItemIndex ) {
default: ASSERT(0); return 0;
}
}
float ARROW_X( int iItemIndex, int p ) {
float CURSOR_X( int iItemIndex, int p ) {
switch( p ) {
case PLAYER_1: return ITEM_X(iItemIndex) + ARROW_OFFSET_P1_X;
case PLAYER_2: return ITEM_X(iItemIndex) + ARROW_OFFSET_P2_X;
case PLAYER_1: return ITEM_X(iItemIndex) + CURSOR_OFFSET_P1_X;
case PLAYER_2: return ITEM_X(iItemIndex) + CURSOR_OFFSET_P2_X;
default: ASSERT(0); return 0;
}
}
float ARROW_Y( int iItemIndex, int p ) {
float CURSOR_Y( int iItemIndex, int p ) {
switch( p ) {
case PLAYER_1: return ITEM_Y(iItemIndex) + ARROW_OFFSET_P1_Y;
case PLAYER_2: return ITEM_Y(iItemIndex) + ARROW_OFFSET_P2_Y;
case PLAYER_1: return ITEM_Y(iItemIndex) + CURSOR_OFFSET_P1_Y;
case PLAYER_2: return ITEM_Y(iItemIndex) + CURSOR_OFFSET_P2_Y;
default: ASSERT(0); return 0;
}
}
@@ -190,22 +189,21 @@ ScreenSelectDifficulty::ScreenSelectDifficulty()
if( !GAMESTATE->IsPlayerEnabled((PlayerNumber)p) )
continue;
m_sprArrowShadow[p].Load( THEME->GetPathTo("Graphics", "select difficulty arrows") );
m_sprArrowShadow[p].StopAnimating();
m_sprArrowShadow[p].SetState( p );
m_sprArrowShadow[p].TurnShadowOff();
m_sprArrowShadow[p].SetDiffuseColor( D3DXCOLOR(0,0,0,0.6f) );
m_framePages.AddSubActor( &m_sprArrowShadow[p] );
m_sprCursorShadow[p].Load( THEME->GetPathTo("Graphics", "select difficulty cursor 2x1") );
m_sprCursorShadow[p].StopAnimating();
m_sprCursorShadow[p].SetState( p );
m_sprCursorShadow[p].TurnShadowOff();
m_sprCursorShadow[p].SetDiffuseColor( D3DXCOLOR(0,0,0,0.6f) );
m_framePages.AddSubActor( &m_sprCursorShadow[p] );
m_sprArrow[p].Load( THEME->GetPathTo("Graphics", "select difficulty arrows") );
m_sprArrow[p].StopAnimating();
m_sprArrow[p].SetState( p );
m_sprArrow[p].TurnShadowOff();
m_sprArrow[p].SetDiffuseColor( PlayerToColor((PlayerNumber)p) );
m_sprArrow[p].SetEffectGlowing();
m_framePages.AddSubActor( &m_sprArrow[p] );
m_sprCursor[p].Load( THEME->GetPathTo("Graphics", "select difficulty cursor 2x1") );
m_sprCursor[p].StopAnimating();
m_sprCursor[p].SetState( p );
m_sprCursor[p].TurnShadowOff();
m_sprCursor[p].SetEffectGlowing();
m_framePages.AddSubActor( &m_sprCursor[p] );
m_sprOK[p].Load( THEME->GetPathTo("Graphics", "select difficulty ok") );
m_sprOK[p].Load( THEME->GetPathTo("Graphics", "select difficulty ok 2x1") );
m_framePages.AddSubActor( &m_sprOK[p] );
}
@@ -221,11 +219,7 @@ ScreenSelectDifficulty::ScreenSelectDifficulty()
m_Menu.TweenOnScreenFromMenu( SM_None );
TweenOnScreen();
if( !MUSIC->IsPlaying() || MUSIC->GetLoadedFilePath() != THEME->GetPathTo("Sounds","select difficulty music") )
{
MUSIC->Load( THEME->GetPathTo("Sounds","select difficulty music") );
MUSIC->Play( true );
}
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select difficulty music") );
m_fLockInputTime = LOCK_INPUT_TIME;
}
@@ -276,7 +270,7 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM )
}
break;
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
{
@@ -308,9 +302,9 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM )
if(GAMESTATE->m_PlayMode == PLAY_MODE_ONI ||
GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS)
SCREENMAN->SetNewScreen( new ScreenSelectCourse );
SCREENMAN->SetNewScreen( "ScreenSelectCourse" );
else
SCREENMAN->SetNewScreen( new ScreenSelectGroup );
SCREENMAN->SetNewScreen( "ScreenSelectGroup" );
break;
case SM_StartTweeningOffScreen:
@@ -405,13 +399,13 @@ void ScreenSelectDifficulty::ChangeTo( const PlayerNumber pn, int iSelectionWas,
{
if( bSelectedSomethingOnPage2 || bChangedPagesFrom2To1 || p==pn )
{
m_sprArrow[p].BeginTweening( 0.2f, bChangedPages ? TWEEN_LINEAR : TWEEN_BIAS_BEGIN );
m_sprArrow[p].SetTweenX( ARROW_X(m_iSelection[p],(PlayerNumber)p) - ARROW_SHADOW_LENGTH_X );
m_sprArrow[p].SetTweenY( ARROW_Y(m_iSelection[p],(PlayerNumber)p) - ARROW_SHADOW_LENGTH_Y );
m_sprCursor[p].BeginTweening( 0.2f, bChangedPages ? TWEEN_LINEAR : TWEEN_BIAS_BEGIN );
m_sprCursor[p].SetTweenX( CURSOR_X(m_iSelection[p],(PlayerNumber)p) - CURSOR_SHADOW_LENGTH_X );
m_sprCursor[p].SetTweenY( CURSOR_Y(m_iSelection[p],(PlayerNumber)p) - CURSOR_SHADOW_LENGTH_Y );
m_sprArrowShadow[p].BeginTweening( 0.2f, bChangedPages ? TWEEN_LINEAR : TWEEN_BIAS_BEGIN );
m_sprArrowShadow[p].SetTweenX( ARROW_X(m_iSelection[p],(PlayerNumber)p) );
m_sprArrowShadow[p].SetTweenY( ARROW_Y(m_iSelection[p],(PlayerNumber)p) );
m_sprCursorShadow[p].BeginTweening( 0.2f, bChangedPages ? TWEEN_LINEAR : TWEEN_BIAS_BEGIN );
m_sprCursorShadow[p].SetTweenX( CURSOR_X(m_iSelection[p],(PlayerNumber)p) );
m_sprCursorShadow[p].SetTweenY( CURSOR_Y(m_iSelection[p],(PlayerNumber)p) );
}
}
@@ -448,13 +442,13 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn )
}
}
m_sprArrow[pn].BeginTweeningQueued( 0.2f );
m_sprArrow[pn].BeginTweeningQueued( 0.2f );
m_sprArrow[pn].SetTweenX( ARROW_X(iSelection, pn) );
m_sprArrow[pn].SetTweenY( ARROW_Y(iSelection, pn) );
m_sprCursor[pn].BeginTweeningQueued( 0.2f );
m_sprCursor[pn].BeginTweeningQueued( 0.2f );
m_sprCursor[pn].SetTweenX( CURSOR_X(iSelection, pn) );
m_sprCursor[pn].SetTweenY( CURSOR_Y(iSelection, pn) );
m_sprOK[pn].SetX( ARROW_X(iSelection, pn) );
m_sprOK[pn].SetY( ARROW_Y(iSelection, pn) );
m_sprOK[pn].SetX( CURSOR_X(iSelection, pn) );
m_sprOK[pn].SetY( CURSOR_Y(iSelection, pn) );
m_sprOK[pn].SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
m_sprOK[pn].SetZoom( 2 );
@@ -462,9 +456,9 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn )
m_sprOK[pn].SetTweenZoom( 1 );
m_sprOK[pn].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) );
m_sprArrowShadow[pn].BeginTweeningQueued( 0.2f );
m_sprArrowShadow[pn].BeginTweeningQueued( 0.2f );
m_sprArrowShadow[pn].SetDiffuseColor( D3DXCOLOR(0,0,0,0) );
m_sprCursorShadow[pn].BeginTweeningQueued( 0.2f );
m_sprCursorShadow[pn].BeginTweeningQueued( 0.2f );
m_sprCursorShadow[pn].SetDiffuseColor( D3DXCOLOR(0,0,0,0) );
// check to see if everyone has chosen
@@ -504,14 +498,14 @@ void ScreenSelectDifficulty::TweenOffScreen()
if( !GAMESTATE->IsPlayerEnabled((PlayerNumber)p) )
continue;
m_sprArrow[p].BeginTweening( 0.3f );
m_sprArrow[p].SetTweenZoom( 0 );
m_sprCursor[p].BeginTweening( 0.3f );
m_sprCursor[p].SetTweenZoom( 0 );
m_sprOK[p].BeginTweening( 0.3f );
m_sprOK[p].SetTweenZoom( 0 );
m_sprArrowShadow[p].BeginTweeningQueued( 0.3f );
m_sprArrowShadow[p].SetTweenDiffuseColor( D3DXCOLOR(0,0,0,0) );
m_sprCursorShadow[p].BeginTweeningQueued( 0.3f );
m_sprCursorShadow[p].SetTweenDiffuseColor( D3DXCOLOR(0,0,0,0) );
}
for( int d=0; d<NUM_DIFFICULTY_ITEMS; d++ )
@@ -563,20 +557,20 @@ void ScreenSelectDifficulty::TweenOnScreen()
int iSelection = m_iSelection[p];
m_sprArrow[p].SetXY( ARROW_X(iSelection,(PlayerNumber)p), ARROW_Y(iSelection,(PlayerNumber)p) );
m_sprArrow[p].SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
m_sprArrow[p].SetRotation( D3DX_PI );
m_sprArrow[p].SetZoom( 2 );
m_sprArrow[p].BeginTweening( 0.3f );
m_sprArrow[p].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) );
m_sprArrow[p].SetTweenRotationZ( 0 );
m_sprArrow[p].SetTweenZoom( 1 );
m_sprCursor[p].SetXY( CURSOR_X(iSelection,(PlayerNumber)p), CURSOR_Y(iSelection,(PlayerNumber)p) );
m_sprCursor[p].SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
m_sprCursor[p].SetRotation( D3DX_PI );
m_sprCursor[p].SetZoom( 2 );
m_sprCursor[p].BeginTweening( 0.3f );
m_sprCursor[p].SetTweenDiffuseColor( D3DXCOLOR(1,1,1,1) );
m_sprCursor[p].SetTweenRotationZ( 0 );
m_sprCursor[p].SetTweenZoom( 1 );
m_sprArrowShadow[p].SetXY( ARROW_X(iSelection,(PlayerNumber)p), ARROW_Y(iSelection,(PlayerNumber)p) );
D3DXCOLOR colorOriginal = m_sprArrowShadow[p].GetDiffuseColor();
m_sprArrowShadow[p].SetDiffuseColor( D3DXCOLOR(0,0,0,0) );
m_sprArrowShadow[p].BeginTweening( 0.3f );
m_sprArrowShadow[p].SetTweenDiffuseColor( colorOriginal );
m_sprCursorShadow[p].SetXY( CURSOR_X(iSelection,(PlayerNumber)p), CURSOR_Y(iSelection,(PlayerNumber)p) );
D3DXCOLOR colorOriginal = m_sprCursorShadow[p].GetDiffuseColor();
m_sprCursorShadow[p].SetDiffuseColor( D3DXCOLOR(0,0,0,0) );
m_sprCursorShadow[p].BeginTweening( 0.3f );
m_sprCursorShadow[p].SetTweenDiffuseColor( colorOriginal );
}
for( int d=0; d<NUM_DIFFICULTY_ITEMS; d++ )
+2 -2
View File
@@ -54,8 +54,8 @@ private:
Sprite m_sprExplanation[NUM_PAGES];
Sprite m_sprMoreArrows[NUM_PAGES];
Sprite m_sprArrow[NUM_PLAYERS];
Sprite m_sprArrowShadow[NUM_PLAYERS];
Sprite m_sprCursor[NUM_PLAYERS];
Sprite m_sprCursorShadow[NUM_PLAYERS];
Sprite m_sprOK[NUM_PLAYERS];
RageSoundSample m_soundChange;
+2 -2
View File
@@ -99,12 +99,12 @@ void ScreenSelectGame::ExportOptions()
void ScreenSelectGame::GoToPrevState()
{
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
}
void ScreenSelectGame::GoToNextState()
{
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
}
+31 -25
View File
@@ -14,31 +14,31 @@
#include "ScreenSelectGroup.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "ScreenSelectMusic.h"
#include "ScreenTitleMenu.h"
#include "GameManager.h"
#include "RageLog.h"
#include "GameConstantsAndTypes.h"
#include "SongManager.h"
#include "AnnouncerManager.h"
#include "GameState.h"
#include "RageMusic.h"
#define FRAME_X THEME->GetMetricF("SelectGroup","FrameX")
#define FRAME_Y THEME->GetMetricF("SelectGroup","FrameY")
#define BANNER_X THEME->GetMetricF("SelectGroup","BannerX")
#define BANNER_Y THEME->GetMetricF("SelectGroup","BannerY")
#define BANNER_WIDTH THEME->GetMetricF("SelectGroup","BannerWidth")
#define BANNER_HEIGHT THEME->GetMetricF("SelectGroup","BannerHeight")
#define NUMBER_X THEME->GetMetricF("SelectGroup","NumberX")
#define NUMBER_Y THEME->GetMetricF("SelectGroup","NumberY")
#define EXPLANATION_X THEME->GetMetricF("SelectGroup","ExplanationX")
#define EXPLANATION_Y THEME->GetMetricF("SelectGroup","ExplanationY")
#define CONTENTS_X THEME->GetMetricF("SelectGroup","ContentsX")
#define CONTENTS_Y THEME->GetMetricF("SelectGroup","ContentsY")
#define HELP_TEXT THEME->GetMetric("SelectGroup","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("SelectGroup","TimerSeconds")
#define FRAME_X THEME->GetMetricF("ScreenSelectGroup","FrameX")
#define FRAME_Y THEME->GetMetricF("ScreenSelectGroup","FrameY")
#define BANNER_X THEME->GetMetricF("ScreenSelectGroup","BannerX")
#define BANNER_Y THEME->GetMetricF("ScreenSelectGroup","BannerY")
#define BANNER_WIDTH THEME->GetMetricF("ScreenSelectGroup","BannerWidth")
#define BANNER_HEIGHT THEME->GetMetricF("ScreenSelectGroup","BannerHeight")
#define NUMBER_X THEME->GetMetricF("ScreenSelectGroup","NumberX")
#define NUMBER_Y THEME->GetMetricF("ScreenSelectGroup","NumberY")
#define EXPLANATION_X THEME->GetMetricF("ScreenSelectGroup","ExplanationX")
#define EXPLANATION_Y THEME->GetMetricF("ScreenSelectGroup","ExplanationY")
#define CONTENTS_X THEME->GetMetricF("ScreenSelectGroup","ContentsX")
#define CONTENTS_Y THEME->GetMetricF("ScreenSelectGroup","ContentsY")
#define HELP_TEXT THEME->GetMetric("ScreenSelectGroup","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectGroup","TimerSeconds")
#define NEXT_SCREEN_ARCADE THEME->GetMetric("ScreenSelectGroup","NextScreenArcade")
#define NEXT_SCREEN_ONI THEME->GetMetric("ScreenSelectGroup","NextScreenOni")
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
@@ -163,12 +163,7 @@ ScreenSelectGroup::ScreenSelectGroup()
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_INTRO) );
if( !MUSIC->IsPlaying() || MUSIC->GetLoadedFilePath() != THEME->GetPathTo("Sounds","select group music") )
{
MUSIC->Load( THEME->GetPathTo("Sounds","select group music") );
MUSIC->Play( true );
}
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select group music") );
m_Menu.TweenOnScreenFromMenu( SM_None );
TweenOnScreen();
@@ -209,10 +204,21 @@ void ScreenSelectGroup::HandleScreenMessage( const ScreenMessage SM )
MenuStart(PLAYER_1);
break;
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
SCREENMAN->SetNewScreen( new ScreenSelectMusic );
switch( GAMESTATE->m_PlayMode )
{
case PLAY_MODE_ARCADE:
SCREENMAN->SetNewScreen( NEXT_SCREEN_ARCADE );
break;
case PLAY_MODE_ONI:
case PLAY_MODE_ENDLESS:
SCREENMAN->SetNewScreen( NEXT_SCREEN_ONI );
break;
default:
ASSERT(0);
}
break;
case SM_StartFadingOut:
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
+50 -63
View File
@@ -17,63 +17,58 @@
#include "SongManager.h"
#include "GameManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenGameplay.h"
#include "ScreenPrompt.h"
#include "ScreenPlayerOptions.h"
#include "RageLog.h"
#include "InputMapper.h"
#include "InputQueue.h"
#include "ScreenStage.h"
#include "AnnouncerManager.h"
#include "InputMapper.h"
#include "GameState.h"
#define BANNER_FRAME_X THEME->GetMetricF("SelectMusic","BannerFrameX")
#define BANNER_FRAME_Y THEME->GetMetricF("SelectMusic","BannerFrameY")
#define BANNER_X THEME->GetMetricF("SelectMusic","BannerX")
#define BANNER_Y THEME->GetMetricF("SelectMusic","BannerY")
#define BANNER_WIDTH THEME->GetMetricF("SelectMusic","BannerWidth")
#define BANNER_HEIGHT THEME->GetMetricF("SelectMusic","BannerHeight")
#define BPM_X THEME->GetMetricF("SelectMusic","BPMX")
#define BPM_Y THEME->GetMetricF("SelectMusic","BPMY")
#define STAGE_X THEME->GetMetricF("SelectMusic","StageX")
#define STAGE_Y THEME->GetMetricF("SelectMusic","StageY")
#define CD_TITLE_X THEME->GetMetricF("SelectMusic","CDTitleX")
#define CD_TITLE_Y THEME->GetMetricF("SelectMusic","CDTitleY")
#define DIFFICULTY_X THEME->GetMetricF("SelectMusic","DifficultyX")
#define DIFFICULTY_Y THEME->GetMetricF("SelectMusic","DifficultyY")
#define ICON_P1_X THEME->GetMetricF("SelectMusic","IconP1X")
#define ICON_P1_Y THEME->GetMetricF("SelectMusic","IconP1Y")
#define ICON_P2_X THEME->GetMetricF("SelectMusic","IconP2X")
#define ICON_P2_Y THEME->GetMetricF("SelectMusic","IconP2Y")
#define RADAR_X THEME->GetMetricF("SelectMusic","RadarX")
#define RADAR_Y THEME->GetMetricF("SelectMusic","RadarY")
#define SORT_ICON_X THEME->GetMetricF("SelectMusic","SortIconX")
#define SORT_ICON_Y THEME->GetMetricF("SelectMusic","SortIconY")
#define SCORE_P1_X THEME->GetMetricF("SelectMusic","ScoreP1X")
#define SCORE_P1_Y THEME->GetMetricF("SelectMusic","ScoreP1Y")
#define SCORE_P2_X THEME->GetMetricF("SelectMusic","ScoreP2X")
#define SCORE_P2_Y THEME->GetMetricF("SelectMusic","ScoreP2Y")
#define METER_FRAME_X THEME->GetMetricF("SelectMusic","MeterFrameX")
#define METER_FRAME_Y THEME->GetMetricF("SelectMusic","MeterFrameY")
#define METER_P1_X THEME->GetMetricF("SelectMusic","MeterP1X")
#define METER_P1_Y THEME->GetMetricF("SelectMusic","MeterP1Y")
#define METER_P2_X THEME->GetMetricF("SelectMusic","MeterP2X")
#define METER_P2_Y THEME->GetMetricF("SelectMusic","MeterP2Y")
#define WHEEL_X THEME->GetMetricF("SelectMusic","WheelX")
#define WHEEL_Y THEME->GetMetricF("SelectMusic","WheelY")
#define PLAYER_OPTIONS_P1_X THEME->GetMetricF("SelectMusic","PlayerOptionsP1X")
#define PLAYER_OPTIONS_P1_Y THEME->GetMetricF("SelectMusic","PlayerOptionsP1Y")
#define PLAYER_OPTIONS_P2_X THEME->GetMetricF("SelectMusic","PlayerOptionsP2X")
#define PLAYER_OPTIONS_P2_Y THEME->GetMetricF("SelectMusic","PlayerOptionsP2Y")
#define SONG_OPTIONS_X THEME->GetMetricF("SelectMusic","SongOptionsX")
#define SONG_OPTIONS_Y THEME->GetMetricF("SelectMusic","SongOptionsY")
#define HELP_TEXT THEME->GetMetric("SelectMusic","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("SelectMusic","TimerSeconds")
#define BANNER_FRAME_X THEME->GetMetricF("ScreenSelectMusic","BannerFrameX")
#define BANNER_FRAME_Y THEME->GetMetricF("ScreenSelectMusic","BannerFrameY")
#define BANNER_X THEME->GetMetricF("ScreenSelectMusic","BannerX")
#define BANNER_Y THEME->GetMetricF("ScreenSelectMusic","BannerY")
#define BANNER_WIDTH THEME->GetMetricF("ScreenSelectMusic","BannerWidth")
#define BANNER_HEIGHT THEME->GetMetricF("ScreenSelectMusic","BannerHeight")
#define BPM_X THEME->GetMetricF("ScreenSelectMusic","BPMX")
#define BPM_Y THEME->GetMetricF("ScreenSelectMusic","BPMY")
#define STAGE_X THEME->GetMetricF("ScreenSelectMusic","StageX")
#define STAGE_Y THEME->GetMetricF("ScreenSelectMusic","StageY")
#define CD_TITLE_X THEME->GetMetricF("ScreenSelectMusic","CDTitleX")
#define CD_TITLE_Y THEME->GetMetricF("ScreenSelectMusic","CDTitleY")
#define DIFFICULTY_X THEME->GetMetricF("ScreenSelectMusic","DifficultyX")
#define DIFFICULTY_Y THEME->GetMetricF("ScreenSelectMusic","DifficultyY")
#define ICON_P1_X THEME->GetMetricF("ScreenSelectMusic","IconP1X")
#define ICON_P1_Y THEME->GetMetricF("ScreenSelectMusic","IconP1Y")
#define ICON_P2_X THEME->GetMetricF("ScreenSelectMusic","IconP2X")
#define ICON_P2_Y THEME->GetMetricF("ScreenSelectMusic","IconP2Y")
#define RADAR_X THEME->GetMetricF("ScreenSelectMusic","RadarX")
#define RADAR_Y THEME->GetMetricF("ScreenSelectMusic","RadarY")
#define SORT_ICON_X THEME->GetMetricF("ScreenSelectMusic","SortIconX")
#define SORT_ICON_Y THEME->GetMetricF("ScreenSelectMusic","SortIconY")
#define SCORE_P1_X THEME->GetMetricF("ScreenSelectMusic","ScoreP1X")
#define SCORE_P1_Y THEME->GetMetricF("ScreenSelectMusic","ScoreP1Y")
#define SCORE_P2_X THEME->GetMetricF("ScreenSelectMusic","ScoreP2X")
#define SCORE_P2_Y THEME->GetMetricF("ScreenSelectMusic","ScoreP2Y")
#define METER_FRAME_X THEME->GetMetricF("ScreenSelectMusic","MeterFrameX")
#define METER_FRAME_Y THEME->GetMetricF("ScreenSelectMusic","MeterFrameY")
#define METER_P1_X THEME->GetMetricF("ScreenSelectMusic","MeterP1X")
#define METER_P1_Y THEME->GetMetricF("ScreenSelectMusic","MeterP1Y")
#define METER_P2_X THEME->GetMetricF("ScreenSelectMusic","MeterP2X")
#define METER_P2_Y THEME->GetMetricF("ScreenSelectMusic","MeterP2Y")
#define WHEEL_X THEME->GetMetricF("ScreenSelectMusic","WheelX")
#define WHEEL_Y THEME->GetMetricF("ScreenSelectMusic","WheelY")
#define PLAYER_OPTIONS_P1_X THEME->GetMetricF("ScreenSelectMusic","PlayerOptionsP1X")
#define PLAYER_OPTIONS_P1_Y THEME->GetMetricF("ScreenSelectMusic","PlayerOptionsP1Y")
#define PLAYER_OPTIONS_P2_X THEME->GetMetricF("ScreenSelectMusic","PlayerOptionsP2X")
#define PLAYER_OPTIONS_P2_Y THEME->GetMetricF("ScreenSelectMusic","PlayerOptionsP2Y")
#define SONG_OPTIONS_X THEME->GetMetricF("ScreenSelectMusic","SongOptionsX")
#define SONG_OPTIONS_Y THEME->GetMetricF("ScreenSelectMusic","SongOptionsY")
#define HELP_TEXT THEME->GetMetric("ScreenSelectMusic","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectMusic","TimerSeconds")
const float TWEEN_TIME = 0.5f;
@@ -574,17 +569,17 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM )
}
break;
case SM_GoToPrevState:
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
if( m_bGoToOptions )
{
SCREENMAN->SetNewScreen( new ScreenPlayerOptions );
SCREENMAN->SetNewScreen( "ScreenPlayerOptions" );
}
else
{
MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenStage );
SCREENMAN->SetNewScreen( "ScreenStage" );
}
break;
case SM_PlaySongSample:
@@ -664,7 +659,7 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p )
{
if( !m_MusicWheel.GetSelectedSong()->HasMusic() )
{
SCREENMAN->AddScreenToTop( new ScreenPrompt( SM_None, "ERROR:\n \nThis song does not have a music file\n and cannot be played.", PROMPT_OK) );
SCREENMAN->Prompt( SM_None, "ERROR:\n \nThis song does not have a music file\n and cannot be played." );
return;
}
@@ -828,19 +823,11 @@ void ScreenSelectMusic::PlayMusicSample()
{
//LOG->Trace( "ScreenSelectSong::PlaySONGample()" );
MUSIC->Stop();
Song* pSong = m_MusicWheel.GetSelectedSong();
if( pSong == NULL )
return;
CString sSongToPlay = pSong->GetMusicPath();
if( pSong->HasMusic() )
{
MUSIC->Load( sSongToPlay );
MUSIC->Play( true, pSong->m_fMusicSampleStartSeconds, pSong->m_fMusicSampleLengthSeconds );
}
if( pSong )
MUSIC->LoadAndPlayIfNotAlready( pSong->GetMusicPath() );
else
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select music music") );
}
void ScreenSelectMusic::UpdateOptionsDisplays()
+16 -41
View File
@@ -15,38 +15,28 @@
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "ScreenCaution.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenSelectGroup.h"
#include "ScreenSelectDifficulty.h"
#include "ScreenSandbox.h"
#include "GameManager.h"
#include "RageLog.h"
#include "AnnouncerManager.h"
#include "GameState.h"
#define ICONS_START_X THEME->GetMetricF("SelectStyle","IconsStartX")
#define ICONS_SPACING_X THEME->GetMetricF("SelectStyle","IconsSpacingX")
#define ICONS_START_Y THEME->GetMetricF("SelectStyle","IconsStartY")
#define ICONS_SPACING_Y THEME->GetMetricF("SelectStyle","IconsSpacingY")
#define EXPLANATION_X THEME->GetMetricF("SelectStyle","ExplanationX")
#define EXPLANATION_Y THEME->GetMetricF("SelectStyle","ExplanationY")
#define INFO_X THEME->GetMetricF("SelectStyle","InfoX")
#define INFO_Y THEME->GetMetricF("SelectStyle","InfoY")
#define PREVIEW_X THEME->GetMetricF("SelectStyle","PreviewX")
#define PREVIEW_Y THEME->GetMetricF("SelectStyle","PreviewY")
#define HELP_TEXT THEME->GetMetric("SelectStyle","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("SelectStyle","TimerSeconds")
#define ICONS_START_X THEME->GetMetricF("ScreenSelectStyle","IconsStartX")
#define ICONS_SPACING_X THEME->GetMetricF("ScreenSelectStyle","IconsSpacingX")
#define ICONS_START_Y THEME->GetMetricF("ScreenSelectStyle","IconsStartY")
#define ICONS_SPACING_Y THEME->GetMetricF("ScreenSelectStyle","IconsSpacingY")
#define EXPLANATION_X THEME->GetMetricF("ScreenSelectStyle","ExplanationX")
#define EXPLANATION_Y THEME->GetMetricF("ScreenSelectStyle","ExplanationY")
#define INFO_X THEME->GetMetricF("ScreenSelectStyle","InfoX")
#define INFO_Y THEME->GetMetricF("ScreenSelectStyle","InfoY")
#define PREVIEW_X THEME->GetMetricF("ScreenSelectStyle","PreviewX")
#define PREVIEW_Y THEME->GetMetricF("ScreenSelectStyle","PreviewY")
#define HELP_TEXT THEME->GetMetric("ScreenSelectStyle","HelpText")
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectStyle","TimerSeconds")
#define NEXT_SCREEN THEME->GetMetric("ScreenSelectStyle","NextScreen")
#define SELECT_DIFFICULTY_TYPE THEME->GetMetricI("General","SelectDifficultyType")
enum SelectDifficultyType // for use with the metric above
{
SELECT_DIFFICULTY_TYPE_SKIP = 0,
SELECT_DIFFICULTY_TYPE_MAX,
};
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
@@ -108,12 +98,7 @@ ScreenSelectStyle::ScreenSelectStyle()
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) );
if( !MUSIC->IsPlaying() || MUSIC->GetLoadedFilePath() != THEME->GetPathTo("Sounds","select style music") )
{
MUSIC->Load( THEME->GetPathTo("Sounds","select style music") );
MUSIC->Play( true );
}
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select style music") );
AfterChange();
TweenOnScreen();
@@ -154,20 +139,10 @@ void ScreenSelectStyle::HandleScreenMessage( const ScreenMessage SM )
break;
case SM_GoToPrevState:
MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
switch( SELECT_DIFFICULTY_TYPE )
{
case SELECT_DIFFICULTY_TYPE_SKIP:
SCREENMAN->SetNewScreen( new ScreenSelectGroup );
break;
case SELECT_DIFFICULTY_TYPE_MAX:
SCREENMAN->SetNewScreen( new ScreenSelectDifficulty );
break;
default:
ASSERT(0);
}
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
}
}
+3 -13
View File
@@ -15,12 +15,8 @@
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "RageMusic.h"
#include "ScreenTitleMenu.h"
#include "ScreenCaution.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
#include "ScreenSelectDifficulty.h"
#include "ScreenSandbox.h"
#include "GameManager.h"
#include "RageLog.h"
#include "GameState.h"
@@ -177,15 +173,9 @@ ScreenSelectStyle5th::ScreenSelectStyle5th()
m_soundChange.Load( THEME->GetPathTo("Graphics","select style change") );
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) );
if( !MUSIC->IsPlaying() )
{
MUSIC->Load( THEME->GetPathTo("Sounds","select style music") );
MUSIC->Play( true );
}
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select style music") );
m_soundChange.PlayRandom();
TweenOnScreen();
@@ -227,10 +217,10 @@ void ScreenSelectStyle5th::HandleScreenMessage( const ScreenMessage SM )
break;
case SM_GoToPrevState:
MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
break;
case SM_GoToNextState:
SCREENMAN->SetNewScreen( new ScreenSelectDifficulty );
SCREENMAN->SetNewScreen( "ScreenSelectDifficulty" );
break;
case SM_TweenExplanation2:
m_textExplanation2.BeginTweening( 0.7f );
+2 -8
View File
@@ -11,18 +11,12 @@
*/
#include "ScreenSongOptions.h"
#include <assert.h>
#include "RageTextureManager.h"
#include "RageUtil.h"
#include "RageMusic.h"
#include "ScreenManager.h"
#include "ScreenSelectMusic.h"
#include "ScreenGameplay.h"
#include "GameConstantsAndTypes.h"
#include "ScreenPlayerOptions.h"
#include "RageLog.h"
#include "GameState.h"
#include "ScreenStage.h"
enum {
@@ -108,14 +102,14 @@ void ScreenSongOptions::ExportOptions()
void ScreenSongOptions::GoToPrevState()
{
SCREENMAN->SetNewScreen( new ScreenPlayerOptions );
SCREENMAN->SetNewScreen( "ScreenPlayerOptions" );
}
void ScreenSongOptions::GoToNextState()
{
MUSIC->Stop();
SCREENMAN->SetNewScreen( new ScreenStage );
SCREENMAN->SetNewScreen( "ScreenStage" );
}
+8 -12
View File
@@ -13,21 +13,21 @@
#include "ScreenStage.h"
#include "ScreenManager.h"
#include "PrefsManager.h"
#include "PrefsManager.h"
#include "RageLog.h"
#include "GameConstantsAndTypes.h"
#include "BitmapText.h"
#include "TransitionFadeWipe.h"
#include "TransitionFade.h"
#include "ScreenSelectMusic.h"
#include "ScreenGameplay.h"
#include "SongManager.h"
#include "Sprite.h"
#include "AnnouncerManager.h"
#include "GameState.h"
#include "RageMusic.h"
#define STAGE_TYPE THEME->GetMetricI("General","StageType")
enum StageType // for use with the metric above
#define NEXT_SCREEN THEME->GetMetric("ScreenStage","NextScreen")
#define STAGE_TYPE THEME->GetMetricI("ScreenStage","StageType")
enum StageType // for use with the metric above
{
STAGE_TYPE_MAX = 0,
STAGE_TYPE_PUMP,
@@ -53,9 +53,6 @@ ScreenStage::ScreenStage()
{
MUSIC->Stop();
m_pNextScreen = NULL;
for( int i=0; i<4; i++ )
{
m_sprNumbers[i].Load( THEME->GetPathTo("Graphics","stage numbers") );
@@ -463,7 +460,7 @@ ScreenStage::ScreenStage()
m_Fade.SetOpened();
this->SendScreenMessage( SM_DoneFadingIn, 1.0f );
this->SendScreenMessage( SM_StartFadingOut, 1.2f );
this->SendScreenMessage( SM_StartFadingOut, 4.0f );
}
void ScreenStage::Update( float fDeltaTime )
@@ -481,7 +478,7 @@ void ScreenStage::DrawPrimitives()
{
DISPLAY->EnableZBuffer();
if ( STAGE_TYPE == STAGE_TYPE_MAX) // only DANCE uses the quadmask
if ( STAGE_TYPE == STAGE_TYPE_MAX) // only DANCE uses the Z mask
m_quadMask.Draw();
m_frameStage.Draw();
@@ -501,10 +498,9 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM )
m_Fade.CloseWipingRight( SM_GoToNextState );
break;
case SM_DoneFadingIn:
m_pNextScreen = new ScreenGameplay;
break;
case SM_GoToNextState:
SCREENMAN->SetNewScreen( m_pNextScreen );
SCREENMAN->SetNewScreen( "ScreenGameplay" );
break;
}
}
-1
View File
@@ -49,7 +49,6 @@ private:
TransitionFade m_Fade;
Screen* m_pNextScreen;
protected:
Song* m_pSong;
-1
View File
@@ -22,7 +22,6 @@
class ScreenTextEntry : public Screen
{
public:
ScreenTextEntry();
ScreenTextEntry( ScreenMessage SM_SendWhenDone, CString sQuestion, CString sInitialAnswer, void(*OnOK)(CString sAnswer) = NULL, void(*OnCanel)() = NULL );
virtual void Update( float fDeltaTime );
+26 -77
View File
@@ -12,27 +12,16 @@
#include "ScreenTitleMenu.h"
#include "ScreenManager.h"
#include "ScreenCaution.h"
#include "ScreenMapInstruments.h"
#include "ScreenGraphicOptions.h"
#include "ScreenGameOptions.h"
#include "GameConstantsAndTypes.h"
#include "RageUtil.h"
#include "StepMania.h"
#include "PrefsManager.h"
#include "ScreenEditMenu.h"
#include "ScreenSelectStyle.h"
#include "ScreenSelectGame.h"
#include "ScreenAppearanceOptions.h"
#include "RageLog.h"
#include "SongManager.h"
#include "AnnouncerManager.h"
#include "ScreenEz2SelectPlayer.h"
#include "GameState.h"
#include "GameManager.h"
#include "ScreenGameplay.h"
#include "ScreenSelectStyle5th.h"
#include "ScreenEz2SelectStyle.h"
#include "InputMapper.h"
const CString CHOICE_TEXT[ScreenTitleMenu::NUM_TITLE_MENU_CHOICES] = {
"GAME START",
@@ -45,37 +34,23 @@ const CString CHOICE_TEXT[ScreenTitleMenu::NUM_TITLE_MENU_CHOICES] = {
"EXIT",
};
#define CHOICES_X THEME->GetMetricF("TitleMenu","ChoicesX")
#define CHOICES_START_Y THEME->GetMetricF("TitleMenu","ChoicesStartY")
#define CHOICES_SPACING_Y THEME->GetMetricF("TitleMenu","ChoicesSpacingY")
#define HELP_X THEME->GetMetricF("TitleMenu","HelpX")
#define HELP_Y THEME->GetMetricF("TitleMenu","HelpY")
#define LOGO_X THEME->GetMetricF("TitleMenu","LogoX")
#define LOGO_Y THEME->GetMetricF("TitleMenu","LogoY")
#define VERSION_X THEME->GetMetricF("TitleMenu","VersionX")
#define VERSION_Y THEME->GetMetricF("TitleMenu","VersionY")
#define SONGS_X THEME->GetMetricF("TitleMenu","SongsX")
#define SONGS_Y THEME->GetMetricF("TitleMenu","SongsY")
#define COLOR_NOT_SELECTED THEME->GetMetricC("TitleMenu","ColorNotSelected")
#define COLOR_SELECTED THEME->GetMetricC("TitleMenu","ColorSelected")
#define SECONDS_BEFORE_DEMONSTRATION THEME->GetMetricF("TitleMenu","SecondsBeforeDemonstration")
#define SECONDS_BETWEEN_ATTRACT THEME->GetMetricF("TitleMenu","SecondsBetweenAttract")
#define HELP_TEXT THEME->GetMetric("TitleMenu","HelpText")
#define CAUTION_TYPE THEME->GetMetricI("General","CautionType")
enum CautionType // for use with the metric above
{
CAUTION_TYPE_SKIP = 0,
CAUTION_TYPE_DDR,
CAUTION_TYPE_EZ2_SELECT_PLAYER,
};
#define SELECT_STYLE_TYPE THEME->GetMetricI("General","SelectStyleType")
enum SelectStyleType // for use with the metric above
{
SELECT_STYLE_TYPE_MAX = 0,
SELECT_STYLE_TYPE_5TH,
SELECT_STYLE_TYPE_EZ2,
};
#define CHOICES_X THEME->GetMetricF("ScreenTitleMenu","ChoicesX")
#define CHOICES_START_Y THEME->GetMetricF("ScreenTitleMenu","ChoicesStartY")
#define CHOICES_SPACING_Y THEME->GetMetricF("ScreenTitleMenu","ChoicesSpacingY")
#define HELP_X THEME->GetMetricF("ScreenTitleMenu","HelpX")
#define HELP_Y THEME->GetMetricF("ScreenTitleMenu","HelpY")
#define LOGO_X THEME->GetMetricF("ScreenTitleMenu","LogoX")
#define LOGO_Y THEME->GetMetricF("ScreenTitleMenu","LogoY")
#define VERSION_X THEME->GetMetricF("ScreenTitleMenu","VersionX")
#define VERSION_Y THEME->GetMetricF("ScreenTitleMenu","VersionY")
#define SONGS_X THEME->GetMetricF("ScreenTitleMenu","SongsX")
#define SONGS_Y THEME->GetMetricF("ScreenTitleMenu","SongsY")
#define COLOR_NOT_SELECTED THEME->GetMetricC("ScreenTitleMenu","ColorNotSelected")
#define COLOR_SELECTED THEME->GetMetricC("ScreenTitleMenu","ColorSelected")
#define SECONDS_BEFORE_DEMONSTRATION THEME->GetMetricF("ScreenTitleMenu","SecondsBeforeDemonstration")
#define SECONDS_BETWEEN_ATTRACT THEME->GetMetricF("ScreenTitleMenu","SecondsBetweenAttract")
#define HELP_TEXT THEME->GetMetric("ScreenTitleMenu","HelpText")
#define NEXT_SCREEN THEME->GetMetric("ScreenTitleMenu","NextScreen")
const ScreenMessage SM_PlayAttract = ScreenMessage(SM_User+1);
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+12);
@@ -224,51 +199,25 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM )
switch( m_TitleMenuChoice )
{
case CHOICE_GAME_START:
switch( CAUTION_TYPE )
{
case CAUTION_TYPE_SKIP:
switch( SELECT_STYLE_TYPE )
{
case SELECT_STYLE_TYPE_MAX:
SCREENMAN->SetNewScreen( new ScreenSelectStyle );
break;
case SELECT_STYLE_TYPE_5TH:
SCREENMAN->SetNewScreen( new ScreenSelectStyle5th );
break;
case SELECT_STYLE_TYPE_EZ2:
SCREENMAN->SetNewScreen( new ScreenEz2SelectStyle );
break;
default:
ASSERT(0);
}
break;
case CAUTION_TYPE_DDR:
SCREENMAN->SetNewScreen( new ScreenCaution );
break;
case CAUTION_TYPE_EZ2_SELECT_PLAYER:
SCREENMAN->SetNewScreen( new ScreenEz2SelectPlayer );
break;
default:
ASSERT(0);
}
SCREENMAN->SetNewScreen( NEXT_SCREEN );
break;
case CHOICE_SELECT_GAME:
SCREENMAN->SetNewScreen( new ScreenSelectGame );
SCREENMAN->SetNewScreen( "ScreenSelectGame" );
break;
case CHOICE_MAP_INSTRUMENTS:
SCREENMAN->SetNewScreen( new ScreenMapInstruments );
SCREENMAN->SetNewScreen( "ScreenMapInstruments" );
break;
case CHOICE_GAME_OPTIONS:
SCREENMAN->SetNewScreen( new ScreenGameOptions );
SCREENMAN->SetNewScreen( "ScreenGameOptions" );
break;
case CHOICE_GRAPHIC_OPTIONS:
SCREENMAN->SetNewScreen( new ScreenGraphicOptions );
SCREENMAN->SetNewScreen( "ScreenGraphicOptions" );
break;
case CHOICE_APPEARANCE_OPTIONS:
SCREENMAN->SetNewScreen( new ScreenAppearanceOptions );
SCREENMAN->SetNewScreen( "ScreenAppearanceOptions" );
break;
case CHOICE_EDIT:
SCREENMAN->SetNewScreen( new ScreenEditMenu );
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
break;
case CHOICE_EXIT:
default:
@@ -327,7 +276,7 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM )
case SM_GoToDemonstration:
{
ASSERT( GAMESTATE->m_pCurSong );
SCREENMAN->SetNewScreen( new ScreenGameplay );
SCREENMAN->SetNewScreen( "ScreenGameplay" );
}
break;
}
+5 -7
View File
@@ -17,27 +17,25 @@
ScrollBar::ScrollBar()
{
m_sprBackground.Load( THEME->GetPathTo("Graphics","select music scrollbar 2x2") );
m_sprBackground.Load( THEME->GetPathTo("Graphics","select music scrollbar parts 1x3") );
m_sprBackground.StopAnimating();
m_sprBackground.SetState( 1 );
this->AddSubActor( &m_sprBackground );
m_sprScrollThumbPart1.Load( THEME->GetPathTo("Graphics","select music scrollbar 2x2") );
m_sprScrollThumbPart1.Load( THEME->GetPathTo("Graphics","select music scrollbar thumb") );
m_sprScrollThumbPart1.StopAnimating();
m_sprScrollThumbPart1.SetState( 3 );
this->AddSubActor( &m_sprScrollThumbPart1 );
m_sprScrollThumbPart2.Load( THEME->GetPathTo("Graphics","select music scrollbar 2x2") );
m_sprScrollThumbPart2.Load( THEME->GetPathTo("Graphics","select music scrollbar thumb") );
m_sprScrollThumbPart2.StopAnimating();
m_sprScrollThumbPart2.SetState( 3 );
this->AddSubActor( &m_sprScrollThumbPart2 );
m_sprTopButton.Load( THEME->GetPathTo("Graphics","select music scrollbar 2x2") );
m_sprTopButton.Load( THEME->GetPathTo("Graphics","select music scrollbar parts 1x3") );
m_sprTopButton.StopAnimating();
m_sprTopButton.SetState( 0 );
this->AddSubActor( &m_sprTopButton );
m_sprBottomButton.Load( THEME->GetPathTo("Graphics","select music scrollbar 2x2") );
m_sprBottomButton.Load( THEME->GetPathTo("Graphics","select music scrollbar parts 1x3") );
m_sprBottomButton.StopAnimating();
m_sprBottomButton.SetState( 2 );
this->AddSubActor( &m_sprBottomButton );
+62
View File
@@ -0,0 +1,62 @@
#include "stdafx.h"
/*
-----------------------------------------------------------------------------
Class: SmallGradeDisplay
Desc: See header.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "SmallGradeDisplay.h"
#include "RageUtil.h"
#include "GameConstantsAndTypes.h"
#include "PrefsManager.h"
const float SCROLL_TIME = 5.0f;
const int NUM_GRADE_FRAMES = 7;
const float GRADE_FRAME_HEIGHT = 1/(float)NUM_GRADE_FRAMES;
const float GRADES_TO_SCROLL = NUM_GRADE_FRAMES*4;
SmallGradeDisplay::SmallGradeDisplay()
{
Load( THEME->GetPathTo("Graphics","select music small grades 2x8") );
StopAnimating();
SetGrade( PLAYER_1, GRADE_NO_DATA );
}
void SmallGradeDisplay::Update( float fDeltaTime )
{
Sprite::Update( fDeltaTime );
}
void SmallGradeDisplay::DrawPrimitives()
{
Sprite::DrawPrimitives();
}
void SmallGradeDisplay::SetGrade( PlayerNumber p, Grade g )
{
m_Grade = g;
SetDiffuseColor( D3DXCOLOR(1,1,1,1) );
int iNumCols = 2;
switch( g )
{
case GRADE_AAA: SetState( 0*iNumCols+p ); break;
case GRADE_AA: SetState( 1*iNumCols+p ); break;
case GRADE_A: SetState( 2*iNumCols+p ); break;
case GRADE_B: SetState( 3*iNumCols+p ); break;
case GRADE_C: SetState( 4*iNumCols+p ); break;
case GRADE_D: SetState( 5*iNumCols+p ); break;
case GRADE_E: SetState( 6*iNumCols+p ); break;
case GRADE_NO_DATA: SetState( 7*iNumCols+p ); break;
default: ASSERT(0);
}
}
+33
View File
@@ -0,0 +1,33 @@
#pragma once
/*
-----------------------------------------------------------------------------
Class: SmallGradeDisplay
Desc: The grade shows on ScreenEvaluation
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
#include "Sprite.h"
#include "PrefsManager.h"
#include "Grade.h"
class SmallGradeDisplay : public Sprite
{
public:
SmallGradeDisplay();
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
void SetGrade( PlayerNumber p, Grade g );
protected:
Grade m_Grade;
};
+2 -15
View File
@@ -56,10 +56,6 @@
#include "Notes.h"
#include "ScreenSandbox.h"
#include "ScreenTitleMenu.h"
#include "dxerr8.h"
//#include <Afxdisp.h>
@@ -691,17 +687,8 @@ HRESULT CreateObjects( HWND hWnd )
BringWindowToTop( hWnd );
SetForegroundWindow( hWnd );
//SCREENMAN->SetNewScreen( new ScreenAttractLogo );
SCREENMAN->SetNewScreen( new ScreenTitleMenu );
//SCREENMAN->SetNewScreen( new ScreenSandbox );
//SCREENMAN->SetNewScreen( new ScreenEvaluation(true) );
//SCREENMAN->SetNewScreen( new ScreenSelectDifficulty );
//SCREENMAN->SetNewScreen( new ScreenPlayerOptions );
//SCREENMAN->SetNewScreen( new ScreenGameplay );
//SCREENMAN->SetNewScreen( new ScreenMusicScroll );
//SCREENMAN->SetNewScreen( new ScreenSelectMusic );
//SCREENMAN->SetNewScreen( new ScreenSelectGroup );
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
// SCREENMAN->SetNewScreen( "ScreenSandbox" );
return S_OK;
}
+16
View File
@@ -712,6 +712,14 @@ SOURCE=.\ScrollingList.h
# End Source File
# Begin Source File
SOURCE=.\SmallGradeDisplay.cpp
# End Source File
# Begin Source File
SOURCE=.\SmallGradeDisplay.h
# End Source File
# Begin Source File
SOURCE=.\SnapDisplay.cpp
# End Source File
# Begin Source File
@@ -1040,6 +1048,14 @@ SOURCE=.\ScreenGraphicOptions.h
# End Source File
# Begin Source File
SOURCE=.\ScreenHowToPlay.cpp
# End Source File
# Begin Source File
SOURCE=.\ScreenHowToPlay.h
# End Source File
# Begin Source File
SOURCE=.\ScreenManager.cpp
# End Source File
# Begin Source File
+12 -6
View File
@@ -191,12 +191,6 @@
<File
RelativePath="ScreenEz2SelectStyle.h">
</File>
<File
RelativePath="ScreenEz2Stage.cpp">
</File>
<File
RelativePath="ScreenEz2Stage.h">
</File>
<File
RelativePath="ScreenGameOptions.cpp">
</File>
@@ -694,6 +688,18 @@
<File
RelativePath="ScrollBar.h">
</File>
<File
RelativePath="ScrollingList.cpp">
</File>
<File
RelativePath="ScrollingList.h">
</File>
<File
RelativePath="SmallGradeDisplay.cpp">
</File>
<File
RelativePath="SmallGradeDisplay.h">
</File>
<File
RelativePath="SnapDisplay.cpp">
</File>
-1
View File
@@ -489,7 +489,6 @@ try_element_again:
CString sNewFilePath = sDir+"\\"+sNewFileName;
if( sNewFileName == "" || !DoesFileExist(sNewFilePath) )
{
ASSERT(0);
throw RageException( "The redirect '%s' points to the file '%s', which does not exist. Verify that this redirect is correct.", sRedirFilePath, sNewFilePath );
}
else
+9 -6
View File
@@ -46,12 +46,15 @@ void TipDisplay::Update( float fDeltaTime )
{
ActorFrame::Update( fDeltaTime );
m_fSecsUntilSwitch -= fDeltaTime;
if( m_fSecsUntilSwitch < 0 ) // time to switch states
if( m_arrayTips.GetSize() > 0 )
{
m_iCurTipIndex++;
m_iCurTipIndex = m_iCurTipIndex % m_arrayTips.GetSize();
m_fSecsUntilSwitch = TIP_SHOW_TIME;
m_textTip.SetText( m_arrayTips[m_iCurTipIndex] );
m_fSecsUntilSwitch -= fDeltaTime;
if( m_fSecsUntilSwitch < 0 ) // time to switch states
{
m_iCurTipIndex++;
m_iCurTipIndex = m_iCurTipIndex % m_arrayTips.GetSize();
m_fSecsUntilSwitch = TIP_SHOW_TIME;
m_textTip.SetText( m_arrayTips[m_iCurTipIndex] );
}
}
}