[REQUIRES TESTING] removed lowercasing requirement in song parsing

This commit is contained in:
Frakits
2025-07-01 10:18:46 +03:00
parent ed46cc11ed
commit 9db001101a
4 changed files with 24 additions and 32 deletions
+3 -6
View File
@@ -71,16 +71,14 @@ class Paths
inline static public function voices(song:String, ?difficulty:String, ?prefix:String = "", ?ext:String) {
if (difficulty == null) difficulty = Flags.DEFAULT_DIFFICULTY;
if (ext == null) ext = Flags.SOUND_EXT;
song = song.toLowerCase();
var diff = getPath('songs/$song/song/Voices$prefix-${difficulty.toLowerCase()}.${ext}', null);
var diff = getPath('songs/$song/song/Voices$prefix-${difficulty}.${ext}', null);
return OpenFlAssets.exists(diff) ? diff : getPath('songs/$song/song/Voices$prefix.${ext}', null);
}
inline static public function inst(song:String, ?difficulty:String, ?prefix:String = "", ?ext:String) {
if (difficulty == null) difficulty = Flags.DEFAULT_DIFFICULTY;
if (ext == null) ext = Flags.SOUND_EXT;
song = song.toLowerCase();
var diff = getPath('songs/$song/song/Inst$prefix-${difficulty.toLowerCase()}.${ext}', null);
var diff = getPath('songs/$song/song/Inst$prefix-${difficulty}.${ext}', null);
return OpenFlAssets.exists(diff) ? diff : getPath('songs/$song/song/Inst$prefix.${ext}', null);
}
@@ -112,8 +110,7 @@ class Paths
static public function chart(song:String, ?difficulty:String):String
{
difficulty = (difficulty != null ? difficulty : Flags.DEFAULT_DIFFICULTY).toLowerCase();
song = song.toLowerCase();
difficulty = (difficulty != null ? difficulty : Flags.DEFAULT_DIFFICULTY);
return getPath('songs/$song/charts/$difficulty.json', null);
}
+11 -16
View File
@@ -70,7 +70,7 @@ class Chart {
}
public static function loadEventsJson(songName:String) {
var path = Paths.file('songs/${songName.toLowerCase()}/events.json');
var path = Paths.file('songs/${songName}/events.json');
var data:Array<ChartEvent> = null;
if (Assets.exists(path)) {
try {
@@ -84,10 +84,9 @@ class Chart {
public static function loadChartMeta(songName:String, ?difficulty:String, fromMods:Bool = true) {
if (difficulty == null) difficulty = Flags.DEFAULT_DIFFICULTY;
var songNameLower = songName.toLowerCase();
var metaPath = Paths.file('songs/${songNameLower}/meta.json');
var metaDiffPath = Paths.file('songs/${songNameLower}/meta-${difficulty.toLowerCase()}.json');
var metaPath = Paths.file('songs/${songName}/meta.json');
var metaDiffPath = Paths.file('songs/${songName}/meta-${difficulty}.json');
var data:ChartMetaData = null;
var fromMods:Bool = fromMods;
@@ -120,21 +119,17 @@ class Chart {
data.setFieldDefault("parsedColor", data.color.getColorFromDynamic().getDefault(Flags.DEFAULT_COLOR));
if (data.difficulties.length <= 0) {
data.difficulties = [for(f in Paths.getFolderContent('songs/${songNameLower}/charts/', false, fromMods ? MODS : SOURCE)) if (Path.extension(f = f.toUpperCase()) == "JSON") Path.withoutExtension(f)];
data.difficulties = [for(f in Paths.getFolderContent('songs/${songName}/charts/', false, fromMods ? MODS : SOURCE)) if (Path.extension(f.toUpperCase()) == "JSON") Path.withoutExtension(f)];
var tempDiffs = [];
if (data.difficulties.length == 3) {
var hasHard = false, hasNormal = false, hasEasy = false;
for(d in data.difficulties) {
switch(d) {
case "EASY": hasEasy = true;
case "NORMAL": hasNormal = true;
case "HARD": hasHard = true;
switch(d.toLowerCase()) {
case "easy": tempDiffs.insert(0, d);
case "normal": tempDiffs.insert(1, d);
case "hard": tempDiffs.insert(2, d);
}
}
if (hasHard && hasNormal && hasEasy) {
data.difficulties[0] = "EASY";
data.difficulties[1] = "NORMAL";
data.difficulties[2] = "HARD";
}
data.difficulties = tempDiffs;
}
}
+7 -7
View File
@@ -623,8 +623,8 @@ class PlayState extends MusicBeatState
detailsText = isStoryMode ? ("Story Mode: " + storyWeek.name) : "Freeplay";
// Checks if cutscene files exists
var cutscenePath = Paths.script('songs/${SONG.meta.name.toLowerCase()}/cutscene');
var endCutscenePath = Paths.script('songs/${SONG.meta.name.toLowerCase()}/cutscene-end');
var cutscenePath = Paths.script('songs/${SONG.meta.name}/cutscene');
var endCutscenePath = Paths.script('songs/${SONG.meta.name}/cutscene-end');
if (Assets.exists(cutscenePath)) cutscene = cutscenePath;
if (Assets.exists(endCutscenePath)) endCutscene = endCutscenePath;
@@ -651,7 +651,7 @@ class PlayState extends MusicBeatState
// case "":
// ADD YOUR HARDCODED SCRIPTS HERE!
default:
var normal = 'songs/${SONG.meta.name.toLowerCase()}/scripts';
var normal = 'songs/${SONG.meta.name}/scripts';
var scriptsFolders:Array<String> = [normal, normal + '/$difficulty/', 'data/charts/', 'songs/'];
for (folder in scriptsFolders) {
@@ -841,8 +841,8 @@ class PlayState extends MusicBeatState
SaveWarning.selectionClass = CharterSelection;
SaveWarning.warningFunc = saveWarn;
SaveWarning.saveFunc = () -> {
@:privateAccess Chart.save('${Paths.getAssetsRoot()}/songs/${Charter.__song.toLowerCase()}',
SONG, Charter.__diff.toLowerCase(), {saveMetaInChart: false, prettyPrint: Options.editorPrettyPrint});
@:privateAccess Chart.save('${Paths.getAssetsRoot()}/songs/${Charter.__song}',
SONG, Charter.__diff, {saveMetaInChart: false, prettyPrint: Options.editorPrettyPrint});
}
}
}
@@ -886,7 +886,7 @@ class PlayState extends MusicBeatState
return;
}
var songName = SONG.meta.name.toLowerCase();
var songName = SONG.meta.name;
if (cutsceneScriptPath == null)
cutsceneScriptPath = Paths.script('songs/$songName/${prefix}cutscene');
@@ -1715,7 +1715,7 @@ class PlayState extends MusicBeatState
FlxG.sound.music.stop();
__loadSong(storyPlaylist[0].toLowerCase(), difficulty);
__loadSong(storyPlaylist[0], difficulty);
FlxG.switchState(new PlayState());
}
+3 -3
View File
@@ -323,7 +323,7 @@ class FreeplayState extends MusicBeatState
public function convertChart() {
trace('Converting ${songs[curSelected].name} (${songs[curSelected].difficulties[curDifficulty]}) to Codename format...');
var chart = Chart.parse(songs[curSelected].name, songs[curSelected].difficulties[curDifficulty]);
Chart.save('${Main.pathBack}assets/songs/${songs[curSelected].name}', chart, songs[curSelected].difficulties[curDifficulty].toLowerCase());
Chart.save('${Main.pathBack}assets/songs/${songs[curSelected].name}', chart, songs[curSelected].difficulties[curDifficulty]);
}
/**
@@ -346,9 +346,9 @@ class FreeplayState extends MusicBeatState
updateScore();
if (curSong.difficulties.length > 1)
diffText.text = '< ${curSong.difficulties[curDifficulty]} >';
diffText.text = '< ${curSong.difficulties[curDifficulty].toUpperCase()} >';
else
diffText.text = validDifficulties ? curSong.difficulties[curDifficulty] : "-";
diffText.text = validDifficulties ? curSong.difficulties[curDifficulty].toUpperCase() : "-";
}
function updateScore() {