Reduce the precision of nps to 3 decimal places, and don't use ssprint to join all of it together (very very long charts would cause a stack overflow on Windows)

This commit is contained in:
Michael Votaw
2025-02-11 19:39:03 -08:00
committed by teejusb
parent 6a7dd95212
commit 97cefc6d71
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ RString MeasureInfo::ToString() const
std::vector<RString> asMeasureInfo;
for (unsigned i = 0; i < npsPerMeasure.size(); i++)
{
asMeasureInfo.push_back(ssprintf("%.6f", npsPerMeasure[i]));
asMeasureInfo.push_back(ssprintf("%.3f", npsPerMeasure[i]));
}
for (unsigned i = 0; i < notesPerMeasure.size(); i++)
+2 -1
View File
@@ -446,7 +446,8 @@ static RString GetSSCNoteData( const Song &song, const Steps &in, bool bSavingCa
const MeasureInfo &ms = in.GetMeasureInfo(pn);
asMeasureInfo.push_back(ms.ToString());
}
lines.push_back(ssprintf("#MEASUREINFO:%s;", join("|", asMeasureInfo).c_str()));
RString allMeasureInfo = "#MEASUREINFO:" + join("|", asMeasureInfo) + ";";
lines.push_back(allMeasureInfo);
// NOTE(MV): #STEPFILENAME has to be at the end of the cache tags,
// because it's used in SSCLoader::LoadFromSimfile to determine when