Fixed DWI writing bug, fixed player options interface bug, added more shorten group name presets.
This commit is contained in:
@@ -220,7 +220,7 @@ OptionIconsP2Y=86
|
|||||||
HelpText=! or " change music Hold ! and " then press START to change sort::## easier difficulty $$ harder difficulty::#$#$ to change sort
|
HelpText=! or " change music Hold ! and " then press START to change sort::## easier difficulty $$ harder difficulty::#$#$ to change sort
|
||||||
TimerSeconds=60
|
TimerSeconds=60
|
||||||
ScoreConnectedToMusicWheel=1
|
ScoreConnectedToMusicWheel=1
|
||||||
SampleMusicDelay=0.15
|
SampleMusicDelay=0.25
|
||||||
|
|
||||||
[ScreenEz2SelectMusic]
|
[ScreenEz2SelectMusic]
|
||||||
BannerX=320 // central banner
|
BannerX=320 // central banner
|
||||||
|
|||||||
@@ -882,7 +882,7 @@ void NoteData::LoadTransformedSlidingWindow( NoteData* pOriginal, int iNewNumTra
|
|||||||
this->m_TapNotes[iNewTrack][r] = pOriginal->m_TapNotes[iOldTrack][r];
|
this->m_TapNotes[iNewTrack][r] = pOriginal->m_TapNotes[iOldTrack][r];
|
||||||
}
|
}
|
||||||
|
|
||||||
if( r % (ROWS_PER_MEASURE*2) == 0 ) // adjust sliding window every two measures
|
if( r % (ROWS_PER_MEASURE*4) == 0 ) // adjust sliding window every 4 measures
|
||||||
{
|
{
|
||||||
// See if there is a hold crossing the beginning of this measure
|
// See if there is a hold crossing the beginning of this measure
|
||||||
pOriginal->Convert4sToHoldNotes();
|
pOriginal->Convert4sToHoldNotes();
|
||||||
|
|||||||
@@ -12,16 +12,16 @@ char NotesWriterDWI::NotesToDWIChar( bool bCol1, bool bCol2, bool bCol3, bool bC
|
|||||||
bool bCol[6];
|
bool bCol[6];
|
||||||
} const lookup[] = {
|
} const lookup[] = {
|
||||||
{ '0', 0, 0, 0, 0, 0, 0 },
|
{ '0', 0, 0, 0, 0, 0, 0 },
|
||||||
{ '1', 0, 1, 1, 0, 0, 0 },
|
{ '1', 1, 0, 1, 0, 0, 0 },
|
||||||
{ '2', 0, 0, 1, 0, 0, 0 },
|
{ '2', 0, 0, 1, 0, 0, 0 },
|
||||||
{ '3', 0, 0, 1, 0, 1, 0 },
|
{ '3', 0, 0, 1, 0, 0, 1 },
|
||||||
{ '4', 0, 1, 0, 0, 0, 0 },
|
{ '4', 1, 0, 0, 0, 0, 0 },
|
||||||
{ '6', 0, 0, 0, 0, 1, 0 },
|
{ '6', 0, 0, 0, 0, 0, 1 },
|
||||||
{ '7', 0, 1, 0, 1, 0, 0 },
|
{ '7', 1, 0, 0, 1, 0, 0 },
|
||||||
{ '8', 0, 0, 0, 1, 0, 0 },
|
{ '8', 0, 0, 0, 1, 0, 0 },
|
||||||
{ '9', 0, 0, 0, 1, 1, 0 },
|
{ '9', 0, 0, 0, 1, 0, 1 },
|
||||||
{ 'A', 0, 0, 1, 1, 0, 0 },
|
{ 'A', 0, 0, 1, 1, 0, 0 },
|
||||||
{ 'B', 0, 1, 0, 0, 1, 0 },
|
{ 'B', 1, 0, 0, 0, 0, 1 },
|
||||||
{ 'C', 0, 1, 0, 0, 0, 0 },
|
{ 'C', 0, 1, 0, 0, 0, 0 },
|
||||||
{ 'D', 0, 0, 0, 0, 1, 0 },
|
{ 'D', 0, 0, 0, 0, 1, 0 },
|
||||||
{ 'E', 1, 1, 0, 0, 0, 0 },
|
{ 'E', 1, 1, 0, 0, 0, 0 },
|
||||||
@@ -42,13 +42,13 @@ char NotesWriterDWI::NotesToDWIChar( bool bCol1, bool bCol2, bool bCol3, bool bC
|
|||||||
if( l.bCol[0]==bCol1 && l.bCol[1]==bCol2 && l.bCol[2]==bCol3 && l.bCol[3]==bCol4 && l.bCol[4]==bCol5 && l.bCol[5]==bCol6 )
|
if( l.bCol[0]==bCol1 && l.bCol[1]==bCol2 && l.bCol[2]==bCol3 && l.bCol[3]==bCol4 && l.bCol[4]==bCol5 && l.bCol[5]==bCol6 )
|
||||||
return l.c;
|
return l.c;
|
||||||
}
|
}
|
||||||
ASSERT(0);
|
ASSERT(0); // if we assert here, we didn't find the row in the DWI char lookup above. It must be missing an entry.
|
||||||
return '0';
|
return '0';
|
||||||
}
|
}
|
||||||
|
|
||||||
char NotesWriterDWI::NotesToDWIChar( bool bCol1, bool bCol2, bool bCol3, bool bCol4 )
|
char NotesWriterDWI::NotesToDWIChar( bool bCol1, bool bCol2, bool bCol3, bool bCol4 )
|
||||||
{
|
{
|
||||||
return NotesToDWIChar( 0, bCol1, bCol2, bCol3, bCol4, 0 );
|
return NotesToDWIChar( bCol1, 0, bCol2, bCol3, 0, bCol4 );
|
||||||
}
|
}
|
||||||
|
|
||||||
CString NotesWriterDWI::NotesToDWIString( char cNoteCol1, char cNoteCol2, char cNoteCol3, char cNoteCol4, char cNoteCol5, char cNoteCol6 )
|
CString NotesWriterDWI::NotesToDWIString( char cNoteCol1, char cNoteCol2, char cNoteCol3, char cNoteCol4, char cNoteCol5, char cNoteCol6 )
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ void ScreenPlayerOptions::ImportOptions()
|
|||||||
for( int i=0; i<PlayerOptions::NUM_EFFECT_TYPES; i++ )
|
for( int i=0; i<PlayerOptions::NUM_EFFECT_TYPES; i++ )
|
||||||
{
|
{
|
||||||
if( po.m_bEffects[i] )
|
if( po.m_bEffects[i] )
|
||||||
m_iSelectedOption[p][PO_EFFECT] = i-1;
|
m_iSelectedOption[p][PO_EFFECT] = i+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_iSelectedOption[p][PO_APPEAR] = po.m_AppearanceType;
|
m_iSelectedOption[p][PO_APPEAR] = po.m_AppearanceType;
|
||||||
|
|||||||
@@ -269,15 +269,17 @@ void SongManager::ReadStatisticsFromDisk()
|
|||||||
|
|
||||||
// Each value has the format "SongName::StepsName=TimesPlayed::TopGrade::TopScore::MaxCombo".
|
// Each value has the format "SongName::StepsName=TimesPlayed::TopGrade::TopScore::MaxCombo".
|
||||||
char szSongDir[256];
|
char szSongDir[256];
|
||||||
char szNotesName[256];
|
char szNotesType[256];
|
||||||
|
char szNotesDescription[256];
|
||||||
int iRetVal;
|
int iRetVal;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// Parse for Song name and Notes name
|
// Parse for Song name and Notes name
|
||||||
iRetVal = sscanf( name, "%[^:]::%[^\n]", szSongDir, szNotesName );
|
iRetVal = sscanf( name, "%[^:]::%[^:]::%[^\n]", szSongDir, szNotesType, szNotesDescription );
|
||||||
if( iRetVal != 2 )
|
if( iRetVal != 3 )
|
||||||
continue; // this line doesn't match what is expected
|
continue; // this line doesn't match what is expected
|
||||||
|
|
||||||
|
NotesType notesType = GameManager::StringToNotesType( szNotesType );
|
||||||
|
|
||||||
// Search for the corresponding Song pointer.
|
// Search for the corresponding Song pointer.
|
||||||
Song* pSong = NULL;
|
Song* pSong = NULL;
|
||||||
@@ -297,7 +299,8 @@ void SongManager::ReadStatisticsFromDisk()
|
|||||||
Notes* pNotes = NULL;
|
Notes* pNotes = NULL;
|
||||||
for( i=0; i<pSong->m_apNotes.GetSize(); i++ )
|
for( i=0; i<pSong->m_apNotes.GetSize(); i++ )
|
||||||
{
|
{
|
||||||
if( pSong->m_apNotes[i]->m_sDescription == szNotesName ) // match!
|
if( pSong->m_apNotes[i]->m_NotesType == notesType &&
|
||||||
|
pSong->m_apNotes[i]->m_sDescription == szNotesDescription ) // match!
|
||||||
{
|
{
|
||||||
pNotes = pSong->m_apNotes[i];
|
pNotes = pSong->m_apNotes[i];
|
||||||
break;
|
break;
|
||||||
@@ -345,7 +348,7 @@ void SongManager::SaveStatisticsToDisk()
|
|||||||
|
|
||||||
// Each value has the format "SongName::NotesName=TimesPlayed::TopGrade::TopScore::MaxCombo".
|
// Each value has the format "SongName::NotesName=TimesPlayed::TopGrade::TopScore::MaxCombo".
|
||||||
|
|
||||||
CString sName = ssprintf( "%s::%s", pSong->m_sSongDir, pNotes->m_sDescription );
|
CString sName = ssprintf( "%s::%s::%s", pSong->m_sSongDir, GameManager::NotesTypeToString(pNotes->m_NotesType), pNotes->m_sDescription );
|
||||||
CString sValue = ssprintf(
|
CString sValue = ssprintf(
|
||||||
"%d::%s::%d::%d",
|
"%d::%s::%d::%d",
|
||||||
pNotes->m_iNumTimesPlayed,
|
pNotes->m_iNumTimesPlayed,
|
||||||
@@ -425,6 +428,15 @@ CString SongManager::ShortenGroupName( const CString &sOrigGroupName )
|
|||||||
sShortName.Replace( "Pump It Up", "PIU" );
|
sShortName.Replace( "Pump It Up", "PIU" );
|
||||||
sShortName.Replace( "pump it up", "PIU" );
|
sShortName.Replace( "pump it up", "PIU" );
|
||||||
sShortName.Replace( "PUMP IT UP", "PIU" );
|
sShortName.Replace( "PUMP IT UP", "PIU" );
|
||||||
|
sShortName.Replace( "ParaParaParadise", "PPP" );
|
||||||
|
sShortName.Replace( "paraparaparadise", "PPP" );
|
||||||
|
sShortName.Replace( "PARAPARAPARADUSE", "PPP" );
|
||||||
|
sShortName.Replace( "Para Para Paradise", "PPP" );
|
||||||
|
sShortName.Replace( "para para paradise", "PPP" );
|
||||||
|
sShortName.Replace( "PARA PARA PARADUSE", "PPP" );
|
||||||
|
sShortName.Replace( "Dancing Stage", "DS" );
|
||||||
|
sShortName.Replace( "Dancing Stage", "DS" );
|
||||||
|
sShortName.Replace( "Dancing Stage", "DS" );
|
||||||
return sShortName;
|
return sShortName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user