From 46611abb9ae303c458a1000dcbc8aa6dc3d307b4 Mon Sep 17 00:00:00 2001 From: Steve Checkoway Date: Sat, 8 Jul 2006 00:58:43 +0000 Subject: [PATCH] Don't crash on invalid ksf files. 00... 40... 00... becomes 00... 10... 00... --- stepmania/src/NotesLoaderKSF.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stepmania/src/NotesLoaderKSF.cpp b/stepmania/src/NotesLoaderKSF.cpp index cc84734c00..b12e5b6c5e 100644 --- a/stepmania/src/NotesLoaderKSF.cpp +++ b/stepmania/src/NotesLoaderKSF.cpp @@ -190,14 +190,17 @@ bool KSFLoader::LoadFromKSFFile( const RString &sPath, Steps &out, const Song &s { int iEndKSFRow = r-1; int iEndRow = (iEndKSFRow * ROWS_PER_BEAT) / iTickCount; - notedata.AddHoldNote( t, iHoldStartRow[t], iEndRow , TAP_ORIGINAL_HOLD_HEAD ); + if( iHoldStartRow[t] == iEndRow ) + notedata.SetTapNote( t, iHoldStartRow[t], TAP_ORIGINAL_TAP ); + else + notedata.AddHoldNote( t, iHoldStartRow[t], iEndRow , TAP_ORIGINAL_HOLD_HEAD ); iHoldStartRow[t] = -1; } TapNote tap; switch(sRowString[t]) { - case '0': tap = TAP_EMPTY; break; + case '0': tap = TAP_EMPTY; break; case '1': tap = TAP_ORIGINAL_TAP; break; default: LOG->Warn( "File %s had an invalid row (\"%s\"); corrupt notes ignored",