more course fixes, tweaked ghost arrow flashes
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#COURSE:Tortise And the Hare;
|
||||
#SONG:*:TRICK:0.7xmusic;
|
||||
#SONG:*:TRICK:0.9xmusic;
|
||||
#SONG:*:TRICK:1.2xmusic;
|
||||
#SONG:*:TRICK:0.8xmusic;
|
||||
#SONG:*:TRICK:1.1xmusic;
|
||||
#SONG:*:TRICK:1.3xmusic;
|
||||
#SONG:*:TRICK:1.5xmusic;
|
||||
|
||||
@@ -572,34 +572,24 @@ HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options
|
||||
HelpText=Use arrow keys to navigate, ENTER to assign, SPACE to clear, ESCAPE when done.
|
||||
|
||||
[GhostArrow]
|
||||
ShowSeconds=0.25
|
||||
ShowSeconds=0.12
|
||||
ZoomStart=1.0
|
||||
ZoomEnd=1.5
|
||||
ColorMarvelousStart=1.0,1.0,1.0,1 // white
|
||||
ColorMarvelousEnd=1.0,1.0,1.0,0 // white no alpha
|
||||
ColorPerfectStart=1.0,1.0,0.3,1 // yellow
|
||||
ColorPerfectEnd=1.0,1.0,0.3,0 // yellow no alpha
|
||||
ColorGreatStart=0.0,1.0,0.4,1 // green
|
||||
ColorGreatEnd=0.0,1.0,0.4,0 // green no alpha
|
||||
ColorGoodStart=0.3,0.8,1.0,1 // blue
|
||||
ColorGoodEnd=0.3,0.8,1.0,0 // blue no alpha
|
||||
ColorBooStart=0.8,0.0,0.6,1 // purple
|
||||
ColorBooEnd=0.8,0.0,0.6,0 // purple no alpha
|
||||
ZoomEnd=1.3
|
||||
ColorMarvelous=1.0,1.0,1.0,1 // white
|
||||
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 // blue
|
||||
ColorBoo=0.8,0.0,0.6,1 // purple
|
||||
|
||||
[GhostArrowBright]
|
||||
ShowSeconds=0.25
|
||||
ShowSeconds=0.12
|
||||
ZoomStart=1.0
|
||||
ZoomEnd=1.5
|
||||
ColorMarvelousStart=1.0,1.0,1.0,1 // white
|
||||
ColorMarvelousEnd=1.0,1.0,1.0,0 // white no alpha
|
||||
ColorPerfectStart=1.0,1.0,0.3,1 // yellow
|
||||
ColorPerfectEnd=1.0,1.0,0.3,0 // yellow no alpha
|
||||
ColorGreatStart=0.0,1.0,0.4,1 // green
|
||||
ColorGreatEnd=0.0,1.0,0.4,0 // green no alpha
|
||||
ColorGoodStart=0.3,0.8,1.0,1 // blue
|
||||
ColorGoodEnd=0.3,0.8,1.0,0 // blue no alpha
|
||||
ColorBooStart=0.8,0.0,0.6,1 // purple
|
||||
ColorBooEnd=0.8,0.0,0.6,0 // purple no alpha
|
||||
ZoomEnd=1.3
|
||||
ColorMarvelous=1.0,1.0,1.0,1 // white
|
||||
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 // blue
|
||||
ColorBoo=0.8,0.0,0.6,1 // purple
|
||||
|
||||
[HoldGhostArrow]
|
||||
WarmUpSeconds=0.25
|
||||
@@ -648,11 +638,11 @@ ShowSeconds=0.8
|
||||
|
||||
[Combo]
|
||||
LabelX=6
|
||||
LabelY=16
|
||||
LabelY=20
|
||||
LabelHorizAlign=0
|
||||
LabelVertAlign=2
|
||||
NumberX=0
|
||||
NumberY=16
|
||||
NumberY=20
|
||||
NumberHorizAlign=2
|
||||
NumberVertAlign=2
|
||||
ShowComboAt=4
|
||||
|
||||
@@ -310,11 +310,14 @@ void Course::GetStageInfo(
|
||||
vector<Song*> vSongsByMostPlayed = SONGMAN->GetAllSongs();
|
||||
SortSongPointerArrayByMostPlayed( vSongsByMostPlayed );
|
||||
|
||||
// filter out songs that don't have both medium and hard steps
|
||||
// filter out songs that don't have both medium and hard steps and long ver sons
|
||||
for( int j=vSongsByMostPlayed.size()-1; j>=0; j-- )
|
||||
{
|
||||
Song* pSong = vSongsByMostPlayed[j];
|
||||
if( !pSong->GetNotes(nt, DIFFICULTY_MEDIUM) || !pSong->GetNotes(nt, DIFFICULTY_HARD) )
|
||||
if( pSong->m_fMusicLengthSeconds > PREFSMAN->m_fLongVerSongSeconds ||
|
||||
pSong->m_fMusicLengthSeconds > PREFSMAN->m_fMarathonVerSongSeconds ||
|
||||
!pSong->GetNotes(nt, DIFFICULTY_MEDIUM) ||
|
||||
!pSong->GetNotes(nt, DIFFICULTY_HARD) )
|
||||
vSongsByMostPlayed.erase( vSongsByMostPlayed.begin()+j );
|
||||
}
|
||||
|
||||
|
||||
@@ -87,8 +87,6 @@ void GameState::Reset()
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
m_PlayerOptions[p] = PlayerOptions();
|
||||
m_SongOptions = SongOptions();
|
||||
if( PREFSMAN )
|
||||
m_SongOptions.m_FailType = PREFSMAN->m_DefaultFailType;
|
||||
}
|
||||
|
||||
void GameState::ResetLastRanking()
|
||||
|
||||
@@ -16,45 +16,26 @@
|
||||
#include "ThemeManager.h"
|
||||
|
||||
|
||||
#define SHOW_SECONDS THEME->GetMetricF("GhostArrow","ShowSeconds")
|
||||
#define ZOOM_START THEME->GetMetricF("GhostArrow","ZoomStart")
|
||||
#define ZOOM_END THEME->GetMetricF("GhostArrow","ZoomEnd")
|
||||
#define COLOR_MARVELOUS_START THEME->GetMetricC("GhostArrow","ColorMarvelousStart")
|
||||
#define COLOR_MARVELOUS_END THEME->GetMetricC("GhostArrow","ColorMarvelousEnd")
|
||||
#define COLOR_PERFECT_START THEME->GetMetricC("GhostArrow","ColorPerfectStart")
|
||||
#define COLOR_PERFECT_END THEME->GetMetricC("GhostArrow","ColorPerfectEnd")
|
||||
#define COLOR_GREAT_START THEME->GetMetricC("GhostArrow","ColorGreatStart")
|
||||
#define COLOR_GREAT_END THEME->GetMetricC("GhostArrow","ColorGreatEnd")
|
||||
#define COLOR_GOOD_START THEME->GetMetricC("GhostArrow","ColorGoodStart")
|
||||
#define COLOR_GOOD_END THEME->GetMetricC("GhostArrow","ColorGoodEnd")
|
||||
#define COLOR_BOO_START THEME->GetMetricC("GhostArrow","ColorBooStart")
|
||||
#define COLOR_BOO_END THEME->GetMetricC("GhostArrow","ColorBooEnd")
|
||||
CachedThemeMetric GA_SHOW_SECONDS ("GhostArrow","ShowSeconds");
|
||||
CachedThemeMetric GA_ZOOM_START ("GhostArrow","ZoomStart");
|
||||
CachedThemeMetric GA_ZOOM_END ("GhostArrow","ZoomEnd");
|
||||
CachedThemeMetric GA_COLOR_MARVELOUS ("GhostArrow","ColorMarvelous");
|
||||
CachedThemeMetric GA_COLOR_PERFECT ("GhostArrow","ColorPerfect");
|
||||
CachedThemeMetric GA_COLOR_GREAT ("GhostArrow","ColorGreat");
|
||||
CachedThemeMetric GA_COLOR_GOOD ("GhostArrow","ColorGood");
|
||||
CachedThemeMetric GA_COLOR_BOO ("GhostArrow","ColorBoo");
|
||||
|
||||
float g_fShowSeconds;
|
||||
float g_fZoomStart, g_fZoomEnd;
|
||||
RageColor
|
||||
g_colorMarvelousStart, g_colorMarvelousEnd,
|
||||
g_colorPerfectStart, g_colorPerfectEnd,
|
||||
g_colorGreatStart, g_colorGreatEnd,
|
||||
g_colorGoodStart, g_colorGoodEnd,
|
||||
g_colorBooStart, g_colorBooEnd;
|
||||
|
||||
GhostArrow::GhostArrow()
|
||||
{
|
||||
g_fShowSeconds = SHOW_SECONDS;
|
||||
g_fZoomStart = ZOOM_START;
|
||||
g_fZoomEnd = ZOOM_END;
|
||||
g_colorMarvelousStart = COLOR_MARVELOUS_START;
|
||||
g_colorMarvelousEnd = COLOR_MARVELOUS_END;
|
||||
g_colorPerfectStart = COLOR_PERFECT_START;
|
||||
g_colorPerfectEnd = COLOR_PERFECT_END;
|
||||
g_colorGreatStart = COLOR_GREAT_START;
|
||||
g_colorGreatEnd = COLOR_GREAT_END;
|
||||
g_colorGoodStart = COLOR_GOOD_START;
|
||||
g_colorGoodEnd = COLOR_GOOD_END;
|
||||
g_colorBooStart = COLOR_BOO_START;
|
||||
g_colorBooEnd = COLOR_BOO_END;
|
||||
|
||||
GA_SHOW_SECONDS.Refresh();
|
||||
GA_ZOOM_START.Refresh();
|
||||
GA_ZOOM_END.Refresh();
|
||||
GA_COLOR_MARVELOUS.Refresh();
|
||||
GA_COLOR_PERFECT.Refresh();
|
||||
GA_COLOR_GREAT.Refresh();
|
||||
GA_COLOR_GOOD.Refresh();
|
||||
GA_COLOR_BOO.Refresh();
|
||||
|
||||
SetDiffuse( RageColor(1,1,1,0) );
|
||||
}
|
||||
@@ -69,30 +50,31 @@ void GhostArrow::Step( TapNoteScore score )
|
||||
// HACK: set the length of each frame so the animation plays in exactly 1 pop up time.
|
||||
// We can't do this in the constructor because the image hasn't been loaded yet
|
||||
for( int i=0; i<Sprite::GetNumStates(); i++ )
|
||||
Sprite::m_fDelay[i] = g_fShowSeconds / (float)Sprite::GetNumStates();
|
||||
Sprite::m_fDelay[i] = (float)GA_SHOW_SECONDS / (float)Sprite::GetNumStates();
|
||||
|
||||
RageColor colorStart, colorEnd;
|
||||
RageColor colorStart;
|
||||
switch( score )
|
||||
{
|
||||
case TNS_MARVELOUS: colorStart = g_colorMarvelousStart; colorEnd = g_colorMarvelousEnd; break;
|
||||
case TNS_PERFECT: colorStart = g_colorPerfectStart; colorEnd = g_colorPerfectEnd; break;
|
||||
case TNS_GREAT: colorStart = g_colorGreatStart; colorEnd = g_colorGreatEnd; break;
|
||||
case TNS_GOOD: colorStart = g_colorGoodStart; colorEnd = g_colorGoodEnd; break;
|
||||
case TNS_BOO: colorStart = g_colorBooStart; colorEnd = g_colorBooEnd; break;
|
||||
case TNS_MARVELOUS: colorStart = GA_COLOR_MARVELOUS; break;
|
||||
case TNS_PERFECT: colorStart = GA_COLOR_PERFECT; break;
|
||||
case TNS_GREAT: colorStart = GA_COLOR_GREAT; break;
|
||||
case TNS_GOOD: colorStart = GA_COLOR_GOOD; break;
|
||||
case TNS_BOO: colorStart = GA_COLOR_BOO; break;
|
||||
case TNS_MISS: // miss should never be passed in here
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
RageColor colorEnd = colorStart;
|
||||
colorEnd.a = 0;
|
||||
|
||||
StopTweening();
|
||||
SetDiffuse( colorStart );
|
||||
SetState( 0 );
|
||||
SetZoom( g_fZoomStart );
|
||||
SetZoom( GA_ZOOM_START );
|
||||
|
||||
BeginTweening( g_fShowSeconds );
|
||||
SetTweenZoom( g_fZoomEnd );
|
||||
BeginTweening( (float)GA_SHOW_SECONDS/2.0f );
|
||||
SetTweenZoom( ((float)GA_ZOOM_START+(float)GA_ZOOM_END)/2.0f );
|
||||
BeginTweening( (float)GA_SHOW_SECONDS/2.0f );
|
||||
SetTweenZoom( GA_ZOOM_END );
|
||||
SetTweenDiffuse( colorEnd );
|
||||
|
||||
BeginTweening( 0.0001f ); // snap to invisible
|
||||
SetTweenDiffuse( RageColor(1,1,1,0) );
|
||||
}
|
||||
|
||||
@@ -16,47 +16,26 @@
|
||||
#include "ThemeManager.h"
|
||||
|
||||
|
||||
#define SHOW_SECONDS THEME->GetMetricF("GhostArrowBright","ShowSeconds")
|
||||
#define ZOOM_START THEME->GetMetricF("GhostArrowBright","ZoomStart")
|
||||
#define ZOOM_END THEME->GetMetricF("GhostArrowBright","ZoomEnd")
|
||||
#define COLOR_MARVELOUS_START THEME->GetMetricC("GhostArrowBright","ColorMarvelousStart")
|
||||
#define COLOR_MARVELOUS_END THEME->GetMetricC("GhostArrowBright","ColorMarvelousEnd")
|
||||
#define COLOR_PERFECT_START THEME->GetMetricC("GhostArrowBright","ColorPerfectStart")
|
||||
#define COLOR_PERFECT_END THEME->GetMetricC("GhostArrowBright","ColorPerfectEnd")
|
||||
#define COLOR_GREAT_START THEME->GetMetricC("GhostArrowBright","ColorGreatStart")
|
||||
#define COLOR_GREAT_END THEME->GetMetricC("GhostArrowBright","ColorGreatEnd")
|
||||
#define COLOR_GOOD_START THEME->GetMetricC("GhostArrowBright","ColorGoodStart")
|
||||
#define COLOR_GOOD_END THEME->GetMetricC("GhostArrowBright","ColorGoodEnd")
|
||||
#define COLOR_BOO_START THEME->GetMetricC("GhostArrowBright","ColorBooStart")
|
||||
#define COLOR_BOO_END THEME->GetMetricC("GhostArrowBright","ColorBooEnd")
|
||||
|
||||
// "2" appended so the names won't conflict with the GhostArrow
|
||||
float g_fShowSeconds2;
|
||||
float g_fZoomStart2, g_fZoomEnd2;
|
||||
RageColor
|
||||
g_colorMarvelousStart2, g_colorMarvelousEnd2,
|
||||
g_colorPerfectStart2, g_colorPerfectEnd2,
|
||||
g_colorGreatStart2, g_colorGreatEnd2,
|
||||
g_colorGoodStart2, g_colorGoodEnd2,
|
||||
g_colorBooStart2, g_colorBooEnd2;
|
||||
CachedThemeMetric GAB_SHOW_SECONDS ("GhostArrowBright","ShowSeconds");
|
||||
CachedThemeMetric GAB_ZOOM_START ("GhostArrowBright","ZoomStart");
|
||||
CachedThemeMetric GAB_ZOOM_END ("GhostArrowBright","ZoomEnd");
|
||||
CachedThemeMetric GAB_COLOR_MARVELOUS ("GhostArrowBright","ColorMarvelous");
|
||||
CachedThemeMetric GAB_COLOR_PERFECT ("GhostArrowBright","ColorPerfect");
|
||||
CachedThemeMetric GAB_COLOR_GREAT ("GhostArrowBright","ColorGreat");
|
||||
CachedThemeMetric GAB_COLOR_GOOD ("GhostArrowBright","ColorGood");
|
||||
CachedThemeMetric GAB_COLOR_BOO ("GhostArrowBright","ColorBoo");
|
||||
|
||||
|
||||
GhostArrowBright::GhostArrowBright()
|
||||
{
|
||||
g_fShowSeconds2 = SHOW_SECONDS;
|
||||
g_fZoomStart2 = ZOOM_START;
|
||||
g_fZoomEnd2 = ZOOM_END;
|
||||
g_colorMarvelousStart2 = COLOR_MARVELOUS_START;
|
||||
g_colorMarvelousEnd2 = COLOR_MARVELOUS_END;
|
||||
g_colorPerfectStart2 = COLOR_PERFECT_START;
|
||||
g_colorPerfectEnd2 = COLOR_PERFECT_END;
|
||||
g_colorGreatStart2 = COLOR_GREAT_START;
|
||||
g_colorGreatEnd2 = COLOR_GREAT_END;
|
||||
g_colorGoodStart2 = COLOR_GOOD_START;
|
||||
g_colorGoodEnd2 = COLOR_GOOD_END;
|
||||
g_colorBooStart2 = COLOR_BOO_START;
|
||||
g_colorBooEnd2 = COLOR_BOO_END;
|
||||
|
||||
GAB_SHOW_SECONDS.Refresh();
|
||||
GAB_ZOOM_START.Refresh();
|
||||
GAB_ZOOM_END.Refresh();
|
||||
GAB_COLOR_MARVELOUS.Refresh();
|
||||
GAB_COLOR_PERFECT.Refresh();
|
||||
GAB_COLOR_GREAT.Refresh();
|
||||
GAB_COLOR_GOOD.Refresh();
|
||||
GAB_COLOR_BOO.Refresh();
|
||||
|
||||
SetDiffuse( RageColor(1,1,1,0) );
|
||||
}
|
||||
@@ -71,30 +50,31 @@ void GhostArrowBright::Step( TapNoteScore score )
|
||||
// HACK: set the length of each frame so the animation plays in exactly 1 pop up time.
|
||||
// We can't do this in the constructor because the image hasn't been loaded yet
|
||||
for( int i=0; i<Sprite::GetNumStates(); i++ )
|
||||
Sprite::m_fDelay[i] = g_fShowSeconds2 / (float)Sprite::GetNumStates();
|
||||
Sprite::m_fDelay[i] = (float)GAB_SHOW_SECONDS / (float)Sprite::GetNumStates();
|
||||
|
||||
RageColor colorStart, colorEnd;
|
||||
RageColor colorStart;
|
||||
switch( score )
|
||||
{
|
||||
case TNS_MARVELOUS: colorStart = g_colorMarvelousStart2;colorEnd = g_colorMarvelousEnd2; break;
|
||||
case TNS_PERFECT: colorStart = g_colorPerfectStart2; colorEnd = g_colorPerfectEnd2; break;
|
||||
case TNS_GREAT: colorStart = g_colorGreatStart2; colorEnd = g_colorGreatEnd2; break;
|
||||
case TNS_GOOD: colorStart = g_colorGoodStart2; colorEnd = g_colorGoodEnd2; break;
|
||||
case TNS_BOO: colorStart = g_colorBooStart2; colorEnd = g_colorBooEnd2; break;
|
||||
case TNS_MARVELOUS: colorStart = GAB_COLOR_MARVELOUS; break;
|
||||
case TNS_PERFECT: colorStart = GAB_COLOR_PERFECT; break;
|
||||
case TNS_GREAT: colorStart = GAB_COLOR_GREAT; break;
|
||||
case TNS_GOOD: colorStart = GAB_COLOR_GOOD; break;
|
||||
case TNS_BOO: colorStart = GAB_COLOR_BOO; break;
|
||||
case TNS_MISS: // miss should never be passed in here
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
RageColor colorEnd = colorStart;
|
||||
colorEnd.a = 0;
|
||||
|
||||
StopTweening();
|
||||
SetDiffuse( colorStart );
|
||||
SetState( 0 );
|
||||
SetZoom( g_fZoomStart2 );
|
||||
SetZoom( GAB_ZOOM_START );
|
||||
|
||||
BeginTweening( g_fShowSeconds2 );
|
||||
SetTweenZoom( g_fZoomEnd2 );
|
||||
BeginTweening( (float)GAB_SHOW_SECONDS/2 );
|
||||
SetTweenZoom( ((float)GAB_ZOOM_START+(float)GAB_ZOOM_END)/2 );
|
||||
BeginTweening( (float)GAB_SHOW_SECONDS/2 );
|
||||
SetTweenZoom( GAB_ZOOM_END );
|
||||
SetTweenDiffuse( colorEnd );
|
||||
|
||||
BeginTweening( 0.0001f ); // snap to invisible
|
||||
SetTweenDiffuse( RageColor(1,1,1,0) );
|
||||
}
|
||||
|
||||
@@ -538,6 +538,7 @@ void ScreenGameplay::LoadNextSong()
|
||||
GAMESTATE->m_PlayerOptions[p] = GAMESTATE->m_SelectedOptions[p];
|
||||
// Put courses options into effect.
|
||||
GAMESTATE->m_PlayerOptions[p].FromString( m_asCourseModifiers[iPlaySongIndex] );
|
||||
GAMESTATE->m_SongOptions.FromString( m_asCourseModifiers[iPlaySongIndex] );
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -548,7 +549,7 @@ void ScreenGameplay::LoadNextSong()
|
||||
|
||||
m_textStageNumber.SetText( GAMESTATE->GetStageText() );
|
||||
|
||||
|
||||
m_textSongOptions.SetText( GAMESTATE->m_SongOptions.GetString() );
|
||||
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
@@ -557,7 +558,6 @@ void ScreenGameplay::LoadNextSong()
|
||||
|
||||
m_textPlayerOptions[p].SetText( GAMESTATE->m_PlayerOptions[p].GetString() );
|
||||
|
||||
|
||||
// reset oni game over graphic
|
||||
m_sprOniGameOver[p].SetY( SCREEN_TOP - m_sprOniGameOver[p].GetZoomedHeight()/2 );
|
||||
m_sprOniGameOver[p].SetDiffuse( RageColor(1,1,1,0) ); // 0 alpha so we don't waste time drawing while not visible
|
||||
|
||||
@@ -333,13 +333,25 @@ void ScreenSelectCourse::MenuStart( PlayerNumber pn )
|
||||
|
||||
Course* pCourse = m_MusicWheel.GetSelectedCourse();
|
||||
GAMESTATE->m_pCurCourse = pCourse;
|
||||
Song* pSong;
|
||||
Notes* pNotes;
|
||||
CString sModifiers;
|
||||
pCourse->GetFirstStageInfo( pSong, pNotes, sModifiers, GAMESTATE->GetCurrentStyleDef()->m_NotesType );
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
GAMESTATE->m_PlayerOptions[p].FromString( sModifiers );
|
||||
GAMESTATE->m_SongOptions.FromString( sModifiers );
|
||||
// apply #LIVES
|
||||
if( pCourse->m_iLives != -1 )
|
||||
{
|
||||
GAMESTATE->m_SongOptions.m_LifeType = SongOptions::LIFE_BATTERY;
|
||||
GAMESTATE->m_SongOptions.m_iBatteryLives = pCourse->m_iLives;
|
||||
}
|
||||
|
||||
//
|
||||
// Do NOT apply the first song's modifiers before going to the options screen.
|
||||
// The user should not be able to override modifiers specifically designated
|
||||
// by the course.
|
||||
//
|
||||
//Song* pSong;
|
||||
//Notes* pNotes;
|
||||
//CString sModifiers;
|
||||
//pCourse->GetFirstStageInfo( pSong, pNotes, sModifiers, GAMESTATE->GetCurrentStyleDef()->m_NotesType );
|
||||
//for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
// GAMESTATE->m_PlayerOptions[p].FromString( sModifiers );
|
||||
//GAMESTATE->m_SongOptions.FromString( sModifiers );
|
||||
|
||||
m_Menu.StopTimer();
|
||||
AdjustOptions();
|
||||
|
||||
@@ -87,6 +87,8 @@ ScreenSelectMusic::ScreenSelectMusic()
|
||||
|
||||
CodeDetector::RefreshCacheItems();
|
||||
|
||||
GAMESTATE->m_SongOptions.m_FailType = PREFSMAN->m_DefaultFailType;
|
||||
|
||||
int p;
|
||||
|
||||
m_Menu.Load(
|
||||
|
||||
Reference in New Issue
Block a user