Updated AnnoucerManager::GetPathTo to act like ThemeManager. More theme and Ez2 cleanup.
This commit is contained in:
@@ -1 +1,3 @@
|
||||
Place announcer folders in this directory. See the readme for more details.
|
||||
If you want to make a new announcer, copy the announcer "Empty", rename the
|
||||
copy, and add your own sounds.
|
||||
|
||||
@@ -38,6 +38,14 @@ NextScreen=ScreenCaution
|
||||
NextScreen=ScreenSelectStyle
|
||||
|
||||
[ScreenEz2SelectPlayer]
|
||||
CursorP1X=120
|
||||
CursorP1Y=280
|
||||
CursorP2X=520
|
||||
CursorP2Y=280
|
||||
ControllerP1X=120
|
||||
ControllerP1Y=280
|
||||
ControllerP2X=520
|
||||
ControllerP2Y=280
|
||||
HelpText=Press $ on the pad you wish to play on
|
||||
TimerSeconds=40
|
||||
NextScreen=ScreenSelectGroup
|
||||
@@ -384,3 +392,39 @@ TimerSeconds=40
|
||||
[ScreenMapInstruments]
|
||||
HelpText=Use arrow keys to navigate, ENTER to assign, and SPACE to clear.
|
||||
|
||||
[GhostArrow]
|
||||
PopUpSeconds=0.25
|
||||
ZoomStart=1.0
|
||||
ZoomEnd=1.5
|
||||
ColorPerfect=1.0,1.0,0.3,1 // yellow
|
||||
ColorGreat=0.0,1.0,0.4,1 // green
|
||||
ColorGood=0.3,0.8,1.0,1
|
||||
ColorBoo=0.8,0.0,0.6,1
|
||||
|
||||
[GhostArrowBright]
|
||||
PopUpSeconds=0.25
|
||||
ZoomStart=1.0
|
||||
ZoomEnd=1.5
|
||||
ColorPerfect=1.0,1.0,0.3,1 // yellow
|
||||
ColorGreat=0.0,1.0,0.4,1 // green
|
||||
ColorGood=0.3,0.8,1.0,1
|
||||
ColorBoo=0.8,0.0,0.6,1
|
||||
|
||||
[BitmapText]
|
||||
RainbowColor1=1.0,0.0,0.4,1 // red
|
||||
RainbowColor2=0.8,0.2,0.6,1 // pink
|
||||
RainbowColor3=0.4,0.3,0.5,1 // purple
|
||||
RainbowColor4=0.2,0.6,1.0,1 // sky blue
|
||||
RainbowColor5=0.2,0.8,0.8,1 // sea green
|
||||
RainbowColor6=0.2,0.8,0.4,1 // green
|
||||
RainbowColor7=1.0,0.8,0.2,1 // orange
|
||||
|
||||
[SongManager]
|
||||
GroupColor1=0.8,0.1,0.6,1 // pink
|
||||
GroupColor2=0.5,0.3,0.7,1 // purple
|
||||
GroupColor3=0.0,0.4,0.8,1 // sky blue
|
||||
GroupColor4=0.0,0.6,0.6,1 // sea green
|
||||
GroupColor5=0.1,0.7,0.3,1 // green
|
||||
GroupColor6=0.8,0.6,0.0,1 // orange
|
||||
GroupColor7=1.0,0.3,0.3,1 // light red
|
||||
ExtraColor=1,0,0,1 // red
|
||||
|
||||
@@ -17,29 +17,26 @@
|
||||
AnnouncerManager* ANNOUNCER = NULL; // global object accessable from anywhere in the program
|
||||
|
||||
|
||||
const CString ANNOUNCER_BASE_DIR = "Announcers\\";
|
||||
|
||||
const CString EMPTY_ANNOUNCER_NAME = "Empty";
|
||||
const CString ANNOUNCERS_DIR = "Announcers\\";
|
||||
|
||||
|
||||
AnnouncerManager::AnnouncerManager()
|
||||
{
|
||||
LOG->Trace("AnnouncerManager::AnnouncerManager()");
|
||||
|
||||
CStringArray arrayAnnouncerNames;
|
||||
GetAnnouncerNames( arrayAnnouncerNames );
|
||||
for( int i=0; i<arrayAnnouncerNames.GetSize(); i++ )
|
||||
AssertAnnouncerIsComplete( arrayAnnouncerNames[i] );
|
||||
}
|
||||
|
||||
void AnnouncerManager::GetAnnouncerNames( CStringArray& AddTo )
|
||||
{
|
||||
GetDirListing( ANNOUNCER_BASE_DIR+"*", AddTo, true );
|
||||
GetDirListing( ANNOUNCERS_DIR+"*", AddTo, true );
|
||||
|
||||
// strip out the folder called "CVS"
|
||||
// strip out the folder called "CVS" and EMPTY_ANNOUNCER_NAME
|
||||
for( int i=AddTo.GetSize()-1; i>=0; i-- )
|
||||
{
|
||||
if( 0 == stricmp( AddTo[i], "cvs" ) )
|
||||
AddTo.RemoveAt(i);
|
||||
if( 0 == stricmp( AddTo[i], EMPTY_ANNOUNCER_NAME ) )
|
||||
AddTo.RemoveAt(i);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,19 +53,9 @@ bool AnnouncerManager::DoesAnnouncerExist( CString sAnnouncerName )
|
||||
return false;
|
||||
}
|
||||
|
||||
void AnnouncerManager::AssertAnnouncerIsComplete( CString sAnnouncerName )
|
||||
{
|
||||
for( int i=0; i<NUM_ANNOUNCER_ELEMENTS; i++ )
|
||||
{
|
||||
CString sPath = GetPathTo( (AnnouncerElement)i, sAnnouncerName );
|
||||
// if( !DoesFileExist(sPath) )
|
||||
// throw RageException( "The Announcer element '%s' is missing.", sPath );
|
||||
}
|
||||
}
|
||||
|
||||
CString AnnouncerManager::GetAnnouncerDirFromName( CString sAnnouncerName )
|
||||
{
|
||||
return ANNOUNCER_BASE_DIR + sAnnouncerName + "\\";
|
||||
return ANNOUNCERS_DIR + sAnnouncerName + "\\";
|
||||
}
|
||||
|
||||
void AnnouncerManager::SwitchAnnouncer( CString sNewAnnouncerName )
|
||||
@@ -79,97 +66,63 @@ void AnnouncerManager::SwitchAnnouncer( CString sNewAnnouncerName )
|
||||
m_sCurAnnouncerName = sNewAnnouncerName;
|
||||
}
|
||||
|
||||
CString AnnouncerManager::GetPathTo( AnnouncerElement ae )
|
||||
CString AnnouncerManager::GetPathTo( CString sFolderName )
|
||||
{
|
||||
return GetPathTo( ae, m_sCurAnnouncerName );
|
||||
}
|
||||
#ifdef _DEBUG
|
||||
try_again:
|
||||
#endif
|
||||
|
||||
CString AnnouncerManager::GetPathTo( AnnouncerElement ae, CString sAnnouncerName )
|
||||
{
|
||||
if( sAnnouncerName == "" )
|
||||
return ""; // hopefully there are no sound files here
|
||||
CString sPathToFolderCurrent = GetAnnouncerDirFromName(m_sCurAnnouncerName) + "\\" + sFolderName;
|
||||
CString sPathToFolderEmpty = GetAnnouncerDirFromName(EMPTY_ANNOUNCER_NAME) + "\\" + sFolderName;
|
||||
|
||||
CString sAssetDir;
|
||||
|
||||
switch( ae )
|
||||
#ifdef _DEBUG
|
||||
if( m_sCurAnnouncerName!="" && !DoesFileExist(sPathToFolderCurrent) )
|
||||
{
|
||||
case ANNOUNCER_CAUTION: sAssetDir = "caution"; break;
|
||||
case ANNOUNCER_GAMEPLAY_100_COMBO: sAssetDir = "gameplay 100 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_1000_COMBO: sAssetDir = "gameplay 1000 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_200_COMBO: sAssetDir = "gameplay 200 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_300_COMBO: sAssetDir = "gameplay 300 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_400_COMBO: sAssetDir = "gameplay 400 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_500_COMBO: sAssetDir = "gameplay 500 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_600_COMBO: sAssetDir = "gameplay 600 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_700_COMBO: sAssetDir = "gameplay 700 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_800_COMBO: sAssetDir = "gameplay 800 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_900_COMBO: sAssetDir = "gameplay 900 combo"; break;
|
||||
case ANNOUNCER_GAMEPLAY_CLEARED: sAssetDir = "gameplay cleared"; break;
|
||||
case ANNOUNCER_GAMEPLAY_COMBO_STOPPED: sAssetDir = "gameplay combo stopped"; break;
|
||||
case ANNOUNCER_GAMEPLAY_COMMENT_DANGER: sAssetDir = "gameplay comment danger"; break;
|
||||
case ANNOUNCER_GAMEPLAY_COMMENT_GOOD: sAssetDir = "gameplay comment good"; break;
|
||||
case ANNOUNCER_GAMEPLAY_COMMENT_HOT: sAssetDir = "gameplay comment hot"; break;
|
||||
case ANNOUNCER_GAMEPLAY_FAILED: sAssetDir = "gameplay failed"; break;
|
||||
case ANNOUNCER_GAMEPLAY_HERE_WE_GO_EXTRA: sAssetDir = "gameplay here we go extra"; break;
|
||||
case ANNOUNCER_GAMEPLAY_HERE_WE_GO_FINAL: sAssetDir = "gameplay here we go final"; break;
|
||||
case ANNOUNCER_GAMEPLAY_HERE_WE_GO_NORMAL: sAssetDir = "gameplay here we go normal"; break;
|
||||
case ANNOUNCER_GAMEPLAY_READY: sAssetDir = "gameplay ready"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_A: sAssetDir = "evaluation final a"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_AA: sAssetDir = "evaluation final aa"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_AAA: sAssetDir = "evaluation final aaa"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_B: sAssetDir = "evaluation final b"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_C: sAssetDir = "evaluation final c"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_D: sAssetDir = "evaluation final d"; break;
|
||||
case ANNOUNCER_EVALUATION_FINAL_E: sAssetDir = "evaluation final e"; break;
|
||||
case ANNOUNCER_GAME_OVER: sAssetDir = "game over"; break;
|
||||
case ANNOUNCER_MENU_HURRY_UP: sAssetDir = "menu hurry up"; break;
|
||||
case ANNOUNCER_MUSIC_SCROLL: sAssetDir = "music scroll"; break;
|
||||
case ANNOUNCER_EVALUATION_A: sAssetDir = "evaluation a"; break;
|
||||
case ANNOUNCER_EVALUATION_AA: sAssetDir = "evaluation aa"; break;
|
||||
case ANNOUNCER_EVALUATION_AAA: sAssetDir = "evaluation aaa"; break;
|
||||
case ANNOUNCER_EVALUATION_B: sAssetDir = "evaluation b"; break;
|
||||
case ANNOUNCER_EVALUATION_C: sAssetDir = "evaluation c"; break;
|
||||
case ANNOUNCER_EVALUATION_D: sAssetDir = "evaluation d"; break;
|
||||
case ANNOUNCER_EVALUATION_E: sAssetDir = "evaluation e"; break;
|
||||
case ANNOUNCER_PLAYER_OPTIONS_INTRO: sAssetDir = "player options intro"; break;
|
||||
case ANNOUNCER_SELECT_COURSE_INTRO: sAssetDir = "select course intro"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_COMMENT_EASY: sAssetDir = "select difficulty comment easy"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_COMMENT_HARD: sAssetDir = "select difficulty comment hard"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_COMMENT_MEDIUM:sAssetDir = "select difficulty comment medium"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ONI: sAssetDir = "select difficulty comment oni"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ENDLESS:sAssetDir = "select difficulty comment endless"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_CHALLENGE: sAssetDir = "select difficulty challenge"; break;
|
||||
case ANNOUNCER_SELECT_DIFFICULTY_INTRO: sAssetDir = "select difficulty intro"; break;
|
||||
case ANNOUNCER_SELECT_GROUP_COMMENT_ALL_MUSIC: sAssetDir = "select group comment all music"; break;
|
||||
case ANNOUNCER_SELECT_GROUP_COMMENT_GENERAL: sAssetDir = "select group comment general"; break;
|
||||
case ANNOUNCER_SELECT_GROUP_INTRO: sAssetDir = "select group intro"; break;
|
||||
case ANNOUNCER_SELECT_MUSIC_COMMENT_GENERAL: sAssetDir = "select music comment general"; break;
|
||||
case ANNOUNCER_SELECT_MUSIC_COMMENT_HARD: sAssetDir = "select music comment hard"; break;
|
||||
case ANNOUNCER_SELECT_MUSIC_COMMENT_NEW: sAssetDir = "select music comment new"; break;
|
||||
case ANNOUNCER_SELECT_MUSIC_INTRO: sAssetDir = "select music intro"; break;
|
||||
case ANNOUNCER_SELECT_STYLE_COMMENT_COUPLE: sAssetDir = "select style comment couple"; break;
|
||||
case ANNOUNCER_SELECT_STYLE_COMMENT_DOUBLE: sAssetDir = "select style comment double"; break;
|
||||
case ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE: sAssetDir = "select style comment single"; break;
|
||||
case ANNOUNCER_SELECT_STYLE_COMMENT_SOLO: sAssetDir = "select style comment solo"; break;
|
||||
case ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS: sAssetDir = "select style comment versus"; break;
|
||||
case ANNOUNCER_SELECT_STYLE_INTRO: sAssetDir = "select style intro"; break;
|
||||
case ANNOUNCER_STAGE_1: sAssetDir = "stage 1"; break;
|
||||
case ANNOUNCER_STAGE_2: sAssetDir = "stage 2"; break;
|
||||
case ANNOUNCER_STAGE_3: sAssetDir = "stage 3"; break;
|
||||
case ANNOUNCER_STAGE_4: sAssetDir = "stage 4"; break;
|
||||
case ANNOUNCER_STAGE_5: sAssetDir = "stage 5"; break;
|
||||
case ANNOUNCER_STAGE_FINAL: sAssetDir = "stage final"; break;
|
||||
case ANNOUNCER_STAGE_EXTRA1: sAssetDir = "stage extra1"; break;
|
||||
case ANNOUNCER_STAGE_EXTRA2: sAssetDir = "stage extra2"; break;
|
||||
case ANNOUNCER_STAGE_ONI: sAssetDir = "stage oni"; break;
|
||||
case ANNOUNCER_STAGE_ENDLESS: sAssetDir = "stage endless"; break;
|
||||
case ANNOUNCER_TITLE_MENU_ATTRACT: sAssetDir = "title menu attract"; break;
|
||||
case ANNOUNCER_TITLE_MENU_GAME_NAME: sAssetDir = "title menu game name"; break;
|
||||
|
||||
default: ASSERT(0); // Unhandled Announcer element
|
||||
int iResult = AfxMessageBox(
|
||||
ssprintf(
|
||||
"The current announcer is missing the folder '%s'.\n"
|
||||
"It may be that these sounds were never implemented in this announcer,\n"
|
||||
"Or the folder may be misnamed.\n\n"
|
||||
"Click Abort to automatically create the folder.\n"
|
||||
"Click Retry after adding the folder menually.\n"
|
||||
"Click to break.", sFolderName), MB_ABORTRETRYIGNORE );
|
||||
switch( iResult )
|
||||
{
|
||||
case IDABORT:
|
||||
CreateDirectory( sPathToFolderCurrent, NULL );
|
||||
break;
|
||||
case IDRETRY:
|
||||
goto try_again;
|
||||
break;
|
||||
case IDIGNORE:
|
||||
DebugBreak();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( !DoesFileExist(sPathToFolderEmpty) )
|
||||
{
|
||||
int iResult = AfxMessageBox(
|
||||
ssprintf(
|
||||
"The empty announcer is missing the folder '%s'.\n"
|
||||
"This announcer should have empty folders for every saying.\n\n"
|
||||
"Click Abort to automatically create the folder.\n"
|
||||
"Click Retry after adding the folder menually.\n"
|
||||
"Click to break.", sFolderName), MB_ABORTRETRYIGNORE );
|
||||
switch( iResult )
|
||||
{
|
||||
case IDABORT:
|
||||
CreateDirectory( sPathToFolderEmpty, NULL );
|
||||
break;
|
||||
case IDRETRY:
|
||||
goto try_again;
|
||||
break;
|
||||
case IDIGNORE:
|
||||
DebugBreak();
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
CString sFullDir = GetAnnouncerDirFromName( sAnnouncerName ) + sAssetDir;
|
||||
// ASSERT( DoesFileExist(sFullDir) ); // the announcer directory doesn't exist. Did we type the name wrong above?
|
||||
return sFullDir;
|
||||
return sPathToFolderCurrent;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,84 +14,6 @@
|
||||
#include "RageUtil.h"
|
||||
|
||||
|
||||
enum AnnouncerElement {
|
||||
ANNOUNCER_CAUTION,
|
||||
ANNOUNCER_GAMEPLAY_100_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_1000_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_200_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_300_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_400_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_500_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_600_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_700_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_800_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_900_COMBO,
|
||||
ANNOUNCER_GAMEPLAY_CLEARED,
|
||||
ANNOUNCER_GAMEPLAY_COMBO_STOPPED,
|
||||
ANNOUNCER_GAMEPLAY_COMMENT_DANGER,
|
||||
ANNOUNCER_GAMEPLAY_COMMENT_GOOD,
|
||||
ANNOUNCER_GAMEPLAY_COMMENT_HOT,
|
||||
ANNOUNCER_GAMEPLAY_FAILED,
|
||||
ANNOUNCER_GAMEPLAY_HERE_WE_GO_EXTRA,
|
||||
ANNOUNCER_GAMEPLAY_HERE_WE_GO_FINAL,
|
||||
ANNOUNCER_GAMEPLAY_HERE_WE_GO_NORMAL,
|
||||
ANNOUNCER_GAMEPLAY_READY,
|
||||
ANNOUNCER_EVALUATION_FINAL_A,
|
||||
ANNOUNCER_EVALUATION_FINAL_AA,
|
||||
ANNOUNCER_EVALUATION_FINAL_AAA,
|
||||
ANNOUNCER_EVALUATION_FINAL_B,
|
||||
ANNOUNCER_EVALUATION_FINAL_C,
|
||||
ANNOUNCER_EVALUATION_FINAL_D,
|
||||
ANNOUNCER_EVALUATION_FINAL_E,
|
||||
ANNOUNCER_GAME_OVER,
|
||||
ANNOUNCER_MENU_HURRY_UP,
|
||||
ANNOUNCER_MUSIC_SCROLL,
|
||||
ANNOUNCER_EVALUATION_A,
|
||||
ANNOUNCER_EVALUATION_AA,
|
||||
ANNOUNCER_EVALUATION_AAA,
|
||||
ANNOUNCER_EVALUATION_B,
|
||||
ANNOUNCER_EVALUATION_C,
|
||||
ANNOUNCER_EVALUATION_D,
|
||||
ANNOUNCER_EVALUATION_E,
|
||||
ANNOUNCER_PLAYER_OPTIONS_INTRO,
|
||||
ANNOUNCER_SELECT_COURSE_INTRO,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_COMMENT_EASY,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_COMMENT_HARD,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_COMMENT_MEDIUM,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ONI,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ENDLESS,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_CHALLENGE,
|
||||
ANNOUNCER_SELECT_DIFFICULTY_INTRO,
|
||||
ANNOUNCER_SELECT_GROUP_COMMENT_ALL_MUSIC,
|
||||
ANNOUNCER_SELECT_GROUP_COMMENT_GENERAL,
|
||||
ANNOUNCER_SELECT_GROUP_INTRO,
|
||||
ANNOUNCER_SELECT_MUSIC_COMMENT_GENERAL,
|
||||
ANNOUNCER_SELECT_MUSIC_COMMENT_HARD,
|
||||
ANNOUNCER_SELECT_MUSIC_COMMENT_NEW,
|
||||
ANNOUNCER_SELECT_MUSIC_INTRO,
|
||||
ANNOUNCER_SELECT_STYLE_COMMENT_COUPLE,
|
||||
ANNOUNCER_SELECT_STYLE_COMMENT_DOUBLE,
|
||||
ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE,
|
||||
ANNOUNCER_SELECT_STYLE_COMMENT_SOLO,
|
||||
ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS,
|
||||
ANNOUNCER_SELECT_STYLE_INTRO,
|
||||
ANNOUNCER_STAGE_1,
|
||||
ANNOUNCER_STAGE_2,
|
||||
ANNOUNCER_STAGE_3,
|
||||
ANNOUNCER_STAGE_4,
|
||||
ANNOUNCER_STAGE_5,
|
||||
ANNOUNCER_STAGE_FINAL,
|
||||
ANNOUNCER_STAGE_EXTRA1,
|
||||
ANNOUNCER_STAGE_EXTRA2,
|
||||
ANNOUNCER_STAGE_ONI,
|
||||
ANNOUNCER_STAGE_ENDLESS,
|
||||
ANNOUNCER_TITLE_MENU_ATTRACT,
|
||||
ANNOUNCER_TITLE_MENU_GAME_NAME,
|
||||
|
||||
NUM_ANNOUNCER_ELEMENTS // leave this at the end
|
||||
};
|
||||
|
||||
|
||||
class AnnouncerManager
|
||||
{
|
||||
public:
|
||||
@@ -102,14 +24,10 @@ public:
|
||||
void SwitchAnnouncer( CString sNewAnnouncerName );
|
||||
CString GetCurAnnouncerName() { return m_sCurAnnouncerName; };
|
||||
|
||||
CString GetPathTo( AnnouncerElement ae );
|
||||
CString GetPathTo( CString sFolderName );
|
||||
|
||||
protected:
|
||||
void AssertAnnouncerIsComplete( CString sAnnouncerName ); // only used in Debug
|
||||
CString GetPathTo( AnnouncerElement ae, CString sAnnouncerName );
|
||||
|
||||
static CString GetAnnouncerDirFromName( CString sAnnouncerName );
|
||||
CString GetElementDir( AnnouncerElement te );
|
||||
|
||||
CString m_sCurAnnouncerName;
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "NoteDisplay.h"
|
||||
|
||||
|
||||
float ArrowGetYOffset( const PlayerNumber pn, float fNoteBeat )
|
||||
float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat )
|
||||
{
|
||||
float fSongBeat = GAMESTATE->m_fSongBeat;
|
||||
float fBeatsUntilStep = fNoteBeat - fSongBeat;
|
||||
@@ -37,7 +37,7 @@ float ArrowGetYOffset( const PlayerNumber pn, float fNoteBeat )
|
||||
return fYOffset;
|
||||
}
|
||||
|
||||
float ArrowGetXPos2( const PlayerNumber pn, int iColNum, float fYPos )
|
||||
float ArrowGetXPos2( PlayerNumber pn, int iColNum, float fYPos )
|
||||
{
|
||||
float fSongBeat = GAMESTATE->m_fSongBeat;
|
||||
float fPixelOffsetFromCenter = GAMESTATE->GetCurrentStyleDef()->m_ColumnInfo[PLAYER_1][iColNum].fXOffset;
|
||||
@@ -51,7 +51,7 @@ float ArrowGetXPos2( const PlayerNumber pn, int iColNum, float fYPos )
|
||||
return fPixelOffsetFromCenter;
|
||||
}
|
||||
|
||||
float ArrowGetRotation( const PlayerNumber pn, int iColNum, float fYOffset )
|
||||
float ArrowGetRotation( PlayerNumber pn, int iColNum, float fYOffset )
|
||||
{
|
||||
float fRotation = 0; //StyleDef.m_ColumnToRotation[iColNum];
|
||||
|
||||
@@ -65,12 +65,12 @@ float ArrowGetRotation( const PlayerNumber pn, int iColNum, float fYOffset )
|
||||
return fRotation;
|
||||
}
|
||||
|
||||
float ArrowGetYPos( const PlayerNumber pn, float fYOffset )
|
||||
float ArrowGetYPos( PlayerNumber pn, float fYOffset )
|
||||
{
|
||||
return fYOffset * GAMESTATE->m_PlayerOptions[pn].m_fArrowScrollSpeed * (GAMESTATE->m_PlayerOptions[pn].m_bReverseScroll ? -1 : 1 );
|
||||
}
|
||||
|
||||
float ArrowGetAlpha( const PlayerNumber pn, float fYPos )
|
||||
float ArrowGetAlpha( PlayerNumber pn, float fYPos )
|
||||
{
|
||||
float fAlpha;
|
||||
static float blinktimer=0;
|
||||
|
||||
@@ -21,28 +21,28 @@ const float ARROW_GAP = ARROW_SIZE;// + 2;
|
||||
// fYOffset is a vertical position in pixels relative to the center.
|
||||
// (positive if has not yet been stepped on, negative if has already passed).
|
||||
// The ArrowEffect is applied in this stage.
|
||||
float ArrowGetYOffset( const PlayerNumber pn, float fNoteBeat );
|
||||
float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat );
|
||||
|
||||
|
||||
// fRotation is Z rotation of an arrow. This will depend on the column of
|
||||
// the arrow and possibly the Arrow effect and the fYOffset (in the case of
|
||||
// EFFECT_DIZZY).
|
||||
float ArrowGetRotation( const PlayerNumber pn, int iCol, float fYOffset );
|
||||
float ArrowGetRotation( PlayerNumber pn, int iCol, float fYOffset );
|
||||
|
||||
|
||||
// fYPos is the position of the note in pixels relative to the center.
|
||||
// (positive if has not yet been stepped on, negative if has already passed).
|
||||
// This value is fYOffset with bReverseScroll and fScrollSpeed factored in.
|
||||
float ArrowGetYPos( const PlayerNumber pn, float fYOffset );
|
||||
float ArrowGetYPos( PlayerNumber pn, float fYOffset );
|
||||
|
||||
|
||||
// fXPos is a horizontal position in pixels relative to the center of the field.
|
||||
// This depends on the column of the arrow and possibly the Arrow effect and
|
||||
// fYPos (in the case of EFFECT_DRUNK).
|
||||
float ArrowGetXPos2( const PlayerNumber pn, int iCol, float fYPos );
|
||||
float ArrowGetXPos2( PlayerNumber pn, int iCol, float fYPos );
|
||||
|
||||
|
||||
// fAlpha is the transparency of the arrow. It depends on fYPos and the
|
||||
// ArrowAppearance.
|
||||
float ArrowGetAlpha( const PlayerNumber pn, float fYPos );
|
||||
float ArrowGetAlpha( PlayerNumber pn, float fYPos );
|
||||
|
||||
|
||||
@@ -19,21 +19,34 @@
|
||||
#include "PrefsManager.h"
|
||||
|
||||
|
||||
#define RAINBOW_COLOR_1 THEME->GetMetricC("BitmapText","RainbowColor1")
|
||||
#define RAINBOW_COLOR_2 THEME->GetMetricC("BitmapText","RainbowColor2")
|
||||
#define RAINBOW_COLOR_3 THEME->GetMetricC("BitmapText","RainbowColor3")
|
||||
#define RAINBOW_COLOR_4 THEME->GetMetricC("BitmapText","RainbowColor4")
|
||||
#define RAINBOW_COLOR_5 THEME->GetMetricC("BitmapText","RainbowColor5")
|
||||
#define RAINBOW_COLOR_6 THEME->GetMetricC("BitmapText","RainbowColor6")
|
||||
#define RAINBOW_COLOR_7 THEME->GetMetricC("BitmapText","RainbowColor7")
|
||||
|
||||
D3DXCOLOR RAINBOW_COLORS[] = {
|
||||
D3DXCOLOR( 1.0f, 0.2f, 0.4f, 1 ), // red
|
||||
D3DXCOLOR( 0.8f, 0.2f, 0.6f, 1 ), // pink
|
||||
D3DXCOLOR( 0.4f, 0.3f, 0.5f, 1 ), // purple
|
||||
D3DXCOLOR( 0.2f, 0.6f, 1.0f, 1 ), // sky blue
|
||||
D3DXCOLOR( 0.2f, 0.8f, 0.8f, 1 ), // sea green
|
||||
D3DXCOLOR( 0.2f, 0.8f, 0.4f, 1 ), // green
|
||||
D3DXCOLOR( 1.0f, 0.8f, 0.2f, 1 ), // orange
|
||||
};
|
||||
const int NUM_RAINBOW_COLORS = sizeof(RAINBOW_COLORS) / sizeof(D3DXCOLOR);
|
||||
const int NUM_RAINBOW_COLORS = 7;
|
||||
D3DXCOLOR RAINBOW_COLORS[NUM_RAINBOW_COLORS];
|
||||
|
||||
|
||||
BitmapText::BitmapText()
|
||||
{
|
||||
// Loading these theme metrics is slow, so only do it ever 20th time.
|
||||
static int iReloadCounter = 0;
|
||||
if( iReloadCounter%20==0 )
|
||||
{
|
||||
RAINBOW_COLORS[0] = RAINBOW_COLOR_1;
|
||||
RAINBOW_COLORS[1] = RAINBOW_COLOR_2;
|
||||
RAINBOW_COLORS[2] = RAINBOW_COLOR_3;
|
||||
RAINBOW_COLORS[3] = RAINBOW_COLOR_4;
|
||||
RAINBOW_COLORS[4] = RAINBOW_COLOR_5;
|
||||
RAINBOW_COLORS[5] = RAINBOW_COLOR_6;
|
||||
RAINBOW_COLORS[6] = RAINBOW_COLOR_7;
|
||||
}
|
||||
iReloadCounter++;
|
||||
|
||||
m_HorizAlign = align_center;
|
||||
m_VertAlign = align_middle;
|
||||
|
||||
@@ -284,10 +297,10 @@ void BitmapText::DrawPrimitives()
|
||||
if( m_bRainbow )
|
||||
{
|
||||
int color_index = int(TIMER->GetTimeSinceStart() / 0.200) % NUM_RAINBOW_COLORS;
|
||||
for( int i=0; i<iNumV; i+=6 )
|
||||
for( int i=0; i<iNumV; i+=4 )
|
||||
{
|
||||
const D3DXCOLOR color = RAINBOW_COLORS[color_index];
|
||||
for( int j=i; j<i+6; j++ )
|
||||
for( int j=i; j<i+4; j++ )
|
||||
v[j].color = color;
|
||||
|
||||
color_index = (color_index+1)%NUM_RAINBOW_COLORS;
|
||||
|
||||
@@ -65,7 +65,7 @@ void CourseContentDisplay::Load( int iNum, Song* pSong, Notes* pNotes )
|
||||
{
|
||||
m_textNumber.SetText( ssprintf("%d", iNum) );
|
||||
|
||||
D3DXCOLOR colorGroup = SONGMAN->GetGroupColor( pSong->m_sGroupName );
|
||||
D3DXCOLOR colorGroup = SONGMAN->GetSongColor( pSong );
|
||||
D3DXCOLOR colorDifficulty = DifficultyClassToColor( pNotes->m_DifficultyClass );
|
||||
|
||||
m_TextBanner.LoadFromSong( pSong );
|
||||
|
||||
@@ -51,7 +51,7 @@ DifficultyClass StringToDifficultyClass( CString sDC )
|
||||
return CLASS_INVALID;
|
||||
}
|
||||
|
||||
D3DXCOLOR PlayerToColor( const PlayerNumber p )
|
||||
D3DXCOLOR PlayerToColor( PlayerNumber p )
|
||||
{
|
||||
switch( p )
|
||||
{
|
||||
|
||||
@@ -98,7 +98,7 @@ enum PlayerNumber {
|
||||
PLAYER_INVALID
|
||||
};
|
||||
|
||||
D3DXCOLOR PlayerToColor( const PlayerNumber p );
|
||||
D3DXCOLOR PlayerToColor( PlayerNumber p );
|
||||
D3DXCOLOR PlayerToColor( int p );
|
||||
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ public:
|
||||
//
|
||||
Game m_CurGame;
|
||||
Style m_CurStyle;
|
||||
bool m_bPlayersCanJoin; // true if it's not too late for a player to join
|
||||
bool m_bPlayersCanJoin; // true if it's not too late for a player to join - this only has an effect on the credits message
|
||||
bool m_bSideIsJoined[2]; // left side, right side
|
||||
PlayerNumber m_MasterPlayerNumber;
|
||||
|
||||
|
||||
@@ -1,22 +1,38 @@
|
||||
#include "stdafx.h"
|
||||
//
|
||||
// GhostArrow.cpp: implementation of the GhostArrow class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: GhostArrow
|
||||
|
||||
Desc: See header.
|
||||
|
||||
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||
Ben Nordstrom
|
||||
Chris Danford
|
||||
-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "GhostArrow.h"
|
||||
#include "PrefsManager.h"
|
||||
|
||||
const float GRAY_ARROW_TWEEN_TIME = 0.5f;
|
||||
|
||||
#define POP_UP_SECONDS THEME->GetMetricF("GhostArrow","PopUpSeconds")
|
||||
#define ZOOM_START THEME->GetMetricF("GhostArrow","ZoomStart")
|
||||
#define ZOOM_END THEME->GetMetricF("GhostArrow","ZoomEnd")
|
||||
#define COLOR_PERFECT THEME->GetMetricC("GhostArrow","ColorPerfect")
|
||||
#define COLOR_GREAT THEME->GetMetricC("GhostArrow","ColorGreat")
|
||||
#define COLOR_GOOD THEME->GetMetricC("GhostArrow","ColorGood")
|
||||
#define COLOR_BOO THEME->GetMetricC("GhostArrow","ColorBoo")
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Construction/Destruction
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
GhostArrow::GhostArrow()
|
||||
{
|
||||
// Load( THEME->GetPathTo(GRAPHIC_GHOST_ARROW) );
|
||||
m_fPopUpSeconds = POP_UP_SECONDS;
|
||||
m_fZoomStart = ZOOM_START;
|
||||
m_fZoomEnd = ZOOM_END;
|
||||
m_colorPerfect = COLOR_PERFECT;
|
||||
m_colorGreat = COLOR_GREAT;
|
||||
m_colorGood = COLOR_GOOD;
|
||||
m_colorBoo = COLOR_BOO;
|
||||
SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
|
||||
TurnShadowOff();
|
||||
}
|
||||
@@ -28,18 +44,24 @@ void GhostArrow::Update( float fDeltaTime )
|
||||
|
||||
void GhostArrow::Step( TapNoteScore score )
|
||||
{
|
||||
D3DXCOLOR color;
|
||||
switch( score )
|
||||
{
|
||||
case TNS_PERFECT: SetDiffuseColor( D3DXCOLOR(1.0f,1.0f,0.3f,1) ); break; // yellow
|
||||
case TNS_GREAT: SetDiffuseColor( D3DXCOLOR(0.0f,1.0f,0.4f,1) ); break; // green
|
||||
case TNS_GOOD: SetDiffuseColor( D3DXCOLOR(0.3f,0.8f,1.0f,1) ); break;
|
||||
case TNS_BOO: SetDiffuseColor( D3DXCOLOR(0.8f,0.0f,0.6f,1) ); break;
|
||||
case TNS_MISS: ASSERT( false ); break;
|
||||
case TNS_PERFECT: color = m_colorPerfect; break;
|
||||
case TNS_GREAT: color = m_colorGreat; break;
|
||||
case TNS_GOOD: color = m_colorGood; break;
|
||||
case TNS_BOO: color = m_colorBoo; break;
|
||||
case TNS_MISS: // miss should never be passed in here
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
SetZoom( 1.0f );
|
||||
BeginTweening( 0.25f );
|
||||
SetTweenZoom( 1.5f );
|
||||
D3DXCOLOR colorTween = GetDiffuseColor();
|
||||
colorTween.a = 0;
|
||||
SetTweenDiffuseColor( colorTween );
|
||||
|
||||
StopTweening();
|
||||
SetDiffuseColor( color );
|
||||
SetState( 0 );
|
||||
SetZoom( m_fZoomStart );
|
||||
BeginTweening( m_fPopUpSeconds );
|
||||
SetTweenZoom( m_fZoomEnd );
|
||||
color.a = 0;
|
||||
SetTweenDiffuseColor( color );
|
||||
}
|
||||
|
||||
@@ -23,5 +23,10 @@ public:
|
||||
virtual void Update( float fDeltaTime );
|
||||
|
||||
void Step( TapNoteScore score );
|
||||
|
||||
protected:
|
||||
float m_fPopUpSeconds;
|
||||
float m_fZoomStart, m_fZoomEnd;
|
||||
D3DXCOLOR m_colorPerfect, m_colorGreat, m_colorGood, m_colorBoo;
|
||||
};
|
||||
|
||||
|
||||
@@ -15,12 +15,24 @@
|
||||
#include "PrefsManager.h"
|
||||
|
||||
|
||||
const float GRAY_ARROW_TWEEN_TIME = 0.5f;
|
||||
#define POP_UP_SECONDS THEME->GetMetricF("GhostArrowBright","PopUpSeconds")
|
||||
#define ZOOM_START THEME->GetMetricF("GhostArrowBright","ZoomStart")
|
||||
#define ZOOM_END THEME->GetMetricF("GhostArrowBright","ZoomEnd")
|
||||
#define COLOR_PERFECT THEME->GetMetricC("GhostArrowBright","ColorPerfect")
|
||||
#define COLOR_GREAT THEME->GetMetricC("GhostArrowBright","ColorGreat")
|
||||
#define COLOR_GOOD THEME->GetMetricC("GhostArrowBright","ColorGood")
|
||||
#define COLOR_BOO THEME->GetMetricC("GhostArrowBright","ColorBoo")
|
||||
|
||||
|
||||
GhostArrowBright::GhostArrowBright()
|
||||
{
|
||||
// Load( THEME->GetPathTo(GRAPHIC_BRIGHT_GHOST_ARROW) );
|
||||
m_fPopUpSeconds = POP_UP_SECONDS;
|
||||
m_fZoomStart = ZOOM_START;
|
||||
m_fZoomEnd = ZOOM_END;
|
||||
m_colorPerfect = COLOR_PERFECT;
|
||||
m_colorGreat = COLOR_GREAT;
|
||||
m_colorGood = COLOR_GOOD;
|
||||
m_colorBoo = COLOR_BOO;
|
||||
SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
|
||||
TurnShadowOff();
|
||||
}
|
||||
@@ -32,19 +44,24 @@ void GhostArrowBright::Update( float fDeltaTime )
|
||||
|
||||
void GhostArrowBright::Step( TapNoteScore score )
|
||||
{
|
||||
D3DXCOLOR color;
|
||||
switch( score )
|
||||
{
|
||||
case TNS_PERFECT: SetDiffuseColor( D3DXCOLOR(1.0f,1.0f,0.3f,1) ); break; // yellow
|
||||
case TNS_GREAT: SetDiffuseColor( D3DXCOLOR(0.0f,1.0f,0.4f,1) ); break; // green
|
||||
case TNS_GOOD: SetDiffuseColor( D3DXCOLOR(0.3f,0.8f,1.0f,1) ); break;
|
||||
case TNS_BOO: SetDiffuseColor( D3DXCOLOR(0.8f,0.0f,0.6f,1) ); break;
|
||||
case TNS_MISS: ASSERT( false ); break;
|
||||
case TNS_PERFECT: color = m_colorPerfect; break;
|
||||
case TNS_GREAT: color = m_colorGreat; break;
|
||||
case TNS_GOOD: color = m_colorGood; break;
|
||||
case TNS_BOO: color = m_colorBoo; break;
|
||||
case TNS_MISS: // miss should never be passed in here
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
|
||||
StopTweening();
|
||||
SetDiffuseColor( color );
|
||||
SetState( 0 );
|
||||
SetZoom( 1.0f );
|
||||
BeginTweening( 0.25f );
|
||||
SetTweenZoom( 1.5f );
|
||||
D3DXCOLOR colorTween = GetDiffuseColor();
|
||||
colorTween.a = 0;
|
||||
SetTweenDiffuseColor( colorTween );
|
||||
SetZoom( m_fZoomStart );
|
||||
BeginTweening( m_fPopUpSeconds );
|
||||
SetTweenZoom( m_fZoomEnd );
|
||||
color.a = 0;
|
||||
SetTweenDiffuseColor( color );
|
||||
}
|
||||
|
||||
@@ -24,5 +24,7 @@ public:
|
||||
void Step( TapNoteScore score );
|
||||
|
||||
protected:
|
||||
|
||||
float m_fPopUpSeconds;
|
||||
float m_fZoomStart, m_fZoomEnd;
|
||||
D3DXCOLOR m_colorPerfect, m_colorGreat, m_colorGood, m_colorBoo;
|
||||
};
|
||||
|
||||
@@ -71,7 +71,10 @@ void MenuElements::Load( CString sBackgroundPath, CString sTopEdgePath, CString
|
||||
if( GAMESTATE->m_CurStyle == STYLE_NONE )
|
||||
m_sprStyleIcon.SetDiffuseColor( D3DXCOLOR(1,1,1,0) );
|
||||
else
|
||||
m_sprStyleIcon.SetState( GAMESTATE->m_CurStyle*2+GAMESTATE->m_MasterPlayerNumber );
|
||||
{
|
||||
int iRowNum = GetStyleIndexRelativeToGame( GAMESTATE->m_CurGame, GAMESTATE->m_CurStyle );
|
||||
m_sprStyleIcon.SetState( iRowNum*2+GAMESTATE->m_MasterPlayerNumber );
|
||||
}
|
||||
|
||||
m_MenuTimer.SetXY( TIMER_X, TIMER_Y );
|
||||
if( !bTimerEnabled || !PREFSMAN->m_bMenuTimer )
|
||||
@@ -227,16 +230,21 @@ void MenuElements::DrawBottomLayer()
|
||||
EndDraw();
|
||||
}
|
||||
|
||||
void MenuElements::StopTimer()
|
||||
{
|
||||
m_MenuTimer.StopTimer();
|
||||
}
|
||||
|
||||
void MenuElements::SetTimer( int iTimerSeconds )
|
||||
{
|
||||
m_MenuTimer.SetTimer( iTimerSeconds );
|
||||
}
|
||||
|
||||
void MenuElements::StartTimer()
|
||||
{
|
||||
m_MenuTimer.StartTimer();
|
||||
}
|
||||
|
||||
void MenuElements::StopTimer()
|
||||
{
|
||||
m_MenuTimer.StopTimer();
|
||||
}
|
||||
|
||||
void MenuElements::StallTimer()
|
||||
{
|
||||
m_MenuTimer.StallTimer();
|
||||
|
||||
@@ -35,8 +35,9 @@ public:
|
||||
virtual void DrawPrimitives();
|
||||
|
||||
void Load( CString sBackgroundPath, CString sTopEdgePath, CString sHelpText, bool bTimerEnabled, int iTimerSeconds );
|
||||
void StallTimer();
|
||||
void SetTimer( int iTimerSeconds );
|
||||
void StartTimer();
|
||||
void StallTimer();
|
||||
void StopTimer();
|
||||
|
||||
void DrawTopLayer();
|
||||
|
||||
@@ -65,7 +65,7 @@ void MenuTimer::Update( float fDeltaTime )
|
||||
float fNewSecondsLeft = fOldSecondsLeft - fDeltaTime;
|
||||
|
||||
if( fOldSecondsLeft > 5.5 && fNewSecondsLeft < 5.5 ) // transition to below 5.5
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_MENU_HURRY_UP) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("hurry up") );
|
||||
else if( fOldSecondsLeft > 5 && fNewSecondsLeft < 5 ) // transition to below 5
|
||||
{
|
||||
m_textDigit1.SetEffectGlowing( 10, D3DXCOLOR(1,0,0,0), D3DXCOLOR(1,0,0,1) );
|
||||
@@ -121,3 +121,8 @@ void MenuTimer::SetTimer( int iSeconds )
|
||||
m_textDigit1.SetEffectNone();
|
||||
m_textDigit2.SetEffectNone();
|
||||
}
|
||||
|
||||
void MenuTimer::StartTimer()
|
||||
{
|
||||
m_bTimerStopped = false;
|
||||
}
|
||||
|
||||
@@ -23,9 +23,11 @@ public:
|
||||
MenuTimer();
|
||||
|
||||
virtual void Update( float fDeltaTime );
|
||||
|
||||
void SetTimer( int iTimerSeconds );
|
||||
void StartTimer();
|
||||
void StopTimer();
|
||||
void StallTimer();
|
||||
void SetTimer( int iTimerSeconds );
|
||||
|
||||
protected:
|
||||
float m_fSecondsLeft;
|
||||
|
||||
@@ -511,7 +511,7 @@ void MusicWheel::BuildWheelItemDatas( CArray<WheelItemData, WheelItemData&> &arr
|
||||
sLastSection = sThisSection;
|
||||
}
|
||||
|
||||
arrayWheelItemDatas.Add( WheelItemData( TYPE_SONG, pSong, sThisSection, NULL, SONGMAN->GetGroupColor(pSong->m_sGroupName)) );
|
||||
arrayWheelItemDatas.Add( WheelItemData( TYPE_SONG, pSong, sThisSection, NULL, SONGMAN->GetSongColor(pSong)) );
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -521,7 +521,7 @@ void MusicWheel::BuildWheelItemDatas( CArray<WheelItemData, WheelItemData&> &arr
|
||||
Song* pSong = arraySongs[i];
|
||||
if( GAMESTATE->m_sPreferredGroup != "ALL MUSIC" && pSong->m_sGroupName != GAMESTATE->m_sPreferredGroup )
|
||||
continue; // skip
|
||||
arrayWheelItemDatas.Add( WheelItemData(TYPE_SONG, pSong, "", NULL, SONGMAN->GetGroupColor(pSong->m_sGroupName)) );
|
||||
arrayWheelItemDatas.Add( WheelItemData(TYPE_SONG, pSong, "", NULL, SONGMAN->GetSongColor(pSong)) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -840,12 +840,16 @@ bool Notes::LoadFromKSFFile( const CString &sPath )
|
||||
for( int r=0; r<asRows.GetSize(); r++ )
|
||||
{
|
||||
CString& sRowString = asRows[r];
|
||||
ASSERT( sRowString.GetLength() == 13 ); // why 13 notes per row. Beats me!
|
||||
|
||||
if( sRowString == "" )
|
||||
continue; // skip
|
||||
|
||||
/* All 2s indicates the end of the song. */
|
||||
if( sRowString == "2222222222222" )
|
||||
break;
|
||||
|
||||
ASSERT( sRowString.GetLength() == 13 ); // why 13 notes per row. Beats me!
|
||||
|
||||
// the length of a note in a row depends on TICKCOUNT
|
||||
float fBeatThisRow = r/(float)iTickCount;
|
||||
int row = BeatToNoteRow(fBeatThisRow);
|
||||
|
||||
@@ -433,7 +433,7 @@ HRESULT RageDisplay::EndFrame()
|
||||
m_iDrawsSinceLastCheck = 0;
|
||||
m_fLastCheckTime = fTimeNow;
|
||||
|
||||
LOG->Trace( "FPS: %d, TPF: %d, DPF: %d", m_iFPS, m_iTPF, m_iDPF );
|
||||
//LOG->Trace( "FPS: %d, TPF: %d, DPF: %d", m_iFPS, m_iTPF, m_iDPF );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -301,7 +301,7 @@ char DeviceInput::ToChar() const
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: EnumJoysticksCallMenuBack( const PlayerNumber p )
|
||||
// Name: EnumJoysticksCallMenuBack( PlayerNumber p )
|
||||
// Desc: Called once for each enumerated joystick. If we find one, create a
|
||||
// device interface on it so we can play with it.
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -331,7 +331,7 @@ BOOL CALLBACK RageInput::EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInst
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: EnumAxesCallMenuBack( const PlayerNumber p )
|
||||
// Name: EnumAxesCallMenuBack( PlayerNumber p )
|
||||
// Desc: Callback function for enumerating the axes on a joystick
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL CALLBACK RageInput::EnumAxesCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
|
||||
|
||||
@@ -46,7 +46,7 @@ void Screen::Update( float fDeltaTime )
|
||||
}
|
||||
}
|
||||
|
||||
void Screen::MenuBack( const PlayerNumber p, const InputEventType type )
|
||||
void Screen::MenuBack( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
if(!PREFSMAN->m_bDelayedEscape || type==IET_SLOW_REPEAT || type==IET_FAST_REPEAT)
|
||||
MenuBack(p);
|
||||
|
||||
+12
-12
@@ -50,17 +50,17 @@ protected:
|
||||
public:
|
||||
|
||||
// let subclass override if they want
|
||||
virtual void MenuUp( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuUp(p); }
|
||||
virtual void MenuDown( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuDown(p); }
|
||||
virtual void MenuLeft( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuLeft(p); }
|
||||
virtual void MenuRight( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuRight(p); }
|
||||
virtual void MenuStart( const PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuStart(p); }
|
||||
virtual void MenuBack( const PlayerNumber p, const InputEventType type );
|
||||
virtual void MenuUp( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuUp(p); }
|
||||
virtual void MenuDown( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuDown(p); }
|
||||
virtual void MenuLeft( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuLeft(p); }
|
||||
virtual void MenuRight( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuRight(p); }
|
||||
virtual void MenuStart( PlayerNumber p, const InputEventType type ) { if(type==IET_FIRST_PRESS) MenuStart(p); }
|
||||
virtual void MenuBack( PlayerNumber p, const InputEventType type );
|
||||
|
||||
virtual void MenuUp( const PlayerNumber p ) {};
|
||||
virtual void MenuDown( const PlayerNumber p ) {};
|
||||
virtual void MenuLeft( const PlayerNumber p ) {};
|
||||
virtual void MenuRight( const PlayerNumber p ) {};
|
||||
virtual void MenuStart( const PlayerNumber p ) {};
|
||||
virtual void MenuBack( const PlayerNumber p ) {};
|
||||
virtual void MenuUp( PlayerNumber p ) {};
|
||||
virtual void MenuDown( PlayerNumber p ) {};
|
||||
virtual void MenuLeft( PlayerNumber p ) {};
|
||||
virtual void MenuRight( PlayerNumber p ) {};
|
||||
virtual void MenuStart( PlayerNumber p ) {};
|
||||
virtual void MenuBack( PlayerNumber p ) {};
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
#define NEXT_SCREEN THEME->GetMetric("ScreenCaution","NextScreen")
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User-6);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User-6);
|
||||
const ScreenMessage SM_DoneOpening = ScreenMessage(SM_User-7);
|
||||
const ScreenMessage SM_StartClosing = ScreenMessage(SM_User-8);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User-9);
|
||||
@@ -65,9 +65,9 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM )
|
||||
m_Wipe.CloseWipingRight( SM_GoToNextScreen );
|
||||
break;
|
||||
case SM_DoneOpening:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_CAUTION) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("caution") );
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextScreen:
|
||||
@@ -76,7 +76,7 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenCaution::MenuStart( const PlayerNumber p )
|
||||
void ScreenCaution::MenuStart( PlayerNumber p )
|
||||
{
|
||||
if( p != PLAYER_INVALID && !GAMESTATE->m_bSideIsJoined[p] )
|
||||
{
|
||||
@@ -90,12 +90,12 @@ void ScreenCaution::MenuStart( const PlayerNumber p )
|
||||
m_Wipe.CloseWipingRight( SM_GoToNextScreen );
|
||||
}
|
||||
|
||||
void ScreenCaution::MenuBack( const PlayerNumber p )
|
||||
void ScreenCaution::MenuBack( PlayerNumber p )
|
||||
{
|
||||
if(m_FadeWipe.IsClosing())
|
||||
return;
|
||||
this->ClearMessageQueue();
|
||||
m_FadeWipe.CloseWipingLeft( SM_GoToPrevState );
|
||||
m_FadeWipe.CloseWipingLeft( SM_GoToPrevScreen );
|
||||
SOUND->PlayOnceStreamed( THEME->GetPathTo("Sounds","menu back") );
|
||||
}
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ public:
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
protected:
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
Sprite m_sprCaution;
|
||||
TransitionFade m_Wipe;
|
||||
TransitionFadeWipe m_FadeWipe;
|
||||
|
||||
@@ -133,8 +133,8 @@ int MENU_ITEM_KEY[NUM_MENU_ITEMS] = {
|
||||
DIK_Q,
|
||||
};
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2);
|
||||
|
||||
|
||||
ScreenEdit::ScreenEdit()
|
||||
@@ -1181,10 +1181,10 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM )
|
||||
{
|
||||
switch( SM )
|
||||
{
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -31,8 +31,8 @@ const CString EXPLANATION_TEXT =
|
||||
"In this mode, you can edit existing notes patterns,\n"
|
||||
"create note patterns, or synchronize notes with the music.";
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2);
|
||||
|
||||
|
||||
ScreenEditMenu::ScreenEditMenu()
|
||||
@@ -44,8 +44,8 @@ ScreenEditMenu::ScreenEditMenu()
|
||||
this->AddSubActor( &Selector );
|
||||
|
||||
m_Menu.Load(
|
||||
THEME->GetPathTo("Graphics","edit background"),
|
||||
THEME->GetPathTo("Graphics","edit top edge"),
|
||||
THEME->GetPathTo("Graphics","edit menu background"),
|
||||
THEME->GetPathTo("Graphics","edit menu top edge"),
|
||||
ssprintf("%c %c change line %c %c change value START to continue", char(3), char(4), char(1), char(2) ),
|
||||
false, 99
|
||||
);
|
||||
@@ -92,10 +92,10 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM )
|
||||
{
|
||||
switch( SM )
|
||||
{
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
// set the current style based on the notes type
|
||||
|
||||
// Dro Kulix:
|
||||
@@ -116,27 +116,27 @@ void ScreenEditMenu::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuUp( const PlayerNumber p )
|
||||
void ScreenEditMenu::MenuUp( PlayerNumber p )
|
||||
{
|
||||
Selector.Up();
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuDown( const PlayerNumber p )
|
||||
void ScreenEditMenu::MenuDown( PlayerNumber p )
|
||||
{
|
||||
Selector.Down();
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuLeft( const PlayerNumber p, const InputEventType type )
|
||||
void ScreenEditMenu::MenuLeft( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
Selector.Left();
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuRight( const PlayerNumber p, const InputEventType type )
|
||||
void ScreenEditMenu::MenuRight( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
Selector.Right();
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuStart( const PlayerNumber p )
|
||||
void ScreenEditMenu::MenuStart( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
@@ -151,14 +151,14 @@ void ScreenEditMenu::MenuStart( const PlayerNumber p )
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_None, false );
|
||||
|
||||
m_Fade.CloseWipingRight( SM_GoToNextState );
|
||||
m_Fade.CloseWipingRight( SM_GoToNextScreen );
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuBack( const PlayerNumber p )
|
||||
void ScreenEditMenu::MenuBack( PlayerNumber p )
|
||||
{
|
||||
m_Menu.TweenOffScreenToBlack( SM_None, true );
|
||||
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Fade.CloseWipingLeft( SM_GoToPrevState );
|
||||
m_Fade.CloseWipingLeft( SM_GoToPrevScreen );
|
||||
}
|
||||
|
||||
@@ -27,12 +27,12 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
void MenuUp( const PlayerNumber p );
|
||||
void MenuDown( const PlayerNumber p );
|
||||
void MenuLeft( const PlayerNumber p, const InputEventType type );
|
||||
void MenuRight( const PlayerNumber p, const InputEventType type );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuUp( PlayerNumber p );
|
||||
void MenuDown( PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p, const InputEventType type );
|
||||
void MenuRight( PlayerNumber p, const InputEventType type );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
|
||||
SongSelector Selector;
|
||||
|
||||
|
||||
@@ -626,13 +626,13 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
case RM_ARCADE_STAGE:
|
||||
switch( max_grade )
|
||||
{
|
||||
case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_E) ); break;
|
||||
case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_D) ); break;
|
||||
case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_C) ); break;
|
||||
case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_B) ); break;
|
||||
case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_A) ); break;
|
||||
case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_AA) ); break;
|
||||
case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_AAA) ); break;
|
||||
case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation e") ); break;
|
||||
case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation d") ); break;
|
||||
case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation c") ); break;
|
||||
case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation b") ); break;
|
||||
case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation a") ); break;
|
||||
case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aa") ); break;
|
||||
case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aaa") ); break;
|
||||
case GRADE_NO_DATA:
|
||||
default:
|
||||
ASSERT(0); // invalid grade
|
||||
@@ -642,13 +642,13 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
case RM_ARCADE_SUMMARY:
|
||||
switch( max_grade )
|
||||
{
|
||||
case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_E) ); break;
|
||||
case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_D) ); break;
|
||||
case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_C) ); break;
|
||||
case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_B) ); break;
|
||||
case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_A) ); break;
|
||||
case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_AA) ); break;
|
||||
case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_EVALUATION_FINAL_AAA) ); break;
|
||||
case GRADE_E: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation e") ); break;
|
||||
case GRADE_D: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation d") ); break;
|
||||
case GRADE_C: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation c") ); break;
|
||||
case GRADE_B: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation b") ); break;
|
||||
case GRADE_A: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation a") ); break;
|
||||
case GRADE_AA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aa") ); break;
|
||||
case GRADE_AAA: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("evaluation aaa") ); break;
|
||||
case GRADE_NO_DATA:
|
||||
default:
|
||||
ASSERT(0); // invalid grade
|
||||
@@ -886,12 +886,12 @@ void ScreenEvaluation::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenEvaluation::MenuBack( const PlayerNumber p )
|
||||
void ScreenEvaluation::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MenuStart( p );
|
||||
}
|
||||
|
||||
void ScreenEvaluation::MenuStart( const PlayerNumber p )
|
||||
void ScreenEvaluation::MenuStart( PlayerNumber p )
|
||||
{
|
||||
TweenOffScreen();
|
||||
|
||||
|
||||
@@ -37,8 +37,8 @@ public:
|
||||
|
||||
virtual void TweenOnScreen();
|
||||
virtual void TweenOffScreen();
|
||||
virtual void MenuBack( const PlayerNumber p );
|
||||
virtual void MenuStart( const PlayerNumber p );
|
||||
virtual void MenuBack( PlayerNumber p );
|
||||
virtual void MenuStart( PlayerNumber p );
|
||||
|
||||
protected:
|
||||
enum ResultMode { RM_ARCADE_STAGE, RM_ARCADE_SUMMARY, RM_ONI };
|
||||
|
||||
@@ -23,33 +23,52 @@ Andrew Livy
|
||||
|
||||
/* Constants */
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_PlayersChosen = ScreenMessage(SM_User + 3);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
|
||||
|
||||
#define CURSOR_P1_X THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP1X")
|
||||
#define CURSOR_P1_Y THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP1Y")
|
||||
#define CURSOR_P2_X THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP2X")
|
||||
#define CURSOR_P2_Y THEME->GetMetricF("ScreenEz2SelectPlayer","CursorP2Y")
|
||||
#define CONTROLLER_P1_X THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP1X")
|
||||
#define CONTROLLER_P1_Y THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP1Y")
|
||||
#define CONTROLLER_P2_X THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP2X")
|
||||
#define CONTROLLER_P2_Y THEME->GetMetricF("ScreenEz2SelectPlayer","ControllerP2Y")
|
||||
#define HELP_TEXT THEME->GetMetric("ScreenEz2SelectPlayer","HelpText")
|
||||
#define TIMER_SECONDS THEME->GetMetricI("ScreenEz2SelectPlayer","TimerSeconds")
|
||||
#define NEXT_SCREEN THEME->GetMetric("ScreenEz2SelectPlayer","NextScreen")
|
||||
|
||||
float CURSOR_X( int p ) {
|
||||
switch( p ) {
|
||||
case PLAYER_1: return CURSOR_P1_X;
|
||||
case PLAYER_2: return CURSOR_P2_X;
|
||||
default: ASSERT(0); return 0;
|
||||
}
|
||||
}
|
||||
float CURSOR_Y( int p ) {
|
||||
switch( p ) {
|
||||
case PLAYER_1: return CURSOR_P1_Y;
|
||||
case PLAYER_2: return CURSOR_P2_Y;
|
||||
default: ASSERT(0); return 0;
|
||||
}
|
||||
}
|
||||
float CONTROLLER_X( int p ) {
|
||||
switch( p ) {
|
||||
case PLAYER_1: return CONTROLLER_P1_X;
|
||||
case PLAYER_2: return CONTROLLER_P2_X;
|
||||
default: ASSERT(0); return 0;
|
||||
}
|
||||
}
|
||||
float CONTROLLER_Y( int p ) {
|
||||
switch( p ) {
|
||||
case PLAYER_1: return CONTROLLER_P1_Y;
|
||||
case PLAYER_2: return CONTROLLER_P2_Y;
|
||||
default: ASSERT(0); return 0;
|
||||
}
|
||||
}
|
||||
|
||||
const float TWEEN_TIME = 0.35f;
|
||||
const D3DXCOLOR OPT_NOT_SELECTED = D3DXCOLOR(0.3f,0.3f,0.3f,1);
|
||||
const D3DXCOLOR OPT_SELECTED = D3DXCOLOR(1.0f,1.0f,1.0f,1);
|
||||
|
||||
const float OPT_X[NUM_EZ2_GRAPHICS] = {
|
||||
CENTER_X+200, // This is the pad X
|
||||
CENTER_X-200, // This is the pad X
|
||||
CENTER_X-198, // This is the 1p X
|
||||
CENTER_X+195, // This is the 2p X
|
||||
}; // tells us the default X position
|
||||
const float OPT_Y[NUM_EZ2_GRAPHICS] = {
|
||||
CENTER_Y+130,
|
||||
CENTER_Y+130,
|
||||
CENTER_Y+115,
|
||||
CENTER_Y+115,
|
||||
}; // tells us the default Y position
|
||||
|
||||
|
||||
|
||||
/************************************
|
||||
@@ -59,52 +78,39 @@ Desc: Sets up the screen display
|
||||
|
||||
ScreenEz2SelectPlayer::ScreenEz2SelectPlayer()
|
||||
{
|
||||
LOG->Trace( "ScreenEz2SelectPlayer::ScreenEz2SelectPlayer()" );
|
||||
m_iSelectedStyle=0;
|
||||
GAMESTATE->m_CurStyle = STYLE_NONE;
|
||||
ez2_bounce=0.f;
|
||||
// GAMESTATE->m_MasterPlayerNumber = PLAYER_INVALID;
|
||||
// Unjoin the players, then let them join back in on this screen
|
||||
GAMESTATE->m_bPlayersCanJoin = true;
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
GAMESTATE->m_bSideIsJoined[p] = false;
|
||||
|
||||
// Load in the sprites we will be working with.
|
||||
for( int i=0; i<NUM_EZ2_GRAPHICS; i++ )
|
||||
LOG->Trace( "ScreenEz2SelectPlayer::ScreenEz2SelectPlayer()" );
|
||||
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
CString sOptFileName;
|
||||
switch( i )
|
||||
{
|
||||
case 0: sOptFileName = "select difficulty hard picture"; break;
|
||||
case 1: sOptFileName = "select difficulty hard picture"; break;
|
||||
case 2: sOptFileName = "select difficulty medium picture"; break;
|
||||
case 3: sOptFileName = "select difficulty easy picture"; break;
|
||||
}
|
||||
m_sprOpt[i].Load( THEME->GetPathTo("Graphics",sOptFileName) );
|
||||
m_sprOpt[i].SetXY( OPT_X[i], OPT_Y[i] );
|
||||
this->AddSubActor( &m_sprOpt[i] );
|
||||
m_sprControllers[p].Load( THEME->GetPathTo("Graphics","select player controller") );
|
||||
m_sprControllers[p].SetXY( CONTROLLER_X(p), CONTROLLER_Y(p) );
|
||||
this->AddSubActor( &m_sprControllers[p] );
|
||||
|
||||
m_sprCursors[p].Load( THEME->GetPathTo("Graphics",ssprintf("select player cursor p%d",p+1)) );
|
||||
m_sprCursors[p].SetXY( CURSOR_X(p), CURSOR_Y(p) );
|
||||
m_sprCursors[p].SetEffectBouncing( D3DXVECTOR3(0,10,0), 0.5f );
|
||||
this->AddSubActor( &m_sprCursors[p] );
|
||||
}
|
||||
|
||||
|
||||
m_Menu.Load(
|
||||
THEME->GetPathTo("Graphics","select style background"),
|
||||
THEME->GetPathTo("Graphics","select style top edge"),
|
||||
THEME->GetPathTo("Graphics","select player background"),
|
||||
THEME->GetPathTo("Graphics","select player top edge"),
|
||||
HELP_TEXT, true, TIMER_SECONDS
|
||||
);
|
||||
this->AddSubActor( &m_Menu );
|
||||
|
||||
m_soundChange.Load( THEME->GetPathTo("Sounds","select style change") );
|
||||
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
|
||||
m_soundInvalid.Load( THEME->GetPathTo("Sounds","menu invalid") );
|
||||
|
||||
/* Chris: If EZ2 doesn't use this sound, make a theme that overrides is with a silent sound file */
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) );
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select player intro") );
|
||||
|
||||
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select player music") );
|
||||
|
||||
// GAMESTATE->m_bPlayersCanJoin = true;
|
||||
// GAMESTATE->m_bIsJoined[PLAYER_1] = false;
|
||||
// GAMESTATE->m_bIsJoined[PLAYER_2] = false;
|
||||
|
||||
// AfterChange();
|
||||
// TweenOnScreen();
|
||||
TweenOnScreen();
|
||||
m_Menu.TweenOnScreenFromBlack( SM_None );
|
||||
}
|
||||
|
||||
@@ -125,15 +131,6 @@ Desc: Animates the 1p/2p selection
|
||||
void ScreenEz2SelectPlayer::Update( float fDeltaTime )
|
||||
{
|
||||
Screen::Update( fDeltaTime );
|
||||
|
||||
fDeltaTime /= .01f;
|
||||
|
||||
ez2_bounce = fmodf((ez2_bounce+fDeltaTime), 20);
|
||||
|
||||
/* 0..10..19 -> 10..0..9 */
|
||||
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);
|
||||
}
|
||||
|
||||
/************************************
|
||||
@@ -174,46 +171,27 @@ void ScreenEz2SelectPlayer::HandleScreenMessage( const ScreenMessage SM )
|
||||
switch( SM )
|
||||
{
|
||||
case SM_MenuTimer:
|
||||
/* If a player has already chosen, then he chose within the last second
|
||||
* of the menu timer; just stop and let it come through as if the menu
|
||||
* timer didn't expire. */
|
||||
if(!m_iSelectedStyle)
|
||||
MenuStart(PLAYER_1);
|
||||
break;
|
||||
case SM_PlayersChosen:
|
||||
if (m_iSelectedStyle & EZ2_PLAYER_1)
|
||||
{
|
||||
if (m_iSelectedStyle & EZ2_PLAYER_2)
|
||||
bool bAtLeastOneJoined = false;
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
if( GAMESTATE->m_bSideIsJoined[p] )
|
||||
bAtLeastOneJoined = true;
|
||||
|
||||
if( !bAtLeastOneJoined )
|
||||
{
|
||||
// they both selected
|
||||
// GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
|
||||
// GAMESTATE->m_bIsJoined[PLAYER_1] = true;
|
||||
GAMESTATE->m_CurStyle = STYLE_EZ2_SINGLE_VERSUS;
|
||||
} else {
|
||||
// only the left pad was selected
|
||||
// GAMESTATE->m_MasterPlayerNumber = PLAYER_1;
|
||||
GAMESTATE->m_CurStyle = STYLE_EZ2_SINGLE;
|
||||
// GAMESTATE->m_bIsJoined[PLAYER_2] = true;
|
||||
MenuStart(PLAYER_1);
|
||||
m_Menu.StopTimer();
|
||||
}
|
||||
|
||||
TweenOffScreen();
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
}
|
||||
else if (m_iSelectedStyle & EZ2_PLAYER_2) {
|
||||
// only the right pad was selected
|
||||
// GAMESTATE->m_MasterPlayerNumber = PLAYER_2;
|
||||
GAMESTATE->m_CurStyle = STYLE_EZ2_SINGLE;
|
||||
// GAMESTATE->m_bIsJoined[PLAYER_2] = true;
|
||||
} else ASSERT(0);
|
||||
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
|
||||
break;
|
||||
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
MUSIC->Stop();
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( NEXT_SCREEN );
|
||||
break;
|
||||
}
|
||||
@@ -226,15 +204,11 @@ Desc: Actions performed when a player
|
||||
presses the button bound to back
|
||||
************************************/
|
||||
|
||||
void ScreenEz2SelectPlayer::MenuBack( const PlayerNumber p )
|
||||
void ScreenEz2SelectPlayer::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
|
||||
// m_Fade.CloseWipingLeft( SM_GoToPrevState );
|
||||
|
||||
// TweenOffScreen();
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
}
|
||||
|
||||
|
||||
@@ -255,51 +229,64 @@ presses the button bound to start
|
||||
************************************/
|
||||
void ScreenEz2SelectPlayer::MenuStart( PlayerNumber p )
|
||||
{
|
||||
int this_player_bit = (p == PLAYER_1)? EZ2_PLAYER_1:EZ2_PLAYER_2;
|
||||
if( GAMESTATE->m_bSideIsJoined[p] ) // already joined
|
||||
return; // ignore
|
||||
|
||||
// disallow multiple presses of the menu start.
|
||||
if ( m_iSelectedStyle & this_player_bit )
|
||||
return;
|
||||
|
||||
// figure out whether we should add a player into the fray or not
|
||||
// if( GAMESTATE->m_MasterPlayerNumber != PLAYER_2 && GAMESTATE->m_MasterPlayerNumber != PLAYER_1 )
|
||||
if (m_iSelectedStyle == 0)
|
||||
GAMESTATE->m_bSideIsJoined[p] = true;
|
||||
SCREENMAN->RefreshCreditsMessages();
|
||||
m_soundSelect.PlayRandom();
|
||||
m_sprCursors[p].BeginTweening( 0.25f );
|
||||
m_sprCursors[p].SetTweenZoomY( 0 );
|
||||
m_sprControllers[p].BeginTweening( 0.25f );
|
||||
m_sprControllers[p].SetTweenZoomY( 0 );
|
||||
|
||||
bool bBothSidesJoined = true;
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
if( !GAMESTATE->m_bSideIsJoined[p] )
|
||||
bBothSidesJoined = false;
|
||||
|
||||
if( bBothSidesJoined )
|
||||
{
|
||||
// GAMESTATE->m_MasterPlayerNumber = p;
|
||||
|
||||
m_iSelectedStyle |= this_player_bit;
|
||||
|
||||
// wait for a bit in case another player wants to join before moving on.
|
||||
SCREENMAN->SendMessageToTopScreen( SM_PlayersChosen, 1.f );
|
||||
TweenOffScreen();
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_iSelectedStyle |= this_player_bit;
|
||||
// give the other player a little time to join
|
||||
m_Menu.SetTimer( 5 );
|
||||
m_Menu.StartTimer();
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenEz2SelectPlayer::TweenOnScreen()
|
||||
{
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
float fOffScreenOffset = float( (p==PLAYER_1) ? -SCREEN_WIDTH/2 : +SCREEN_WIDTH/2 );
|
||||
|
||||
float fOriginalX;
|
||||
|
||||
fOriginalX = m_sprCursors[p].GetX();
|
||||
m_sprCursors[p].SetX( m_sprCursors[p].GetX()+fOffScreenOffset );
|
||||
m_sprCursors[p].BeginTweening( 0.5f, Actor::TWEEN_BOUNCE_END );
|
||||
m_sprCursors[p].SetTweenX( fOriginalX );
|
||||
|
||||
fOriginalX = m_sprControllers[p].GetX();
|
||||
m_sprControllers[p].SetX( m_sprCursors[p].GetX()+fOffScreenOffset );
|
||||
m_sprControllers[p].BeginTweening( 0.5f, Actor::TWEEN_BOUNCE_END );
|
||||
m_sprControllers[p].SetTweenX( fOriginalX );
|
||||
}
|
||||
|
||||
m_soundSelect.PlayRandom();
|
||||
TweenOffScreen();
|
||||
}
|
||||
|
||||
/************************************
|
||||
TweenOffScreen
|
||||
Desc: Squashes graphics before the screen
|
||||
changes state.
|
||||
************************************/
|
||||
void ScreenEz2SelectPlayer::TweenOffScreen()
|
||||
{
|
||||
if (m_iSelectedStyle & EZ2_PLAYER_1)
|
||||
{
|
||||
m_sprOpt[1].BeginTweening( MENU_ELEMENTS_TWEEN_TIME );
|
||||
m_sprOpt[1].SetTweenZoomY( 0 );
|
||||
m_sprOpt[2].BeginTweening( MENU_ELEMENTS_TWEEN_TIME );
|
||||
m_sprOpt[2].SetTweenZoomY( 0 );
|
||||
}
|
||||
if (m_iSelectedStyle & EZ2_PLAYER_2)
|
||||
{
|
||||
m_sprOpt[0].BeginTweening( MENU_ELEMENTS_TWEEN_TIME );
|
||||
m_sprOpt[0].SetTweenZoomY( 0 );
|
||||
m_sprOpt[3].BeginTweening( MENU_ELEMENTS_TWEEN_TIME );
|
||||
m_sprOpt[3].SetTweenZoomY( 0 );
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
float fOffScreenOffset = float( (p==PLAYER_1) ? -SCREEN_WIDTH : +SCREEN_WIDTH );
|
||||
|
||||
m_sprCursors[p].BeginTweening( 0.5f, Actor::TWEEN_BIAS_END );
|
||||
m_sprCursors[p].SetTweenX( m_sprCursors[p].GetX()+fOffScreenOffset );
|
||||
m_sprControllers[p].BeginTweening( 0.5f, Actor::TWEEN_BIAS_END );
|
||||
m_sprControllers[p].SetTweenX( m_sprCursors[p].GetX()+fOffScreenOffset );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,9 +16,6 @@ Andrew Livy
|
||||
#include "Quad.h"
|
||||
#include "MenuElements.h"
|
||||
|
||||
/* Class Definition */
|
||||
|
||||
const int NUM_EZ2_GRAPHICS = 4;
|
||||
|
||||
class ScreenEz2SelectPlayer : public Screen
|
||||
{
|
||||
@@ -27,32 +24,23 @@ public:
|
||||
virtual ~ScreenEz2SelectPlayer(); // Destructor
|
||||
|
||||
/* Public Function Prototypes */
|
||||
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 );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
void MenuDown( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void TweenOffScreen();
|
||||
|
||||
virtual void MenuDown( PlayerNumber p );
|
||||
virtual void MenuStart( PlayerNumber p );
|
||||
virtual void MenuBack( PlayerNumber p );
|
||||
private:
|
||||
/* Private Function Prototypes */
|
||||
void Update( float fDeltaTime );
|
||||
void TweenOffScreen();
|
||||
void TweenOnScreen();
|
||||
|
||||
|
||||
/* Variable Declarations */
|
||||
Sprite m_sprCursors[NUM_PLAYERS];
|
||||
Sprite m_sprControllers[NUM_PLAYERS];
|
||||
|
||||
MenuElements m_Menu;
|
||||
Sprite m_sprOpt[NUM_EZ2_GRAPHICS];
|
||||
/* Bitflags for m_iSelectedStyle. */
|
||||
enum { EZ2_PLAYER_1 = 0x01,
|
||||
EZ2_PLAYER_2 = 0x02 };
|
||||
int m_iSelectedStyle;
|
||||
|
||||
RandomSample m_soundChange;
|
||||
RandomSample m_soundSelect;
|
||||
RandomSample m_soundInvalid;
|
||||
|
||||
// used for the bouncing of the '1p' and '2p' images
|
||||
float ez2_bounce;
|
||||
};
|
||||
|
||||
@@ -33,8 +33,8 @@ a polish :)
|
||||
#define NEXT_SCREEN THEME->GetMetric("ScreenEz2SelectStyle","NextScreen")
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
|
||||
|
||||
enum DStyles {
|
||||
@@ -164,13 +164,13 @@ void ScreenEz2SelectStyle::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
m_soundSelect.PlayRandom();
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
|
||||
this->SendScreenMessage( SM_GoToNextState, 0 );
|
||||
this->SendScreenMessage( SM_GoToNextScreen, 0 );
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
MUSIC->Stop();
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( NEXT_SCREEN );
|
||||
break;
|
||||
}
|
||||
@@ -183,14 +183,14 @@ Desc: Actions performed when a player
|
||||
presses the button bound to back
|
||||
************************************/
|
||||
|
||||
void ScreenEz2SelectStyle::MenuBack( const PlayerNumber p )
|
||||
void ScreenEz2SelectStyle::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
GAMESTATE->m_CurStyle = STYLE_NONE; // Make sure that both players can scroll around title menu...
|
||||
|
||||
// m_Fade.CloseWipingLeft( SM_GoToPrevState );
|
||||
// m_Fade.CloseWipingLeft( SM_GoToPrevScreen );
|
||||
|
||||
// TweenOffScreen();
|
||||
}
|
||||
@@ -201,7 +201,7 @@ Desc: Actions performed when a player
|
||||
presses the button bound to down
|
||||
************************************/
|
||||
|
||||
void ScreenEz2SelectStyle::MenuDown( const PlayerNumber p )
|
||||
void ScreenEz2SelectStyle::MenuDown( PlayerNumber p )
|
||||
{
|
||||
MenuStart(p);
|
||||
}
|
||||
@@ -282,7 +282,16 @@ void ScreenEz2SelectStyle::MenuStart( PlayerNumber p )
|
||||
this->ClearMessageQueue();
|
||||
GAMESTATE->m_PlayMode = PLAY_MODE_ARCADE;
|
||||
// GAMESTATE->m_bPlayersCanJoin = false;
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
|
||||
CString sCurStyleName = GAMESTATE->GetCurrentStyleDef()->m_szName;
|
||||
if( 0==stricmp(sCurStyleName,"single") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment single") );
|
||||
else if( 0==stricmp(sCurStyleName,"versus") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment versus") );
|
||||
else if( 0==stricmp(sCurStyleName,"double") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment double") );
|
||||
else if( 0==stricmp(sCurStyleName,"couple") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment couple") );
|
||||
else if( 0==stricmp(sCurStyleName,"solo") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment solo") );
|
||||
|
||||
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
}
|
||||
|
||||
/************************************
|
||||
|
||||
@@ -34,11 +34,11 @@ public:
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuDown( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void MenuDown( PlayerNumber p );
|
||||
void TweenOffScreen();
|
||||
void TweenPlyOffScreen();
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
|
||||
const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_PlayAnnouncer = ScreenMessage(SM_User + 3);
|
||||
|
||||
|
||||
@@ -60,15 +60,15 @@ void ScreenGameOver::HandleScreenMessage( const ScreenMessage SM )
|
||||
switch( SM )
|
||||
{
|
||||
case SM_PlayAnnouncer:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_GAME_OVER) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("game over") );
|
||||
break;
|
||||
case SM_StartFadingOut:
|
||||
m_bClosing = true;
|
||||
m_sprGameOver.BeginTweening( 0.8f );
|
||||
m_sprGameOver.SetTweenDiffuseColor( D3DXCOLOR(1,1,1,0) );
|
||||
this->SendScreenMessage( SM_GoToNextState, 0.8f );
|
||||
this->SendScreenMessage( SM_GoToNextScreen, 0.8f );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ public:
|
||||
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
virtual void MenuStart( const PlayerNumber p );
|
||||
virtual void MenuStart( PlayerNumber p );
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -542,28 +542,28 @@ ScreenGameplay::ScreenGameplay()
|
||||
{
|
||||
m_soundFail.Load( THEME->GetPathTo("Sounds","gameplay failed") );
|
||||
m_soundOniDie.Load( THEME->GetPathTo("Sounds","gameplay oni die") );
|
||||
m_announcerReady.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_READY) );
|
||||
m_announcerReady.Load( ANNOUNCER->GetPathTo("gameplay ready") );
|
||||
if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )
|
||||
m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_EXTRA) );
|
||||
m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo("gameplay here we go extra") );
|
||||
else if( GAMESTATE->IsFinalStage() )
|
||||
m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_FINAL) );
|
||||
m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo("gameplay here we go final") );
|
||||
else
|
||||
m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_HERE_WE_GO_NORMAL) );
|
||||
m_announcerDanger.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_DANGER) );
|
||||
m_announcerGood.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_GOOD) );
|
||||
m_announcerHot.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMMENT_HOT) );
|
||||
m_announcerHereWeGo.Load( ANNOUNCER->GetPathTo("gameplay here we go normal") );
|
||||
m_announcerDanger.Load( ANNOUNCER->GetPathTo("gameplay comment danger") );
|
||||
m_announcerGood.Load( ANNOUNCER->GetPathTo("gameplay comment goood") );
|
||||
m_announcerHot.Load( ANNOUNCER->GetPathTo("gameplay comment hot") );
|
||||
|
||||
m_announcer100Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_100_COMBO) );
|
||||
m_announcer200Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_200_COMBO) );
|
||||
m_announcer300Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_300_COMBO) );
|
||||
m_announcer400Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_400_COMBO) );
|
||||
m_announcer500Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_500_COMBO) );
|
||||
m_announcer600Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_600_COMBO) );
|
||||
m_announcer700Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_700_COMBO) );
|
||||
m_announcer800Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_800_COMBO) );
|
||||
m_announcer900Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_900_COMBO) );
|
||||
m_announcer1000Combo.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_1000_COMBO) );
|
||||
m_announcerComboStopped.Load( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_COMBO_STOPPED) );
|
||||
m_announcer100Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 100 combo") );
|
||||
m_announcer200Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 200 combo") );
|
||||
m_announcer300Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 300 combo") );
|
||||
m_announcer400Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 400 combo") );
|
||||
m_announcer500Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 500 combo") );
|
||||
m_announcer600Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 600 combo") );
|
||||
m_announcer700Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 700 combo") );
|
||||
m_announcer800Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 800 combo") );
|
||||
m_announcer900Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 900 combo") );
|
||||
m_announcer1000Combo.Load( ANNOUNCER->GetPathTo("gameplay comment 1000 combo") );
|
||||
m_announcerComboStopped.Load( ANNOUNCER->GetPathTo("gameplay comment combo stopped") );
|
||||
}
|
||||
|
||||
m_iRowLastCrossed = -1;
|
||||
@@ -1233,7 +1233,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
{
|
||||
m_StarWipe.CloseWipingRight( SM_None );
|
||||
this->SendScreenMessage( SM_ShowCleared, 1 );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_CLEARED) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("gameplay cleared") );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1440,7 +1440,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
SCREENMAN->SendMessageToTopScreen( SM_HideFailed, 3.0f );
|
||||
break;
|
||||
case SM_PlayFailComment:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_GAMEPLAY_FAILED) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("gameplay failed") );
|
||||
break;
|
||||
case SM_HideFailed:
|
||||
m_sprFailed.StopTweening();
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#define NEXT_SCREEN_ONI THEME->GetMetric("ScreenHowToPlay","NextScreenOni")
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 1);
|
||||
|
||||
|
||||
ScreenHowToPlay::ScreenHowToPlay()
|
||||
@@ -102,7 +102,7 @@ void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
this->MenuStart(PLAYER_1);
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
switch( GAMESTATE->m_PlayMode )
|
||||
{
|
||||
case PLAY_MODE_ARCADE:
|
||||
@@ -119,13 +119,13 @@ void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenHowToPlay::MenuBack( const PlayerNumber p )
|
||||
void ScreenHowToPlay::MenuBack( PlayerNumber p )
|
||||
{
|
||||
}
|
||||
|
||||
void ScreenHowToPlay::MenuStart( const PlayerNumber p )
|
||||
void ScreenHowToPlay::MenuStart( PlayerNumber p )
|
||||
{
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
|
||||
m_sprHowToPlay.BeginTweening( 0.3f, Actor::TWEEN_BIAS_END );
|
||||
m_sprHowToPlay.SetTweenX( SCREEN_RIGHT+m_sprHowToPlay.GetUnzoomedWidth()/2 );
|
||||
|
||||
@@ -29,8 +29,8 @@ public:
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
virtual void MenuBack( const PlayerNumber p );
|
||||
virtual void MenuStart( const PlayerNumber p );
|
||||
virtual void MenuBack( PlayerNumber p );
|
||||
virtual void MenuStart( PlayerNumber p );
|
||||
|
||||
protected:
|
||||
Sprite m_sprHowToPlay;
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
|
||||
const int LINE_GAP = 40;
|
||||
|
||||
@@ -144,7 +144,7 @@ ScreenMusicScroll::ScreenMusicScroll()
|
||||
Song* pSong = arraySongs[i];
|
||||
m_textLines[m_iNumLines].LoadFromFont( THEME->GetPathTo("Fonts","normal") );
|
||||
m_textLines[m_iNumLines].SetText( pSong->GetFullTitle() );
|
||||
m_textLines[m_iNumLines].SetDiffuseColor( SONGMAN->GetGroupColor(pSong->m_sGroupName) );
|
||||
m_textLines[m_iNumLines].SetDiffuseColor( SONGMAN->GetSongColor(pSong) );
|
||||
|
||||
m_iNumLines++;
|
||||
}
|
||||
@@ -171,7 +171,7 @@ ScreenMusicScroll::ScreenMusicScroll()
|
||||
|
||||
this->AddSubActor( &m_Fade );
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_MUSIC_SCROLL) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("music scroll") );
|
||||
|
||||
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","music scroll music") );
|
||||
|
||||
@@ -221,20 +221,20 @@ void ScreenMusicScroll::HandleScreenMessage( const ScreenMessage SM )
|
||||
switch( SM )
|
||||
{
|
||||
case SM_StartFadingOut:
|
||||
m_Fade.CloseWipingRight( SM_GoToNextState );
|
||||
m_Fade.CloseWipingRight( SM_GoToNextScreen );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenMusicScroll::MenuStart( const PlayerNumber p )
|
||||
void ScreenMusicScroll::MenuStart( PlayerNumber p )
|
||||
{
|
||||
m_Fade.CloseWipingRight( SM_GoToNextState );
|
||||
m_Fade.CloseWipingRight( SM_GoToNextScreen );
|
||||
}
|
||||
|
||||
void ScreenMusicScroll::MenuBack( const PlayerNumber p )
|
||||
void ScreenMusicScroll::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MenuStart( p );
|
||||
}
|
||||
|
||||
@@ -33,8 +33,8 @@ public:
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
|
||||
private:
|
||||
|
||||
|
||||
@@ -35,8 +35,8 @@ const float LINE_GAP_Y = 34;
|
||||
const float ITEMS_START_X = 160;
|
||||
|
||||
const ScreenMessage SM_PlaySample = ScreenMessage(SM_User-4);
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User-5);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User-6);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User-5);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User-6);
|
||||
|
||||
|
||||
ScreenOptions::ScreenOptions( CString sBackgroundPath, CString sPagePath, CString sTopEdgePath )
|
||||
@@ -299,11 +299,11 @@ void ScreenOptions::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
this->MenuStart(PLAYER_1);
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
this->ExportOptions();
|
||||
this->GoToPrevState();
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
this->ExportOptions();
|
||||
this->GoToNextState();
|
||||
break;
|
||||
@@ -317,30 +317,30 @@ void ScreenOptions::OnChange()
|
||||
}
|
||||
|
||||
|
||||
void ScreenOptions::MenuBack( const PlayerNumber p )
|
||||
void ScreenOptions::MenuBack( PlayerNumber p )
|
||||
{
|
||||
Screen::MenuBack( p );
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_None, true );
|
||||
|
||||
m_Wipe.CloseWipingLeft( SM_GoToPrevState );
|
||||
m_Wipe.CloseWipingLeft( SM_GoToPrevScreen );
|
||||
}
|
||||
|
||||
|
||||
void ScreenOptions::MenuStart( const PlayerNumber p )
|
||||
void ScreenOptions::MenuStart( PlayerNumber p )
|
||||
{
|
||||
Screen::MenuStart( p );
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_None, false );
|
||||
|
||||
m_SoundNext.PlayRandom();
|
||||
m_Wipe.CloseWipingRight( SM_GoToNextState );
|
||||
m_Wipe.CloseWipingRight( SM_GoToNextScreen );
|
||||
|
||||
m_framePage.BeginTweening( 0.3f, Actor::TWEEN_BIAS_END );
|
||||
m_framePage.SetTweenX( SCREEN_RIGHT );
|
||||
}
|
||||
|
||||
void ScreenOptions::MenuLeft( const PlayerNumber pn )
|
||||
void ScreenOptions::MenuLeft( PlayerNumber pn )
|
||||
{
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
@@ -365,7 +365,7 @@ void ScreenOptions::MenuLeft( const PlayerNumber pn )
|
||||
OnChange();
|
||||
}
|
||||
|
||||
void ScreenOptions::MenuRight( const PlayerNumber pn )
|
||||
void ScreenOptions::MenuRight( PlayerNumber pn )
|
||||
{
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
@@ -390,7 +390,7 @@ void ScreenOptions::MenuRight( const PlayerNumber pn )
|
||||
OnChange();
|
||||
}
|
||||
|
||||
void ScreenOptions::MenuUp( const PlayerNumber pn )
|
||||
void ScreenOptions::MenuUp( PlayerNumber pn )
|
||||
{
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
@@ -413,7 +413,7 @@ void ScreenOptions::MenuUp( const PlayerNumber pn )
|
||||
}
|
||||
|
||||
|
||||
void ScreenOptions::MenuDown( const PlayerNumber pn )
|
||||
void ScreenOptions::MenuDown( PlayerNumber pn )
|
||||
{
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
|
||||
@@ -60,16 +60,16 @@ protected:
|
||||
void TweenHighlight( PlayerNumber player_no );
|
||||
virtual void OnChange();
|
||||
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
|
||||
virtual void GoToNextState() = 0;
|
||||
virtual void GoToPrevState() = 0;
|
||||
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuUp( const PlayerNumber p );
|
||||
void MenuDown( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuUp( PlayerNumber p );
|
||||
void MenuDown( PlayerNumber p );
|
||||
|
||||
InputMode m_InputMode;
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ ScreenPlayerOptions::ScreenPlayerOptions() :
|
||||
NUM_PLAYER_OPTIONS_LINES
|
||||
);
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_PLAYER_OPTIONS_INTRO) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("player options intro") );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ void ScreenPrompt::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenPrompt::MenuLeft( const PlayerNumber p )
|
||||
void ScreenPrompt::MenuLeft( PlayerNumber p )
|
||||
{
|
||||
if( !m_bYesNoPrompt )
|
||||
return;
|
||||
@@ -121,7 +121,7 @@ void ScreenPrompt::MenuLeft( const PlayerNumber p )
|
||||
MenuRight( p );
|
||||
}
|
||||
|
||||
void ScreenPrompt::MenuRight( const PlayerNumber p )
|
||||
void ScreenPrompt::MenuRight( PlayerNumber p )
|
||||
{
|
||||
if( !m_bYesNoPrompt )
|
||||
return;
|
||||
@@ -137,7 +137,7 @@ void ScreenPrompt::MenuRight( const PlayerNumber p )
|
||||
SOUND->PlayOnceStreamed( THEME->GetPathTo("Sounds","edit change line") );
|
||||
}
|
||||
|
||||
void ScreenPrompt::MenuStart( const PlayerNumber p )
|
||||
void ScreenPrompt::MenuStart( PlayerNumber p )
|
||||
{
|
||||
m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight );
|
||||
|
||||
@@ -162,7 +162,7 @@ void ScreenPrompt::MenuStart( const PlayerNumber p )
|
||||
m_pOnNo();
|
||||
}
|
||||
|
||||
void ScreenPrompt::MenuBack( const PlayerNumber p )
|
||||
void ScreenPrompt::MenuBack( PlayerNumber p )
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -29,10 +29,10 @@ public:
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
protected:
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
|
||||
|
||||
TransitionFade m_Fade;
|
||||
|
||||
@@ -65,8 +65,8 @@ float BEST_TIME_Y( int p ) {
|
||||
|
||||
const float TWEEN_TIME = 0.5f;
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2);
|
||||
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ ScreenSelectCourse::ScreenSelectCourse()
|
||||
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
|
||||
m_soundChangeNotes.Load( THEME->GetPathTo("Sounds","select music change notes") );
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_COURSE_INTRO) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select course intro") );
|
||||
|
||||
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select course music") );
|
||||
|
||||
@@ -251,10 +251,10 @@ void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
MenuStart(PLAYER_1);
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
|
||||
// find out if the Next button is being held down on any of the pads
|
||||
bool bIsHoldingNext;
|
||||
@@ -276,7 +276,7 @@ void ScreenSelectCourse::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenSelectCourse::MenuLeft( const PlayerNumber p, const InputEventType type )
|
||||
void ScreenSelectCourse::MenuLeft( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
m_MusicWheel.PrevMusic();
|
||||
|
||||
@@ -284,14 +284,14 @@ void ScreenSelectCourse::MenuLeft( const PlayerNumber p, const InputEventType ty
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectCourse::MenuRight( const PlayerNumber p, const InputEventType type )
|
||||
void ScreenSelectCourse::MenuRight( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
m_MusicWheel.NextMusic();
|
||||
|
||||
AfterCourseChange();
|
||||
}
|
||||
|
||||
void ScreenSelectCourse::MenuStart( const PlayerNumber p )
|
||||
void ScreenSelectCourse::MenuStart( PlayerNumber p )
|
||||
{
|
||||
// this needs to check whether valid Notes are selected!
|
||||
m_MusicWheel.Select();
|
||||
@@ -299,7 +299,7 @@ void ScreenSelectCourse::MenuStart( const PlayerNumber p )
|
||||
switch( m_MusicWheel.GetSelectedType() )
|
||||
{
|
||||
case TYPE_COURSE:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_GENERAL) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select course comment general") );
|
||||
|
||||
TweenOffScreen();
|
||||
|
||||
@@ -327,18 +327,18 @@ void ScreenSelectCourse::MenuStart( const PlayerNumber p )
|
||||
|
||||
m_Menu.StopTimer();
|
||||
|
||||
this->SendScreenMessage( SM_GoToNextState, 2.5f );
|
||||
this->SendScreenMessage( SM_GoToNextScreen, 2.5f );
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectCourse::MenuBack( const PlayerNumber p )
|
||||
void ScreenSelectCourse::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -34,10 +34,10 @@ public:
|
||||
void TweenOnScreen();
|
||||
void TweenOffScreen();
|
||||
|
||||
void MenuLeft( const PlayerNumber p, const InputEventType type );
|
||||
void MenuRight( const PlayerNumber p, const InputEventType type );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p, const InputEventType type );
|
||||
void MenuRight( PlayerNumber p, const InputEventType type );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
|
||||
protected:
|
||||
void AfterCourseChange();
|
||||
|
||||
@@ -117,8 +117,8 @@ float CURSOR_Y( int iItemIndex, int p ) {
|
||||
}
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_StartTweeningOffScreen = ScreenMessage(SM_User + 3);
|
||||
const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 4);
|
||||
|
||||
@@ -214,7 +214,7 @@ ScreenSelectDifficulty::ScreenSelectDifficulty()
|
||||
|
||||
m_bPlayedChallengeSound = false;
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_INTRO) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty intro") );
|
||||
|
||||
m_Menu.TweenOnScreenFromMenu( SM_None );
|
||||
TweenOnScreen();
|
||||
@@ -269,10 +269,10 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM )
|
||||
MenuStart( (PlayerNumber)p );
|
||||
}
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
{
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
switch( m_iSelection[p] )
|
||||
@@ -312,12 +312,12 @@ void ScreenSelectDifficulty::HandleScreenMessage( const ScreenMessage SM )
|
||||
this->SendScreenMessage( SM_StartFadingOut, 0.8f );
|
||||
break;
|
||||
case SM_StartFadingOut:
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenSelectDifficulty::MenuLeft( const PlayerNumber p )
|
||||
void ScreenSelectDifficulty::MenuLeft( PlayerNumber p )
|
||||
{
|
||||
if( m_iSelection[p] == 0 ) // can't go left any more
|
||||
return;
|
||||
@@ -328,7 +328,7 @@ void ScreenSelectDifficulty::MenuLeft( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectDifficulty::MenuRight( const PlayerNumber p )
|
||||
void ScreenSelectDifficulty::MenuRight( PlayerNumber p )
|
||||
{
|
||||
if( m_iSelection[p] == NUM_DIFFICULTY_ITEMS-1 ) // can't go right any more
|
||||
return;
|
||||
@@ -355,7 +355,7 @@ bool ScreenSelectDifficulty::SelectedSomethingOnPage2()
|
||||
return false;
|
||||
}
|
||||
|
||||
void ScreenSelectDifficulty::ChangeTo( const PlayerNumber pn, int iSelectionWas, int iSelectionIs )
|
||||
void ScreenSelectDifficulty::ChangeTo( PlayerNumber pn, int iSelectionWas, int iSelectionIs )
|
||||
{
|
||||
bool bChangedPagesFrom1To2 = iSelectionWas < 3 && iSelectionIs >= 3;
|
||||
bool bChangedPagesFrom2To1 = iSelectionWas >= 3 && iSelectionIs < 3;
|
||||
@@ -385,7 +385,7 @@ void ScreenSelectDifficulty::ChangeTo( const PlayerNumber pn, int iSelectionWas,
|
||||
|
||||
if( !m_bPlayedChallengeSound && bChangedPagesFrom1To2 )
|
||||
{
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_CHALLENGE) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty challenge") );
|
||||
m_bPlayedChallengeSound = true;
|
||||
}
|
||||
|
||||
@@ -423,11 +423,11 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn )
|
||||
|
||||
switch( iSelection )
|
||||
{
|
||||
case 0: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_EASY) ); break;
|
||||
case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_MEDIUM) ); break;
|
||||
case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_HARD) ); break;
|
||||
case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ONI) ); break;
|
||||
case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_DIFFICULTY_COMMENT_ENDLESS) ); break;
|
||||
case 0: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment easy") ); break;
|
||||
case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment medium") ); break;
|
||||
case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment hard") ); break;
|
||||
case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment oni") ); break;
|
||||
case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select difficulty comment endless") ); break;
|
||||
}
|
||||
|
||||
if( iSelection >= 3 ) // chose something on page 2
|
||||
@@ -471,9 +471,9 @@ void ScreenSelectDifficulty::MenuStart( PlayerNumber pn )
|
||||
this->SendScreenMessage( SM_StartTweeningOffScreen, 0.7f );
|
||||
}
|
||||
|
||||
void ScreenSelectDifficulty::MenuBack( const PlayerNumber p )
|
||||
void ScreenSelectDifficulty::MenuBack( PlayerNumber p )
|
||||
{
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
}
|
||||
|
||||
void ScreenSelectDifficulty::TweenOffScreen()
|
||||
|
||||
@@ -31,16 +31,16 @@ public:
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
|
||||
void TweenOffScreen();
|
||||
void TweenOnScreen();
|
||||
|
||||
private:
|
||||
void ChangeTo( const PlayerNumber pn, int iSelectionWas, int iSelectionIs );
|
||||
void ChangeTo( PlayerNumber pn, int iSelectionWas, int iSelectionIs );
|
||||
|
||||
bool IsItemOnPage2( int iItemIndex );
|
||||
bool SelectedSomethingOnPage2(); // checks selection of players
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
#define NEXT_SCREEN_ONI THEME->GetMetric("ScreenSelectGroup","NextScreenOni")
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 3);
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ ScreenSelectGroup::ScreenSelectGroup()
|
||||
m_soundChange.Load( THEME->GetPathTo("Sounds","select group change") );
|
||||
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_INTRO) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select group intro") );
|
||||
|
||||
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select group music") );
|
||||
|
||||
@@ -202,10 +202,10 @@ void ScreenSelectGroup::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
MenuStart(PLAYER_1);
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
switch( GAMESTATE->m_PlayMode )
|
||||
{
|
||||
case PLAY_MODE_ARCADE:
|
||||
@@ -220,7 +220,7 @@ void ScreenSelectGroup::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
break;
|
||||
case SM_StartFadingOut:
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -247,17 +247,17 @@ void ScreenSelectGroup::AfterChange()
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectGroup::MenuLeft( const PlayerNumber p )
|
||||
void ScreenSelectGroup::MenuLeft( PlayerNumber p )
|
||||
{
|
||||
MenuUp( p );
|
||||
}
|
||||
|
||||
void ScreenSelectGroup::MenuRight( const PlayerNumber p )
|
||||
void ScreenSelectGroup::MenuRight( PlayerNumber p )
|
||||
{
|
||||
MenuDown( p );
|
||||
}
|
||||
|
||||
void ScreenSelectGroup::MenuUp( const PlayerNumber p )
|
||||
void ScreenSelectGroup::MenuUp( PlayerNumber p )
|
||||
{
|
||||
if( m_bChosen )
|
||||
return;
|
||||
@@ -270,7 +270,7 @@ void ScreenSelectGroup::MenuUp( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectGroup::MenuDown( const PlayerNumber p )
|
||||
void ScreenSelectGroup::MenuDown( PlayerNumber p )
|
||||
{
|
||||
if( m_bChosen )
|
||||
return;
|
||||
@@ -282,7 +282,7 @@ void ScreenSelectGroup::MenuDown( const PlayerNumber p )
|
||||
m_soundChange.PlayRandom();
|
||||
}
|
||||
|
||||
void ScreenSelectGroup::MenuStart( const PlayerNumber p )
|
||||
void ScreenSelectGroup::MenuStart( PlayerNumber p )
|
||||
{
|
||||
m_soundSelect.PlayRandom();
|
||||
m_bChosen = true;
|
||||
@@ -291,9 +291,9 @@ void ScreenSelectGroup::MenuStart( const PlayerNumber p )
|
||||
GAMESTATE->m_sPreferredGroup = m_GroupList.GetSelectionName();
|
||||
|
||||
if( 0 == stricmp(GAMESTATE->m_sPreferredGroup, "All Music") )
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_COMMENT_ALL_MUSIC) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select group comment all music") );
|
||||
else
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_GROUP_COMMENT_GENERAL) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select group comment general") );
|
||||
|
||||
|
||||
TweenOffScreen();
|
||||
@@ -302,9 +302,9 @@ void ScreenSelectGroup::MenuStart( const PlayerNumber p )
|
||||
this->SendScreenMessage( SM_StartFadingOut, 0.8f );
|
||||
}
|
||||
|
||||
void ScreenSelectGroup::MenuBack( const PlayerNumber p )
|
||||
void ScreenSelectGroup::MenuBack( PlayerNumber p )
|
||||
{
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
}
|
||||
|
||||
void ScreenSelectGroup::TweenOffScreen()
|
||||
|
||||
@@ -30,12 +30,12 @@ public:
|
||||
|
||||
void AfterChange();
|
||||
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuUp( const PlayerNumber p );
|
||||
void MenuDown( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuUp( PlayerNumber p );
|
||||
void MenuDown( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
|
||||
void TweenOffScreen();
|
||||
void TweenOnScreen();
|
||||
|
||||
@@ -124,8 +124,8 @@ float PLAYER_OPTIONS_Y( int p ) {
|
||||
}
|
||||
}
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User+2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2);
|
||||
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ ScreenSelectMusic::ScreenSelectMusic()
|
||||
m_soundChangeNotes.Load( THEME->GetPathTo("Sounds","select music change notes") );
|
||||
m_soundLocked.Load( THEME->GetPathTo("Sounds","select music wheel locked") );
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_INTRO) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music intro") );
|
||||
|
||||
m_bMadeChoice = false;
|
||||
m_bGoToOptions = false;
|
||||
@@ -505,7 +505,7 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, const InputEventType
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectMusic::EasierDifficulty( const PlayerNumber p )
|
||||
void ScreenSelectMusic::EasierDifficulty( PlayerNumber p )
|
||||
{
|
||||
LOG->Trace( "ScreenSelectMusic::EasierDifficulty( %d )", p );
|
||||
|
||||
@@ -525,7 +525,7 @@ void ScreenSelectMusic::EasierDifficulty( const PlayerNumber p )
|
||||
AfterNotesChange( p );
|
||||
}
|
||||
|
||||
void ScreenSelectMusic::HarderDifficulty( const PlayerNumber p )
|
||||
void ScreenSelectMusic::HarderDifficulty( PlayerNumber p )
|
||||
{
|
||||
LOG->Trace( "ScreenSelectMusic::HarderDifficulty( %d )", p );
|
||||
|
||||
@@ -568,10 +568,10 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM )
|
||||
MenuStart(PLAYER_INVALID);
|
||||
}
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
if( m_bGoToOptions )
|
||||
{
|
||||
SCREENMAN->SetNewScreen( "ScreenPlayerOptions" );
|
||||
@@ -594,7 +594,7 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenSelectMusic::MenuLeft( const PlayerNumber p, const InputEventType type )
|
||||
void ScreenSelectMusic::MenuLeft( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
if( type >= IET_SLOW_REPEAT && INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_RIGHT) ) )
|
||||
return; // ignore
|
||||
@@ -606,7 +606,7 @@ void ScreenSelectMusic::MenuLeft( const PlayerNumber p, const InputEventType typ
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectMusic::MenuRight( const PlayerNumber p, const InputEventType type )
|
||||
void ScreenSelectMusic::MenuRight( PlayerNumber p, const InputEventType type )
|
||||
{
|
||||
if( type >= IET_SLOW_REPEAT && INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_LEFT) ) )
|
||||
return; // ignore
|
||||
@@ -617,7 +617,7 @@ void ScreenSelectMusic::MenuRight( const PlayerNumber p, const InputEventType ty
|
||||
m_MusicWheel.NextMusic();
|
||||
}
|
||||
|
||||
void ScreenSelectMusic::MenuStart( const PlayerNumber p )
|
||||
void ScreenSelectMusic::MenuStart( PlayerNumber p )
|
||||
{
|
||||
if( p != PLAYER_INVALID &&
|
||||
INPUTMAPPER->IsButtonDown( MenuInput(p, MENU_BUTTON_LEFT) ) &&
|
||||
@@ -674,11 +674,11 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p )
|
||||
}
|
||||
|
||||
if( bIsNew )
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_NEW) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music comment new") );
|
||||
else if( bIsHard )
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_HARD) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music comment hard") );
|
||||
else
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_MUSIC_COMMENT_GENERAL) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select music comment general") );
|
||||
|
||||
|
||||
TweenOffScreen();
|
||||
@@ -704,7 +704,7 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p )
|
||||
|
||||
m_Menu.StopTimer();
|
||||
|
||||
this->SendScreenMessage( SM_GoToNextState, 2.5f );
|
||||
this->SendScreenMessage( SM_GoToNextScreen, 2.5f );
|
||||
}
|
||||
break;
|
||||
case TYPE_SECTION:
|
||||
@@ -719,14 +719,14 @@ void ScreenSelectMusic::MenuStart( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectMusic::MenuBack( const PlayerNumber p )
|
||||
void ScreenSelectMusic::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
}
|
||||
|
||||
void ScreenSelectMusic::AfterNotesChange( const PlayerNumber p )
|
||||
void ScreenSelectMusic::AfterNotesChange( PlayerNumber p )
|
||||
{
|
||||
if( !GAMESTATE->IsPlayerEnabled(p) )
|
||||
return;
|
||||
|
||||
@@ -39,16 +39,16 @@ public:
|
||||
void TweenOnScreen();
|
||||
void TweenOffScreen();
|
||||
|
||||
void MenuLeft( const PlayerNumber p, const InputEventType type );
|
||||
void MenuRight( const PlayerNumber p, const InputEventType type );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p, const InputEventType type );
|
||||
void MenuRight( PlayerNumber p, const InputEventType type );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
|
||||
protected:
|
||||
void EasierDifficulty( const PlayerNumber p );
|
||||
void HarderDifficulty( const PlayerNumber p );
|
||||
void EasierDifficulty( PlayerNumber p );
|
||||
void HarderDifficulty( PlayerNumber p );
|
||||
|
||||
void AfterNotesChange( const PlayerNumber p );
|
||||
void AfterNotesChange( PlayerNumber p );
|
||||
void AfterMusicChange();
|
||||
void PlayMusicSample();
|
||||
void SortOrderChanged();
|
||||
|
||||
@@ -38,8 +38,8 @@
|
||||
#define NEXT_SCREEN THEME->GetMetric("ScreenSelectStyle","NextScreen")
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
|
||||
|
||||
ScreenSelectStyle::ScreenSelectStyle()
|
||||
@@ -96,7 +96,7 @@ ScreenSelectStyle::ScreenSelectStyle()
|
||||
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
|
||||
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_SELECT_STYLE_INTRO) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style intro") );
|
||||
|
||||
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select style music") );
|
||||
|
||||
@@ -137,11 +137,11 @@ void ScreenSelectStyle::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
MenuStart(PLAYER_INVALID);
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
MUSIC->Stop();
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( NEXT_SCREEN );
|
||||
break;
|
||||
}
|
||||
@@ -185,7 +185,7 @@ void ScreenSelectStyle::AfterChange()
|
||||
m_sprInfo.SetTweenZoomY( 1 );
|
||||
}
|
||||
|
||||
void ScreenSelectStyle::MenuLeft( const PlayerNumber p )
|
||||
void ScreenSelectStyle::MenuLeft( PlayerNumber p )
|
||||
{
|
||||
// search for a style to the left of the current selection that is enabled
|
||||
int iSwitchToStyleIndex = -1; // -1 means none found
|
||||
@@ -208,7 +208,7 @@ void ScreenSelectStyle::MenuLeft( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectStyle::MenuRight( const PlayerNumber p )
|
||||
void ScreenSelectStyle::MenuRight( PlayerNumber p )
|
||||
{
|
||||
// search for a style to the right of the current selection that is enabled
|
||||
int iSwitchToStyleIndex = -1; // -1 means none found
|
||||
@@ -230,7 +230,7 @@ void ScreenSelectStyle::MenuRight( const PlayerNumber p )
|
||||
AfterChange();
|
||||
}
|
||||
|
||||
void ScreenSelectStyle::MenuStart( const PlayerNumber p )
|
||||
void ScreenSelectStyle::MenuStart( PlayerNumber p )
|
||||
{
|
||||
if( p!=PLAYER_INVALID && !GAMESTATE->m_bSideIsJoined[p] )
|
||||
{
|
||||
@@ -243,23 +243,14 @@ void ScreenSelectStyle::MenuStart( const PlayerNumber p )
|
||||
|
||||
GAMESTATE->m_CurStyle = GetSelectedStyle();
|
||||
|
||||
AnnouncerElement ae;
|
||||
switch( GAMESTATE->m_CurStyle )
|
||||
{
|
||||
case STYLE_PUMP_SINGLE:
|
||||
case STYLE_DANCE_SINGLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE; break;
|
||||
case STYLE_PUMP_VERSUS:
|
||||
case STYLE_DANCE_VERSUS: ae = ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS; break;
|
||||
case STYLE_PUMP_DOUBLE:
|
||||
case STYLE_DANCE_DOUBLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_DOUBLE; break;
|
||||
case STYLE_PUMP_COUPLE:
|
||||
case STYLE_DANCE_COUPLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_COUPLE; break;
|
||||
case STYLE_DANCE_SOLO: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SOLO; break;
|
||||
default: ASSERT(0); break; // invalid Style
|
||||
}
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ae) );
|
||||
CString sCurStyleName = GAMESTATE->GetCurrentStyleDef()->m_szName;
|
||||
if( 0==stricmp(sCurStyleName,"single") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment single") );
|
||||
else if( 0==stricmp(sCurStyleName,"versus") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment versus") );
|
||||
else if( 0==stricmp(sCurStyleName,"double") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment double") );
|
||||
else if( 0==stricmp(sCurStyleName,"couple") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment couple") );
|
||||
else if( 0==stricmp(sCurStyleName,"solo") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment solo") );
|
||||
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
|
||||
m_soundSelect.PlayRandom();
|
||||
|
||||
@@ -268,13 +259,13 @@ void ScreenSelectStyle::MenuStart( const PlayerNumber p )
|
||||
TweenOffScreen();
|
||||
}
|
||||
|
||||
void ScreenSelectStyle::MenuBack( const PlayerNumber p )
|
||||
void ScreenSelectStyle::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
|
||||
// m_Fade.CloseWipingLeft( SM_GoToPrevState );
|
||||
// m_Fade.CloseWipingLeft( SM_GoToPrevScreen );
|
||||
|
||||
// TweenOffScreen();
|
||||
}
|
||||
|
||||
@@ -29,10 +29,10 @@ public:
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void TweenOffScreen();
|
||||
void TweenOnScreen();
|
||||
|
||||
|
||||
@@ -26,14 +26,13 @@
|
||||
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectStyle5th","TimerSeconds")
|
||||
#define NEXT_SCREEN THEME->GetMetric("ScreenSelectStyle5th","NextScreen")
|
||||
|
||||
const CString DANCE_STYLES[] = {
|
||||
const CString DANCE_STYLES[NUM_DANCE_STYLES] = {
|
||||
"single",
|
||||
"versus",
|
||||
"double",
|
||||
"couple",
|
||||
"solo",
|
||||
};
|
||||
const int NUM_DANCE_STYLES = sizeof(DANCE_STYLES)/sizeof(CString);
|
||||
|
||||
const float PAD_X[NUM_STYLE_PADS] = {
|
||||
CENTER_X-250,
|
||||
@@ -107,8 +106,8 @@ const D3DXCOLOR COLOR_P1_NOT_SELECTED = COLOR_P1_SELECTED*0.5f + D3DXCOLOR(0,0,0
|
||||
const D3DXCOLOR COLOR_P2_NOT_SELECTED = COLOR_P2_SELECTED*0.5f + D3DXCOLOR(0,0,0,0.5f);
|
||||
|
||||
|
||||
const ScreenMessage SM_GoToPrevState = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_UpdateAnimations = ScreenMessage(SM_User + 3);
|
||||
const ScreenMessage SM_TweenExplanation2 = ScreenMessage(SM_User + 4);
|
||||
|
||||
@@ -175,7 +174,7 @@ 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) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style intro") );
|
||||
|
||||
MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select style music") );
|
||||
|
||||
@@ -217,11 +216,11 @@ void ScreenSelectStyle5th::HandleScreenMessage( const ScreenMessage SM )
|
||||
case SM_MenuTimer:
|
||||
MenuStart(PLAYER_1);
|
||||
break;
|
||||
case SM_GoToPrevState:
|
||||
case SM_GoToPrevScreen:
|
||||
MUSIC->Stop();
|
||||
SCREENMAN->SetNewScreen( "ScreenTitleMenu" );
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenSelectDifficulty" );
|
||||
break;
|
||||
case SM_TweenExplanation2:
|
||||
@@ -243,7 +242,7 @@ void ScreenSelectStyle5th::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenSelectStyle5th::MenuLeft( const PlayerNumber p )
|
||||
void ScreenSelectStyle5th::MenuLeft( PlayerNumber p )
|
||||
{
|
||||
if( m_iSelection == 0 ) // can't go left any further
|
||||
return;
|
||||
@@ -256,7 +255,7 @@ void ScreenSelectStyle5th::MenuLeft( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenSelectStyle5th::MenuRight( const PlayerNumber p )
|
||||
void ScreenSelectStyle5th::MenuRight( PlayerNumber p )
|
||||
{
|
||||
if( m_iSelection == NUM_DANCE_STYLES-1 ) // can't go right any further
|
||||
return;
|
||||
@@ -268,37 +267,30 @@ void ScreenSelectStyle5th::MenuRight( const PlayerNumber p )
|
||||
AfterChange();
|
||||
}
|
||||
|
||||
void ScreenSelectStyle5th::MenuStart( const PlayerNumber p )
|
||||
void ScreenSelectStyle5th::MenuStart( PlayerNumber p )
|
||||
{
|
||||
GAMESTATE->m_CurStyle = Style( m_iSelection );
|
||||
GAMESTATE->m_MasterPlayerNumber = p;
|
||||
|
||||
AnnouncerElement ae;
|
||||
switch( GAMESTATE->m_CurStyle )
|
||||
{
|
||||
case STYLE_DANCE_SINGLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE; break;
|
||||
case STYLE_DANCE_VERSUS: ae = ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS; break;
|
||||
case STYLE_DANCE_DOUBLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_DOUBLE; break;
|
||||
case STYLE_DANCE_COUPLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_COUPLE; break;
|
||||
case STYLE_DANCE_SOLO: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SOLO; break;
|
||||
case STYLE_PUMP_SINGLE: ae = ANNOUNCER_SELECT_STYLE_COMMENT_SINGLE; break;
|
||||
case STYLE_PUMP_VERSUS: ae = ANNOUNCER_SELECT_STYLE_COMMENT_VERSUS; break;
|
||||
default: ASSERT(0); break; // invalid Style
|
||||
}
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ae) );
|
||||
CString sCurStyleName = GAMESTATE->GetCurrentStyleDef()->m_szName;
|
||||
if( 0==stricmp(sCurStyleName,"single") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment single") );
|
||||
else if( 0==stricmp(sCurStyleName,"versus") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment versus") );
|
||||
else if( 0==stricmp(sCurStyleName,"double") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment double") );
|
||||
else if( 0==stricmp(sCurStyleName,"couple") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment couple") );
|
||||
else if( 0==stricmp(sCurStyleName,"solo") ) SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("select style comment solo") );
|
||||
|
||||
this->ClearMessageQueue();
|
||||
|
||||
TweenOffScreen();
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextState );
|
||||
m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen );
|
||||
m_soundSelect.PlayRandom();
|
||||
}
|
||||
|
||||
void ScreenSelectStyle5th::MenuBack( const PlayerNumber p )
|
||||
void ScreenSelectStyle5th::MenuBack( PlayerNumber p )
|
||||
{
|
||||
MUSIC->Stop();
|
||||
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevState, true );
|
||||
m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true );
|
||||
}
|
||||
|
||||
void ScreenSelectStyle5th::BeforeChange()
|
||||
|
||||
@@ -37,10 +37,10 @@ public:
|
||||
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
void MenuLeft( const PlayerNumber p );
|
||||
void MenuRight( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuLeft( PlayerNumber p );
|
||||
void MenuRight( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void TweenOffScreen();
|
||||
void TweenOnScreen();
|
||||
|
||||
|
||||
@@ -34,9 +34,12 @@ enum StageType // for use with the metric above
|
||||
STAGE_TYPE_EZ2
|
||||
};
|
||||
|
||||
StageType g_StageType; // cache for STAGE_TYPE because it's slow to look up
|
||||
|
||||
|
||||
const ScreenMessage SM_StartFadingOut = ScreenMessage(SM_User + 1);
|
||||
const ScreenMessage SM_DoneFadingIn = ScreenMessage(SM_User + 2);
|
||||
const ScreenMessage SM_GoToNextState = ScreenMessage(SM_User + 3);
|
||||
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User + 3);
|
||||
|
||||
|
||||
enum StageMode
|
||||
@@ -51,8 +54,13 @@ enum StageMode
|
||||
|
||||
ScreenStage::ScreenStage()
|
||||
{
|
||||
g_StageType = (StageType)STAGE_TYPE;
|
||||
|
||||
MUSIC->Stop();
|
||||
|
||||
//
|
||||
// Init common graphics
|
||||
//
|
||||
for( int i=0; i<4; i++ )
|
||||
{
|
||||
m_sprNumbers[i].Load( THEME->GetPathTo("Graphics","stage numbers") );
|
||||
@@ -81,6 +89,9 @@ ScreenStage::ScreenStage()
|
||||
else stage_mode = MODE_NORMAL;
|
||||
|
||||
|
||||
//
|
||||
// Play announcer
|
||||
//
|
||||
switch( stage_mode )
|
||||
{
|
||||
case MODE_NORMAL:
|
||||
@@ -88,41 +99,37 @@ ScreenStage::ScreenStage()
|
||||
const int iStageNo = GAMESTATE->GetStageIndex()+1;
|
||||
switch( iStageNo )
|
||||
{
|
||||
case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_1) ); break;
|
||||
case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_2) ); break;
|
||||
case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_3) ); break;
|
||||
case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_4) ); break;
|
||||
case 5: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_5) ); break;
|
||||
case 1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 1") ); break;
|
||||
case 2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 2") ); break;
|
||||
case 3: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 3") ); break;
|
||||
case 4: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 4") ); break;
|
||||
case 5: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage 5") ); break;
|
||||
default: ; break; // play nothing
|
||||
}
|
||||
}
|
||||
break;
|
||||
case MODE_FINAL:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_FINAL) );
|
||||
break;
|
||||
case MODE_EXTRA1:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_EXTRA1) );
|
||||
break;
|
||||
case MODE_EXTRA2:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_EXTRA2) );
|
||||
break;
|
||||
case MODE_ONI:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_ONI) );
|
||||
break;
|
||||
case MODE_ENDLESS:
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_STAGE_ENDLESS) );
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
case MODE_FINAL: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage final") ); break;
|
||||
case MODE_EXTRA1: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage extra1") ); break;
|
||||
case MODE_EXTRA2: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage extra2") ); break;
|
||||
case MODE_ONI: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage oni") ); break;
|
||||
case MODE_ENDLESS: SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("stage endless") ); break;
|
||||
default: ASSERT(0);
|
||||
}
|
||||
|
||||
|
||||
// Andy -
|
||||
// Is all this stuff only supposed to be initializing in MODE_NORMAL?
|
||||
// The final stage screens look goofy in TYPE_PUMP and TYPE_EZ2 because of this.
|
||||
// I'm going to make changes, but feel free to correct anything I good up.
|
||||
// - Chris
|
||||
|
||||
int ez2Final=0; // if we're 0 it's not a final stage. if we're 1 it is.
|
||||
// why do this? Ez2dancer uses NORMAL for it's final stage but just re-arranges
|
||||
// the elements. so the following takes us into NORMAL and just re-arranges stuff
|
||||
// the ez2Final is so that when we're in normal we can go and see if we're really
|
||||
// FINAL or not. at the end of normal, if we WERE FINAL, we set it back to final
|
||||
// hacky or what? =)
|
||||
if( STAGE_TYPE == STAGE_TYPE_EZ2 && stage_mode == MODE_FINAL )
|
||||
if( g_StageType == STAGE_TYPE_EZ2 && stage_mode == MODE_FINAL )
|
||||
{
|
||||
for( int i=0; i<4; i++ )
|
||||
{
|
||||
@@ -183,7 +190,7 @@ ScreenStage::ScreenStage()
|
||||
// EZ2 TYPE DEFINITION //
|
||||
/////////////////////////
|
||||
|
||||
if ( STAGE_TYPE == STAGE_TYPE_EZ2) // Initialize and manipulate existing graphics for Ez2dancer Screen Type
|
||||
if ( g_StageType == STAGE_TYPE_EZ2) // Initialize and manipulate existing graphics for Ez2dancer Screen Type
|
||||
{
|
||||
for( i=0; i<iNumChars; i++ )
|
||||
{
|
||||
@@ -467,7 +474,6 @@ void ScreenStage::Update( float fDeltaTime )
|
||||
{
|
||||
Screen::Update( fDeltaTime );
|
||||
|
||||
|
||||
m_quadMask.Update( fDeltaTime );
|
||||
m_frameStage.Update( fDeltaTime );
|
||||
m_Fade.Update( fDeltaTime );
|
||||
@@ -476,18 +482,25 @@ void ScreenStage::Update( float fDeltaTime )
|
||||
|
||||
void ScreenStage::DrawPrimitives()
|
||||
{
|
||||
DISPLAY->EnableZBuffer();
|
||||
|
||||
if ( STAGE_TYPE == STAGE_TYPE_MAX) // only DANCE uses the Z mask
|
||||
switch( g_StageType )
|
||||
{
|
||||
case STAGE_TYPE_MAX:
|
||||
DISPLAY->EnableZBuffer();
|
||||
m_quadMask.Draw();
|
||||
m_frameStage.Draw();
|
||||
|
||||
DISPLAY->DisableZBuffer();
|
||||
|
||||
m_Fade.Draw();
|
||||
|
||||
if ( STAGE_TYPE == STAGE_TYPE_PUMP) // only PUMP uses the song background on the stage screen
|
||||
m_frameStage.Draw();
|
||||
DISPLAY->DisableZBuffer();
|
||||
break;
|
||||
case STAGE_TYPE_PUMP:
|
||||
m_sprSongBackground.Draw();
|
||||
break;
|
||||
case STAGE_TYPE_EZ2:
|
||||
m_sprSongBackground.Draw();
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
|
||||
m_Fade.Draw();
|
||||
}
|
||||
|
||||
void ScreenStage::HandleScreenMessage( const ScreenMessage SM )
|
||||
@@ -495,11 +508,11 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM )
|
||||
switch( SM )
|
||||
{
|
||||
case SM_StartFadingOut:
|
||||
m_Fade.CloseWipingRight( SM_GoToNextState );
|
||||
m_Fade.CloseWipingRight( SM_GoToNextScreen );
|
||||
break;
|
||||
case SM_DoneFadingIn:
|
||||
break;
|
||||
case SM_GoToNextState:
|
||||
case SM_GoToNextScreen:
|
||||
SCREENMAN->SetNewScreen( "ScreenGameplay" );
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -120,15 +120,15 @@ void ScreenTextEntry::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenTextEntry::MenuLeft( const PlayerNumber p )
|
||||
void ScreenTextEntry::MenuLeft( PlayerNumber p )
|
||||
{
|
||||
}
|
||||
|
||||
void ScreenTextEntry::MenuRight( const PlayerNumber p )
|
||||
void ScreenTextEntry::MenuRight( PlayerNumber p )
|
||||
{
|
||||
}
|
||||
|
||||
void ScreenTextEntry::MenuStart( const PlayerNumber p )
|
||||
void ScreenTextEntry::MenuStart( PlayerNumber p )
|
||||
{
|
||||
m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight );
|
||||
|
||||
@@ -153,7 +153,7 @@ void ScreenTextEntry::MenuStart( const PlayerNumber p )
|
||||
m_pOnOK( m_sAnswer );
|
||||
}
|
||||
|
||||
void ScreenTextEntry::MenuBack( const PlayerNumber p )
|
||||
void ScreenTextEntry::MenuBack( PlayerNumber p )
|
||||
{
|
||||
m_bCancelled = true;
|
||||
MenuStart(p);
|
||||
|
||||
@@ -30,10 +30,10 @@ public:
|
||||
virtual void HandleScreenMessage( const ScreenMessage SM );
|
||||
|
||||
protected:
|
||||
virtual void MenuLeft( const PlayerNumber p );
|
||||
virtual void MenuRight( const PlayerNumber p );
|
||||
virtual void MenuStart( const PlayerNumber p );
|
||||
virtual void MenuBack( const PlayerNumber p );
|
||||
virtual void MenuLeft( PlayerNumber p );
|
||||
virtual void MenuRight( PlayerNumber p );
|
||||
virtual void MenuStart( PlayerNumber p );
|
||||
virtual void MenuBack( PlayerNumber p );
|
||||
|
||||
TransitionFade m_Fade;
|
||||
BitmapText m_textQuestion;
|
||||
|
||||
@@ -150,10 +150,10 @@ ScreenTitleMenu::ScreenTitleMenu()
|
||||
this->AddSubActor( &m_Fade );
|
||||
|
||||
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo(ANNOUNCER_TITLE_MENU_GAME_NAME) );
|
||||
SOUND->PlayOnceStreamedFromDir( ANNOUNCER->GetPathTo("title menu game name") );
|
||||
|
||||
|
||||
m_soundAttract.Load( ANNOUNCER->GetPathTo(ANNOUNCER_TITLE_MENU_ATTRACT) );
|
||||
m_soundAttract.Load( ANNOUNCER->GetPathTo("title menu attract") );
|
||||
m_soundChange.Load( THEME->GetPathTo("Sounds","title menu change") );
|
||||
m_soundSelect.Load( THEME->GetPathTo("Sounds","menu start") );
|
||||
m_soundInvalid.Load( THEME->GetPathTo("Sounds","menu invalid") );
|
||||
@@ -302,7 +302,7 @@ void ScreenTitleMenu::GainFocus( int iChoiceIndex )
|
||||
m_textChoice[iChoiceIndex].SetEffectCamelion( 2.5f, color1, color2 );
|
||||
}
|
||||
|
||||
void ScreenTitleMenu::MenuUp( const PlayerNumber p )
|
||||
void ScreenTitleMenu::MenuUp( PlayerNumber p )
|
||||
{
|
||||
LoseFocus( m_TitleMenuChoice );
|
||||
|
||||
@@ -315,7 +315,7 @@ void ScreenTitleMenu::MenuUp( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenTitleMenu::MenuDown( const PlayerNumber p )
|
||||
void ScreenTitleMenu::MenuDown( PlayerNumber p )
|
||||
{
|
||||
LoseFocus( m_TitleMenuChoice );
|
||||
|
||||
@@ -328,7 +328,7 @@ void ScreenTitleMenu::MenuDown( const PlayerNumber p )
|
||||
}
|
||||
|
||||
|
||||
void ScreenTitleMenu::MenuStart( const PlayerNumber p )
|
||||
void ScreenTitleMenu::MenuStart( PlayerNumber p )
|
||||
{
|
||||
GAMESTATE->m_bSideIsJoined[p] = true;
|
||||
GAMESTATE->m_MasterPlayerNumber = p;
|
||||
@@ -380,7 +380,7 @@ void ScreenTitleMenu::MenuStart( const PlayerNumber p )
|
||||
}
|
||||
}
|
||||
|
||||
void ScreenTitleMenu::MenuBack( const PlayerNumber p )
|
||||
void ScreenTitleMenu::MenuBack( PlayerNumber p )
|
||||
{
|
||||
this->SendScreenMessage( SM_FadeToDemonstration, 0 );
|
||||
}
|
||||
|
||||
@@ -42,10 +42,10 @@ public:
|
||||
private:
|
||||
void GainFocus( int iChoiceIndex );
|
||||
void LoseFocus( int iChoiceIndex );
|
||||
void MenuUp( const PlayerNumber p );
|
||||
void MenuDown( const PlayerNumber p );
|
||||
void MenuBack( const PlayerNumber p );
|
||||
void MenuStart( const PlayerNumber p );
|
||||
void MenuUp( PlayerNumber p );
|
||||
void MenuDown( PlayerNumber p );
|
||||
void MenuBack( PlayerNumber p );
|
||||
void MenuStart( PlayerNumber p );
|
||||
|
||||
TitleMenuChoice m_TitleMenuChoice;
|
||||
|
||||
|
||||
@@ -25,20 +25,33 @@ SongManager* SONGMAN = NULL; // global and accessable from anywhere in our progr
|
||||
|
||||
const CString g_sStatisticsFileName = "statistics.ini";
|
||||
|
||||
D3DXCOLOR GROUP_COLORS[] = {
|
||||
// D3DXCOLOR( 0.9f, 0.0f, 0.2f, 1 ), // red
|
||||
D3DXCOLOR( 0.8f, 0.1f, 0.6f, 1 ), // pink
|
||||
D3DXCOLOR( 0.5f, 0.3f, 0.7f, 1 ), // purple
|
||||
D3DXCOLOR( 0.0f, 0.4f, 0.8f, 1 ), // sky blue
|
||||
D3DXCOLOR( 0.0f, 0.6f, 0.6f, 1 ), // sea green
|
||||
D3DXCOLOR( 0.1f, 0.7f, 0.3f, 1 ), // green
|
||||
D3DXCOLOR( 0.8f, 0.6f, 0.0f, 1 ), // orange
|
||||
};
|
||||
const int NUM_GROUP_COLORS = sizeof(GROUP_COLORS) / sizeof(D3DXCOLOR);
|
||||
#define GROUP_COLOR_1 THEME->GetMetricC("SongManager","GroupColor1")
|
||||
#define GROUP_COLOR_2 THEME->GetMetricC("SongManager","GroupColor2")
|
||||
#define GROUP_COLOR_3 THEME->GetMetricC("SongManager","GroupColor3")
|
||||
#define GROUP_COLOR_4 THEME->GetMetricC("SongManager","GroupColor4")
|
||||
#define GROUP_COLOR_5 THEME->GetMetricC("SongManager","GroupColor5")
|
||||
#define GROUP_COLOR_6 THEME->GetMetricC("SongManager","GroupColor6")
|
||||
#define GROUP_COLOR_7 THEME->GetMetricC("SongManager","GroupColor7")
|
||||
#define EXTRA_COLOR THEME->GetMetricC("SongManager","GroupColor7")
|
||||
|
||||
const int NUM_GROUP_COLORS = 7;
|
||||
D3DXCOLOR GROUP_COLORS[NUM_GROUP_COLORS];
|
||||
|
||||
D3DXCOLOR g_ExtraColor;
|
||||
|
||||
|
||||
SongManager::SongManager( void(*callback)() )
|
||||
{
|
||||
// Loading these theme metrics is slow, so only do it ever 20th time.
|
||||
GROUP_COLORS[0] = GROUP_COLOR_1;
|
||||
GROUP_COLORS[1] = GROUP_COLOR_2;
|
||||
GROUP_COLORS[2] = GROUP_COLOR_3;
|
||||
GROUP_COLORS[3] = GROUP_COLOR_4;
|
||||
GROUP_COLORS[4] = GROUP_COLOR_5;
|
||||
GROUP_COLORS[5] = GROUP_COLOR_6;
|
||||
GROUP_COLORS[6] = GROUP_COLOR_7;
|
||||
g_ExtraColor = EXTRA_COLOR;
|
||||
|
||||
InitSongArrayFromDisk( callback );
|
||||
ReadStatisticsFromDisk();
|
||||
|
||||
@@ -363,6 +376,20 @@ D3DXCOLOR SongManager::GetGroupColor( const CString &sGroupName )
|
||||
return GROUP_COLORS[i%NUM_GROUP_COLORS];
|
||||
}
|
||||
|
||||
D3DXCOLOR SongManager::GetSongColor( Song* pSong )
|
||||
{
|
||||
ASSERT( pSong );
|
||||
for( int i=0; i<pSong->m_apNotes.GetSize(); i++ )
|
||||
{
|
||||
Notes* pNotes = pSong->m_apNotes[i];
|
||||
if( pNotes->m_iMeter == 10 )
|
||||
return EXTRA_COLOR;
|
||||
}
|
||||
|
||||
return GetGroupColor( pSong->m_sGroupName );
|
||||
}
|
||||
|
||||
|
||||
void SongManager::GetSongsInGroup( const CString sGroupName, CArray<Song*, Song*> &AddTo )
|
||||
{
|
||||
for( int i=0; i<m_pSongs.GetSize(); i++ )
|
||||
|
||||
@@ -37,6 +37,7 @@ public:
|
||||
CString GetGroupBannerPath( CString sGroupName );
|
||||
void GetGroupNames( CStringArray &AddTo );
|
||||
D3DXCOLOR GetGroupColor( const CString &sGroupName );
|
||||
D3DXCOLOR GetSongColor( Song* pSong );
|
||||
|
||||
static CString ShortenGroupName( const CString &sOrigGroupName );
|
||||
|
||||
|
||||
@@ -32,3 +32,23 @@ enum Style
|
||||
STYLE_NONE,
|
||||
STYLE_PUMP_COUPLE,
|
||||
};
|
||||
|
||||
const int NUM_DANCE_STYLES = 6;
|
||||
const int NUM_PUMP_STYLES = 3;
|
||||
const int NUM_EZ2_STYLES = 7;
|
||||
|
||||
|
||||
// Ugh. This is needed for the style icon.
|
||||
// TODO: Find a more elegant way to handle this
|
||||
inline int GetStyleIndexRelativeToGame( int iGameIndex, Style style )
|
||||
{
|
||||
int iStyleIndex = style;
|
||||
switch( iGameIndex )
|
||||
{
|
||||
case 0: break; // dance
|
||||
case 1: iStyleIndex -= NUM_DANCE_STYLES; break; // pump
|
||||
case 2: iStyleIndex -= NUM_DANCE_STYLES+NUM_PUMP_STYLES; break; // ez2
|
||||
default: ASSERT(0); // invalid game index
|
||||
}
|
||||
return iStyleIndex;
|
||||
}
|
||||
@@ -87,13 +87,6 @@ bool ThemeManager::DoesThemeExist( CString sThemeName )
|
||||
return false;
|
||||
}
|
||||
|
||||
void ThemeManager::AssertThemeIsComplete( CString sThemeName )
|
||||
{
|
||||
// GetPathTo will assert if it can't find the file in the current theme dir or in the default dir.
|
||||
for( int e=0; e<NUM_THEME_ELEMENTS; e++ )
|
||||
GetPathTo( (ThemeElement)e, sThemeName );
|
||||
}
|
||||
|
||||
void ThemeManager::SwitchTheme( CString sThemeName )
|
||||
{
|
||||
if( 0==stricmp(BASE_THEME_NAME, sThemeName) )
|
||||
@@ -120,276 +113,6 @@ CString ThemeManager::GetThemeDirFromName( CString sThemeName )
|
||||
return THEMES_DIR + sThemeName + "\\";
|
||||
}
|
||||
|
||||
CString ThemeManager::GetPathTo( ThemeElement te )
|
||||
{
|
||||
return GetPathTo( te, m_sCurThemeName );
|
||||
}
|
||||
|
||||
CString ThemeManager::GetPathTo( ThemeElement te, CString sThemeName ) // deprecated
|
||||
{
|
||||
return "";
|
||||
}
|
||||
/*
|
||||
CString ThemeManager::GetPathTo( ThemeElement te, CString sThemeName )
|
||||
{
|
||||
CString sAssetCategory+"\\"+sFileName; // fill this in below
|
||||
|
||||
switch( te )
|
||||
{
|
||||
case GRAPHIC_ALL_MUSIC_BANNER: sAssetCategory+"\\"+sFileName = "Graphics\\all music banner"; break;
|
||||
case GRAPHIC_ARROWS_LEFT: sAssetCategory+"\\"+sFileName = "Graphics\\arrows left 1x4"; break;
|
||||
case GRAPHIC_ARROWS_RIGHT: sAssetCategory+"\\"+sFileName = "Graphics\\arrows right 1x4"; break;
|
||||
case GRAPHIC_CAUTION: sAssetCategory+"\\"+sFileName = "Graphics\\Caution"; break;
|
||||
case GRAPHIC_EDIT_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\edit background"; break;
|
||||
case GRAPHIC_EDIT_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\edit top edge"; break;
|
||||
case GRAPHIC_EDIT_SNAP_INDICATOR: sAssetCategory+"\\"+sFileName = "Graphics\\edit snap indicator"; break;
|
||||
case GRAPHIC_FALLBACK_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\Fallback Background"; break;
|
||||
case "Graphics","fallback banner": sAssetCategory+"\\"+sFileName = "Graphics\\Fallback Banner"; break;
|
||||
case "Graphics","fallback cd title": sAssetCategory+"\\"+sFileName = "Graphics\\Fallback CD Title"; break;
|
||||
case GRAPHIC_OPTIONS_CURSOR: sAssetCategory+"\\"+sFileName = "Graphics\\options cursor"; break;
|
||||
case GRAPHIC_OPTIONS_UNDERLINE: sAssetCategory+"\\"+sFileName = "Graphics\\options underline"; break;
|
||||
case GRAPHIC_GAME_OPTIONS_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\game options background"; break;
|
||||
case GRAPHIC_GAME_OPTIONS_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\game options top edge"; break;
|
||||
case GRAPHIC_GAME_OVER: sAssetCategory+"\\"+sFileName = "Graphics\\game over"; break;
|
||||
case GRAPHIC_GAMEPLAY_BOTTOM_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay bottom frame"; break;
|
||||
case GRAPHIC_GAMEPLAY_CLEARED: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay cleared"; break;
|
||||
case GRAPHIC_GAMEPLAY_CLOSING_STAR: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay closing star"; break;
|
||||
case GRAPHIC_GAMEPLAY_COMBO: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay combo"; break;
|
||||
case GRAPHIC_GAMEPLAY_DANGER_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay danger background"; break;
|
||||
case GRAPHIC_GAMEPLAY_DANGER_TEXT: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay danger text"; break;
|
||||
case GRAPHIC_GAMEPLAY_DIFFICULTY_BANNERS: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay difficulty banners"; break;
|
||||
case GRAPHIC_GAMEPLAY_DEMONSTRATION: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay demonstration"; break;
|
||||
case GRAPHIC_GAMEPLAY_FAILED: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay failed"; break;
|
||||
case GRAPHIC_GAMEPLAY_HERE_WE_GO: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay here we go"; break;
|
||||
case GRAPHIC_GAMEPLAY_HOLD_JUDGEMENT: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay hold judgement 1x2"; break;
|
||||
case GRAPHIC_GAMEPLAY_JUDGEMENT: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay judgement 1x5"; break;
|
||||
case GRAPHIC_GAMEPLAY_OPENING_STAR: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay opening star"; break;
|
||||
case GRAPHIC_GAMEPLAY_READY: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay Ready"; break;
|
||||
case GRAPHIC_GAMEPLAY_MIDDLE_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay middle frame"; break;
|
||||
case GRAPHIC_GAMEPLAY_TOP_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay top frame"; break;
|
||||
case GRAPHIC_GAMEPLAY_LIFEMETER_BAR: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay lifemeter bar"; break;
|
||||
case GRAPHIC_GAMEPLAY_LIFEMETER_ONI: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay lifemeter oni"; break;
|
||||
case GRAPHIC_GAMEPLAY_LIFEMETER_BATTERY: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay lifemeter battery 1x4"; break;
|
||||
case GRAPHIC_GAMEPLAY_LIFEMETER_STREAM_NORMAL: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay lifemeter stream normal";break;
|
||||
case GRAPHIC_GAMEPLAY_LIFEMETER_STREAM_HOT: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay lifemeter stream hot"; break;
|
||||
case GRAPHIC_GAMEPLAY_ONI_GAMEOVER: sAssetCategory+"\\"+sFileName = "Graphics\\gameplay oni gameover"; break;
|
||||
case GRAPHIC_GRAPHIC_OPTIONS_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\graphic options background"; break;
|
||||
case GRAPHIC_GRAPHIC_OPTIONS_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\graphic options top edge"; break;
|
||||
case GRAPHIC_KEEP_ALIVE: sAssetCategory+"\\"+sFileName = "Graphics\\keep alive"; break;
|
||||
case GRAPHIC_MAP_CONTROLLERS_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\map controllers background"; break;
|
||||
case GRAPHIC_MAP_CONTROLLERS_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\map controllers top edge"; break;
|
||||
case GRAPHIC_MENU_BOTTOM_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\menu bottom edge"; break;
|
||||
case GRAPHIC_MENU_STYLE_ICONS: sAssetCategory+"\\"+sFileName = "Graphics\\menu style icons"; break;
|
||||
case GRAPHIC_MUSIC_SCROLL_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\music scroll background"; break;
|
||||
case GRAPHIC_MUSIC_SORT_ICONS: sAssetCategory+"\\"+sFileName = "Graphics\\music sort icons 1x4"; break;
|
||||
case GRAPHIC_MUSIC_STATUS_ICONS: sAssetCategory+"\\"+sFileName = "Graphics\\music status icons 1x4"; break;
|
||||
case GRAPHIC_PLAYER_OPTIONS_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\player options background"; break;
|
||||
case GRAPHIC_PLAYER_OPTIONS_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\player options top edge"; break;
|
||||
case GRAPHIC_EVALUATION_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation background"; break;
|
||||
case GRAPHIC_EVALUATION_BANNER_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation banner frame"; break;
|
||||
case GRAPHIC_EVALUATION_BONUS_FRAME_P1: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation bonus frame p1"; break;
|
||||
case GRAPHIC_EVALUATION_BONUS_FRAME_P2: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation bonus frame p2"; break;
|
||||
case GRAPHIC_EVALUATION_STAGE_FRAME_P1: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation stage frame p1"; break;
|
||||
case GRAPHIC_EVALUATION_STAGE_FRAME_P2: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation stage frame p2"; break;
|
||||
case GRAPHIC_EVALUATION_GRADE_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation grade frame 1x2"; break;
|
||||
case GRAPHIC_EVALUATION_GRADES: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation grades 1x7"; break;
|
||||
case GRAPHIC_EVALUATION_JUDGE_LABELS: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation judge labels 1x6"; break;
|
||||
case GRAPHIC_EVALUATION_SCORE_LABELS: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation score labels 1x2"; break;
|
||||
case GRAPHIC_EVALUATION_SUMMARY_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation summary top edge"; break;
|
||||
case GRAPHIC_EVALUATION_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\evaluation top edge"; break;
|
||||
case GRAPHIC_SELECT_COURSE_INFO_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\select course info frame"; break;
|
||||
case GRAPHIC_SELECT_COURSE_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\select course top edge"; break;
|
||||
case GRAPHIC_SELECT_COURSE_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\select course background"; break;
|
||||
case GRAPHIC_SELECT_COURSE_CONTENT_BAR: sAssetCategory+"\\"+sFileName = "Graphics\\select course content bar"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_ARROWS: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty arrows 1x2"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty background"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_EASY_HEADER: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty easy header"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_EASY_PICTURE: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty easy picture"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_EXPLANATION: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty explanation"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_HARD_HEADER: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty hard header"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_HARD_PICTURE: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty hard picture"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_MEDIUM_HEADER: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty medium header"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_MEDIUM_PICTURE: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty medium picture";break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_ONI_HEADER: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty oni header"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_ONI_PICTURE: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty oni picture"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_ENDLESS_HEADER: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty endless header"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_ENDLESS_PICTURE: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty endless picture"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_OK: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty ok"; break;
|
||||
case GRAPHIC_SELECT_DIFFICULTY_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\select difficulty top edge"; break;
|
||||
case GRAPHIC_SELECT_GAME_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\select game background"; break;
|
||||
case GRAPHIC_SELECT_GAME_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\select game top edge"; break;
|
||||
case GRAPHIC_SELECT_GROUP_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\select group background"; break;
|
||||
case GRAPHIC_SELECT_GROUP_BUTTON: sAssetCategory+"\\"+sFileName = "Graphics\\select group button"; break;
|
||||
case GRAPHIC_SELECT_GROUP_CONTENTS_HEADER: sAssetCategory+"\\"+sFileName = "Graphics\\select group contents header"; break;
|
||||
case GRAPHIC_SELECT_GROUP_EXPLANATION: sAssetCategory+"\\"+sFileName = "Graphics\\select group explanation"; break;
|
||||
case GRAPHIC_SELECT_GROUP_INFO_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\select group info frame"; break;
|
||||
case GRAPHIC_SELECT_GROUP_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\select group top edge"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\select music background"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_DIFFICULTY_ICONS: sAssetCategory+"\\"+sFileName = "Graphics\\select music difficulty icons"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_DIFFICULTY_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\select music difficulty frame"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_INFO_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\select music info frame"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_METER_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\select music meter frame"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_RADAR_BASE: sAssetCategory+"\\"+sFileName = "Graphics\\select music radar base"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_RADAR_WORDS: sAssetCategory+"\\"+sFileName = "Graphics\\select music radar words 1x5"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_ROULETTE_BANNER: sAssetCategory+"\\"+sFileName = "Graphics\\select music roulette banner"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SCROLLBAR: sAssetCategory+"\\"+sFileName = "Graphics\\select music scrollbar"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SCORE_FRAME: sAssetCategory+"\\"+sFileName = "Graphics\\select music score frame"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SECTION_BANNER: sAssetCategory+"\\"+sFileName = "Graphics\\select music section banner"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SECTION_BAR: sAssetCategory+"\\"+sFileName = "Graphics\\select music section bar"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SMALL_GRADES: sAssetCategory+"\\"+sFileName = "Graphics\\select music small grades 1x7"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SONG_BAR: sAssetCategory+"\\"+sFileName = "Graphics\\select music song bar"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_SONG_HIGHLIGHT: sAssetCategory+"\\"+sFileName = "Graphics\\select music song highlight"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\select music top edge"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_LONG_BALLOON: sAssetCategory+"\\"+sFileName = "Graphics\\select music long balloon"; break;
|
||||
case GRAPHIC_SELECT_MUSIC_MARATHON_BALLOON: sAssetCategory+"\\"+sFileName = "Graphics\\select music marathon balloon"; break;
|
||||
case GRAPHIC_SELECT_STYLE_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\select Style background"; break;
|
||||
case GRAPHIC_SELECT_STYLE_EXPLANATION: sAssetCategory+"\\"+sFileName = "Graphics\\select Style explanation"; break;
|
||||
case GRAPHIC_SELECT_STYLE_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\select Style top edge"; break;
|
||||
case GRAPHIC_SELECT_STYLE_ICONS: sAssetCategory+"\\"+sFileName = "Graphics\\select Style icons"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_0: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 0 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_1: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 0 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_2: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 0 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_3: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 0 style 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_4: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 0 style 4"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_0: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 1 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_1: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 1 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_2: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 1 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_0: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 2 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_1: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 2 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_2: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 2 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_3: sAssetCategory+"\\"+sFileName = "Graphics\\select style info game 2 style 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_0: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 0 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_1: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 0 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_2: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 0 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_3: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 0 style 3"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_4: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 0 style 4"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_0: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 1 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_1: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 1 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_2: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 1 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_0: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 2 style 0"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_1: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 2 style 1"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_2: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 2 style 2"; break;
|
||||
case GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_3: sAssetCategory+"\\"+sFileName = "Graphics\\select style preview game 2 style 3"; break;
|
||||
case GRAPHIC_SONG_OPTIONS_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\song options background"; break;
|
||||
case GRAPHIC_SONG_OPTIONS_TOP_EDGE: sAssetCategory+"\\"+sFileName = "Graphics\\song options top edge"; break;
|
||||
case GRAPHIC_STAGE_ENDLESS: sAssetCategory+"\\"+sFileName = "Graphics\\stage endless"; break;
|
||||
case GRAPHIC_STAGE_EXTRA1: sAssetCategory+"\\"+sFileName = "Graphics\\stage extra1"; break;
|
||||
case GRAPHIC_STAGE_EXTRA2: sAssetCategory+"\\"+sFileName = "Graphics\\stage extra2"; break;
|
||||
case GRAPHIC_STAGE_FINAL: sAssetCategory+"\\"+sFileName = "Graphics\\stage final"; break;
|
||||
case GRAPHIC_STAGE_NUMBERS: sAssetCategory+"\\"+sFileName = "Graphics\\stage numbers"; break;
|
||||
case GRAPHIC_STAGE_ONI: sAssetCategory+"\\"+sFileName = "Graphics\\stage oni"; break;
|
||||
case GRAPHIC_STAGE_STAGE: sAssetCategory+"\\"+sFileName = "Graphics\\stage stage"; break;
|
||||
case GRAPHIC_TITLE_MENU_BACKGROUND: sAssetCategory+"\\"+sFileName = "Graphics\\title menu background"; break;
|
||||
case GRAPHIC_TITLE_MENU_LOGO_GAME_0: sAssetCategory+"\\"+sFileName = "Graphics\\title menu logo game 0"; break;
|
||||
case GRAPHIC_TITLE_MENU_LOGO_GAME_1: sAssetCategory+"\\"+sFileName = "Graphics\\title menu logo game 1"; break;
|
||||
case GRAPHIC_TITLE_MENU_LOGO_GAME_2: sAssetCategory+"\\"+sFileName = "Graphics\\title menu logo game 2"; break;
|
||||
|
||||
case SOUND_ATTRACT_INSERT_COIN: sAssetCategory+"\\"+sFileName = "Sounds\\attract insert coin"; break;
|
||||
case SOUND_EDIT_CHANGE_BPM: sAssetCategory+"\\"+sFileName = "Sounds\\edit change bpm"; break;
|
||||
case SOUND_EDIT_CHANGE_FREEZE: sAssetCategory+"\\"+sFileName = "Sounds\\edit change freeze"; break;
|
||||
case SOUND_EDIT_CHANGE_LINE: sAssetCategory+"\\"+sFileName = "Sounds\\edit change line"; break;
|
||||
case SOUND_EDIT_CHANGE_SNAP: sAssetCategory+"\\"+sFileName = "Sounds\\edit change snap"; break;
|
||||
case SOUND_EDIT_SAVE: sAssetCategory+"\\"+sFileName = "Sounds\\edit save"; break;
|
||||
case SOUND_EVALUATION_EXTRA_STAGE: sAssetCategory+"\\"+sFileName = "Sounds\\evaluation extra stage"; break;
|
||||
case SOUND_GAMEPLAY_ASSIST_TICK: sAssetCategory+"\\"+sFileName = "Sounds\\gameplay assist tick"; break;
|
||||
case SOUND_GAMEPLAY_FAILED: sAssetCategory+"\\"+sFileName = "Sounds\\gameplay failed"; break;
|
||||
case SOUND_GAMEPLAY_ONI_GAIN_LIFE: sAssetCategory+"\\"+sFileName = "Sounds\\gameplay oni gain life"; break;
|
||||
case SOUND_GAMEPLAY_ONI_LOSE_LIFE: sAssetCategory+"\\"+sFileName = "Sounds\\gameplay oni lose life"; break;
|
||||
case SOUND_GAMEPLAY_ONI_DIE: sAssetCategory+"\\"+sFileName = "Sounds\\gameplay oni die"; break;
|
||||
case SOUND_INSERT_COIN: sAssetCategory+"\\"+sFileName = "Sounds\\insert coin"; break;
|
||||
case "Sounds","menu back": sAssetCategory+"\\"+sFileName = "Sounds\\menu back"; break;
|
||||
case SOUND_MENU_INVALID: sAssetCategory+"\\"+sFileName = "Sounds\\menu invalid"; break;
|
||||
case SOUND_MENU_MUSIC: sAssetCategory+"\\"+sFileName = "Sounds\\menu music"; break;
|
||||
case SOUND_MENU_PROMPT: sAssetCategory+"\\"+sFileName = "Sounds\\menu prompt"; break;
|
||||
case "Sounds","menu start": sAssetCategory+"\\"+sFileName = "Sounds\\menu start"; break;
|
||||
case SOUND_MENU_SWOOSH: sAssetCategory+"\\"+sFileName = "Sounds\\menu swoosh"; break;
|
||||
case SOUND_MENU_TIMER: sAssetCategory+"\\"+sFileName = "Sounds\\menu timer"; break;
|
||||
case SOUND_MUSIC_SCROLL_MUSIC: sAssetCategory+"\\"+sFileName = "Sounds\\music scroll music"; break;
|
||||
case SOUND_OPTION_CHANGE_COL: sAssetCategory+"\\"+sFileName = "Sounds\\option change col"; break;
|
||||
case SOUND_OPTION_CHANGE_ROW: sAssetCategory+"\\"+sFileName = "Sounds\\option change row"; break;
|
||||
case SOUND_SELECT_DIFFICULTY_CHANGE: sAssetCategory+"\\"+sFileName = "Sounds\\select difficulty change"; break;
|
||||
case SOUND_SELECT_GROUP_CHANGE: sAssetCategory+"\\"+sFileName = "Sounds\\select group change"; break;
|
||||
case SOUND_SELECT_MUSIC_SECTION_EXPAND: sAssetCategory+"\\"+sFileName = "Sounds\\select music section expand"; break;
|
||||
case SOUND_SELECT_MUSIC_CHANGE_MUSIC: sAssetCategory+"\\"+sFileName = "Sounds\\select music change music"; break;
|
||||
case SOUND_SELECT_MUSIC_CHANGE_OPTIONS: sAssetCategory+"\\"+sFileName = "Sounds\\select music change options"; break;
|
||||
case SOUND_SELECT_MUSIC_CHANGE_SORT: sAssetCategory+"\\"+sFileName = "Sounds\\select music change sort"; break;
|
||||
case SOUND_SELECT_MUSIC_CHANGE_NOTES: sAssetCategory+"\\"+sFileName = "Sounds\\select music change notes"; break;
|
||||
case SOUND_SELECT_MUSIC_WHEEL_LOCKED: sAssetCategory+"\\"+sFileName = "Sounds\\select music wheel locked"; break;
|
||||
case SOUND_SELECT_STYLE_CHANGE: sAssetCategory+"\\"+sFileName = "Sounds\\select style change"; break;
|
||||
case SOUND_TITLE_MENU_CHANGE: sAssetCategory+"\\"+sFileName = "Sounds\\title menu change"; break;
|
||||
|
||||
case "Fonts","header1": sAssetCategory+"\\"+sFileName = "Fonts\\Header1"; break;
|
||||
case "Fonts","Header2": sAssetCategory+"\\"+sFileName = "Fonts\\Header2"; break;
|
||||
case "Fonts","normal": sAssetCategory+"\\"+sFileName = "Fonts\\Normal"; break;
|
||||
case FONT_ITALIC: sAssetCategory+"\\"+sFileName = "Fonts\\Italic"; break;
|
||||
case FONT_COMBO_NUMBERS: sAssetCategory+"\\"+sFileName = "Fonts\\Combo Numbers"; break;
|
||||
case "Fonts","meter": sAssetCategory+"\\"+sFileName = "Fonts\\Meter"; break;
|
||||
case "Fonts","score numbers": sAssetCategory+"\\"+sFileName = "Fonts\\Score Numbers"; break;
|
||||
case "Fonts","timer numbers": sAssetCategory+"\\"+sFileName = "Fonts\\Timer Numbers"; break;
|
||||
case "Fonts","text banner": sAssetCategory+"\\"+sFileName = "Fonts\\Text Banner"; break;
|
||||
case FONT_STAGE: sAssetCategory+"\\"+sFileName = "Fonts\\stage"; break;
|
||||
|
||||
default: ASSERT(0); // Unhandled theme element
|
||||
}
|
||||
CStringArray asPossibleElementFilePaths;
|
||||
CString sCurrentThemeDir = GetThemeDirFromName( sThemeName );
|
||||
CString sDefaultThemeDir = GetThemeDirFromName( BASE_THEME_NAME );
|
||||
|
||||
///////////////////////////////////////
|
||||
// Search both the current theme and the default theme dirs for this element
|
||||
///////////////////////////////////////
|
||||
if( -1 != sAssetCategory+"\\"+sFileName.Find("Graphics\\") )
|
||||
{
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + "*.sprite", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + "*.png", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + "*.jpg", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + "*.bmp", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + "*.gif", asPossibleElementFilePaths, false, true );
|
||||
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + "*.sprite", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + "*.png", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + "*.jpg", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + "*.bmp", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + "*.gif", asPossibleElementFilePaths, false, true );
|
||||
}
|
||||
else if( -1 != sAssetCategory+"\\"+sFileName.Find("Sounds\\") )
|
||||
{
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + ".set", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + ".mp3", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + ".ogg", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + ".wav", asPossibleElementFilePaths, false, true );
|
||||
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + ".set", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + ".mp3", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + ".ogg", asPossibleElementFilePaths, false, true );
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + ".wav", asPossibleElementFilePaths, false, true );
|
||||
}
|
||||
else if( -1 != sAssetCategory+"\\"+sFileName.Find("Fonts\\") )
|
||||
{
|
||||
GetDirListing( sCurrentThemeDir + sAssetCategory+"\\"+sFileName + ".font", asPossibleElementFilePaths, false, true );
|
||||
|
||||
GetDirListing( sDefaultThemeDir + sAssetCategory+"\\"+sFileName + ".font", asPossibleElementFilePaths, false, true );
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT(0); // Unknown theme asset dir;
|
||||
}
|
||||
|
||||
if( asPossibleElementFilePaths.GetSize() > 0 )
|
||||
return asPossibleElementFilePaths[0];
|
||||
else
|
||||
{
|
||||
ASSERT(0);
|
||||
throw RageException( "Theme element '%s' could not be found in '%s' or '%s'.",
|
||||
sAssetCategory+"\\"+sFileName,
|
||||
GetThemeDirFromName(m_sCurThemeName),
|
||||
GetThemeDirFromName(BASE_THEME_NAME) );
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
*/
|
||||
|
||||
CString ThemeManager::GetPathTo( CString sAssetCategory, CString sFileName )
|
||||
{
|
||||
#ifdef _DEBUG
|
||||
|
||||
@@ -16,205 +16,6 @@
|
||||
class IniFile;
|
||||
|
||||
|
||||
enum ThemeElement {
|
||||
/*
|
||||
GRAPHIC_ALL_MUSIC_BANNER,
|
||||
GRAPHIC_ARROWS_LEFT,
|
||||
GRAPHIC_ARROWS_RIGHT,
|
||||
GRAPHIC_CAUTION,
|
||||
GRAPHIC_GAMEPLAY_CLOSING_STAR,
|
||||
GRAPHIC_EDIT_BACKGROUND,
|
||||
GRAPHIC_EDIT_TOP_EDGE,
|
||||
GRAPHIC_EDIT_SNAP_INDICATOR,
|
||||
GRAPHIC_MUSIC_SCROLL_BACKGROUND,
|
||||
GRAPHIC_FALLBACK_BACKGROUND,
|
||||
"Graphics","fallback banner",
|
||||
"Graphics","fallback cd title",
|
||||
GRAPHIC_OPTIONS_CURSOR,
|
||||
GRAPHIC_OPTIONS_UNDERLINE,
|
||||
GRAPHIC_GAME_OPTIONS_BACKGROUND,
|
||||
GRAPHIC_GAME_OPTIONS_TOP_EDGE,
|
||||
GRAPHIC_GAME_OVER,
|
||||
GRAPHIC_GAMEPLAY_CLEARED,
|
||||
GRAPHIC_GAMEPLAY_COMBO,
|
||||
GRAPHIC_GAMEPLAY_DANGER_BACKGROUND,
|
||||
GRAPHIC_GAMEPLAY_DANGER_TEXT,
|
||||
GRAPHIC_GAMEPLAY_DEMONSTRATION,
|
||||
GRAPHIC_GAMEPLAY_FAILED,
|
||||
GRAPHIC_GAMEPLAY_HOLD_JUDGEMENT,
|
||||
GRAPHIC_GAMEPLAY_JUDGEMENT,
|
||||
GRAPHIC_GAMEPLAY_READY,
|
||||
GRAPHIC_GAMEPLAY_HERE_WE_GO,
|
||||
GRAPHIC_GAMEPLAY_BOTTOM_FRAME,
|
||||
GRAPHIC_GAMEPLAY_DIFFICULTY_BANNERS,
|
||||
GRAPHIC_GAMEPLAY_TOP_FRAME,
|
||||
GRAPHIC_GAMEPLAY_MIDDLE_FRAME,
|
||||
GRAPHIC_GAMEPLAY_LIFEMETER_BAR,
|
||||
GRAPHIC_GAMEPLAY_LIFEMETER_ONI,
|
||||
GRAPHIC_GAMEPLAY_LIFEMETER_BATTERY,
|
||||
GRAPHIC_GAMEPLAY_LIFEMETER_STREAM_NORMAL,
|
||||
GRAPHIC_GAMEPLAY_LIFEMETER_STREAM_HOT,
|
||||
GRAPHIC_GAMEPLAY_ONI_GAMEOVER,
|
||||
GRAPHIC_GAMEPLAY_OPENING_STAR,
|
||||
GRAPHIC_GRAPHIC_OPTIONS_BACKGROUND,
|
||||
GRAPHIC_GRAPHIC_OPTIONS_TOP_EDGE,
|
||||
GRAPHIC_KEEP_ALIVE,
|
||||
GRAPHIC_MAP_CONTROLLERS_BACKGROUND,
|
||||
GRAPHIC_MAP_CONTROLLERS_TOP_EDGE,
|
||||
GRAPHIC_MENU_BOTTOM_EDGE,
|
||||
GRAPHIC_MENU_STYLE_ICONS,
|
||||
GRAPHIC_MUSIC_SORT_ICONS,
|
||||
GRAPHIC_MUSIC_STATUS_ICONS,
|
||||
GRAPHIC_PLAYER_OPTIONS_BACKGROUND,
|
||||
GRAPHIC_PLAYER_OPTIONS_TOP_EDGE,
|
||||
GRAPHIC_EVALUATION_BACKGROUND,
|
||||
GRAPHIC_EVALUATION_BANNER_FRAME,
|
||||
GRAPHIC_EVALUATION_BONUS_FRAME_P1,
|
||||
GRAPHIC_EVALUATION_BONUS_FRAME_P2,
|
||||
GRAPHIC_EVALUATION_STAGE_FRAME_P1,
|
||||
GRAPHIC_EVALUATION_STAGE_FRAME_P2,
|
||||
GRAPHIC_EVALUATION_GRADE_FRAME,
|
||||
GRAPHIC_EVALUATION_GRADES,
|
||||
GRAPHIC_EVALUATION_JUDGE_LABELS,
|
||||
GRAPHIC_EVALUATION_SCORE_LABELS,
|
||||
GRAPHIC_EVALUATION_SUMMARY_TOP_EDGE,
|
||||
GRAPHIC_EVALUATION_TOP_EDGE,
|
||||
GRAPHIC_SELECT_COURSE_INFO_FRAME,
|
||||
GRAPHIC_SELECT_COURSE_TOP_EDGE,
|
||||
GRAPHIC_SELECT_COURSE_BACKGROUND,
|
||||
GRAPHIC_SELECT_COURSE_CONTENT_BAR,
|
||||
GRAPHIC_SELECT_DIFFICULTY_ARROWS,
|
||||
GRAPHIC_SELECT_DIFFICULTY_BACKGROUND,
|
||||
GRAPHIC_SELECT_DIFFICULTY_EASY_HEADER,
|
||||
GRAPHIC_SELECT_DIFFICULTY_EASY_PICTURE,
|
||||
GRAPHIC_SELECT_DIFFICULTY_EXPLANATION,
|
||||
GRAPHIC_SELECT_DIFFICULTY_HARD_HEADER,
|
||||
GRAPHIC_SELECT_DIFFICULTY_HARD_PICTURE,
|
||||
GRAPHIC_SELECT_DIFFICULTY_MEDIUM_HEADER,
|
||||
GRAPHIC_SELECT_DIFFICULTY_MEDIUM_PICTURE,
|
||||
GRAPHIC_SELECT_DIFFICULTY_ONI_HEADER,
|
||||
GRAPHIC_SELECT_DIFFICULTY_ONI_PICTURE,
|
||||
GRAPHIC_SELECT_DIFFICULTY_ENDLESS_HEADER,
|
||||
GRAPHIC_SELECT_DIFFICULTY_ENDLESS_PICTURE,
|
||||
GRAPHIC_SELECT_DIFFICULTY_OK,
|
||||
GRAPHIC_SELECT_DIFFICULTY_TOP_EDGE,
|
||||
GRAPHIC_SELECT_GAME_BACKGROUND,
|
||||
GRAPHIC_SELECT_GAME_TOP_EDGE,
|
||||
GRAPHIC_SELECT_GROUP_BACKGROUND,
|
||||
GRAPHIC_SELECT_GROUP_BUTTON,
|
||||
GRAPHIC_SELECT_GROUP_CONTENTS_HEADER,
|
||||
GRAPHIC_SELECT_GROUP_EXPLANATION,
|
||||
GRAPHIC_SELECT_GROUP_INFO_FRAME,
|
||||
GRAPHIC_SELECT_GROUP_TOP_EDGE,
|
||||
GRAPHIC_SELECT_MUSIC_BACKGROUND,
|
||||
GRAPHIC_SELECT_MUSIC_DIFFICULTY_FRAME,
|
||||
GRAPHIC_SELECT_MUSIC_DIFFICULTY_ICONS,
|
||||
GRAPHIC_SELECT_MUSIC_INFO_FRAME,
|
||||
GRAPHIC_SELECT_MUSIC_METER_FRAME,
|
||||
GRAPHIC_SELECT_MUSIC_RADAR_BASE,
|
||||
GRAPHIC_SELECT_MUSIC_RADAR_WORDS,
|
||||
GRAPHIC_SELECT_MUSIC_ROULETTE_BANNER,
|
||||
GRAPHIC_SELECT_MUSIC_SCORE_FRAME,
|
||||
GRAPHIC_SELECT_MUSIC_SECTION_BAR,
|
||||
GRAPHIC_SELECT_MUSIC_SCROLLBAR,
|
||||
GRAPHIC_SELECT_MUSIC_SECTION_BANNER,
|
||||
GRAPHIC_SELECT_MUSIC_SMALL_GRADES,
|
||||
GRAPHIC_SELECT_MUSIC_SONG_BAR,
|
||||
GRAPHIC_SELECT_MUSIC_SONG_HIGHLIGHT,
|
||||
GRAPHIC_SELECT_MUSIC_TOP_EDGE,
|
||||
GRAPHIC_SELECT_MUSIC_LONG_BALLOON,
|
||||
GRAPHIC_SELECT_MUSIC_MARATHON_BALLOON,
|
||||
GRAPHIC_SELECT_STYLE_BACKGROUND,
|
||||
GRAPHIC_SELECT_STYLE_TOP_EDGE,
|
||||
GRAPHIC_SELECT_STYLE_EXPLANATION,
|
||||
GRAPHIC_SELECT_STYLE_ICONS,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_0,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_1,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_2,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_3,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_0_STYLE_4,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_0,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_1,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_1_STYLE_2,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_0,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_1,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_2,
|
||||
GRAPHIC_SELECT_STYLE_INFO_GAME_2_STYLE_3,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_0,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_1,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_2,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_3,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_0_STYLE_4,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_0,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_1,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_1_STYLE_2,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_0,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_1,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_2,
|
||||
GRAPHIC_SELECT_STYLE_PREVIEW_GAME_2_STYLE_3,
|
||||
GRAPHIC_SONG_OPTIONS_BACKGROUND,
|
||||
GRAPHIC_SONG_OPTIONS_TOP_EDGE,
|
||||
GRAPHIC_STAGE_ENDLESS,
|
||||
GRAPHIC_STAGE_EXTRA1,
|
||||
GRAPHIC_STAGE_EXTRA2,
|
||||
GRAPHIC_STAGE_FINAL,
|
||||
GRAPHIC_STAGE_NUMBERS,
|
||||
GRAPHIC_STAGE_ONI,
|
||||
GRAPHIC_STAGE_STAGE,
|
||||
GRAPHIC_TITLE_MENU_BACKGROUND,
|
||||
GRAPHIC_TITLE_MENU_LOGO_GAME_0,
|
||||
GRAPHIC_TITLE_MENU_LOGO_GAME_1,
|
||||
GRAPHIC_TITLE_MENU_LOGO_GAME_2,
|
||||
|
||||
SOUND_ATTRACT_INSERT_COIN,
|
||||
SOUND_EDIT_CHANGE_BPM,
|
||||
SOUND_EDIT_CHANGE_FREEZE,
|
||||
SOUND_EDIT_CHANGE_LINE,
|
||||
SOUND_EDIT_CHANGE_SNAP,
|
||||
SOUND_EDIT_SAVE,
|
||||
SOUND_EVALUATION_EXTRA_STAGE,
|
||||
SOUND_INSERT_COIN,
|
||||
SOUND_GAMEPLAY_ASSIST_TICK,
|
||||
SOUND_GAMEPLAY_FAILED,
|
||||
SOUND_GAMEPLAY_ONI_GAIN_LIFE,
|
||||
SOUND_GAMEPLAY_ONI_LOSE_LIFE,
|
||||
SOUND_GAMEPLAY_ONI_DIE,
|
||||
"Sounds","menu back",
|
||||
SOUND_MENU_INVALID,
|
||||
SOUND_MENU_MUSIC,
|
||||
SOUND_MENU_PROMPT,
|
||||
"Sounds","menu start",
|
||||
SOUND_MENU_SWOOSH,
|
||||
SOUND_MENU_TIMER,
|
||||
SOUND_MUSIC_SCROLL_MUSIC,
|
||||
SOUND_OPTION_CHANGE_COL,
|
||||
SOUND_OPTION_CHANGE_ROW,
|
||||
SOUND_SELECT_DIFFICULTY_CHANGE,
|
||||
SOUND_SELECT_GROUP_CHANGE,
|
||||
SOUND_SELECT_MUSIC_CHANGE_MUSIC,
|
||||
SOUND_SELECT_MUSIC_CHANGE_SORT,
|
||||
SOUND_SELECT_MUSIC_CHANGE_NOTES,
|
||||
SOUND_SELECT_MUSIC_CHANGE_OPTIONS,
|
||||
SOUND_SELECT_MUSIC_WHEEL_LOCKED,
|
||||
SOUND_SELECT_MUSIC_SECTION_EXPAND,
|
||||
SOUND_SELECT_STYLE_CHANGE,
|
||||
SOUND_TITLE_MENU_CHANGE,
|
||||
|
||||
"Fonts","header1",
|
||||
"Fonts","Header2",
|
||||
"Fonts","normal",
|
||||
FONT_ITALIC,
|
||||
FONT_COMBO_NUMBERS,
|
||||
"Fonts","meter",
|
||||
"Fonts","score numbers",
|
||||
"Fonts","timer numbers",
|
||||
"Fonts","text banner",
|
||||
FONT_STAGE,
|
||||
*/
|
||||
NUM_THEME_ELEMENTS // leave this at the end
|
||||
};
|
||||
|
||||
|
||||
class ThemeManager
|
||||
{
|
||||
public:
|
||||
@@ -227,7 +28,6 @@ public:
|
||||
void SwitchTheme( CString sThemeName );
|
||||
CString GetCurThemeName() { return m_sCurThemeName; };
|
||||
|
||||
CString GetPathTo( ThemeElement te ); // looks up the current theme in PREFSMAN
|
||||
CString GetPathTo( CString sAssetCategory, CString sFileName ); // looks up the current theme in PREFSMAN
|
||||
|
||||
CString GetMetric( CString sScreenName, CString sValueName );
|
||||
@@ -239,8 +39,6 @@ public:
|
||||
protected:
|
||||
void GetAllThemeNames( CStringArray& AddTo );
|
||||
|
||||
CString GetPathTo( ThemeElement te, CString sThemeName );
|
||||
|
||||
static CString GetThemeDirFromName( CString sThemeName );
|
||||
CString GetElementDir( CString sThemeName );
|
||||
static CString GetMetricsPathFromName( CString sThemeName );
|
||||
|
||||
Reference in New Issue
Block a user