fix texture paths for difs and fix endgame softlock for custom missions

This commit is contained in:
RandomityGuy 2026-03-14 01:42:13 +00:00
parent 2ef28aae5f
commit 4bddb5bd0a
2 changed files with 61 additions and 2 deletions

View file

@ -714,17 +714,40 @@ class DifBuilder {
tex = spl[spl.length - 1]; tex = spl[spl.length - 1];
} }
// search with extension first
if (ResourceLoader.exists(Path.directory(path) + "/" + tex)) {
return true;
}
var prevDir = Path.directory(Path.directory(path));
if (ResourceLoader.exists(prevDir + "/" + tex)) {
return true;
}
prevDir = Path.directory(prevDir);
if (ResourceLoader.exists(prevDir + "/" + tex))
return true;
// remove extension from it
if (tex.lastIndexOf(".") != -1) {
tex = tex.substring(0, tex.lastIndexOf("."));
}
#if (js || android) #if (js || android)
path = StringTools.replace(path, "data/", ""); path = StringTools.replace(path, "data/", "");
#end #end
// search jpg, png and bmp
if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".jpg")) { if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".jpg")) {
return true; return true;
} }
if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".png")) { if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".png")) {
return true; return true;
} }
var prevDir = Path.directory(Path.directory(path)); if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".bmp")) {
return true;
}
prevDir = Path.directory(Path.directory(path));
if (ResourceLoader.exists(prevDir + "/" + tex + ".jpg")) { if (ResourceLoader.exists(prevDir + "/" + tex + ".jpg")) {
return true; return true;
@ -732,6 +755,9 @@ class DifBuilder {
if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) { if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) {
return true; return true;
} }
if (ResourceLoader.exists(prevDir + "/" + tex + ".bmp")) {
return true;
}
prevDir = Path.directory(prevDir); prevDir = Path.directory(prevDir);
@ -741,6 +767,9 @@ class DifBuilder {
if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) { if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) {
return true; return true;
} }
if (ResourceLoader.exists(prevDir + "/" + tex + ".bmp")) {
return true;
}
return false; return false;
} }
@ -750,12 +779,36 @@ class DifBuilder {
tex = spl[spl.length - 1]; tex = spl[spl.length - 1];
} }
// search with extension first
if (ResourceLoader.exists(Path.directory(path) + "/" + tex)) {
return Path.directory(path) + "/" + tex;
}
var prevDir = Path.directory(Path.directory(path));
if (ResourceLoader.exists(prevDir + "/" + tex)) {
return prevDir + "/" + tex;
}
prevDir = Path.directory(prevDir);
if (ResourceLoader.exists(prevDir + "/" + tex)) {
return prevDir + "/" + tex;
}
// remove extension from it
if (tex.lastIndexOf(".") != -1) {
tex = tex.substring(0, tex.lastIndexOf("."));
}
if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".jpg")) { if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".jpg")) {
return Path.directory(path) + "/" + tex + ".jpg"; return Path.directory(path) + "/" + tex + ".jpg";
} }
if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".png")) { if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".png")) {
return Path.directory(path) + "/" + tex + ".png"; return Path.directory(path) + "/" + tex + ".png";
} }
if (ResourceLoader.exists(Path.directory(path) + "/" + tex + ".bmp")) {
return Path.directory(path) + "/" + tex + ".bmp";
}
var prevDir = Path.directory(Path.directory(path)); var prevDir = Path.directory(Path.directory(path));
@ -765,6 +818,9 @@ class DifBuilder {
if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) { if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) {
return prevDir + "/" + tex + ".png"; return prevDir + "/" + tex + ".png";
} }
if (ResourceLoader.exists(prevDir + "/" + tex + ".bmp")) {
return prevDir + "/" + tex + ".bmp";
}
var prevDir = Path.directory(prevDir); var prevDir = Path.directory(prevDir);
@ -774,6 +830,9 @@ class DifBuilder {
if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) { if (ResourceLoader.exists(prevDir + "/" + tex + ".png")) {
return prevDir + "/" + tex + ".png"; return prevDir + "/" + tex + ".png";
} }
if (ResourceLoader.exists(prevDir + "/" + tex + ".bmp")) {
return prevDir + "/" + tex + ".bmp";
}
return null; return null;
} }

View file

@ -71,7 +71,7 @@ class EndGameGui extends GuiControl {
nextLevelPreview.extent = new Vector(160, 110); nextLevelPreview.extent = new Vector(160, 110);
nextLevel.addChild(nextLevelPreview); nextLevel.addChild(nextLevelPreview);
mission.getNextMission().getPreviewImage(t -> { mission.getNextMission()?.getPreviewImage(t -> {
nextLevelPreview.bmp.tile = t; nextLevelPreview.bmp.tile = t;
}); });