From 7a37f6efc5987baa1f3e4651d033efa95fa4e460 Mon Sep 17 00:00:00 2001 From: xThrasherrr Date: Mon, 5 Oct 2026 16:56:46 -0600 Subject: [PATCH] Keep listing saved parks when the parks folder holds an oddly named file --- Extension/Objects/ParkEditor/Test/park_editor_tests.cpp | 3 +++ Extension/Objects/ParkEditor/park_document.cpp | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Extension/Objects/ParkEditor/Test/park_editor_tests.cpp b/Extension/Objects/ParkEditor/Test/park_editor_tests.cpp index 1bc5893..2f3e1ae 100644 --- a/Extension/Objects/ParkEditor/Test/park_editor_tests.cpp +++ b/Extension/Objects/ParkEditor/Test/park_editor_tests.cpp @@ -275,8 +275,11 @@ int main(int argc, char **argv) { bad.objects[0].rotation = {}; rejects([&] { save_park(directory, name, bad); }); check(load_park(directory, name).objects == park.objects, "Rejected save overwrote previous park"); + const auto stray = directory / L"\U0001F6F9 notes.txt"; // No ANSI code page can hold this name. + std::ofstream(stray).put('x'); const auto names = list_parks(directory); check(std::find(names.begin(), names.end(), name) != names.end(), "Saved park missing from browser"); + std::filesystem::remove(stray); std::filesystem::remove(directory / (name + ".park.json")); // Park mods: /Mods//manifest.json + parks/.park.json. { diff --git a/Extension/Objects/ParkEditor/park_document.cpp b/Extension/Objects/ParkEditor/park_document.cpp index 27be27f..e1c9c82 100644 --- a/Extension/Objects/ParkEditor/park_document.cpp +++ b/Extension/Objects/ParkEditor/park_document.cpp @@ -1,4 +1,5 @@ #include "park_document.h" +#include "Engine/Vfs/mod_list.h" #include #include #include @@ -80,7 +81,7 @@ std::vector list_parks(const std::filesystem::path &directory) { !error && it != end && names.size() < 256; it.increment(error)) { if (!it->is_regular_file(error)) continue; - auto name = it->path().filename().string(); + auto name = mods::ascii_path(it->path().filename()); if (!name.ends_with(".park.json")) continue; name.resize(name.size() - 10);