diff --git a/apps/openmw/CMakeLists.txt b/apps/openmw/CMakeLists.txt index c166b11ae3..24152d59ab 100644 --- a/apps/openmw/CMakeLists.txt +++ b/apps/openmw/CMakeLists.txt @@ -60,7 +60,7 @@ add_openmw_dir (mwscript add_openmw_dir (mwlua luamanagerimp object worldview userdataserializer eventqueue - luabindings localscripts playerscripts objectbindings cellbindings asyncbindings settingsbindings + luabindings localscripts playerscripts objectbindings cellbindings asyncbindings camerabindings uibindings inputbindings nearbybindings postprocessingbindings stats debugbindings types/types types/door types/actor types/container types/weapon types/npc types/creature types/activator types/book types/lockpick types/probe types/apparatus types/potion types/misc types/repair ) diff --git a/apps/openmw/mwlua/luabindings.hpp b/apps/openmw/mwlua/luabindings.hpp index af41199ad9..5760a383ec 100644 --- a/apps/openmw/mwlua/luabindings.hpp +++ b/apps/openmw/mwlua/luabindings.hpp @@ -56,10 +56,6 @@ namespace MWLua // Implemented in inputbindings.cpp sol::table initInputPackage(const Context&); - // Implemented in settingsbindings.cpp - sol::table initGlobalSettingsPackage(const Context&); - sol::table initPlayerSettingsPackage(const Context&); - // openmw.self package is implemented in localscripts.cpp } diff --git a/apps/openmw/mwlua/luamanagerimp.cpp b/apps/openmw/mwlua/luamanagerimp.cpp index c3dff4f04c..b71f5919c3 100644 --- a/apps/openmw/mwlua/luamanagerimp.cpp +++ b/apps/openmw/mwlua/luamanagerimp.cpp @@ -88,15 +88,12 @@ namespace MWLua mLua.addCommonPackage("openmw.core", initCorePackage(context)); mLua.addCommonPackage("openmw.types", initTypesPackage(context)); mGlobalScripts.addPackage("openmw.world", initWorldPackage(context)); - mGlobalScripts.addPackage("openmw.settings", initGlobalSettingsPackage(context)); mGlobalScripts.addPackage("openmw.storage", initGlobalStoragePackage(context, &mGlobalStorage)); mCameraPackage = initCameraPackage(localContext); mUserInterfacePackage = initUserInterfacePackage(localContext); mInputPackage = initInputPackage(localContext); mNearbyPackage = initNearbyPackage(localContext); - mLocalSettingsPackage = initGlobalSettingsPackage(localContext); - mPlayerSettingsPackage = initPlayerSettingsPackage(localContext); mLocalStoragePackage = initLocalStoragePackage(localContext, &mGlobalStorage); mPlayerStoragePackage = initPlayerStoragePackage(localContext, &mGlobalStorage, &mPlayerStorage); mPostprocessingPackage = initPostprocessingPackage(localContext); @@ -423,7 +420,6 @@ namespace MWLua scripts->addPackage("openmw.ui", mUserInterfacePackage); scripts->addPackage("openmw.camera", mCameraPackage); scripts->addPackage("openmw.input", mInputPackage); - scripts->addPackage("openmw.settings", mPlayerSettingsPackage); scripts->addPackage("openmw.storage", mPlayerStoragePackage); scripts->addPackage("openmw.postprocessing", mPostprocessingPackage); scripts->addPackage("openmw.debug", mDebugPackage); @@ -434,7 +430,6 @@ namespace MWLua if (!autoStartConf.has_value()) autoStartConf = mConfiguration.getLocalConf(type, ptr.getCellRef().getRefId(), getId(ptr)); scripts->setAutoStartConf(std::move(*autoStartConf)); - scripts->addPackage("openmw.settings", mLocalSettingsPackage); scripts->addPackage("openmw.storage", mLocalStoragePackage); } scripts->addPackage("openmw.nearby", mNearbyPackage); diff --git a/apps/openmw/mwlua/luamanagerimp.hpp b/apps/openmw/mwlua/luamanagerimp.hpp index e1eaac9ff8..41eb076783 100644 --- a/apps/openmw/mwlua/luamanagerimp.hpp +++ b/apps/openmw/mwlua/luamanagerimp.hpp @@ -137,8 +137,6 @@ namespace MWLua sol::table mUserInterfacePackage; sol::table mCameraPackage; sol::table mInputPackage; - sol::table mLocalSettingsPackage; - sol::table mPlayerSettingsPackage; sol::table mLocalStoragePackage; sol::table mPlayerStoragePackage; sol::table mPostprocessingPackage; diff --git a/apps/openmw/mwlua/settingsbindings.cpp b/apps/openmw/mwlua/settingsbindings.cpp deleted file mode 100644 index afd852b1a0..0000000000 --- a/apps/openmw/mwlua/settingsbindings.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include "luabindings.hpp" - -#include - -#include "../mwworld/esmstore.hpp" -#include "../mwworld/store.hpp" - -namespace MWLua -{ - - static sol::table initSettingsPackage(const Context& context, bool player) - { - LuaUtil::LuaState* lua = context.mLua; - sol::table config(lua->sol(), sol::create); - - // Access to settings.cfg. Temporary, will be removed at some point. - auto checkRead = [player](std::string_view category) - { - if ((category == "Camera" || category == "GUI" || category == "Hud" || - category == "Windows" || category == "Input") && !player) - throw std::runtime_error("This setting is only available in player scripts"); - }; - config["_getBoolFromSettingsCfg"] = [=](const std::string& category, const std::string& setting) - { - checkRead(category); - return Settings::Manager::getBool(setting, category); - }; - config["_getIntFromSettingsCfg"] = [=](const std::string& category, const std::string& setting) - { - checkRead(category); - return Settings::Manager::getInt(setting, category); - }; - config["_getFloatFromSettingsCfg"] = [=](const std::string& category, const std::string& setting) - { - checkRead(category); - return Settings::Manager::getFloat(setting, category); - }; - config["_getStringFromSettingsCfg"] = [=](const std::string& category, const std::string& setting) - { - checkRead(category); - return Settings::Manager::getString(setting, category); - }; - config["_getVector2FromSettingsCfg"] = [=](const std::string& category, const std::string& setting) - { - checkRead(category); - return Settings::Manager::getVector2(setting, category); - }; - config["_getVector3FromSettingsCfg"] = [=](const std::string& category, const std::string& setting) - { - checkRead(category); - return Settings::Manager::getVector3(setting, category); - }; - - const MWWorld::Store* gmst = &MWBase::Environment::get().getWorld()->getStore().get(); - config["getGMST"] = [lua, gmst](const std::string setting) -> sol::object - { - const ESM::Variant& value = gmst->find(setting)->mValue; - if (value.getType() == ESM::VT_String) - return sol::make_object(lua->sol(), value.getString()); - else if (value.getType() == ESM::VT_Int) - return sol::make_object(lua->sol(), value.getInteger()); - else - return sol::make_object(lua->sol(), value.getFloat()); - }; - return LuaUtil::makeReadOnly(config); - } - - sol::table initGlobalSettingsPackage(const Context& context) { return initSettingsPackage(context, false); } - sol::table initPlayerSettingsPackage(const Context& context) { return initSettingsPackage(context, true); } - -}