From 120ca6bb48c00fa8866090e43a2d9dfeb9b1b360 Mon Sep 17 00:00:00 2001 From: Solessfir <34831419+Solessfir@users.noreply.github.com> Date: Thu, 10 Sep 2026 18:52:38 +0500 Subject: [PATCH] Handled DirectMusic loader creation failures safely --- common/resources.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/common/resources.cpp b/common/resources.cpp index e1fe529a6..56231f4aa 100644 --- a/common/resources.cpp +++ b/common/resources.cpp @@ -98,9 +98,10 @@ Resources::Resources(Tempest::Device &device) DmResult rv = DmLoader_create(&dmLoader, DmLoader_DOWNLOAD); if(rv != DmResult_SUCCESS) { Log::e("Failed to created DmLoader object. Out of memory?"); + dmLoader = nullptr; } - - DmLoader_addResolver(dmLoader, [](void* ctx, char const* name, size_t* len) -> void* { + else { + DmLoader_addResolver(dmLoader, [](void* ctx, char const* name, size_t* len) -> void* { auto* slf = reinterpret_cast(ctx); auto* node = slf->gothicAssets.find(name); @@ -118,7 +119,8 @@ Resources::Resources(Tempest::Device &device) reader->read(bytes, *len); return bytes; - }, this); + }, this); + } } void Resources::mountWork(const std::filesystem::path& path) {