add time-based spacing and variable scroll speed (commented out because it wasn't as helpful as I hoped)
This commit is contained in:
@@ -19,7 +19,8 @@
|
||||
#include "AnnouncerManager.h"
|
||||
#include "NoteSkinManager.h"
|
||||
|
||||
#define SONGSEL_SCREEN THEME->GetMetric("ScreenGameplay","SongSelectScreen")
|
||||
#define PREV_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","PrevScreen"+Capitalize(PlayModeToString(play_mode)))
|
||||
#define NEXT_SCREEN( play_mode ) THEME->GetMetric ("ScreenPlayerOptions","NextScreen"+Capitalize(PlayModeToString(play_mode)))
|
||||
|
||||
enum {
|
||||
PO_SPEED = 0,
|
||||
@@ -31,12 +32,12 @@ enum {
|
||||
PO_SCROLL,
|
||||
PO_NOTE_SKIN,
|
||||
PO_HOLD_NOTES,
|
||||
PO_DARK,
|
||||
PO_OTHER,
|
||||
PO_PERSPECTIVE,
|
||||
NUM_PLAYER_OPTIONS_LINES
|
||||
};
|
||||
OptionRow g_PlayerOptionsLines[NUM_PLAYER_OPTIONS_LINES] = {
|
||||
OptionRow( "Speed", "x0.25","x0.5","x0.75","x1","x1.5","x2","x3","x4","x5","x8", "x12" ),
|
||||
OptionRow( "Speed", "x0.25","x0.5","x0.75","x1","x1.5","x2","x3","x4","x5","x8","x12" ),
|
||||
OptionRow( "Acceler\n-ation", "OFF","BOOST","BRAKE","WAVE","EXPAND","BOOMERANG" ),
|
||||
OptionRow( "Effect", "OFF","DRUNK","DIZZY","MINI","FLIP","TORNADO" ),
|
||||
OptionRow( "Appear\n-ance", "VISIBLE","HIDDEN","SUDDEN","STEALTH","BLINK" ),
|
||||
@@ -45,7 +46,7 @@ OptionRow g_PlayerOptionsLines[NUM_PLAYER_OPTIONS_LINES] = {
|
||||
OptionRow( "Scroll", "STANDARD","REVERSE" ),
|
||||
OptionRow( "Note\nSkin", "" ),
|
||||
OptionRow( "Holds", "OFF","ON" ),
|
||||
OptionRow( "Dark", "OFF","ON" ),
|
||||
OptionRow( "Other", "DARK","TIME SPACING" ),
|
||||
OptionRow( "Perspec\n-tive", "INCOMING","OVERHEAD","SPACE" ),
|
||||
};
|
||||
|
||||
@@ -86,17 +87,20 @@ void ScreenPlayerOptions::ImportOptions()
|
||||
{
|
||||
PlayerOptions &po = GAMESTATE->m_PlayerOptions[p];
|
||||
|
||||
if( po.m_fScrollSpeed == 0.25f ) m_iSelectedOption[p][PO_SPEED] = 0;
|
||||
else if( po.m_fScrollSpeed == 0.5f ) m_iSelectedOption[p][PO_SPEED] = 1;
|
||||
else if( po.m_fScrollSpeed == 0.75f) m_iSelectedOption[p][PO_SPEED] = 2;
|
||||
else if( po.m_fScrollSpeed == 1.0f ) m_iSelectedOption[p][PO_SPEED] = 3;
|
||||
else if( po.m_fScrollSpeed == 1.5f ) m_iSelectedOption[p][PO_SPEED] = 4;
|
||||
else if( po.m_fScrollSpeed == 2.0f ) m_iSelectedOption[p][PO_SPEED] = 5;
|
||||
else if( po.m_fScrollSpeed == 3.0f ) m_iSelectedOption[p][PO_SPEED] = 6;
|
||||
else if( po.m_fScrollSpeed == 4.0f ) m_iSelectedOption[p][PO_SPEED] = 7;
|
||||
else if( po.m_fScrollSpeed == 5.0f ) m_iSelectedOption[p][PO_SPEED] = 8;
|
||||
else if( po.m_fScrollSpeed == 8.0f ) m_iSelectedOption[p][PO_SPEED] = 9;
|
||||
else if( po.m_fScrollSpeed == 12.0f) m_iSelectedOption[p][PO_SPEED] = 10;
|
||||
if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 0.25f ) m_iSelectedOption[p][PO_SPEED] = 0;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 0.5f ) m_iSelectedOption[p][PO_SPEED] = 1;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 0.75f ) m_iSelectedOption[p][PO_SPEED] = 2;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 1.0f ) m_iSelectedOption[p][PO_SPEED] = 3;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 1.5f ) m_iSelectedOption[p][PO_SPEED] = 4;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 2.0f ) m_iSelectedOption[p][PO_SPEED] = 5;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 3.0f ) m_iSelectedOption[p][PO_SPEED] = 6;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 5.0f ) m_iSelectedOption[p][PO_SPEED] = 7;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 4.0f ) m_iSelectedOption[p][PO_SPEED] = 8;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 8.0f ) m_iSelectedOption[p][PO_SPEED] = 9;
|
||||
else if( /*!po.m_bUseScrollBPM &&*/ po.m_fScrollSpeed == 12.0f ) m_iSelectedOption[p][PO_SPEED] = 10;
|
||||
// else if( po.m_bUseScrollBPM && po.m_fScrollBPM == 200 ) m_iSelectedOption[p][PO_SPEED] = 8;
|
||||
// else if( po.m_bUseScrollBPM && po.m_fScrollBPM == 300 ) m_iSelectedOption[p][PO_SPEED] = 9;
|
||||
// else if( po.m_bUseScrollBPM && po.m_fScrollBPM == 450 ) m_iSelectedOption[p][PO_SPEED] = 10;
|
||||
else m_iSelectedOption[p][PO_SPEED] = 3;
|
||||
|
||||
m_iSelectedOption[p][PO_ACCEL] = po.GetFirstAccel()+1;
|
||||
@@ -122,7 +126,14 @@ void ScreenPlayerOptions::ImportOptions()
|
||||
|
||||
|
||||
m_iSelectedOption[p][PO_HOLD_NOTES] = po.m_bHoldNotes ? 1 : 0;
|
||||
m_iSelectedOption[p][PO_DARK] = po.m_fDark==1 ? 1 : 0;
|
||||
|
||||
if( po.m_fDark==1 )
|
||||
m_iSelectedOption[p][PO_OTHER] = 1;
|
||||
else if( po.m_bTimeSpacing )
|
||||
m_iSelectedOption[p][PO_OTHER] = 2;
|
||||
else
|
||||
m_iSelectedOption[p][PO_OTHER] = 0;
|
||||
|
||||
m_iSelectedOption[p][PO_PERSPECTIVE]= (int)po.m_fPerspectiveTilt + 1;
|
||||
|
||||
|
||||
@@ -139,17 +150,21 @@ void ScreenPlayerOptions::ExportOptions()
|
||||
|
||||
switch( m_iSelectedOption[p][PO_SPEED] )
|
||||
{
|
||||
case 0: po.m_fScrollSpeed = 0.25f; break;
|
||||
case 1: po.m_fScrollSpeed = 0.5f; break;
|
||||
case 2: po.m_fScrollSpeed = 0.75f; break;
|
||||
case 3: po.m_fScrollSpeed = 1.0f; break;
|
||||
case 4: po.m_fScrollSpeed = 1.5f; break;
|
||||
case 5: po.m_fScrollSpeed = 2.0f; break;
|
||||
case 6: po.m_fScrollSpeed = 3.0f; break;
|
||||
case 7: po.m_fScrollSpeed = 4.0f; break;
|
||||
case 8: po.m_fScrollSpeed = 5.0f; break;
|
||||
case 9: po.m_fScrollSpeed = 8.0f; break;
|
||||
case 10: po.m_fScrollSpeed = 12.0f; break;
|
||||
case 0: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 0.25f; break;
|
||||
case 1: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 0.5f; break;
|
||||
case 2: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 0.75f; break;
|
||||
case 3: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 1.0f; break;
|
||||
case 4: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 1.5f; break;
|
||||
case 5: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 2.0f; break;
|
||||
case 6: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 3.0f; break;
|
||||
case 7: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 4.0f; break;
|
||||
case 8: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 5.0f; break;
|
||||
case 9: /*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 8.0f; break;
|
||||
case 10:/*po.m_bUseScrollBPM = false;*/ po.m_fScrollSpeed = 12.0f; break;
|
||||
// case 9: po.m_bUseScrollBPM = true; po.m_fScrollBPM = 200; break;
|
||||
// case 10: po.m_bUseScrollBPM = true; po.m_fScrollBPM = 300; break;
|
||||
// case 11:po.m_bUseScrollBPM = true; po.m_fScrollBPM = 450; break;
|
||||
default: ASSERT(0);
|
||||
}
|
||||
|
||||
if( m_iSelectedOption[p][PO_ACCEL] != 0 )
|
||||
@@ -170,7 +185,8 @@ void ScreenPlayerOptions::ExportOptions()
|
||||
|
||||
|
||||
po.m_bHoldNotes = (m_iSelectedOption[p][PO_HOLD_NOTES] == 1);
|
||||
po.m_fDark = (m_iSelectedOption[p][PO_DARK] == 1) ? 1.f : 0.f;
|
||||
po.m_fDark = (m_iSelectedOption[p][PO_OTHER] == 1) ? 1.f : 0.f;
|
||||
po.m_bTimeSpacing = (m_iSelectedOption[p][PO_OTHER] == 2);
|
||||
po.m_fPerspectiveTilt = (float)m_iSelectedOption[p][PO_PERSPECTIVE] - 1;
|
||||
}
|
||||
}
|
||||
@@ -179,12 +195,8 @@ void ScreenPlayerOptions::GoToPrevState()
|
||||
{
|
||||
if( GAMESTATE->m_bEditing )
|
||||
SCREENMAN->PopTopScreen();
|
||||
else if( GAMESTATE->m_PlayMode == PLAY_MODE_NONSTOP ||
|
||||
GAMESTATE->m_PlayMode == PLAY_MODE_ONI ||
|
||||
GAMESTATE->m_PlayMode == PLAY_MODE_ENDLESS)
|
||||
SCREENMAN->SetNewScreen( "ScreenSelectCourse" );
|
||||
else
|
||||
SCREENMAN->SetNewScreen( SONGSEL_SCREEN );
|
||||
SCREENMAN->SetNewScreen( PREV_SCREEN(GAMESTATE->m_PlayMode) );
|
||||
}
|
||||
|
||||
void ScreenPlayerOptions::GoToNextState()
|
||||
|
||||
Reference in New Issue
Block a user