Bring back difficulty metas for now
This commit is contained in:
@@ -102,10 +102,17 @@ class Chart {
|
||||
return data;
|
||||
}
|
||||
|
||||
public static function loadChartMeta(songName:String, ?variant:String, fromMods:Bool = true, includeMetaVariations = true):ChartMetaData {
|
||||
var defaultPath = Paths.file('songs/$songName/meta.json'), isVariant = false;
|
||||
var data:ChartMetaData = null, paths = (variant == null || variant == '') ? [defaultPath] : [Paths.file('songs/$songName/meta-$variant.json'), defaultPath];
|
||||
for (path in paths) if (Assets.exists(path)) {
|
||||
public static function loadChartMeta(songName:String, ?variant:String, ?difficulty:String, fromMods:Bool = true, includeMetaVariations = true):ChartMetaData {
|
||||
var folder = 'songs/$songName', isVariant = false, data:ChartMetaData = null;
|
||||
var defaultPaths = [Paths.file('$folder/meta-$difficulty.json'), Paths.file('$folder/meta.json')], variantPaths = [];
|
||||
if (difficulty != null) defaultPaths.unshift(Paths.file('$folder/meta-$difficulty.json'));
|
||||
|
||||
if (variant != null && variant != '') {
|
||||
variantPaths.push(Paths.file('$folder/meta-$variant.json'));
|
||||
if (difficulty != null) variantPaths.unshift(Paths.file('$folder/meta-$variant-$difficulty.json'));
|
||||
}
|
||||
|
||||
for (path in variantPaths.concat(defaultPaths)) if (Assets.exists(path)) {
|
||||
fromMods = Paths.assetsTree.existsSpecific(path, "TEXT", MODS);
|
||||
try {
|
||||
var tempData = Json.parse(Assets.getText(path));
|
||||
@@ -114,7 +121,7 @@ class Chart {
|
||||
} catch(e) Logs.trace('Failed to load song metadata for $songName ($path): ${Std.string(e)}', ERROR);
|
||||
|
||||
if (data != null) {
|
||||
isVariant = path != defaultPath;
|
||||
isVariant = variantPaths.contains(path);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -148,8 +155,10 @@ class Chart {
|
||||
|
||||
data.metas = [];
|
||||
if (includeMetaVariations && data.variants.length > 0) for (variant in data.variants) {
|
||||
if (!data.metas.exists(variant) && Assets.exists(Paths.file('songs/$songName/meta-$variant.json')))
|
||||
data.metas.set(variant, loadChartMeta(songName, variant, fromMods));
|
||||
if (!data.metas.exists(variant) && Assets.exists(Paths.file('songs/$songName/meta-$variant.json'))) {
|
||||
var meta = loadChartMeta(songName, variant, fromMods)
|
||||
if (meta.variant != null) data.metas.set(variant, meta);
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
|
||||
Reference in New Issue
Block a user