From f3039255510e9d028c00a39343b8c2e8dfa354d7 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Tue, 3 Oct 2023 21:20:18 +0530 Subject: [PATCH] dds support + better marbleland --- src/Marbleland.hx | 14 +++++++++++++- src/ResourceLoader.hx | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Marbleland.hx b/src/Marbleland.hx index 33c94a40..4c836147 100644 --- a/src/Marbleland.hx +++ b/src/Marbleland.hx @@ -16,7 +16,7 @@ class Marbleland { public static var missions:Map = []; public static function init() { - Http.get('https://marbleblast.vaniverse.io/api/customs', (b) -> { + Http.get('https://marbleland.vaniverse.io/api/level/list', (b) -> { parseMissionList(b.toString()); Console.log('Loaded gold customs: ${goldMissions.length}'); Console.log('Loaded ultra customs: ${ultraMissions.length}'); @@ -31,6 +31,16 @@ class Marbleland { var platDupes = new Map(); for (missionData in claJson) { + // filter + if (missionData.compatibility != 'mbw' && missionData.compatibility != 'mbg') + continue; + if (!['gold', 'platinum', 'ultra', 'platinumquest'].contains(missionData.modification)) + continue; + if (missionData.gameMode != null && missionData.gameMode != 'null') + continue; + if (missionData.gameType != 'single') + continue; + var mission = new Mission(); mission.id = missionData.id; mission.path = 'missions/' + missionData.baseName; @@ -43,6 +53,8 @@ class Marbleland { mission.description = missionData.desc != null ? missionData.desc : ""; mission.qualifyTime = (missionData.qualifyingTime != null && missionData.qualifyingTime != 0) ? missionData.qualifyingTime / 1000 : Math.POSITIVE_INFINITY; mission.goldTime = missionData.goldTime != null ? missionData.goldTime / 1000 : 0; + if (missionData.modification == 'platinumquest') + missionData.modification = 'platinum'; // play PQ levels compatible with web pls mission.game = missionData.modification; if (missionData.modification == 'platinum') mission.goldTime = missionData.platinumTime != null ? missionData.platinumTime / 1000 : mission.goldTime; diff --git a/src/ResourceLoader.hx b/src/ResourceLoader.hx index 4b644ba2..1bc8a472 100644 --- a/src/ResourceLoader.hx +++ b/src/ResourceLoader.hx @@ -547,6 +547,9 @@ class ResourceLoader { if (zipFilesystem.exists(path.toLowerCase() + ".bmp")) { return [path + ".bmp"]; } + if (zipFilesystem.exists(path.toLowerCase() + ".dds")) { + return [path + ".dds"]; + } var files = fileSystem.dir(Path.directory(path)); // FileSystem.readDirectory(Path.directory(path)); var names = []; var fname = Path.withoutDirectory(path).toLowerCase();