diff --git a/src/nostalgia/core/assetmanager.hpp b/src/nostalgia/core/assetmanager.hpp index bdd7de61..9e0bdbb7 100644 --- a/src/nostalgia/core/assetmanager.hpp +++ b/src/nostalgia/core/assetmanager.hpp @@ -170,7 +170,7 @@ class AssetManager { template AssetTypeManager *getTypeManager() noexcept { - constexpr auto typeName = ox::ModelTypeName_v; + constexpr auto typeName = ox::requireModelTypeName(); static_assert(ox_strcmp(typeName, "") != 0, "Types must have TypeName to use AssetManager"); auto &am = m_assetTypeManagers[typeName]; if (!am) { diff --git a/src/nostalgia/studio/lib/configio.hpp b/src/nostalgia/studio/lib/configio.hpp index ff4253d1..8762f7e5 100644 --- a/src/nostalgia/studio/lib/configio.hpp +++ b/src/nostalgia/studio/lib/configio.hpp @@ -40,7 +40,7 @@ constexpr auto ConfigDir = [] { }(); template -ox::Result readConfig(core::Context *ctx, const ox::String &name = ox::getModelTypeName()) noexcept { +ox::Result readConfig(core::Context *ctx, const ox::String &name) noexcept { oxAssert(name != "", "Config type has no TypeName"); const auto homeDir = std::getenv("HOME"); const auto configPath = ox::sfmt(ConfigDir, homeDir, ctx->appName).toStdString(); @@ -62,6 +62,12 @@ ox::Result readConfig(core::Context *ctx, const ox::String &name = ox::getMod } } +template +ox::Result readConfig(core::Context *ctx) noexcept { + constexpr auto TypeName = ox::requireModelTypeName(); + return readConfig(ctx, TypeName); +} + template ox::Error writeConfig(core::Context *ctx, const ox::String &name, T *data) noexcept { oxAssert(name != "", "Config type has no TypeName"); @@ -91,7 +97,7 @@ ox::Error writeConfig(core::Context *ctx, const ox::String &name, T *data) noexc template ox::Error writeConfig(core::Context *ctx, T *data) noexcept { - const auto TypeName = ox::getModelTypeName(); + constexpr auto TypeName = ox::requireModelTypeName(); return writeConfig(ctx, TypeName, data); } @@ -104,7 +110,7 @@ void openConfig(core::Context *ctx, const ox::String &name, Func f) noexcept { template void openConfig(core::Context *ctx, Func f) noexcept { - const auto TypeName = ox::getModelTypeName(); + constexpr auto TypeName = ox::requireModelTypeName(); openConfig(ctx, TypeName, f); } @@ -118,7 +124,7 @@ void editConfig(core::Context *ctx, const ox::String &name, Func f) noexcept { template void editConfig(core::Context *ctx, Func f) noexcept { - const auto TypeName = ox::getModelTypeName(); + constexpr auto TypeName = ox::requireModelTypeName(); editConfig(ctx, TypeName, f); }