add a way to access internal setting container

exposing an internal field like this isn't the best practice, but it seemed like the best and simplest solution to me to a problem of not being able to do anything to unknown setting keys (such as removing them or migrating their data if that key used to be a valid setting)
This commit is contained in:
dankmeme01 2024-04-14 00:00:17 +02:00
parent 4c492c1f60
commit 798cacc1a8
4 changed files with 10 additions and 0 deletions
loader
include/Geode/loader
src/loader

View file

@ -203,6 +203,7 @@ namespace geode {
}
matjson::Value& getSaveContainer();
matjson::Value& getSavedSettingsData();
template <class T>
T getSettingValue(std::string_view const key) const {

View file

@ -48,6 +48,10 @@ matjson::Value& Mod::getSaveContainer() {
return m_impl->getSaveContainer();
}
matjson::Value& Mod::getSavedSettingsData() {
return m_impl->getSavedSettingsData();
}
bool Mod::isEnabled() const {
return m_impl->isEnabled();
}

View file

@ -119,6 +119,10 @@ matjson::Value& Mod::Impl::getSaveContainer() {
return m_saved;
}
matjson::Value& Mod::Impl::getSavedSettingsData() {
return m_savedSettingsData;
}
bool Mod::Impl::isEnabled() const {
return m_enabled;
}

View file

@ -99,6 +99,7 @@ namespace geode {
ghc::filesystem::path getBinaryPath() const;
matjson::Value& getSaveContainer();
matjson::Value& getSavedSettingsData();
#if defined(GEODE_EXPOSE_SECRET_INTERNALS_IN_HEADERS_DO_NOT_DEFINE_PLEASE)
void setMetadata(ModMetadata const& metadata);