diff --git a/src/NotesLoaderBMS.cpp b/src/NotesLoaderBMS.cpp
index 9c2e5d15da..2b14c1a2be 100644
--- a/src/NotesLoaderBMS.cpp
+++ b/src/NotesLoaderBMS.cpp
@@ -520,7 +520,7 @@ StepsType BMSChartReader::DetermineStepsType()
case 7:
case 8: return StepsType_beat_single7;
case 9: return StepsType_popn_nine;
- default: return StepsType_Invalid;
+ default: return StepsType_beat_single7;
}
case 2: // couple/battle
return StepsType_dance_couple;
@@ -532,7 +532,7 @@ StepsType BMSChartReader::DetermineStepsType()
case 16: return StepsType_beat_double7;
case 5: return StepsType_popn_five;
case 9: return StepsType_popn_nine;
- default: return StepsType_Invalid;
+ default: return StepsType_beat_double7;
}
default:
LOG->UserLog( "Song file", in->path, "has an invalid #PLAYER value %d.", player );
@@ -912,8 +912,13 @@ bool BMSSongLoader::Load( RString fileName )
void BMSSongLoader::AddToSong()
{
+ if( loadedSteps.size() == 0 )
+ {
+ return;
+ }
+
RString commonSubstring = "";
-
+
{
bool found = false;
for( unsigned i = 0; i < loadedSteps.size(); i ++ )
diff --git a/src/ScreenHowToPlay.cpp b/src/ScreenHowToPlay.cpp
index d44a3885dc..18fd594c1c 100644
--- a/src/ScreenHowToPlay.cpp
+++ b/src/ScreenHowToPlay.cpp
@@ -145,7 +145,7 @@ void ScreenHowToPlay::Init()
const Style* pStyle = GAMESTATE->GetCurrentStyle();
- Steps *pSteps = SongUtil::GetStepsByDescription( &m_Song, pStyle->m_StepsType, "" );
+ Steps *pSteps = SongUtil::GetClosestNotes( &m_Song, pStyle->m_StepsType, Difficulty_Beginner );
ASSERT_M( pSteps != NULL, ssprintf("No playable steps of StepsType '%s' for ScreenHowToPlay", StringConversion::ToString(pStyle->m_StepsType).c_str()) );
pSteps->m_Timing.TidyUpData();
diff --git a/src/Song.cpp b/src/Song.cpp
index bfc28da3b9..53214d23e1 100644
--- a/src/Song.cpp
+++ b/src/Song.cpp
@@ -826,7 +826,10 @@ void Song::TidyUpData( bool fromCache, bool duringCache )
/* Don't allow multiple Steps of the same StepsType and Difficulty (except
* for edits). We should be able to use difficulty names as unique
* identifiers for steps. */
- SongUtil::AdjustDuplicateSteps( this );
+ if( !duringCache )
+ {
+ SongUtil::AdjustDuplicateSteps( this );
+ }
}
void Song::TranslateTitles()
diff --git a/src/Texture Font Generator/Texture Font Generator-net2008.vcproj b/src/Texture Font Generator/Texture Font Generator-net2008.vcproj
index 2cc8d70684..3b2b1b0bcf 100644
--- a/src/Texture Font Generator/Texture Font Generator-net2008.vcproj
+++ b/src/Texture Font Generator/Texture Font Generator-net2008.vcproj
@@ -54,7 +54,7 @@
TreatWChar_tAsBuiltInType="true"
UsePrecompiledHeader="2"
WarningLevel="3"
- Detect64BitPortabilityProblems="true"
+ Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>