Various bug fixes. See changelog.
This commit is contained in:
@@ -20,13 +20,14 @@
|
||||
#include "GameConstantsAndTypes.h"
|
||||
#include "ScreenPlayerOptions.h"
|
||||
#include "RageLog.h"
|
||||
#include "GameState.h"
|
||||
|
||||
|
||||
|
||||
OptionLineData g_SongOptionsLines[] = {
|
||||
{ "Fail", 3, {"ARCADE","END OF SONG","OFF"} },
|
||||
{ "Assist", 2, {"OFF","TICK"} },
|
||||
{ "Rate", 7, {"70%","80%","90%","100%","110%","120%","130%"} },
|
||||
{ "Rate", 9, {"x0.5","x0.7","x0.8","x0.9","x1.0","x1.1","x1.2","x1.3","x1.5"} },
|
||||
{ "Bars", 2, {"OFF","ON"} },
|
||||
};
|
||||
const int NUM_SONG_OPTIONS_LINES = sizeof(g_SongOptionsLines)/sizeof(OptionLineData);
|
||||
@@ -56,37 +57,41 @@ ScreenSongOptions::ScreenSongOptions() :
|
||||
|
||||
void ScreenSongOptions::ImportOptions()
|
||||
{
|
||||
SongOptions &so = PREFSMAN->m_SongOptions;
|
||||
SongOptions &so = GAMESTATE->m_SongOptions;
|
||||
|
||||
m_iSelectedOption[0][SO_FAIL] = so.m_FailType;
|
||||
m_iSelectedOption[0][SO_ASSIST] = so.m_AssistType;
|
||||
|
||||
if( so.m_fMusicRate == 0.70f ) m_iSelectedOption[0][SO_RATE] = 0;
|
||||
else if( so.m_fMusicRate == 0.80f ) m_iSelectedOption[0][SO_RATE] = 1;
|
||||
else if( so.m_fMusicRate == 0.90f ) m_iSelectedOption[0][SO_RATE] = 2;
|
||||
else if( so.m_fMusicRate == 1.00f ) m_iSelectedOption[0][SO_RATE] = 3;
|
||||
else if( so.m_fMusicRate == 1.10f ) m_iSelectedOption[0][SO_RATE] = 4;
|
||||
else if( so.m_fMusicRate == 1.20f ) m_iSelectedOption[0][SO_RATE] = 5;
|
||||
else if( so.m_fMusicRate == 1.30f ) m_iSelectedOption[0][SO_RATE] = 6;
|
||||
else m_iSelectedOption[0][SO_RATE] = 3;
|
||||
if( so.m_fMusicRate == 0.5f ) m_iSelectedOption[0][SO_RATE] = 0;
|
||||
else if( so.m_fMusicRate == 0.7f ) m_iSelectedOption[0][SO_RATE] = 1;
|
||||
else if( so.m_fMusicRate == 0.8f ) m_iSelectedOption[0][SO_RATE] = 2;
|
||||
else if( so.m_fMusicRate == 0.9f ) m_iSelectedOption[0][SO_RATE] = 3;
|
||||
else if( so.m_fMusicRate == 1.0f ) m_iSelectedOption[0][SO_RATE] = 4;
|
||||
else if( so.m_fMusicRate == 1.1f ) m_iSelectedOption[0][SO_RATE] = 5;
|
||||
else if( so.m_fMusicRate == 1.2f ) m_iSelectedOption[0][SO_RATE] = 6;
|
||||
else if( so.m_fMusicRate == 1.3f ) m_iSelectedOption[0][SO_RATE] = 7;
|
||||
else if( so.m_fMusicRate == 1.5f ) m_iSelectedOption[0][SO_RATE] = 8;
|
||||
else m_iSelectedOption[0][SO_RATE] = 4;
|
||||
}
|
||||
|
||||
void ScreenSongOptions::ExportOptions()
|
||||
{
|
||||
SongOptions &so = PREFSMAN->m_SongOptions;
|
||||
SongOptions &so = GAMESTATE->m_SongOptions;
|
||||
|
||||
so.m_FailType = (SongOptions::FailType)m_iSelectedOption[0][SO_FAIL];
|
||||
so.m_AssistType = (SongOptions::AssistType)m_iSelectedOption[0][SO_ASSIST];
|
||||
|
||||
switch( m_iSelectedOption[0][SO_RATE] )
|
||||
{
|
||||
case 0: so.m_fMusicRate = 0.70f; break;
|
||||
case 1: so.m_fMusicRate = 0.80f; break;
|
||||
case 2: so.m_fMusicRate = 0.90f; break;
|
||||
case 3: so.m_fMusicRate = 1.00f; break;
|
||||
case 4: so.m_fMusicRate = 1.10f; break;
|
||||
case 5: so.m_fMusicRate = 1.20f; break;
|
||||
case 6: so.m_fMusicRate = 1.30f; break;
|
||||
case 0: so.m_fMusicRate = 0.5f; break;
|
||||
case 1: so.m_fMusicRate = 0.7f; break;
|
||||
case 2: so.m_fMusicRate = 0.8f; break;
|
||||
case 3: so.m_fMusicRate = 0.9f; break;
|
||||
case 4: so.m_fMusicRate = 1.0f; break;
|
||||
case 5: so.m_fMusicRate = 1.1f; break;
|
||||
case 6: so.m_fMusicRate = 1.2f; break;
|
||||
case 7: so.m_fMusicRate = 1.3f; break;
|
||||
case 8: so.m_fMusicRate = 1.5f; break;
|
||||
default: ASSERT( false );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user