Fix Preset List with no customs available (#5535)

* Surround preset file processing with the fs::exists check rather than returning early.

* clang
This commit is contained in:
Malkierian 2025-05-27 13:19:14 -07:00 committed by GitHub
parent 4e8e6d2313
commit fa6f45bde5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -193,23 +193,22 @@ void ParsePreset(nlohmann::json& json, std::string name) {
}
void LoadPresets() {
if (!fs::exists(presetFolder)) {
return;
}
if (!presets.empty()) {
presets.clear();
}
for (auto const& preset : fs::directory_iterator(presetFolder)) {
std::ifstream ifs(preset.path());
if (fs::exists(presetFolder)) {
for (auto const& preset : fs::directory_iterator(presetFolder)) {
std::ifstream ifs(preset.path());
auto json = nlohmann::json::parse(ifs);
if (!json.contains("presetName")) {
spdlog::error(fmt::format("Attempted to load file {} as a preset, but was not a preset file.",
preset.path().filename().string()));
} else {
ParsePreset(json, preset.path().filename().stem().string());
auto json = nlohmann::json::parse(ifs);
if (!json.contains("presetName")) {
spdlog::error(fmt::format("Attempted to load file {} as a preset, but was not a preset file.",
preset.path().filename().string()));
} else {
ParsePreset(json, preset.path().filename().stem().string());
}
ifs.close();
}
ifs.close();
}
auto initData = std::make_shared<Ship::ResourceInitData>();
initData->Format = RESOURCE_FORMAT_BINARY;