diff --git a/source/funkin/backend/chart/FNFLegacyParser.hx b/source/funkin/backend/chart/FNFLegacyParser.hx index 279e174c..6f8faa00 100644 --- a/source/funkin/backend/chart/FNFLegacyParser.hx +++ b/source/funkin/backend/chart/FNFLegacyParser.hx @@ -221,6 +221,7 @@ typedef SwagSection = { var sectionNotes:Array; var lengthInSteps:Int; + var ?sectionBeats:Float; var ?typeOfSection:Int; var mustHitSection:Bool; var ?gfSection:Bool; diff --git a/source/funkin/backend/chart/PsychParser.hx b/source/funkin/backend/chart/PsychParser.hx index 1d718a84..91f31a51 100644 --- a/source/funkin/backend/chart/PsychParser.hx +++ b/source/funkin/backend/chart/PsychParser.hx @@ -13,6 +13,9 @@ class PsychParser { base.notes = FNFLegacyParser.__convertToSwagSections(chart); base.stage = chart.stage; + for (section in base.notes) + section.sectionBeats = Conductor.beatsPerMeasure; + for (strumLine in chart.strumLines) if (strumLine.type == ADDITIONAL && base.gfVersion == null) base.gfVersion = strumLine.characters.getDefault(["gf"])[0]; diff --git a/source/funkin/editors/charter/Charter.hx b/source/funkin/editors/charter/Charter.hx index 72bfd3e0..e2420ce5 100644 --- a/source/funkin/editors/charter/Charter.hx +++ b/source/funkin/editors/charter/Charter.hx @@ -1337,6 +1337,7 @@ class Charter extends UIState { defaultSaveFile: '${__song.toLowerCase().replace(" ", "-")}${__diff.toLowerCase() == "normal" ? "" : '-${__diff.toLowerCase()}'}.json', })); } + function _file_saveas_psych(_) { openSubState(new SaveSubstate(Json.stringify(PsychParser.encode(PlayState.SONG), null, Options.editorPrettyPrint ? "\t" : null), { defaultSaveFile: '${__song.toLowerCase().replace(" ", "-")}${__diff.toLowerCase() == "normal" ? "" : '-${__diff.toLowerCase()}'}.json',