Skip to content

Commit b4d0951

Browse files
committed
Variation fallback & chartdata only difficulties in difficulty toolbox
1 parent f1c3e99 commit b4d0951

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

source/funkin/ui/debug/charting/handlers/ChartEditorImportExportHandler.hx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,16 @@ class ChartEditorImportExportHandler
131131
state.songMetadata = newSongMetadata;
132132
state.songChartData = newSongChartData;
133133

134-
if (!state.songMetadata.exists(state.selectedVariation))
134+
var variationMetadata:Null<SongMetadata> = state.songMetadata.get(state.selectedVariation);
135+
if (variationMetadata == null)
135136
{
136-
state.selectedVariation = Constants.DEFAULT_VARIATION;
137+
// Use the default variation, or the first available variation if that doesn't exist for some reason.
138+
if (state.availableDifficulties.indexOf(Constants.DEFAULT_VARIATION) < 0) state.selectedVariation = state.availableVariations[0];
139+
else state.selectedVariation = Constants.DEFAULT_VARIATION;
140+
141+
variationMetadata = state.songMetadata.get(state.selectedVariation);
137142
}
143+
138144
// Use the first available difficulty as a fallback if the currently selected one cannot be found.
139145
if (state.availableDifficulties.indexOf(state.selectedDifficulty) < 0) state.selectedDifficulty = state.availableDifficulties[0];
140146

source/funkin/ui/debug/charting/toolboxes/ChartEditorDifficultyToolbox.hx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import funkin.data.song.SongRegistry;
66
import haxe.ui.components.Button;
77
import haxe.ui.containers.dialogs.Dialogs;
88
import haxe.ui.containers.dialogs.Dialog.DialogButton;
9-
import funkin.data.song.SongData.SongMetadata;
109
import haxe.ui.components.DropDown;
1110
import haxe.ui.components.HorizontalSlider;
1211
import funkin.util.VersionUtil;
@@ -215,6 +214,16 @@ class ChartEditorDifficultyToolbox extends ChartEditorBaseToolbox
215214

216215
var difficultyList:Array<String> = variationMetadata.playData.difficulties;
217216

217+
var variationChartdata:Null<SongChartData> = chartEditorState.songChartData.get(curVariation);
218+
if(variationChartdata != null)
219+
{
220+
var keys:Array<String> = [for (x in variationChartdata.notes.keys()) x];
221+
for (key in keys)
222+
{
223+
difficultyList.pushUnique(key);
224+
}
225+
}
226+
218227
for (difficulty in difficultyList)
219228
{
220229
var _treeDifficulty:TreeViewNode = treeVariation.addNode(

0 commit comments

Comments
 (0)