From 32e799c41ea618cbea72de0a2a44bff95158ea64 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 7 Nov 2004 00:58:43 +0000 Subject: [PATCH] half-doubles reading fixes --- stepmania/src/NotesLoaderKSF.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/stepmania/src/NotesLoaderKSF.cpp b/stepmania/src/NotesLoaderKSF.cpp index d76238041a..b54c36a163 100644 --- a/stepmania/src/NotesLoaderKSF.cpp +++ b/stepmania/src/NotesLoaderKSF.cpp @@ -128,7 +128,7 @@ bool KSFLoader::LoadFromKSFFile( const CString &sPath, Steps &out, const Song &s out.m_StepsType = STEPS_TYPE_PUMP_SINGLE; /* Check for "halfdouble" before "double". */ - if( sFName.Find("halfdouble") != -1 ) + if( sFName.Find("halfdouble") != -1 || sFName.Find("h_double") != -1 ) { notedata.SetNumTracks( 6 ); out.m_StepsType = STEPS_TYPE_PUMP_HALFDOUBLE; @@ -169,6 +169,10 @@ bool KSFLoader::LoadFromKSFFile( const CString &sPath, Steps &out, const Song &s return false; } + /* Half-doubles is offset; "0011111100000". */ + if( STEPS_TYPE_PUMP_HALFDOUBLE ) + sRowString.erase( 0, 2 ); + // the length of a note in a row depends on TICKCOUNT float fBeatThisRow = r/(float)iTickCount; int row = BeatToNoteRow(fBeatThisRow);