Fix reading pre-split timing ssc files.
Welcome to the first cache of the next series. Start placing your bets again on what the final cache value will be for SM5 final. As a reminder, we are on cache version 202 now.
This commit is contained in:
@@ -4,6 +4,15 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes
|
|||||||
from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt.
|
from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt.
|
||||||
________________________________________________________________________________
|
________________________________________________________________________________
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
StepMania 5.0 ????????? | 2011????
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2011/08/21
|
||||||
|
----------
|
||||||
|
* [NotesLoaderSSC] Fix loading pre-split timing files that had blank timing
|
||||||
|
tags inside of them. Thanks to Vin.il for the catch. [Wolfman2000]
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
StepMania 5.0 Preview 3 | 20110820
|
StepMania 5.0 Preview 3 | 20110820
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|||||||
+65
-26
@@ -623,81 +623,120 @@ bool SSCLoader::LoadFromSimfile( const RString &sPath, Song &out, bool bFromCach
|
|||||||
|
|
||||||
else if( sValueName=="BPMS" )
|
else if( sValueName=="BPMS" )
|
||||||
{
|
{
|
||||||
if( SMLoader::ProcessBPMs(stepsTiming, sParams[1]) )
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
if( SMLoader::ProcessBPMs(stepsTiming, sParams[1]) )
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="STOPS" )
|
else if( sValueName=="STOPS" )
|
||||||
{
|
{
|
||||||
SMLoader::ProcessStops(stepsTiming, sParams[1]);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
SMLoader::ProcessStops(stepsTiming, sParams[1]);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="DELAYS" )
|
else if( sValueName=="DELAYS" )
|
||||||
{
|
{
|
||||||
SMLoader::ProcessDelays(stepsTiming, sParams[1]);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
SMLoader::ProcessDelays(stepsTiming, sParams[1]);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="TIMESIGNATURES" )
|
else if( sValueName=="TIMESIGNATURES" )
|
||||||
{
|
{
|
||||||
SMLoader::ProcessTimeSignatures(stepsTiming, sParams[1]);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
SMLoader::ProcessTimeSignatures(stepsTiming, sParams[1]);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="TICKCOUNTS" )
|
else if( sValueName=="TICKCOUNTS" )
|
||||||
{
|
{
|
||||||
SMLoader::ProcessTickcounts(stepsTiming, sParams[1]);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
SMLoader::ProcessTickcounts(stepsTiming, sParams[1]);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="COMBOS" )
|
else if( sValueName=="COMBOS" )
|
||||||
{
|
{
|
||||||
ProcessCombos(stepsTiming, sParams[1]);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
ProcessCombos(stepsTiming, sParams[1]);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="WARPS" )
|
else if( sValueName=="WARPS" )
|
||||||
{
|
{
|
||||||
ProcessWarps(stepsTiming, sParams[1], out.m_fVersion);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
ProcessWarps(stepsTiming, sParams[1], out.m_fVersion);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="SPEEDS" )
|
else if( sValueName=="SPEEDS" )
|
||||||
{
|
{
|
||||||
ProcessSpeeds( stepsTiming, sParams[1] );
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
ProcessSpeeds( stepsTiming, sParams[1] );
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="SCROLLS" )
|
else if( sValueName=="SCROLLS" )
|
||||||
{
|
{
|
||||||
ProcessScrolls( stepsTiming, sParams[1] );
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
ProcessScrolls( stepsTiming, sParams[1] );
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="FAKES" )
|
else if( sValueName=="FAKES" )
|
||||||
{
|
{
|
||||||
ProcessFakes( stepsTiming, sParams[1] );
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
ProcessFakes( stepsTiming, sParams[1] );
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="LABELS" )
|
else if( sValueName=="LABELS" )
|
||||||
{
|
{
|
||||||
ProcessLabels(stepsTiming, sParams[1]);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
ProcessLabels(stepsTiming, sParams[1]);
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/* If this is called, the chart does not use the same attacks
|
/* If this is called, the chart does not use the same attacks
|
||||||
* as the Song's timing. No other changes are required. */
|
* as the Song's timing. No other changes are required. */
|
||||||
else if( sValueName=="ATTACKS" )
|
else if( sValueName=="ATTACKS" )
|
||||||
{
|
{
|
||||||
ProcessAttackString(pNewNotes->m_sAttackString, sParams);
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
ProcessAttacks(pNewNotes->m_Attacks, sParams);
|
{
|
||||||
|
ProcessAttackString(pNewNotes->m_sAttackString, sParams);
|
||||||
|
ProcessAttacks(pNewNotes->m_Attacks, sParams);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="OFFSET" )
|
else if( sValueName=="OFFSET" )
|
||||||
{
|
{
|
||||||
stepsTiming.m_fBeat0OffsetInSeconds = StringToFloat( sParams[1] );
|
if (out.m_fVersion >= VERSION_SPLIT_TIMING)
|
||||||
bHasOwnTiming = true;
|
{
|
||||||
|
stepsTiming.m_fBeat0OffsetInSeconds = StringToFloat( sParams[1] );
|
||||||
|
bHasOwnTiming = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if( sValueName=="DISPLAYBPM" )
|
else if( sValueName=="DISPLAYBPM" )
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@
|
|||||||
* @brief The internal version of the cache for StepMania.
|
* @brief The internal version of the cache for StepMania.
|
||||||
*
|
*
|
||||||
* Increment this value to invalidate the current cache. */
|
* Increment this value to invalidate the current cache. */
|
||||||
const int FILE_CACHE_VERSION = 201;
|
const int FILE_CACHE_VERSION = 202;
|
||||||
|
|
||||||
/** @brief How long does a song sample last by default? */
|
/** @brief How long does a song sample last by default? */
|
||||||
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
||||||
|
|||||||
Reference in New Issue
Block a user