From 4beac9035a96511ed30a851d5f9218c58349b233 Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Tue, 28 Nov 2023 19:58:41 -0600 Subject: [PATCH 01/15] Add bindings for controller cursor mode --- apps/openmw/mwbase/inputmanager.hpp | 1 + apps/openmw/mwinput/inputmanagerimp.cpp | 5 +++++ apps/openmw/mwinput/inputmanagerimp.hpp | 1 + apps/openmw/mwlua/inputbindings.cpp | 6 ++++++ files/lua_api/openmw/input.lua | 10 ++++++++++ 5 files changed, 23 insertions(+) diff --git a/apps/openmw/mwbase/inputmanager.hpp b/apps/openmw/mwbase/inputmanager.hpp index f52f9ea454..5ee20476b3 100644 --- a/apps/openmw/mwbase/inputmanager.hpp +++ b/apps/openmw/mwbase/inputmanager.hpp @@ -45,6 +45,7 @@ namespace MWBase virtual void processChangedSettings(const std::set>& changed) = 0; virtual void setDragDrop(bool dragDrop) = 0; + virtual bool isGamepadGuiCursorEnabled() = 0; virtual void setGamepadGuiCursorEnabled(bool enabled) = 0; virtual void toggleControlSwitch(std::string_view sw, bool value) = 0; diff --git a/apps/openmw/mwinput/inputmanagerimp.cpp b/apps/openmw/mwinput/inputmanagerimp.cpp index f9ca0a3432..d0d6e7023d 100644 --- a/apps/openmw/mwinput/inputmanagerimp.cpp +++ b/apps/openmw/mwinput/inputmanagerimp.cpp @@ -102,6 +102,11 @@ namespace MWInput mControllerManager->setGamepadGuiCursorEnabled(enabled); } + bool InputManager::isGamepadGuiCursorEnabled() + { + return mControllerManager->gamepadGuiCursorEnabled(); + } + void InputManager::changeInputMode(bool guiMode) { mControllerManager->setGuiCursorEnabled(guiMode); diff --git a/apps/openmw/mwinput/inputmanagerimp.hpp b/apps/openmw/mwinput/inputmanagerimp.hpp index c5de579961..f8f1411ebf 100644 --- a/apps/openmw/mwinput/inputmanagerimp.hpp +++ b/apps/openmw/mwinput/inputmanagerimp.hpp @@ -68,6 +68,7 @@ namespace MWInput void setDragDrop(bool dragDrop) override; void setGamepadGuiCursorEnabled(bool enabled) override; + bool isGamepadGuiCursorEnabled() override; void toggleControlSwitch(std::string_view sw, bool value) override; bool getControlSwitch(std::string_view sw) override; diff --git a/apps/openmw/mwlua/inputbindings.cpp b/apps/openmw/mwlua/inputbindings.cpp index 02babf0399..414bb575b7 100644 --- a/apps/openmw/mwlua/inputbindings.cpp +++ b/apps/openmw/mwlua/inputbindings.cpp @@ -9,6 +9,7 @@ #include "../mwbase/environment.hpp" #include "../mwbase/inputmanager.hpp" +#include "../mwbase/windowmanager.hpp" #include "../mwinput/actions.hpp" namespace sol @@ -68,6 +69,11 @@ namespace MWLua }; api["isMouseButtonPressed"] = [](int button) -> bool { return SDL_GetMouseState(nullptr, nullptr) & SDL_BUTTON(button); }; + api["isGamepadCursorActive"] = [input]() -> bool { return input->isGamepadGuiCursorEnabled(); }; + api["setGamepadCursorActive"] = [input](bool v) { + input->setGamepadGuiCursorEnabled(v); + MWBase::Environment::get().getWindowManager()->setCursorActive(v); + }; api["getMouseMoveX"] = [input]() { return input->getMouseMoveX(); }; api["getMouseMoveY"] = [input]() { return input->getMouseMoveY(); }; api["getAxisValue"] = [input](int axis) { diff --git a/files/lua_api/openmw/input.lua b/files/lua_api/openmw/input.lua index 4ca4e5af4e..fbb790ce49 100644 --- a/files/lua_api/openmw/input.lua +++ b/files/lua_api/openmw/input.lua @@ -29,6 +29,16 @@ -- @param #number buttonId Button index (see @{openmw.input#CONTROLLER_BUTTON}) -- @return #boolean +--- +-- Checks if the gamepad cursor is active. If it is active, the left stick can move the cursor, and A will be interpreted as a mouse click. +-- @function [parent=#input] isGamepadCursorActive +-- @return #boolean + +--- +-- Set if the gamepad cursor is active. If it is active, the left stick can move the cursor, and A will be interpreted as a mouse click. +-- @function [parent=#input] setGamepadCursorActive +-- @param #boolean value + --- -- Is `Shift` key pressed. -- @function [parent=#input] isShiftPressed From 873877795ac6a3da1f7bf0073420c06eae20492e Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Tue, 20 Feb 2024 12:06:19 -0600 Subject: [PATCH 02/15] Move gamepad controls to lua interface --- apps/openmw/mwlua/inputbindings.cpp | 4 +-- docs/source/luadoc_data_paths.sh | 1 + docs/source/reference/lua-scripting/api.rst | 1 + .../interface_gamepadcontrols.rst | 8 +++++ .../lua-scripting/tables/interfaces.rst | 4 +++ files/data/CMakeLists.txt | 3 +- files/data/builtin.omwscripts | 1 + .../scripts/omw/input/gamepadcontrols.lua | 29 +++++++++++++++++++ files/lua_api/openmw/input.lua | 10 ------- 9 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 docs/source/reference/lua-scripting/interface_gamepadcontrols.rst create mode 100644 files/data/scripts/omw/input/gamepadcontrols.lua diff --git a/apps/openmw/mwlua/inputbindings.cpp b/apps/openmw/mwlua/inputbindings.cpp index 315b0db7bc..a5a6399c96 100644 --- a/apps/openmw/mwlua/inputbindings.cpp +++ b/apps/openmw/mwlua/inputbindings.cpp @@ -202,8 +202,8 @@ namespace MWLua }; api["isMouseButtonPressed"] = [](int button) -> bool { return SDL_GetMouseState(nullptr, nullptr) & SDL_BUTTON(button); }; - api["isGamepadCursorActive"] = [input]() -> bool { return input->isGamepadGuiCursorEnabled(); }; - api["setGamepadCursorActive"] = [input](bool v) { + api["_isGamepadCursorActive"] = [input]() -> bool { return input->isGamepadGuiCursorEnabled(); }; + api["_setGamepadCursorActive"] = [input](bool v) { input->setGamepadGuiCursorEnabled(v); MWBase::Environment::get().getWindowManager()->setCursorActive(v); }; diff --git a/docs/source/luadoc_data_paths.sh b/docs/source/luadoc_data_paths.sh index 02b03cbd69..9af80d6444 100755 --- a/docs/source/luadoc_data_paths.sh +++ b/docs/source/luadoc_data_paths.sh @@ -4,6 +4,7 @@ paths=( scripts/omw/ai.lua scripts/omw/mechanics/animationcontroller.lua scripts/omw/playercontrols.lua + scripts/omw/input/gamepadcontrols.lua scripts/omw/camera/camera.lua scripts/omw/mwui/init.lua scripts/omw/settings/player.lua diff --git a/docs/source/reference/lua-scripting/api.rst b/docs/source/reference/lua-scripting/api.rst index 1bb7e0b6e9..8fef9c475e 100644 --- a/docs/source/reference/lua-scripting/api.rst +++ b/docs/source/reference/lua-scripting/api.rst @@ -37,6 +37,7 @@ Lua API reference interface_animation interface_camera interface_controls + interface_gamepadcontrols interface_item_usage interface_mwui interface_settings diff --git a/docs/source/reference/lua-scripting/interface_gamepadcontrols.rst b/docs/source/reference/lua-scripting/interface_gamepadcontrols.rst new file mode 100644 index 0000000000..f89738b25b --- /dev/null +++ b/docs/source/reference/lua-scripting/interface_gamepadcontrols.rst @@ -0,0 +1,8 @@ +Interface GamepadControls +========================= + +.. include:: version.rst + +.. raw:: html + :file: generated_html/scripts_omw_input_gamepadcontrols.html + diff --git a/docs/source/reference/lua-scripting/tables/interfaces.rst b/docs/source/reference/lua-scripting/tables/interfaces.rst index 5029baf0a3..606b68b8e0 100644 --- a/docs/source/reference/lua-scripting/tables/interfaces.rst +++ b/docs/source/reference/lua-scripting/tables/interfaces.rst @@ -21,6 +21,10 @@ - by player scripts - | Allows to alter behavior of the built-in script | that handles player controls. + * - :ref:`Controls ` + - by player scripts + - | Allows to alter behavior of the built-in script + | that handles player gamepad controls. * - :ref:`ItemUsage ` - by global scripts - | Allows to extend or override built-in item usage diff --git a/files/data/CMakeLists.txt b/files/data/CMakeLists.txt index 3ab30c87ff..817a64c014 100644 --- a/files/data/CMakeLists.txt +++ b/files/data/CMakeLists.txt @@ -95,7 +95,8 @@ set(BUILTIN_DATA_FILES scripts/omw/worldeventhandlers.lua scripts/omw/input/actionbindings.lua scripts/omw/input/smoothmovement.lua - + scripts/omw/input/gamepadcontrols.lua + shaders/adjustments.omwfx shaders/bloomlinear.omwfx shaders/debug.omwfx diff --git a/files/data/builtin.omwscripts b/files/data/builtin.omwscripts index a6f4ca5f33..1549920dab 100644 --- a/files/data/builtin.omwscripts +++ b/files/data/builtin.omwscripts @@ -16,6 +16,7 @@ PLAYER: scripts/omw/playercontrols.lua PLAYER: scripts/omw/camera/camera.lua PLAYER: scripts/omw/input/actionbindings.lua PLAYER: scripts/omw/input/smoothmovement.lua +PLAYER: scripts/omw/input/gamepadcontrols.lua NPC,CREATURE: scripts/omw/ai.lua # User interface diff --git a/files/data/scripts/omw/input/gamepadcontrols.lua b/files/data/scripts/omw/input/gamepadcontrols.lua new file mode 100644 index 0000000000..0af17efa39 --- /dev/null +++ b/files/data/scripts/omw/input/gamepadcontrols.lua @@ -0,0 +1,29 @@ +local input = require('openmw.input') + +return { + + interfaceName = 'GamepadControls', + --- + -- Gamepad control interface + -- @module GamepadControls + + interface = { + --- Interface version + -- @field [parent=#GamepadControls] #number version + version = 0, + + --- Checks if the gamepad cursor is active. If it is active, the left stick can move the cursor, and A will be interpreted as a mouse click. + -- @function [parent=#GamepadControls] isGamepadCursorActive + -- @return #boolean + isGamepadCursorActive = function() + return input._isGamepadCursorActive() + end, + + --- Set if the gamepad cursor is active. If it is active, the left stick can move the cursor, and A will be interpreted as a mouse click. + -- @function [parent=#GamepadControls] setGamepadCursorActive + -- @param #boolean value + setGamepadCursorActive = function(state) + input._setGamepadCursorActive(state) + end, + } +} diff --git a/files/lua_api/openmw/input.lua b/files/lua_api/openmw/input.lua index 12bd51b47a..0a85602bcc 100644 --- a/files/lua_api/openmw/input.lua +++ b/files/lua_api/openmw/input.lua @@ -28,16 +28,6 @@ -- @param #number buttonId Button index (see @{openmw.input#CONTROLLER_BUTTON}) -- @return #boolean ---- --- Checks if the gamepad cursor is active. If it is active, the left stick can move the cursor, and A will be interpreted as a mouse click. --- @function [parent=#input] isGamepadCursorActive --- @return #boolean - ---- --- Set if the gamepad cursor is active. If it is active, the left stick can move the cursor, and A will be interpreted as a mouse click. --- @function [parent=#input] setGamepadCursorActive --- @param #boolean value - --- -- Is `Shift` key pressed. -- @function [parent=#input] isShiftPressed From a29be8909d33e0e83f510cf71ab76f36a7ec6236 Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Sun, 7 Apr 2024 10:35:13 -0500 Subject: [PATCH 03/15] Add bindings to select the next menu element --- apps/openmw/mwlua/inputbindings.cpp | 6 ++++++ files/data/scripts/omw/input/gamepadcontrols.lua | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/apps/openmw/mwlua/inputbindings.cpp b/apps/openmw/mwlua/inputbindings.cpp index dbe79ca377..cc1e4b99f8 100644 --- a/apps/openmw/mwlua/inputbindings.cpp +++ b/apps/openmw/mwlua/inputbindings.cpp @@ -214,6 +214,12 @@ namespace MWLua input->setGamepadGuiCursorEnabled(v); MWBase::Environment::get().getWindowManager()->setCursorActive(v); }; + api["_selectNextMenuElement"] = []() { + MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Period, 0, false); + }; + api["_selectPrevMenuElement"] = []() { + MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Slash, 0, false); + }; api["getMouseMoveX"] = [input]() { return input->getMouseMoveX(); }; api["getMouseMoveY"] = [input]() { return input->getMouseMoveY(); }; api["getAxisValue"] = [input](int axis) { diff --git a/files/data/scripts/omw/input/gamepadcontrols.lua b/files/data/scripts/omw/input/gamepadcontrols.lua index 0af17efa39..9c8810b98f 100644 --- a/files/data/scripts/omw/input/gamepadcontrols.lua +++ b/files/data/scripts/omw/input/gamepadcontrols.lua @@ -25,5 +25,17 @@ return { setGamepadCursorActive = function(state) input._setGamepadCursorActive(state) end, + + --- Sends an event to the interface to select the next menu element + -- @function [parent=#GamepadControls] selectNextMenuElement + selectNextMenuElement = function(state) + input._selectNextMenuElement() + end, + + --- Sends an event to the interface to select the next menu element + -- @function [parent=#GamepadControls] selectPrevMenuElement + selectPrevMenuElement = function(state) + input._selectPrevMenuElement() + end, } } From da4e6b38a8b74be0528d0cddbbd97c43715486f2 Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Sun, 7 Apr 2024 10:37:15 -0500 Subject: [PATCH 04/15] Clang format --- apps/openmw/mwlua/inputbindings.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/openmw/mwlua/inputbindings.cpp b/apps/openmw/mwlua/inputbindings.cpp index cc1e4b99f8..1b9ed3bf11 100644 --- a/apps/openmw/mwlua/inputbindings.cpp +++ b/apps/openmw/mwlua/inputbindings.cpp @@ -214,12 +214,10 @@ namespace MWLua input->setGamepadGuiCursorEnabled(v); MWBase::Environment::get().getWindowManager()->setCursorActive(v); }; - api["_selectNextMenuElement"] = []() { - MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Period, 0, false); - }; - api["_selectPrevMenuElement"] = []() { - MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Slash, 0, false); - }; + api["_selectNextMenuElement"] + = []() { MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Period, 0, false); }; + api["_selectPrevMenuElement"] + = []() { MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Slash, 0, false); }; api["getMouseMoveX"] = [input]() { return input->getMouseMoveX(); }; api["getMouseMoveY"] = [input]() { return input->getMouseMoveY(); }; api["getAxisValue"] = [input](int axis) { From a51b6c7392a7f216923e9254400c7b0821b6adb8 Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Sun, 7 Apr 2024 15:23:27 -0500 Subject: [PATCH 05/15] Remove menu select --- files/data/scripts/omw/input/gamepadcontrols.lua | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/files/data/scripts/omw/input/gamepadcontrols.lua b/files/data/scripts/omw/input/gamepadcontrols.lua index 9c8810b98f..0af17efa39 100644 --- a/files/data/scripts/omw/input/gamepadcontrols.lua +++ b/files/data/scripts/omw/input/gamepadcontrols.lua @@ -25,17 +25,5 @@ return { setGamepadCursorActive = function(state) input._setGamepadCursorActive(state) end, - - --- Sends an event to the interface to select the next menu element - -- @function [parent=#GamepadControls] selectNextMenuElement - selectNextMenuElement = function(state) - input._selectNextMenuElement() - end, - - --- Sends an event to the interface to select the next menu element - -- @function [parent=#GamepadControls] selectPrevMenuElement - selectPrevMenuElement = function(state) - input._selectPrevMenuElement() - end, } } From 4018b1ae598e585cd168c0bd9f6f69222e3a5c49 Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Tue, 9 Apr 2024 21:24:53 -0500 Subject: [PATCH 06/15] Remove hidden functions --- apps/openmw/mwlua/inputbindings.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apps/openmw/mwlua/inputbindings.cpp b/apps/openmw/mwlua/inputbindings.cpp index 1b9ed3bf11..dbe79ca377 100644 --- a/apps/openmw/mwlua/inputbindings.cpp +++ b/apps/openmw/mwlua/inputbindings.cpp @@ -214,10 +214,6 @@ namespace MWLua input->setGamepadGuiCursorEnabled(v); MWBase::Environment::get().getWindowManager()->setCursorActive(v); }; - api["_selectNextMenuElement"] - = []() { MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Period, 0, false); }; - api["_selectPrevMenuElement"] - = []() { MWBase::Environment::get().getWindowManager()->injectKeyPress(MyGUI::KeyCode::Slash, 0, false); }; api["getMouseMoveX"] = [input]() { return input->getMouseMoveX(); }; api["getMouseMoveY"] = [input]() { return input->getMouseMoveY(); }; api["getAxisValue"] = [input](int axis) { From d97838def1cdf77df61ccb9766652043bcb22164 Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Tue, 23 Apr 2024 12:28:37 +0400 Subject: [PATCH 07/15] Improve launcher appearance --- CHANGELOG.md | 1 + apps/launcher/maindialog.cpp | 10 +- apps/launcher/ui/mainwindow.ui | 4 - files/lang/launcher_ru.ts | 2 +- .../icons/fallback/16x16/document-new.svg | 151 +++++++++++++ .../icons/fallback/16x16/edit-clear.svg | 45 ++++ .../icons/fallback/16x16/edit-copy.svg | 44 ++++ .../icons/fallback/16x16/edit-delete.svg | 33 +++ .../icons/fallback/16x16/view-refresh.svg | 202 ++++++++++++++++++ .../icons/{tango => fallback}/index.theme | 3 +- .../icons/tango/16x16/document-new.png | Bin 477 -> 0 bytes .../launcher/icons/tango/16x16/edit-clear.png | Bin 699 -> 0 bytes .../launcher/icons/tango/16x16/edit-copy.png | Bin 498 -> 0 bytes .../icons/tango/16x16/edit-delete.png | Bin 793 -> 0 bytes .../icons/tango/16x16/view-refresh.png | Bin 912 -> 0 bytes files/launcher/images/openmw-header.png | Bin 48950 -> 88061 bytes files/launcher/launcher.qrc | 14 +- 17 files changed, 494 insertions(+), 15 deletions(-) create mode 100644 files/launcher/icons/fallback/16x16/document-new.svg create mode 100644 files/launcher/icons/fallback/16x16/edit-clear.svg create mode 100644 files/launcher/icons/fallback/16x16/edit-copy.svg create mode 100644 files/launcher/icons/fallback/16x16/edit-delete.svg create mode 100644 files/launcher/icons/fallback/16x16/view-refresh.svg rename files/launcher/icons/{tango => fallback}/index.theme (67%) delete mode 100644 files/launcher/icons/tango/16x16/document-new.png delete mode 100644 files/launcher/icons/tango/16x16/edit-clear.png delete mode 100644 files/launcher/icons/tango/16x16/edit-copy.png delete mode 100644 files/launcher/icons/tango/16x16/edit-delete.png delete mode 100644 files/launcher/icons/tango/16x16/view-refresh.png diff --git a/CHANGELOG.md b/CHANGELOG.md index caa3299c97..9cce12617c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -228,6 +228,7 @@ Feature #7914: Do not allow to move GUI windows out of screen Feature #7923: Don't show non-existent higher ranks for factions with fewer than 9 ranks Feature #7932: Support two-channel normal maps + Feature #7936: Scalable icons in Qt applications Task #5896: Do not use deprecated MyGUI properties Task #6085: Replace boost::filesystem with std::filesystem Task #6149: Dehardcode Lua API_REVISION diff --git a/apps/launcher/maindialog.cpp b/apps/launcher/maindialog.cpp index 5486251731..df4c6fb22d 100644 --- a/apps/launcher/maindialog.cpp +++ b/apps/launcher/maindialog.cpp @@ -65,6 +65,14 @@ Launcher::MainDialog::MainDialog(const Files::ConfigurationManager& configuratio setWindowFlags(this->windowFlags() & ~Qt::WindowContextHelpButtonHint); createIcons(); + + QWidget* spacer = new QWidget(); + spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + toolBar->addWidget(spacer); + + QLabel* logo = new QLabel(this); + logo->setPixmap(QIcon(":/images/openmw-header.png").pixmap(QSize(294, 64))); + toolBar->addWidget(logo); } Launcher::MainDialog::~MainDialog() @@ -76,7 +84,7 @@ Launcher::MainDialog::~MainDialog() void Launcher::MainDialog::createIcons() { if (!QIcon::hasThemeIcon("document-new")) - QIcon::setThemeName("tango"); + QIcon::setThemeName("fallback"); connect(dataAction, &QAction::triggered, this, &MainDialog::enableDataPage); connect(graphicsAction, &QAction::triggered, this, &MainDialog::enableGraphicsPage); diff --git a/apps/launcher/ui/mainwindow.ui b/apps/launcher/ui/mainwindow.ui index 9a7352654a..862ae2430e 100644 --- a/apps/launcher/ui/mainwindow.ui +++ b/apps/launcher/ui/mainwindow.ui @@ -77,10 +77,6 @@ QToolBar { - background-attachment: fixed; - background-image: url(:/images/openmw-header.png); - background-repeat: none; - background-position: right; border: 0px; } diff --git a/files/lang/launcher_ru.ts b/files/lang/launcher_ru.ts index c5a036c4b2..5c6719c11c 100644 --- a/files/lang/launcher_ru.ts +++ b/files/lang/launcher_ru.ts @@ -342,7 +342,7 @@ to default Morrowind fonts. Check this box if you still prefer original fonts ov Clone Content List - Создать копию списка плагинов + Создать копию списка Delete Content List diff --git a/files/launcher/icons/fallback/16x16/document-new.svg b/files/launcher/icons/fallback/16x16/document-new.svg new file mode 100644 index 0000000000..a212e2e0c0 --- /dev/null +++ b/files/launcher/icons/fallback/16x16/document-new.svg @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/launcher/icons/fallback/16x16/edit-clear.svg b/files/launcher/icons/fallback/16x16/edit-clear.svg new file mode 100644 index 0000000000..e1d10b86ef --- /dev/null +++ b/files/launcher/icons/fallback/16x16/edit-clear.svg @@ -0,0 +1,45 @@ + + + + + + + + diff --git a/files/launcher/icons/fallback/16x16/edit-copy.svg b/files/launcher/icons/fallback/16x16/edit-copy.svg new file mode 100644 index 0000000000..4933e2267e --- /dev/null +++ b/files/launcher/icons/fallback/16x16/edit-copy.svg @@ -0,0 +1,44 @@ + + + + + + + + diff --git a/files/launcher/icons/fallback/16x16/edit-delete.svg b/files/launcher/icons/fallback/16x16/edit-delete.svg new file mode 100644 index 0000000000..ff86e2020e --- /dev/null +++ b/files/launcher/icons/fallback/16x16/edit-delete.svg @@ -0,0 +1,33 @@ + + + + clear + + + + + + clear + + + + diff --git a/files/launcher/icons/fallback/16x16/view-refresh.svg b/files/launcher/icons/fallback/16x16/view-refresh.svg new file mode 100644 index 0000000000..8401259040 --- /dev/null +++ b/files/launcher/icons/fallback/16x16/view-refresh.svg @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/files/launcher/icons/tango/index.theme b/files/launcher/icons/fallback/index.theme similarity index 67% rename from files/launcher/icons/tango/index.theme rename to files/launcher/icons/fallback/index.theme index 1f54489ebb..ac524b79b5 100644 --- a/files/launcher/icons/tango/index.theme +++ b/files/launcher/icons/fallback/index.theme @@ -1,6 +1,5 @@ [Icon Theme] -Name=Tango -Comment=Tango Theme +Name=Fallback Inherits=default Directories=16x16 diff --git a/files/launcher/icons/tango/16x16/document-new.png b/files/launcher/icons/tango/16x16/document-new.png deleted file mode 100644 index 4c3efdd6fa334616f87698708e73b2a5111c3278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 477 zcmV<30V4j1P);y z08cd6u?+wK010qNS#tmY3ljhU3ljkVnw%H_000McNliru)dCU@CLGhY87Tk&0cuG^ zK~y-)t&mSkTTu|je{=7RRwR8Tg3!ua7TnbCTxO{o^9{0bS-(ZzvfXzh1jK^hz)d&Z zDuq%?vQkP(T7(e)MPi%YcgKY$#u$@SdNwl*bLN~gQZARbYqeUD5tyC*%iLU>XVGu+ z%b(xnqHiDJ&%R{C8KqK5$Km{VQ!h{7Xy?43mnSQoi^k%vwzBKmGBd8L(rh*fApjsE zJ@t&)W7>Wp4I*kr6}$~JG#W`y z)G#6Xf76e95r#Q14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>;gB%E-vjH_%g2RS6Cbobz;w zMn8XFM<@HR@R030wx^^d8yOp_tE+i=dqhNrrKBZgWv8cQr1<)Iv$L~vaBu*<|DiQv zCD0L!B|(0{3=Yq3q=7g|-tI089jvk*Kn`btM`STjY&QrqTD^Jv2q?&2;_2(k{*Y6E zQNw)2bF<$-p(&m&jv*44lM@ug4V)N-r<^}?=+v=u2TvY7%lz>3r;pqmn>aW*K6f_! zT$J=kXj0H6CZkP7pA_~rEt<5cYt@ojJ-gbLiA`9)cJa#9%a`jbFJ6|Pkiim^n6oG$ zYgtxaVxDGtDy!MyQ@3s$yLRs0!D|;!N+fkp-Q2x;_U`uO)3=*mk#)1%SND&xvCi?J z!St-`b_WK*eM}51l|(E#wrtS^x=*#lHKHUXu_VKdAc7#Uib s7+9H_Y8#kX85pRx8(E@g$jwj5OsmALA>>w9D^LT2r>mdKI;Vst0H}=k8vpl*+}S4tk-SEw(HMMH$UOFgT8OyWIuox(>z|!eNT?Q)#FJN+p=4fyzsz3(&M5 z1Oj8QEH>2c<<$iq9`D@|1fH*+ou9fEhcV03wkV2NSzd)@nNYt}lHgoRaN9}vHG1pg5Cj3DD1s1zdc6*S;N$b%7N-)ik diff --git a/files/launcher/icons/tango/16x16/edit-delete.png b/files/launcher/icons/tango/16x16/edit-delete.png deleted file mode 100644 index d7667c36b49c273d5495c260ca6b5180f110d80c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 793 zcmV+!1LpjRP)JGr@010tcTXho<^Tx4MumCCH$DPn3a)|V~{U3F0kiXfs5MY8520` z;Hbhu00%D=9vIA|X7j~**#@d2p}>_Oj=wulsg#q!K`93Tos|_f>UB2Wzt@#4^T1CA zS5vd@KR{I^bns|sY;5GyiHUga$rF|r7P9qs?*hwn;vn!lyWN4E&bdaXv)NL8uJBoE zrXhg9m5;{9M@CPdj+buTVzE~10AB-hK=3CV&fxNz$o_p%G_d6TXv^#(@PqsYW2Gc{ zSecsYYuvnvd-I06_f2nh&)`hjo3Se51a9<+e6u%-;>C8msW9#Y&VF+2Sb6R7V-{<* zPTl+F$5GTDi5wT0sfq|dYNiI?x6NLCP}SXGSOzAYgQLlwJ+eGMp8@B+*}VdCLg3dT zqHujZ&o>k2f&eN`;b32XKWmLf0L&Sj@n(1H-Z%ICjhqyi-bR3@E!8L%LE(@C=&r6} zssKT1W(Hq+vpcWbDgFt z4xTxM2kUR&>aH+M99*u7xB_y)o88_aNilsEH@fH+1hetk^KTU z{)c?!&3@lr>~N_Rl|@+1^DZzeX2z_@wSMQm9WIpyUVGnao4r!F4m|D6d<2*tE|sFe zAfVQ6XIo}dlV(%JQ=aP+86A$IkNhAj-j=`B@J4f!WmTd9nU4 Xz20#US||-v00000NkvXXu0mjfmOyat diff --git a/files/launcher/icons/tango/16x16/view-refresh.png b/files/launcher/icons/tango/16x16/view-refresh.png deleted file mode 100644 index 3fd71d6e5929ba0c40db1960e36e9acba9d7e525..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 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

XLg3%jauoou6mVTd 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 diff --git a/files/launcher/launcher.qrc b/files/launcher/launcher.qrc index 766f636468..b7a7a19c16 100644 --- a/files/launcher/launcher.qrc +++ b/files/launcher/launcher.qrc @@ -7,12 +7,12 @@ images/preferences-advanced.png images/preferences-video.png - - icons/tango/index.theme - icons/tango/16x16/document-new.png - icons/tango/16x16/edit-clear.png - icons/tango/16x16/edit-copy.png - icons/tango/16x16/edit-delete.png - icons/tango/16x16/view-refresh.png + + icons/fallback/index.theme + icons/fallback/16x16/document-new.svg + icons/fallback/16x16/edit-clear.svg + icons/fallback/16x16/edit-copy.svg + icons/fallback/16x16/edit-delete.svg + icons/fallback/16x16/view-refresh.svg From d7bd5e76ca86c4ca5f468d39eaecb588e2680e82 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Tue, 23 Apr 2024 23:40:14 +0300 Subject: [PATCH 08/15] Move wrapping flag handling to relevant properties --- components/bgsm/file.hpp | 3 +++ components/nif/property.hpp | 6 ++++++ components/nifosg/nifloader.cpp | 22 ++++++++-------------- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/components/bgsm/file.hpp b/components/bgsm/file.hpp index d3fb189256..2fe831e918 100644 --- a/components/bgsm/file.hpp +++ b/components/bgsm/file.hpp @@ -51,6 +51,9 @@ namespace Bgsm MaterialFile() = default; virtual void read(BGSMStream& stream); virtual ~MaterialFile() = default; + + bool wrapT() const { return mClamp & 1; } + bool wrapS() const { return mClamp & 2; } }; struct BGSMFile : MaterialFile diff --git a/components/nif/property.hpp b/components/nif/property.hpp index fbc7e8294c..f8798003d3 100644 --- a/components/nif/property.hpp +++ b/components/nif/property.hpp @@ -338,6 +338,9 @@ namespace Nif void read(NIFStream* nif) override; void post(Reader& nif) override; + bool wrapT() const { return mClamp & 1; } + bool wrapS() const { return mClamp & 2; } + bool doubleSided() const { return mShaderFlags2 & BSLSFlag2_DoubleSided; } bool treeAnim() const { return mShaderFlags2 & BSLSFlag2_TreeAnim; } }; @@ -366,6 +369,9 @@ namespace Nif void read(NIFStream* nif) override; + bool wrapT() const { return mClamp & 1; } + bool wrapS() const { return mClamp & 2; } + bool useFalloff() const { return mShaderFlags1 & BSLSFlag1_Falloff; } bool softEffect() const { return mShaderFlags1 & BSLSFlag1_SoftEffect; } bool doubleSided() const { return mShaderFlags2 & BSLSFlag2_DoubleSided; } diff --git a/components/nifosg/nifloader.cpp b/components/nifosg/nifloader.cpp index 05a8378c11..0f338aa633 100644 --- a/components/nifosg/nifloader.cpp +++ b/components/nifosg/nifloader.cpp @@ -2176,8 +2176,8 @@ namespace NifOsg Bgsm::MaterialFilePtr material, osg::StateSet* stateset, std::vector& boundTextures) { const unsigned int uvSet = 0; - const bool wrapS = (material->mClamp >> 1) & 0x1; - const bool wrapT = material->mClamp & 0x1; + const bool wrapS = material->wrapS(); + const bool wrapT = material->wrapT(); if (material->mShaderType == Bgsm::ShaderType::Lighting) { const Bgsm::BGSMFile* bgsm = static_cast(material.get()); @@ -2486,11 +2486,9 @@ namespace NifOsg node->setUserValue("shaderRequired", shaderRequired); osg::StateSet* stateset = node->getOrCreateStateSet(); clearBoundTextures(stateset, boundTextures); - const bool wrapS = (texprop->mClamp >> 1) & 0x1; - const bool wrapT = texprop->mClamp & 0x1; if (!texprop->mTextureSet.empty()) - handleTextureSet( - texprop->mTextureSet.getPtr(), wrapS, wrapT, node->getName(), stateset, boundTextures); + handleTextureSet(texprop->mTextureSet.getPtr(), texprop->wrapS(), texprop->wrapT(), + node->getName(), stateset, boundTextures); handleTextureControllers(texprop, composite, stateset, animflags); if (texprop->refraction()) SceneUtil::setupDistortion(*node, texprop->mRefraction.mStrength); @@ -2534,11 +2532,9 @@ namespace NifOsg handleShaderMaterialNodeProperties(material, stateset, boundTextures); break; } - const bool wrapS = (texprop->mClamp >> 1) & 0x1; - const bool wrapT = texprop->mClamp & 0x1; if (!texprop->mTextureSet.empty()) - handleTextureSet( - texprop->mTextureSet.getPtr(), wrapS, wrapT, node->getName(), stateset, boundTextures); + handleTextureSet(texprop->mTextureSet.getPtr(), texprop->wrapS(), texprop->wrapT(), + node->getName(), stateset, boundTextures); handleTextureControllers(texprop, composite, stateset, animflags); if (texprop->doubleSided()) stateset->setMode(GL_CULL_FACE, osg::StateAttribute::OFF); @@ -2566,11 +2562,9 @@ namespace NifOsg if (!texprop->mSourceTexture.empty()) { const unsigned int uvSet = 0; - const bool wrapS = (texprop->mClamp >> 1) & 0x1; - const bool wrapT = texprop->mClamp & 0x1; unsigned int texUnit = boundTextures.size(); - attachExternalTexture( - "diffuseMap", texprop->mSourceTexture, wrapS, wrapT, uvSet, stateset, boundTextures); + attachExternalTexture("diffuseMap", texprop->mSourceTexture, texprop->wrapS(), texprop->wrapT(), + uvSet, stateset, boundTextures); { osg::ref_ptr texMat(new osg::TexMat); // This handles 20.2.0.7 UV settings like 4.0.0.2 UV settings (see NifOsg::UVController) From 713e741f9c7691c49d09e040d8f9046562fe7561 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Tue, 23 Apr 2024 23:53:34 +0300 Subject: [PATCH 09/15] Share fog state attributes --- components/nifosg/nifloader.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/nifosg/nifloader.cpp b/components/nifosg/nifloader.cpp index 0f338aa633..fffa5ef48b 100644 --- a/components/nifosg/nifloader.cpp +++ b/components/nifosg/nifloader.cpp @@ -2603,6 +2603,7 @@ namespace NifOsg fog->setMode(osg::Fog::LINEAR); fog->setColor(osg::Vec4f(fogprop->mColour, 1.f)); fog->setDepth(fogprop->mFogDepth); + fog = shareAttribute(fog); stateset->setAttributeAndModes(fog, osg::StateAttribute::ON); // Intentionally ignoring radial fog flag // We don't really want to override the global setting @@ -2614,6 +2615,7 @@ namespace NifOsg fog->setMode(osg::Fog::LINEAR); fog->setStart(10000000); fog->setEnd(10000000); + fog = shareAttribute(fog); stateset->setAttributeAndModes(fog, osg::StateAttribute::OFF | osg::StateAttribute::OVERRIDE); } break; From a513049129e77402f4e08bbb5a58a64e2c2c7ab3 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Wed, 24 Apr 2024 00:26:05 +0300 Subject: [PATCH 10/15] Adjust drawable property state changes Reset shininess and specular strength when specular lighting is supposed to be disabled Don't add the material redundantly if a sorter is pushed Don't discard non-default emissive and specular multipliers if there's no sorter or material --- components/nifosg/nifloader.cpp | 45 ++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/components/nifosg/nifloader.cpp b/components/nifosg/nifloader.cpp index fffa5ef48b..d9442229dd 100644 --- a/components/nifosg/nifloader.cpp +++ b/components/nifosg/nifloader.cpp @@ -2817,7 +2817,11 @@ namespace NifOsg // While NetImmerse and Gamebryo support specular lighting, Morrowind has its support disabled. if (mVersion <= Nif::NIFFile::VER_MW || !specEnabled) + { mat->setSpecular(osg::Material::FRONT_AND_BACK, osg::Vec4f(0.f, 0.f, 0.f, 0.f)); + mat->setShininess(osg::Material::FRONT_AND_BACK, 0.f); + specStrength = 1.f; + } if (lightmode == Nif::NiVertexColorProperty::LightMode::LightMode_Emissive) { @@ -2848,32 +2852,31 @@ namespace NifOsg mat->setColorMode(osg::Material::OFF); } - if (!mPushedSorter && !hasSortAlpha && mHasStencilProperty) - setBin_Traversal(node->getOrCreateStateSet()); - - if (!mPushedSorter && !hasMatCtrl && mat->getColorMode() == osg::Material::OFF - && mat->getEmission(osg::Material::FRONT_AND_BACK) == osg::Vec4f(0, 0, 0, 1) - && mat->getDiffuse(osg::Material::FRONT_AND_BACK) == osg::Vec4f(1, 1, 1, 1) - && mat->getAmbient(osg::Material::FRONT_AND_BACK) == osg::Vec4f(1, 1, 1, 1) - && mat->getShininess(osg::Material::FRONT_AND_BACK) == 0 - && mat->getSpecular(osg::Material::FRONT_AND_BACK) == osg::Vec4f(0.f, 0.f, 0.f, 0.f)) + if (hasMatCtrl || mat->getColorMode() != osg::Material::OFF + || mat->getEmission(osg::Material::FRONT_AND_BACK) != osg::Vec4f(0, 0, 0, 1) + || mat->getDiffuse(osg::Material::FRONT_AND_BACK) != osg::Vec4f(1, 1, 1, 1) + || mat->getAmbient(osg::Material::FRONT_AND_BACK) != osg::Vec4f(1, 1, 1, 1) + || mat->getShininess(osg::Material::FRONT_AND_BACK) != 0 + || mat->getSpecular(osg::Material::FRONT_AND_BACK) != osg::Vec4f(0.f, 0.f, 0.f, 0.f)) { - // default state, skip + mat = shareAttribute(mat); + node->getOrCreateStateSet()->setAttributeAndModes(mat, osg::StateAttribute::ON); + } + + if (emissiveMult != 1.f) + node->getOrCreateStateSet()->addUniform(new osg::Uniform("emissiveMult", emissiveMult)); + + if (specStrength != 1.f) + node->getOrCreateStateSet()->addUniform(new osg::Uniform("specStrength", specStrength)); + + if (!mPushedSorter) + { + if (!hasSortAlpha && mHasStencilProperty) + setBin_Traversal(node->getOrCreateStateSet()); return; } - mat = shareAttribute(mat); - osg::StateSet* stateset = node->getOrCreateStateSet(); - stateset->setAttributeAndModes(mat, osg::StateAttribute::ON); - if (emissiveMult != 1.f) - stateset->addUniform(new osg::Uniform("emissiveMult", emissiveMult)); - if (specStrength != 1.f) - stateset->addUniform(new osg::Uniform("specStrength", specStrength)); - - if (!mPushedSorter) - return; - auto assignBin = [&](Nif::NiSortAdjustNode::SortingMode mode, int type) { if (mode == Nif::NiSortAdjustNode::SortingMode::Off) { From 745be2e91bc986dddde47f211cf6a8552726c503 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Wed, 24 Apr 2024 01:32:12 +0300 Subject: [PATCH 11/15] Implement NifOsg::Fog::compare() --- components/nifosg/fog.hpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/components/nifosg/fog.hpp b/components/nifosg/fog.hpp index 5c49392a24..74bad98da5 100644 --- a/components/nifosg/fog.hpp +++ b/components/nifosg/fog.hpp @@ -15,6 +15,21 @@ namespace NifOsg META_StateAttribute(NifOsg, Fog, FOG) + int compare(const StateAttribute& sa) const override + { + COMPARE_StateAttribute_Types(Fog, sa); + + COMPARE_StateAttribute_Parameter(_mode); + COMPARE_StateAttribute_Parameter(_density); + // _start and _end are intentionally ignored as they go unused + COMPARE_StateAttribute_Parameter(_color); + COMPARE_StateAttribute_Parameter(_fogCoordinateSource); + COMPARE_StateAttribute_Parameter(_useRadialFog); + COMPARE_StateAttribute_Parameter(mDepth); + + return 0; + } + void setDepth(float depth) { mDepth = depth; } float getDepth() const { return mDepth; } From 5e8dc9cc037e6627e3b6c7126999cb2d4be7d5c1 Mon Sep 17 00:00:00 2001 From: Andrei Kortunov Date: Wed, 24 Apr 2024 11:14:50 +0400 Subject: [PATCH 12/15] Fix stub icon color --- apps/launcher/datafilespage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/launcher/datafilespage.cpp b/apps/launcher/datafilespage.cpp index f671089bff..a15770fc73 100644 --- a/apps/launcher/datafilespage.cpp +++ b/apps/launcher/datafilespage.cpp @@ -349,7 +349,7 @@ void Launcher::DataFilesPage::populateFileViews(const QString& contentModelName) { // Pad to correct vertical alignment QPixmap pixmap(QSize(200, 200)); // Arbitrary big number, will be scaled down to widget size - pixmap.fill(ui.directoryListWidget->palette().base().color()); + pixmap.fill(QColor(0, 0, 0, 0)); auto emptyIcon = QIcon(pixmap); item->setIcon(emptyIcon); } From 575fb4e637ab783d7b370982360a61b10881ae60 Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Wed, 24 Apr 2024 17:53:26 -0500 Subject: [PATCH 13/15] Correct docs --- files/lua_api/openmw/animation.lua | 2 +- files/lua_api/openmw/core.lua | 4 ++-- files/lua_api/openmw/types.lua | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/files/lua_api/openmw/animation.lua b/files/lua_api/openmw/animation.lua index bb5a0594df..42facef717 100644 --- a/files/lua_api/openmw/animation.lua +++ b/files/lua_api/openmw/animation.lua @@ -229,7 +229,7 @@ -- * `particle` - name of the particle texture to use. (default: "") -- * `vfxId` - a string ID that can be used to remove the effect later, using #removeVfx, and to avoid duplicate effects. The default value of "" can have duplicates. To avoid interaction with the engine, use unique identifiers unrelated to magic effect IDs. The engine uses this identifier to add and remove magic effects based on what effects are active on the actor. If this is set equal to the @{openmw.core#MagicEffectId} identifier of the magic effect being added, for example core.magic.EFFECT_TYPE.FireDamage, then the engine will remove it once the fire damage effect on the actor reaches 0. (Default: ""). -- --- @usage local mgef = core.magic.effects[myEffectName] +-- @usage local mgef = core.magic.effects.records[myEffectName] -- anim.addVfx(self, 'VFX_Hands', {bonename = 'Bip01 L Hand', particle = mgef.particle, loop = mgef.continuousVfx, vfxId = mgef.id..'_myuniquenamehere'}) -- -- later: -- anim.removeVfx(self, mgef.id..'_myuniquenamehere') diff --git a/files/lua_api/openmw/core.lua b/files/lua_api/openmw/core.lua index e7090fd986..3fe2a9297e 100644 --- a/files/lua_api/openmw/core.lua +++ b/files/lua_api/openmw/core.lua @@ -388,7 +388,7 @@ -- local function getEnchantment(item) -- local record = getRecord(item) -- if record and record.enchant then --- return core.magic.enchantments[record.enchant] +-- return core.magic.enchantments.records[record.enchant] -- end -- return nil -- end @@ -968,7 +968,7 @@ -- * `scale` - A number that scales the size of the vfx (Default: 1) -- -- @usage -- Spawn a sanctuary effect near the player --- local effect = core.magic.effects[core.magic.EFFECT_TYPE.Sanctuary] +-- local effect = core.magic.effects.records[core.magic.EFFECT_TYPE.Sanctuary] -- pos = self.position + util.vector3(0, 100, 0) -- core.vfx.spawn(effect.castingStatic, pos) -- diff --git a/files/lua_api/openmw/types.lua b/files/lua_api/openmw/types.lua index 90344cbae1..a92df7aa46 100644 --- a/files/lua_api/openmw/types.lua +++ b/files/lua_api/openmw/types.lua @@ -372,7 +372,7 @@ -- for i = 1, #mySpells do print(mySpells[i].id) end -- @usage -- add ALL spells that exist in the world -- local mySpells = types.Actor.spells(self) --- for _, spell in pairs(core.magic.spells) do +-- for _, spell in pairs(core.magic.spells.records) do -- if spell.type == core.magic.SPELL_TYPE.Spell then -- mySpells:add(spell) -- end From 55f4f6a5bfcbc89888ac9a6def574b2f32d9ba1f Mon Sep 17 00:00:00 2001 From: Zackhasacat Date: Wed, 24 Apr 2024 18:06:24 -0500 Subject: [PATCH 14/15] Update API_REVISION --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 93da5feec4..e61fdd7844 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,7 +81,7 @@ message(STATUS "Configuring OpenMW...") set(OPENMW_VERSION_MAJOR 0) set(OPENMW_VERSION_MINOR 49) set(OPENMW_VERSION_RELEASE 0) -set(OPENMW_LUA_API_REVISION 59) +set(OPENMW_LUA_API_REVISION 60) set(OPENMW_POSTPROCESSING_API_REVISION 1) set(OPENMW_VERSION_COMMITHASH "") From 7f13f6a4e920ea26721e80862e4e3fe35f6b3a47 Mon Sep 17 00:00:00 2001 From: Alexei Kotov Date: Thu, 25 Apr 2024 03:09:04 +0300 Subject: [PATCH 15/15] Use osg::Fog::compare in NifOsg::Fog::compare --- components/nifosg/fog.hpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/components/nifosg/fog.hpp b/components/nifosg/fog.hpp index 74bad98da5..4557092477 100644 --- a/components/nifosg/fog.hpp +++ b/components/nifosg/fog.hpp @@ -17,16 +17,10 @@ namespace NifOsg int compare(const StateAttribute& sa) const override { - COMPARE_StateAttribute_Types(Fog, sa); - - COMPARE_StateAttribute_Parameter(_mode); - COMPARE_StateAttribute_Parameter(_density); - // _start and _end are intentionally ignored as they go unused - COMPARE_StateAttribute_Parameter(_color); - COMPARE_StateAttribute_Parameter(_fogCoordinateSource); - COMPARE_StateAttribute_Parameter(_useRadialFog); + if (const int base = osg::Fog::compare(sa); base != 0) + return base; + const Fog& rhs = static_cast(sa); COMPARE_StateAttribute_Parameter(mDepth); - return 0; }