1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-23 02:23:54 +00:00
Commit graph

19839 commits

Author SHA1 Message Date
Alexei Kotov
f9d41fcfe8 Don't stop playing sounds attached to removed objects (bug #6896) 2022-08-01 04:03:00 +03:00
Petr Mikheev
9a4df75f3c Merge branch 'luaIngredient' into 'master'
Lua Bindings for Ingredient Records

See merge request OpenMW/openmw!2205
2022-07-31 20:31:29 +00:00
Christian Haro
86bb3195a0 Lua Bindings for Ingredient Records 2022-07-31 20:31:29 +00:00
psi29a
9ba3ab2be9 Merge branch 'post_fog' into 'master'
[Postprocessing]  API to work with fog

See merge request OpenMW/openmw!2212
2022-07-31 17:33:08 +00:00
psi29a
1029114172 Merge branch 'water_level' into 'master'
[Postprocessing] Improve water level handling

See merge request OpenMW/openmw!2217
2022-07-31 17:32:45 +00:00
psi29a
42db39e281 Merge branch 'esscamera' into 'master'
essimporter: Recover player's pitch from PCDT (bug #6818)

Closes #6818

See merge request OpenMW/openmw!2210
2022-07-31 17:31:11 +00:00
Alexei Kotov
0b1e6a2b59 Fix pipeline errors 2022-07-31 14:43:57 +03:00
psi29a
a41c9240d9 Merge branch 'wallflower_breakdancing' into 'master'
Break invisibility before applying CE enchantments

Closes #6913

See merge request OpenMW/openmw!2218
2022-07-31 09:49:14 +00:00
psi29a
e3f04794e3 Merge branch 'spellcasting' into 'master'
Fix spellcasting state getting stuck due to premature attack attempts

Closes #6917

See merge request OpenMW/openmw!2216
2022-07-31 08:14:31 +00:00
psi29a
7236135631 Merge branch 'esscellrefs' into 'master'
essimporter: fix doubled actors

See merge request OpenMW/openmw!2213
2022-07-31 08:12:22 +00:00
psi29a
015a5c6b93 Merge branch 'essskills' into 'master'
essimporter: fix doubled stats

See merge request OpenMW/openmw!2211
2022-07-31 08:11:58 +00:00
Evil Eye
6196e777da Break invisibility before applying CE enchantments 2022-07-31 09:48:01 +02:00
Andrei Kortunov
5bfca57835 Add a way to check if water is enabled in post processing shaders 2022-07-31 10:33:18 +04:00
Alexei Kotov
7a6e984e90 Fix spellcasting state getting stuck due to premature attack attempts 2022-07-31 09:05:35 +03:00
glassmancody.info
066185fbcf override depth write flag from object paging in transparent post-pass 2022-07-30 14:37:49 -07:00
Andrei Kortunov
888f4d2ac1 Add a post processing API to work with fog 2022-07-30 21:44:18 +04:00
Alexei Kotov
9f49682d01 essimporter: refactor ESSImport::CellRef and fix doubled actors 2022-07-30 19:30:32 +03:00
Alexei Kotov
c7676a9de6 essimporter: fix doubled stats 2022-07-30 16:48:14 +03:00
Alexei Kotov
8f9b2becde essimporter: Recover player pitch from PCDT (bug #6818) 2022-07-30 15:46:14 +03:00
elsid
8b8e4f78b6
Support cylinder and rotating box collision shape types for actors
Cylinder collision shape should give the best consistency between physics
simulation and pathfinding. Rotating box is already used by some actors, so
add it to have the same collision shape type for all actors.
2022-07-30 14:28:21 +02:00
psi29a
a62b16df5d Merge branch 'delevelled' into 'master'
Editor: Decouple levelled list table columns (bug #6705)

Closes #6705

See merge request OpenMW/openmw!2209
2022-07-30 12:17:07 +00:00
psi29a
79cdc08253 Merge branch 'clean_despawn' into 'master'
Remove effects added by unloading cells

Closes #6914

See merge request OpenMW/openmw!2208
2022-07-30 10:09:36 +00:00
Alexei Kotov
0d18f76271 Editor: Decouple levelled list columns (bug #6705) 2022-07-30 12:48:29 +03:00
Evil Eye
9fc5ced9c9 Remove effects added by unloading cells 2022-07-30 10:59:27 +02:00
psi29a
f2a2880998 Merge branch 'empty_scripts_revival' into 'master'
Bring back empty script message

See merge request OpenMW/openmw!2207
2022-07-30 08:07:24 +00:00
Cody Glassman
89e0de2314 Bring back empty script message 2022-07-30 08:07:24 +00:00
psi29a
5cd4dbd9a9 Merge branch 'unrestrictedfailure' into 'master'
Spellcasting timing fixes (bug #4227)

Closes #4227

See merge request OpenMW/openmw!2201
2022-07-30 07:35:46 +00:00
psi29a
7361a1c6fd Merge branch 'awareness' into 'master'
Fix invisibility handling in awareness checks

See merge request OpenMW/openmw!2203
2022-07-30 06:41:07 +00:00
psi29a
7abcb9b0a7 Merge branch 'positioncell' into 'master'
Snap down any actor teleported with Position/PositionCell (bug #6154)

Closes #6154

See merge request OpenMW/openmw!2204
2022-07-30 06:40:38 +00:00
Alexei Kotov
1e7cbb88d2 Merge branch 'fix_initial_player_landing' into 'master'
Trace down player on initial cell loading after all cells are loaded (#6907)

Closes #6907

See merge request OpenMW/openmw!2206
2022-07-29 23:45:10 +00:00
elsid
37b0ff596c
Trace down player on initial cell loading after all cells are loaded 2022-07-29 23:16:25 +02:00
Alexei Kotov
fede5c7c02 Fix invisibility handling in awareness checks 2022-07-29 18:54:14 +03:00
Alexei Kotov
435ddcfb6b Snap down any actor teleported with Position/PositionCell (bug #6154) 2022-07-29 18:51:49 +03:00
Alexei Kotov
8005d3ca25 Rename updateState back into updateWeaponState 2022-07-29 17:22:51 +03:00
Alexei Kotov
a914d7a9b0 Spellcasting timing fixes (bug #4227)
Play spellcasting animation and VFX (but not hand VFX) if spellcasting failed due to insufficient magicka
Apply spellcasting fatigue loss when the spellcasting starts instead of when the spell is applied
2022-07-29 16:24:28 +03:00
psi29a
4f9bcfd3f5 Merge branch 'issue_6888' into 'master'
Implement Add switch for armor degradation fix. #6888

See merge request OpenMW/openmw!2184
2022-07-29 13:24:16 +00:00
Ivan Beloborodov
f960e30d01 Implement Add switch for armor degradation fix. #6888 2022-07-29 13:24:16 +00:00
Alexei Kotov
93eb470024 Break invisibility after stopping preparing the attack (bug #5976) 2022-07-29 14:01:55 +03:00
psi29a
461fdcd11b Merge branch 'mybodyisready' into 'master'
Delay any quick key use while the player isn't ready (bug #6054)

Closes #6054

See merge request OpenMW/openmw!2198
2022-07-29 09:47:08 +00:00
psi29a
4ecfc0e9ac Merge branch 'torchwood' into 'master'
Don't extinguish held light sources when they're hidden (bug #6910)

Closes #6910

See merge request OpenMW/openmw!2194
2022-07-29 09:40:48 +00:00
psi29a
48c26117da Merge branch 'stagger' into 'master'
Cancel stagger after weapon release animations (bug #6869)

Closes #6869

See merge request OpenMW/openmw!2192
2022-07-29 09:40:22 +00:00
psi29a
3db753a30c Merge branch 'invisibility' into 'master'
Don't headtrack or greet magically hidden actors (bug #5978)

Closes #5978

See merge request OpenMW/openmw!2196
2022-07-29 09:38:54 +00:00
Alexei Kotov
55f34f4f0d Delay any quick key use while the player isn't ready (bug #6054) 2022-07-29 11:29:41 +03:00
Alexei Kotov
88bd3d559a Don't headtrack or greet magically hidden actors (bug #5978) 2022-07-29 10:47:50 +03:00
Alexei Kotov
94dfcdd062 Don't extinguish held light sources when they're hidden (bug #6910) 2022-07-29 10:16:29 +03:00
Alexei Kotov
16e373f30e Make enchanted item casting use accurate aiming for 1 frame (bug #6909) 2022-07-28 19:10:53 +03:00
Alexei Kotov
a2c5161ac4 Cancel stagger animation when an attack ends (bug #6869) 2022-07-28 18:42:38 +03:00
psi29a
c54822acf9 Merge branch 'locale_menu' into 'master'
Add a way to configure locale settings in-game

See merge request OpenMW/openmw!2179
2022-07-28 07:23:55 +00:00
Andrei Kortunov
351ce94f56 Make ComboBox usage consistent 2022-07-27 13:03:34 +04:00
Andrei Kortunov
4ac3c347ad Add a None item for cases when there is no secondary localization 2022-07-27 13:03:34 +04:00
Andrei Kortunov
cf90581995 Set ComboBox value prior to interactive MessageBox 2022-07-27 13:03:34 +04:00
Andrei Kortunov
cb64f49ba1 Allow to configure locales via settings menu 2022-07-27 13:03:34 +04:00
Andrei Kortunov
8ff64ca176 Add a default way to store arrays in the settings.cfg 2022-07-27 13:03:34 +04:00
psi29a
f315afbcce Merge branch 'character_string_view' into 'master'
Use string_view in the CharacterController

See merge request OpenMW/openmw!2189
2022-07-27 08:37:02 +00:00
psi29a
59f1bcc966 Merge branch 'quickerkeys' into 'master'
Allow activating quick keys menu in menus (bug #6898)

Closes #6898

See merge request OpenMW/openmw!2178
2022-07-27 08:36:10 +00:00
Evil Eye
55134d1e31 Use string_view in the CharacterController 2022-07-26 17:23:00 +02:00
psi29a
26bd907b0b Merge branch 'hdr_quick' into 'master'
Fix auto exposure

See merge request OpenMW/openmw!2174
2022-07-26 15:13:22 +00:00
Alexei Kotov
45a94bdf32 Merge branch 'no_hugs' into 'master'
Don't allow non-bipedal actors to use non-weapon animations while moving

Closes #6868

See merge request OpenMW/openmw!2153
2022-07-26 14:48:54 +00:00
psi29a
d43e85051f Merge branch 'walkwhenyoucantride' into 'master'
Revert MR 2048

See merge request OpenMW/openmw!2175
2022-07-26 14:19:32 +00:00
psi29a
17a0063a7c Merge branch 'async_delete_animation' into 'master'
Destruct animation asynchronously when unloading a cell

See merge request OpenMW/openmw!2177
2022-07-26 13:42:43 +00:00
psi29a
bbcf7809f0 Merge branch 'gui_cleanup' into 'master'
GUI cleanup

See merge request OpenMW/openmw!2169
2022-07-26 13:39:33 +00:00
psi29a
843728aadb Merge branch 'breakingcharacter' into 'master'
Make the character controller less miserable, round 5: landing animation

See merge request OpenMW/openmw!2176
2022-07-26 07:44:42 +00:00
Alexei Kotov
f99bcd7ccf Fix local map viewing distance lower bound 2022-07-26 00:00:42 +03:00
Alexei Kotov
ae4df2e038 Only close quick keys-related modals when the menu is closed 2022-07-25 18:55:23 +03:00
Alexei Kotov
80a2ef29ad Allow activating quick keys menu in menus 2022-07-25 18:55:21 +03:00
psi29a
e2b245d3b7 Merge branch 'issue_6901' into 'master'
Fix Morrowind.exe soul gem usage discrepancy #6901

See merge request OpenMW/openmw!2181
2022-07-25 09:39:42 +00:00
psi29a
4e1b5f9761 Merge branch 'sky_fix' into 'master'
Fix sky blending when sky is toggled

See merge request OpenMW/openmw!2185
2022-07-25 08:52:30 +00:00
glassmancody.info
299735ba4d fix sky rtt traversing sky when sky disabled 2022-07-24 19:35:37 -07:00
myrix
782cb7699d use std::string, no unlocalized message, show soul gem id 2022-07-25 02:56:25 +03:00
myrix
3698d96b46 use ciCompareLen, move checks to Miscellaneous::use and ActionSoulgem 2022-07-25 01:47:10 +03:00
myrix
8817f802cb message when using empty soul gems, using preferentially filled ones with equip command 2022-07-24 23:02:26 +03:00
elsid
0614b82452
Restore UnrefQueue to destruct animation asynchronously 2022-07-24 21:08:43 +02:00
elsid
1e7989c5e5
Remove animation objects from scene outside destructor 2022-07-24 21:08:27 +02:00
unknown
95a074b8aa Shorten diff 2022-07-24 20:43:05 +02:00
Alexei Kotov
578b58ca14 Properly handle negative count RemoveItem (bug #6895) 2022-07-24 20:15:44 +03:00
Alexei Kotov
510d1d76d7 Fix applying of falling damage 2022-07-24 19:08:54 +03:00
elsid
34fd8abf5f
Move Animation::getPtr definitions to header 2022-07-24 17:29:27 +02:00
elsid
1168895bf3
Remove redundant reset calls from destructor 2022-07-24 17:29:27 +02:00
Alexei Kotov
819101144d Landing animation playback fixes
Cancel landing animation immediately after moving during the first frame of landing and due to turning animation
2022-07-24 17:24:17 +03:00
Alexei Kotov
bbb8a5e1cb Revert MR 2048 2022-07-24 00:31:57 +03:00
glassmancody.info
fd4966f77a temporary fix for auto exposure 2022-07-22 20:41:08 -07:00
psi29a
ad687c380a Merge branch 'nif' into 'master'
Move NIF implementation to cpp files

Closes #6518

See merge request OpenMW/openmw!2170
2022-07-21 16:09:33 +00:00
Andrei Kortunov
c36c28e8f9 Move NIF implementation to cpp files 2022-07-21 15:54:52 +04:00
Petr Mikheev
643e33c11a Merge branch 'lua_pathfinding_bindings' into 'master'
Add bindings for navigator utils functions (#6690)

See merge request OpenMW/openmw!2128
2022-07-20 23:52:16 +00:00
elsid
27cc901e76
Add bindings for navigator utils functions 2022-07-21 00:04:26 +02:00
elsid
a281bcaf90
Remove redundant Platform::initialize function 2022-07-20 22:49:44 +02:00
Andrei Kortunov
de58c9dff3 Get rid of obsolete osg::Geode where it is possible 2022-07-20 15:28:56 +04:00
psi29a
3b75ae7ff1 Merge branch 'terrain-include-cleanup' into 'master'
Cleanup includes in Terrain component

See merge request OpenMW/openmw!2157
2022-07-19 14:42:43 +00:00
psi29a
8da463926e Merge branch 'warnfix' into 'master'
Follow-up for MR 2112

See merge request OpenMW/openmw!2162
2022-07-18 20:57:56 +00:00
Andrei Kortunov
4e7fe5a8bd Set VFS only once 2022-07-18 23:37:41 +04:00
elsid
c197896765
Use unique_ptr for Wizard::InstallationPage members 2022-07-18 20:29:37 +02:00
psi29a
40cab76de5 Merge branch 'fonts' into 'master'
Enhance a way to setup fonts and layout files

See merge request OpenMW/openmw!2112
2022-07-18 17:36:31 +00:00
ζeh Matt
ddf43ec42f
Move structs into separate headers, cleanup includes, cleanup forwarders 2022-07-18 19:15:03 +03:00
Andrei Kortunov
845a812ebf Drop fonts export - users are supposed to use TrueType fonts or mods with legacy format 2022-07-18 10:40:03 +04:00
Andrei Kortunov
5bc5c1bb0c Use our fonts as a fallback 2022-07-18 09:57:20 +04:00
psi29a
79cc55b2a3 Merge branch 'rename-drawstate' into 'master'
Rename DrawState_ to DrawState and use enum class

See merge request OpenMW/openmw!2151
2022-07-17 20:24:50 +00:00
Evil Eye
4e65829cec Don't allow non-bipedal actors to use non-weapon animations while moving 2022-07-17 21:47:50 +02:00
Andrei Kortunov
c47a48e25d Inject layout files to VFS 2022-07-17 22:01:48 +04:00
Andrei Kortunov
2630bc21dd Allow to override MyGUI layout 2022-07-17 22:01:48 +04:00
Andrei Kortunov
4ddba5142e Introduce font mappings 2022-07-17 22:01:48 +04:00
Andrei Kortunov
dd04bfccfb Load fonts 2022-07-17 22:01:48 +04:00
Evil Eye
3967509cdd Use meaningful names instead of pretending we don't know what snow is 2022-07-17 19:54:59 +02:00
ζeh Matt
841fd9618f
Rename DrawState_ to DrawState and use enum class 2022-07-17 20:50:26 +03:00
elsid
c040da36de
Use std::unique_ptr to manage lifetime for InputManager members 2022-07-17 14:13:21 +02:00
elsid
6c8ed4d19c
Move Files::IStreamPtr alias to a separate header
To avoid transitive include of Windows.h all over the engine.
2022-07-17 11:35:39 +02:00
psi29a
06db2446b1 Merge branch 'cleanup_aistate' into 'master'
Cleanup MWMechanics::AiState

See merge request OpenMW/openmw!2141
2022-07-17 09:13:04 +00:00
psi29a
2a967725d4 Merge branch 'aisetting' into 'master'
Move AiSetting out of MWMechanics::CreatureStats

See merge request OpenMW/openmw!2140
2022-07-17 09:11:03 +00:00
elsid
b8937a493a
Avoid manual memory management for MWMechanics::DerivedClassStorage 2022-07-16 17:13:16 +02:00
elsid
d2b7253c7f
Use forward declarations instead of including aistate.hpp 2022-07-16 17:13:16 +02:00
elsid
f5c2e09df9
Move AiTemporaryBase to a separate header 2022-07-16 17:13:16 +02:00
elsid
e11fbc10b1
Remove unused member functions from MWMechanics::DerivedClassStorage 2022-07-16 17:13:16 +02:00
elsid
49f8445f87
Move AiSetting out of MWMechanics::CreatureStats
To replace creaturestats.hpp include in mwworld/class.hpp with forward
declaration reducing total size of preprocessed code.
2022-07-16 16:43:33 +02:00
elsid
9398e97600
Avoid manual memory management for VFS archives 2022-07-16 15:30:14 +02:00
Evil Eye
1a5a526b15 Remove unecessary casts and prevent nullptr dereference in getWalkSpeed 2022-07-13 21:17:11 +02:00
Evil Eye
ed921ad377 Fix modstat for negative numbers 2022-07-12 19:59:18 +02:00
elsid
22ed6d5c1e
Use unsigned to define number of threads 2022-07-12 15:19:52 +02:00
elsid
8c3c65fe9f
Use variant and optional to implement Maybe*Locks
To avoid calling lock and unlock on the mutex. User-defined destructor is no
more needed.
2022-07-12 15:19:52 +02:00
psi29a
bcaeb579c3 Merge branch 'modified_stats' into 'master'
Calculate the modified property based on cached values

See merge request OpenMW/openmw!2121
2022-07-12 13:03:54 +00:00
psi29a
0eb674ec84 Merge branch 'settings_fix' into 'master'
Refactor usage of settings storage in the launcher and editor

See merge request OpenMW/openmw!2123
2022-07-12 13:00:52 +00:00
psi29a
a8ec69045c Merge branch 'coverity' into 'master'
Coverity fixes

See merge request OpenMW/openmw!2125
2022-07-12 12:59:00 +00:00
Andrei Kortunov
4b257e496e Use static settings map for launcher and editor - the Settings::Manager has a static data anyway 2022-07-12 14:56:20 +04:00
Andrei Kortunov
a5b0ef0912 Avoid possible null dereference 2022-07-12 13:43:47 +04:00
Andrei Kortunov
42b9a6daaf Do not use an invalid iterator 2022-07-12 12:45:11 +04:00
psi29a
54db3a97bb Merge branch 'multiview-refactor' into 'master'
[Multiview] refactoring

See merge request OpenMW/openmw!2122
2022-07-12 08:44:43 +00:00
Petr Mikheev
9fbcc5df5e Merge branch 'localization' into 'master'
Use Lua's YAML-based localization for MyGUI

See merge request OpenMW/openmw!2099
2022-07-12 08:13:33 +00:00
Andrei Kortunov
ccbb5e03fb Use YAML files to translate MyGUI's localization tags 2022-07-12 08:20:40 +04:00
Mads Buvik Sandvei
b277fa48c7 Refactor multiview to avoid littering OSG_HAS_MULTIVIEW and multiview-related uniforms around the code, keep them all in multiview.cpp. 2022-07-11 17:27:05 +02:00
Evil Eye
011a822408 Calculate the modified property based on cached values 2022-07-11 16:40:06 +02:00
psi29a
aaaeed572a Merge branch 'fix_6841' into 'master'
Treat empty `RootCollisionNode` in NIF as NC flag and generate VisualOnly collision shape

Closes #6841

See merge request OpenMW/openmw!2084
2022-07-11 08:31:59 +00:00
Cody Glassman
24749b066c Add sky blending to launcher 2022-07-11 00:26:22 +00:00
elsid
9cda505ef3
Add missing save for a setting in launcher 2022-07-10 22:48:25 +02:00
Petr Mikheev
8b8c304953 Treat empty RootCollisionNode in NIF as NCC flag and generate CameraOnly collision shape 2022-07-10 00:46:11 +02:00
psi29a
98f839982e Merge branch 'refactor_actors' into 'master'
Refactor MWMechanics::Actors

See merge request OpenMW/openmw!2094
2022-07-07 17:56:09 +00:00
Evil Eye
e42d63f4a4 Don't try to start combat with oneself and don't tell the player what to do 2022-07-06 19:12:36 +02:00
psi29a
1ef8ca1f27 Merge branch 'fix_tidy_warnings' into 'master'
Fix several Clang-Tidy warnings

See merge request OpenMW/openmw!2107
2022-07-06 13:47:59 +00:00
elsid
520738277a
Support google benchmark v1.6.1 2022-07-06 15:06:59 +02:00
elsid
bd7f56ddb4
Don't rely on virtual dispatch in constructor
apps/openmw/mwrender/animation.cpp:1841:60: warning: Call to virtual method 'ObjectAnimation::canBeHarvested' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
        if (ptr.getRefData().getCustomData() != nullptr && canBeHarvested())
                                                           ^~~~~~~~~~~~~~~~

apps/openmw/mwrender/bulletdebugdraw.cpp:33:5: warning: Call to virtual method 'DebugDrawer::setDebugMode' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
    setDebugMode(debugMode);
    ^~~~~~~~~~~~~~~~~~~~~~~

openmw/mwinput/controllermanager.cpp:63:17: warning: Call to virtual method 'ControllerManager::controllerAdded' during construction bypasses virtual dispatch [clang-analyzer-optin.cplusplus.VirtualCall]
                controllerAdded(fakeDeviceID, evt);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2022-07-06 13:52:28 +02:00
elsid
4ecee2e167
Avoid using reserved identifier in the global namespace
apps/launcher/datafilespage.cpp:762:12: warning: declaration uses identifier '_reloadCellsMutex', which is reserved in the global namespace [bugprone-reserved-identifier]
std::mutex _reloadCellsMutex;
           ^~~~~~~~~~~~~~~~~
           reloadCellsMutex

apps/openmw/mwgui/journalwindow.cpp:86:103: warning: declaration uses identifier '_sender', which is reserved in the global namespace [bugprone-reserved-identifier]
        void adviseButtonClick (char const * name, void (JournalWindowImpl::*Handler) (MyGUI::Widget* _sender))
                                                                                                      ^~~~~~~
                                                                                                      sender

apps/openmw/mwgui/journalwindow.cpp:92:100: warning: declaration uses identifier '_sender', which is reserved in the global namespace [bugprone-reserved-identifier]
        void adviseKeyPress (char const * name, void (JournalWindowImpl::*Handler) (MyGUI::Widget* _sender, MyGUI::KeyCode key, MyGUI::Char character))
                                                                                                   ^~~~~~~
                                                                                                   sender
2022-07-06 13:52:28 +02:00
elsid
7501597813
Do not use float as loop variable
apps/opencs/view/render/instanceselectionmode.cpp:294:9: warning: Variable 'i' with floating point type 'float' should not be used as a loop counter [clang-analyzer-security.FloatLoopCounter]
        for (float i = 0.0; i <= resolution; i += 2)
        ^                   ~                ~
2022-07-06 13:52:28 +02:00
elsid
f1ded70366
Remove redundant condition
apps/openmw/mwmechanics/character.cpp:500:14: warning: redundant condition 'isRealWeapon' [bugprone-redundant-branch-condition]
        else if (isRealWeapon)
             ^~~~~~~~~~~~~~~~~
2022-07-06 13:52:25 +02:00
psi29a
95a6fa8d0c DeathKnockOut when KnockOut... 2022-07-06 10:48:22 +00:00
psi29a
9ed4d17f8a Merge branch 'hidden_marker' into 'master'
Use single implementation to check whether marker is hidden

See merge request OpenMW/openmw!2096
2022-07-06 07:30:56 +00:00
psi29a
cec707e994 No attack animation while blocking fix 2022-07-05 18:29:21 +00:00
psi29a
715b8497f9 Merge branch 'live_cell_ref' into 'master'
Use descriptive names for range elements

See merge request OpenMW/openmw!2092
2022-07-05 18:26:40 +00:00
psi29a
7470f6971d Merge branch 'TisIPickles27-test' into 'master'
[WIP] Maybe force dedicated GPU on dual-AMD machines

See merge request OpenMW/openmw!1214
2022-07-05 15:56:02 +00:00
Andrei Kortunov
38042fd7a2 Init missing variables 2022-07-05 17:47:52 +04:00
Andrei Kortunov
aed0da46a9 Check a result of dynamic_cast 2022-07-05 17:47:49 +04:00
jvoisin
f451b09f10 Merge branch 'rm_stream_include' into 'master'
Remove redundant ostream, istream, iostream and sstream includes

See merge request OpenMW/openmw!2097
2022-07-05 11:00:50 +00:00
psi29a
85a8359b36 Merge branch 'only_when_necassary' into 'master'
Conditional soft particles

See merge request OpenMW/openmw!2078
2022-07-05 10:14:32 +00:00
elsid
bef15edf0b
Remove redundant ostream, istream, iostream and sstream includes
* Replace by std::to_string and operator+ where possible.
* Move the code requiring to include <sstream> from .hpp to .cpp files.
2022-07-05 01:41:28 +02:00
elsid
20c15b30de
Move getLuaType out of MWWorld::PtrBase
This function is used only for Lua related code and don't need to be present
everywhere ptr.hpp is included.
2022-07-05 00:53:19 +02:00
elsid
4613840914
Use single implementation to check whether marker is hidden 2022-07-05 00:36:37 +02:00
elsid
c476437b6e
Mark Actors member functions as const where possible 2022-07-04 22:37:27 +02:00
elsid
ae4ec0a1d0
Convert static const to constexpr where possible 2022-07-04 22:16:38 +02:00
elsid
2ec757ab0f
Remove unnecessary member functions from Actors 2022-07-04 22:16:38 +02:00
elsid
0132b6e19c
Use range-based for loop 2022-07-04 22:16:37 +02:00
elsid
5e8df40718
Mark not changing variables as const 2022-07-04 22:16:37 +02:00
elsid
f8b8569f3b
Initialize variables on declaration 2022-07-04 21:38:26 +02:00
elsid
a05ed48a57
Move lua controls update into a separate function 2022-07-04 21:31:55 +02:00
elsid
03792eebdb
Reuse isPlayer variable instead of using operator != 2022-07-04 21:26:44 +02:00
elsid
77eaf2082f
Move head tracking update into a separate function 2022-07-04 21:26:42 +02:00
elsid
fe206c1526
Remove updateHeadTracking from member functions 2022-07-04 21:17:07 +02:00
elsid
1b117af5e1
Use descriptive names for range elements
iter does not describe the nature of the object. Range-based for loop provides
elements of the iterator range, not iterators.
2022-07-04 21:03:45 +02:00
psi29a
c9264de22a Merge branch 'warnfix' into 'master'
Suppress a GCC 11's format-overflow warning

See merge request OpenMW/openmw!2080
2022-07-04 12:08:31 +00:00
psi29a
bc3421642d Merge branch 'light' into 'master'
Fix emissive in character preview

See merge request OpenMW/openmw!2088
2022-07-04 06:56:23 +00:00
psi29a
9da84480f0 Merge branch 'misc_ui' into 'master'
Improved settings window

Closes #6780

See merge request OpenMW/openmw!2087
2022-07-04 06:55:42 +00:00
glassmancody.info
9a0e9ac4fe fix emissives in character preview 2022-07-03 18:46:22 -07:00
glassmancody.info
63d9fa55c6 settings window cleanup 2022-07-03 12:49:37 -07:00
jvoisin
498a835b77 Merge branch 'coverity' into 'master'
Fix some Coverity issues

See merge request OpenMW/openmw!2082
2022-07-03 16:29:05 +00:00
Andrei Kortunov
41a976b5f0 Suppress a GCC 11's format-overflow warning 2022-07-03 18:21:55 +04:00
Cody Glassman
051832d7ae [Lua] Set simulation time scale 2022-07-03 12:51:28 +00:00
Andrei Kortunov
14b5674d32 Init missing data members 2022-07-03 15:44:50 +04:00
Andrei Kortunov
03cdffb555 Init some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
1274a229d1 Remove pointless null check 2022-07-03 15:44:50 +04:00
Andrei Kortunov
e97172bbb2 Add a check for null 2022-07-03 15:44:50 +04:00
Andrei Kortunov
aa349f2ed9 Initialize some missing variables 2022-07-03 15:44:50 +04:00
Andrei Kortunov
62f5bedef5 Remove pointless check 2022-07-03 15:44:31 +04:00
glassmancody.info
a0265ffb89 only enable soft particles when enabled in settings 2022-07-02 09:42:15 -07:00
AnyOldName3
6609243c87 Merge branch 'dont_notice_me_launcher_senpai' into 'master'
Don't load content entries from global and local configs

Closes #6441

See merge request OpenMW/openmw!2068
2022-07-02 16:02:10 +00:00
Mads Buvik Sandvei
6dc727cf8f More stereo-postprocessing integration 2022-07-02 15:26:35 +00:00
Evil Eye
478ad07607 Only load global cfg if local wasn't found 2022-07-02 11:19:36 +02:00
elsid
e074ebde96
Fix C4389 msvc warning
'==': signed/unsigned mismatch
2022-07-01 18:47:47 +02:00
elsid
2eae3227ba
Fix C4305 msvc warning
'argument': truncation from 'double' to 'float'
2022-07-01 18:47:46 +02:00
elsid
8544aa481c
Fix C4459 msvc warning
declaration of 'navMeshVersion' hides global declaration
2022-07-01 18:47:40 +02:00
elsid
7e6c13630a Use target_precompile_headers for the most expensive headers 2022-07-01 14:05:17 +00:00
Evil Eye
c081b8cfa9 Don't load content entries from global and local configs 2022-06-30 20:57:51 +02:00
psi29a
56187ad977 Merge branch 'soften_me_up_like_one_of_your_french_meshes' into 'master'
Allow soft particle effect on any NIF

See merge request OpenMW/openmw!2015
2022-06-30 13:46:22 +00:00
glassmancody.info
b09411d396 allow soft particles on meshes and add extra data extensions 2022-06-29 18:15:12 -07:00
psi29a
451cc6a07c Merge branch 'correct_path' into 'master'
Use existing functions and objects to call correctMeshPath etc (#6837)

Closes #6837

See merge request OpenMW/openmw!2063
2022-06-29 10:22:08 +00:00
psi29a
e861491127 Merge branch 'quickfix' into 'master'
Fix a couple typos

See merge request OpenMW/openmw!2052
2022-06-29 09:22:15 +00:00
elsid
ce263af393
Use existing functions and objects to call correctMeshPath etc
Remove WindowManager wrappers.

It's not safe to use WindowManager in all places and it's not required.
Environment stores resource system providing VFS required to call these
functions. In the case of ObjectPaging it's available from the member variable.
Also ObjectPaging::createChunk may access WindowManager when it's already
destructed when exiting the game because it's destructed before CellPreloader
finishes all background jobs. Engine::mResourceSystem is destructed after all
other systems so it's safe to use it.
2022-06-29 00:58:49 +02:00
AnyOldName3
066575821b Merge branch 'fog_alpha' into 'master'
Several fixes related to sky blending

See merge request OpenMW/openmw!2046
2022-06-28 22:17:37 +00:00
psi29a
776cae4c95 Merge branch 'assert' into 'master'
Use string_view in Layout and remove dead code

See merge request OpenMW/openmw!2060
2022-06-27 20:02:20 +00:00
Petr Mikheev
d0deb37f5c Fix several issues with sky blending 2022-06-27 21:51:41 +02:00
Evil Eye
81ec7e80bb Use string_view in Layout and remove dead code 2022-06-27 19:13:17 +02:00
jvoisin
3403ea1d9e Merge branch 'FixUBOnDoubleMove' into 'master'
Avoid double move when an area with same coordinates already exists

See merge request OpenMW/openmw!2059
2022-06-27 16:28:17 +00:00
psi29a
a814d11a39 Merge branch 'move_left_shift_to_cpp' into 'master'
Move std::ostream& operator<< to .cpp

See merge request OpenMW/openmw!2058
2022-06-27 09:24:01 +00:00
elsid
1a5932a669
Move std::ostream& operator<< to .cpp 2022-06-26 22:43:53 +02:00
elsid
ffd1bd30ef
Remove redundant includes from groundcoverstore.hpp 2022-06-26 22:28:10 +02:00
Cédric Mocquillon
cbf48b4382 Avoid double move when an area with same coordinates already exists 2022-06-26 21:45:42 +02:00
elsid
fdf6e58ea3
Split apps/openmw/mwmechanics/actorutil.hpp 2022-06-26 16:42:29 +02:00
glassmancody.info
54e2e74c2a quickfix 2022-06-25 22:41:03 -07:00
elsid
10fbf170a2
Reduce number of includes for boost/program_options 2022-06-25 18:32:10 +02:00
Petr Mikheev
50b143b53f Fast fix in cellbindings.cpp 2022-06-24 23:41:11 +00:00
Petr Mikheev
377c00261a [Lua] Ability to distinguish normal interiors and quasi exteriors (like Mournhold). 2022-06-24 18:24:02 +02:00
psi29a
c3599ada2e Merge branch 'imayhaverunoutofclevernifbranchnames' into 'master'
Clean up NIF record flags/modes

See merge request OpenMW/openmw!2047
2022-06-22 21:15:14 +00:00
Evil Eye
b79c42fa77 Exclude followers in combat with their leader 2022-06-22 16:37:03 +02:00
Evil Eye
cc081c3d2d Don't add additional targets to allies that are already in combat 2022-06-22 16:36:58 +02:00
psi29a
ede09309a6 Merge branch 'groundcover_progress' into 'master'
Show groundcover loading progress

See merge request OpenMW/openmw!1978
2022-06-22 13:02:22 +00:00
psi29a
e50c1dbcb1 Merge branch 'slaughteredslaughterfish' into 'master'
Avoid assigning idle animations to non-actors (bug #5371)

Closes #5371

See merge request OpenMW/openmw!2048
2022-06-22 12:38:15 +00:00
psi29a
e2ae381a6c Merge branch 'lua_worker_join' into 'master'
Correctly terminate LuaWorker if the game is being terminated due to an unhanded exception.

See merge request OpenMW/openmw!2044
2022-06-22 12:35:21 +00:00
Alexei Kotov
fbb0004aae Avoid assigning idle animations to non-actors (bug #5371) 2022-06-22 03:53:39 +03:00
Alexei Kotov
e673f9fa76 Clean up NIF flags 2022-06-22 01:58:16 +03:00
Petr Mikheev
8123e41a75 Fix #6824 2022-06-21 21:11:15 +02:00
Petr Mikheev
241b414aa6 Correctly terminate LuaWorker if the game is being terminated due to an unhanded exception. 2022-06-21 20:56:19 +02:00
psi29a
1a478875f0 Merge branch 'navmesh_agent_bounds' into 'master'
Support different agent collision shape type for pathfinding

See merge request OpenMW/openmw!2030
2022-06-21 16:13:41 +00:00
psi29a
feef257584 Merge branch 'postprocessor-stereo' into 'master'
[Postprocessing] Stereo integration

See merge request OpenMW/openmw!1988
2022-06-21 15:55:06 +00:00
Mads Buvik Sandvei
b0e4c7e76a [Postprocessing] Stereo integration 2022-06-21 15:55:06 +00:00
psi29a
a822044199 Merge branch 'riggeoosgaext' into 'master'
custom class for osgAnimation::RigGeometry, Collada animated deforming body parts

See merge request OpenMW/openmw!1682
2022-06-21 15:27:34 +00:00
Nelsson Huotari
334c6dde0b custom class for osgAnimation::RigGeometry, Collada animated deforming body parts 2022-06-21 15:27:34 +00:00
elsid
1a12c453d6
Support different agent collision shape type for pathfinding
Actors may have different collision shapes. Currently there are axis-aligned
bounding boxes and rotating bounding boxes. With AABB it's required to use
bounding cylinder for navmesh agent to avoid providing paths where actor can't
pass. But for rotating bounding boxes cylinder with diameter equal to the front
face width should be used to not reduce of available paths. For example rats
have rotating bounding box as collision shape because of the difference between
front and side faces width.

* Add agent bounds to navmesh tile db cache key. This is required to distinguish
  tiles for agents with different bounds.
* Increase navmesh version because navmesh tile db cache key and data has changed.
* Move navmesh version to the code to avoid misconfiguration by users.
* Fix all places where wrong half extents were used for pathfinding.
2022-06-21 12:57:32 +02:00
psi29a
15c7ed774c Merge branch 'shaders_fog' into 'master'
Better fog

See merge request OpenMW/openmw!2006
2022-06-21 08:39:48 +00:00
psi29a
d2df89b013 Merge branch 'aitravelendtolerance' into 'master'
Give AITravel time to end if the actor is close to the destination (#6495)

Closes #6495

See merge request OpenMW/openmw!2036
2022-06-21 07:31:37 +00:00
Petr Mikheev
3bf18c601c Better fog 2022-06-21 02:21:20 +02:00
Bret Curtis
37a440a0ee add one include back 2022-06-20 16:26:52 +02:00
psi29a
aeed99ca2c Merge branch 'clean_qt_headers' into 'master'
Clean up Qt includes

See merge request OpenMW/openmw!2027
2022-06-20 14:05:33 +00:00
Petr Mikheev
e466a812d8 Merge branch 'lua_consume' into 'master'
Refactor consuming mechanics, improve Lua onConsume handler

See merge request OpenMW/openmw!1848
2022-06-20 12:12:50 +00:00
Alexei Kotov
bd6716d89d Give AITravel time to end if the actor is close to the destination 2022-06-20 15:07:18 +03:00
Cody Glassman
66aa546e97 [Postprocessing] Small cleanup 2022-06-20 06:58:40 +00:00
Alexei Kotov
e5e6645575 Merge branch 'more_romantic_disable' into 'master'
Enable collision for postponed objects when any object is disabled

Closes #6648

See merge request OpenMW/openmw!2035
2022-06-19 21:42:30 +00:00
Evil Eye
aa2fab8db5 Enable collision for postponed objects when any object is disabled 2022-06-19 20:16:31 +02:00
Alexei Kotov
a8e409deef Make launcher viewing distance setup more precise 2022-06-19 20:20:12 +03:00
uramer
36a1e18b6f Increment Lua API revision 2022-06-19 17:31:53 +02:00
uramer
c1f8d7c20a Make comment style consistently inconsistent 2022-06-19 17:31:18 +02:00
Alexei Kotov
3baf346200 Use numeric_limits for indefinite idle looping 2022-06-19 08:58:12 +03:00
uramer
3761e7b24e Pass a 0-count object to onConsume instead of the record id 2022-06-18 11:13:54 +02:00
uramer
c3c48f21d7 Consolidate item consumption code 2022-06-18 11:13:54 +02:00
Alexei Kotov
183378e34a Fix idle swim/sneak animation fallback again 2022-06-18 03:24:45 +03:00
jvoisin
8b9ed57348 Clean up Qt includes 2022-06-17 11:56:54 +02:00
jvoisin
5065e4e571 Merge branch '1234knockout' into 'master'
Avoid clearing the current weapon animation group if it's still going to be in use

See merge request OpenMW/openmw!2025
2022-06-17 09:53:13 +00:00
Alexei Kotov
0b38e165f7 Avoid clearing the current weapon animation group if it's still going to be in use 2022-06-17 09:53:13 +00:00
Alexei Kotov
a5d8286cf2 Reject models that don't have grass\ prefix from groundcover cache 2022-06-16 16:26:25 +03:00
psi29a
67e764a44a Merge branch 'severecharacterdisorder' into 'master'
Make the character controller less miserable, round 4: juicy stuff (bug #5592)

Closes #5592

See merge request OpenMW/openmw!2014
2022-06-15 11:42:17 +00:00
elsid
fdd84265b3
Use proper agent height and radius when render actor path
That are based on half extents used to find path over navmesh which is different
for interior and exterior cells.

Use common functions to get agent height and radius for actor path rendering and
navmesh generation.
2022-06-15 01:11:11 +02:00
Alexei Kotov
2b019864b7 Remove more legacy states 2022-06-14 13:47:16 +03:00
Alexei Kotov
30ef7ad81b Properly cancel the landing animation during movement 2022-06-14 12:50:30 +03:00
Alexei Kotov
c2ac52c82a Remove dead code 2022-06-14 12:50:30 +03:00
Alexei Kotov
61d382dc9f Set the initial IdleState to CharState_None 2022-06-14 12:50:30 +03:00
Alexei Kotov
4ce08664e9 Fix swim spellcasting stance turning fallback 2022-06-14 12:50:30 +03:00
Alexei Kotov
5dfce6205a Reset the idle animation after a movement animation ends
Fix non-biped actor idle reset
2022-06-14 12:50:30 +03:00
Alexei Kotov
1a646374b0 Always reset the idle animation after the landing animation ends 2022-06-14 12:50:30 +03:00
Alexei Kotov
69a1d8ac86 Restart idle instantly only after the hit state ends 2022-06-14 12:50:30 +03:00
Alexei Kotov
35db7b8319 Fix fallback for missing swim/sneak idle animations 2022-06-14 01:12:05 +03:00
Alexei Kotov
253de65d13 Fix knockout animation interruption/looping 2022-06-13 17:53:38 +03:00
Alexei Kotov
b8018024a6 Avoid passing weapon short group to refreshXAnims 2022-06-13 17:53:38 +03:00
Alexei Kotov
0a38c3ab78 Reset current animation states in a consistent way 2022-06-13 17:53:38 +03:00
Alexei Kotov
dd42a69ca5 Consolidate refreshIdleAnims 2022-06-13 17:53:38 +03:00
Alexei Kotov
2c3d385672 Consolidate refreshHitRecoilAnims 2022-06-13 17:53:38 +03:00
Alexei Kotov
a105ba14e4 Consolidate refreshJumpAnims 2022-06-13 12:59:18 +03:00
Alexei Kotov
ab46337c41 Rewrite handleTextKey using substring views 2022-06-13 12:28:12 +03:00
Alexei Kotov
9e6b7fed1a Consolidate refreshMovementAnims() 2022-06-13 12:13:10 +03:00
psi29a
c8eb246198 Merge branch 'no_update_useless_ugly_nodes' into 'master'
Only update active children

See merge request OpenMW/openmw!2001
2022-06-12 18:47:56 +00:00
psi29a
eac1d8599a Merge branch 'lua_record_paths' into 'master'
Correct VFS paths in Lua records

See merge request OpenMW/openmw!1853
2022-06-12 18:45:24 +00:00
psi29a
b7918282ad Merge branch 'minor_simpl_sortfilteritemodel' into 'master'
Minor simplifications in sortfilteritemmodel.cpp

See merge request OpenMW/openmw!1975
2022-06-12 18:43:50 +00:00
psi29a
33c5b192c9 Merge branch 'crossovercharacter' into 'master'
Make the character controller less miserable, round 2: state mappings

See merge request OpenMW/openmw!2003
2022-06-12 18:37:13 +00:00
jvoisin
8d56e79877 Minor simplifications in sortfilteritemmodel.cpp
- Change an if-else-if-else… spaghetti into a switch-case
- Replace a linear search in a dynamically constructed
  vector with a switch-case. Thanks elsid for the idea!
2022-06-12 18:00:43 +02:00
psi29a
bf8cc36645 Merge branch 'camera_settings' into 'master'
In-game camera settings

Closes #6715

See merge request OpenMW/openmw!1924
2022-06-12 12:47:11 +00:00
uramer
bf905fce4c Don't use WindowManager outside of UI, correct paths for new record types 2022-06-12 13:07:50 +02:00
uramer
fd7965d77f Use correctMeshPath instead of string constants 2022-06-12 11:30:29 +02:00
uramer
1fb136a417 Correct icon and mesh paths in Lua records 2022-06-12 11:30:29 +02:00
psi29a
bb0dad7c08 Update to C++20 and see if our CI can handle it. 2022-06-12 08:00:11 +00:00
Alexei Kotov
c2e637d661 Mark setAttackingOrSpell as const 2022-06-12 03:02:23 +03:00
Alexei Kotov
47f574e14b Move death state mapping out of playDeath/playRandomDeath 2022-06-12 02:58:04 +03:00
Alexei Kotov
b4e87abfe1 Clean up run-to-walk state conversion 2022-06-12 02:52:49 +03:00
Alexei Kotov
31d636ea20 Map movement animation groups with a switch 2022-06-12 02:49:13 +03:00
Petr Mikheev
5f0a7c2b16 Fix jumping when using move360 with a controller 2022-06-12 00:09:13 +02:00
Petr Mikheev
65efd6f1c2 Remove from settings.cfg camera settings that are controlled from Lua 2022-06-12 00:06:39 +02:00
Petr Mikheev
c548708a27 Remove Lua package openmw.settings 2022-06-12 00:06:39 +02:00
psi29a
f8a6001e87 Merge branch 'outofcharacter' into 'master'
Make CharacterController less miserable, round 1

See merge request OpenMW/openmw!1999
2022-06-11 18:50:06 +00:00
psi29a
9c1970dce4 Merge branch 'lua_esm' into 'master'
Advanced Lua scripts configuration in omwaddon

See merge request OpenMW/openmw!1947
2022-06-11 18:48:23 +00:00
glassmancody.info
d7425cc016 change update visitor to only traverse active children in scenegraph 2022-06-11 00:09:33 -07:00
Alexei Kotov
45e6add5f5 Optimize clearAnimQueue(true) 2022-06-11 04:54:50 +03:00
Alexei Kotov
d4d4304f1e Fix walk animation fallback replace call 2022-06-11 04:54:50 +03:00
Alexei Kotov
93068d71ea Use std::string_view whenever reasonable in CharacterController
C++ Core Guidelines SL.str.2
2022-06-11 04:54:50 +03:00
Alexei Kotov
97d4206a3d Improve CharacterController const-correctness
C++ Core Guidelines Con. 2
2022-06-11 02:08:43 +03:00
Alexei Kotov
788de7edcb Initialize most of CharacterController in-class
See C++ Core Guidelines C.48
2022-06-11 00:40:14 +03:00
ζeh Matt
9559feaa90
Fix effects not being removed from scene graph 2022-06-10 22:59:23 +03:00
psi29a
436db8c0e5 Merge branch 'ffmpeg5' into 'master'
fix hang with ffmpeg5 (ffmpeg_decoder: signal EOF/errors on readPacket)

Closes #6631

See merge request OpenMW/openmw!1941
2022-06-09 20:45:50 +00:00
Matt
4d74f8137c Use vector for EffectManager effects 2022-06-09 20:43:53 +00:00
psi29a
ee89eccb06 Merge branch 'reload_l10n' into 'master'
Console command `reloadlua` also reloads l10n used by Lua scripts

See merge request OpenMW/openmw!1984
2022-06-09 12:17:38 +00:00
psi29a
5d88b39574 Merge branch 'fix/macos' into 'master'
make use of std::filesystem::absolute as ::system_complete was dropped from spec

See merge request OpenMW/openmw!1990
2022-06-08 14:04:16 +00:00
Bret Curtis
339169b60a make use of std::filesystem::absolute as ::system_complete was dropped from spec 2022-06-08 15:35:35 +02:00
psi29a
f687827f98 Merge branch 'compile-times' into 'master'
Improve compile time a bit

See merge request OpenMW/openmw!1985
2022-06-08 12:07:30 +00:00
Dominique Martinet
c5cdb0c277 ffmpeg_decoder: signal EOF/errors on readPacket
openmw with ffmpeg 5 would hang in an infinite loop trying to read at end of
files in avformat_open_input()
avio_read() apparently now no longer handlers 0 as a return value to signal
EOF and we need ot explicitly return AVERROR_EOF; their documentation
explicitely states "For stream protocols, must never return 0 but rather
a proper AVERROR code." for avio_alloc_context's read_context.

Also fix the exception case to return AVERROR_UNKNOWN -- I assume we'd
otherwise get stuck there too, but I don't know what would trigger this
case.

Fixes #6631
2022-06-08 12:33:25 +09:00
uramer
fa72e14d92 Keep the scripts settings page open 2022-06-07 16:18:13 +02:00
ζeh Matt
952999153c
Move statics into cpp and properly guard buffer from race conditions 2022-06-07 16:59:44 +03:00
glassmancody.info
f6943f9f66 bind framebuffer when msaa enabled in transparent postpass 2022-06-06 20:52:40 -07:00
ζeh Matt
e0936b04c0
Correct the comment 2022-06-07 02:21:57 +03:00
ζeh Matt
38b6927b31
Fix missing includes 2022-06-07 02:08:50 +03:00
Petr Mikheev
1240b60a24 Console command reloadlua also reloads l10n used by Lua scripts 2022-06-06 23:56:08 +02:00
psi29a
e6fcb8bd2d Merge branch 'issue/6756' into 'master'
Create platform component for platform specific things

See merge request OpenMW/openmw!1960
2022-06-06 19:11:18 +00:00
psi29a
8bce0a1bcf Merge branch 'classy' into 'master'
Replace empty NPC class with fallback

Closes #6799

See merge request OpenMW/openmw!1982
2022-06-06 18:18:20 +00:00
ζeh Matt
d5ec959449
Create platform component for platform specific things 2022-06-06 20:45:51 +03:00
psi29a
787f8fb627 Merge branch 'launcher' into 'master'
Launcher consistency fixes

See merge request OpenMW/openmw!1983
2022-06-06 16:51:19 +00:00
psi29a
5aeee0a520 Merge branch 'threading_gone_wrong' into 'master'
[Postprocessing] Fix race condition when techniques are dirtied

See merge request OpenMW/openmw!1979
2022-06-06 16:32:35 +00:00
Petr Mikheev
f48646b3e6 Merge branch 'addrepairluabinds' into 'master'
Lua API for Repair records

See merge request OpenMW/openmw!1958
2022-06-06 16:24:54 +00:00
Kindi
aa2e724342 Lua API for Repair records 2022-06-06 16:24:54 +00:00
Alexei Kotov
d840f4e995 Launcher: Stop making redundant setting changes 2022-06-06 12:42:05 +03:00
Evil Eye
f41e46db64 Replace empty NPC class with fallback 2022-06-06 10:59:26 +02:00
elsid
f8eafe0dfd
Fix checking whether content file is master file 2022-06-06 00:57:44 +02:00
glassmancody.info
acc209c294 fix threading issue when dispatching frame dependent data 2022-06-05 15:46:25 -07:00
elsid
9c93de65be
Show groundcover loading progress 2022-06-05 22:21:12 +02:00
psi29a
c7449dc272 Merge branch 'bullet_includes' into 'master'
Clean up bullet includes

See merge request OpenMW/openmw!1974
2022-06-05 10:17:57 +00:00
Petr Mikheev
a70d5831c5 Lua scripts configuration in omwaddon 2022-06-05 01:36:39 +02:00
psi29a
58fd560ce9 Merge branch 'esm_readers_cache' into 'master'
Limit the number of simultaneously open not actively used content files (#6756)

Closes #6756

See merge request OpenMW/openmw!1966
2022-06-04 19:11:27 +00:00
psi29a
22ad2615e3 Merge branch 'mygui_includes' into 'master'
Clean up MyGUI includes

See merge request OpenMW/openmw!1972
2022-06-04 19:07:28 +00:00
jvoisin
72a6d1f69f Clean up bullet includes 2022-06-04 20:15:10 +02:00
Cody Glassman
ce49aa1202 Attach lights at origin when missing AttachLight node 2022-06-04 13:35:27 +00:00
jvoisin
0cc304e659 Clean up MyGUI includes
This should improve incremental compilation.
2022-06-04 15:26:36 +02:00
elsid
3affe9913f
Limit the number of simultaneously open not actively used content files
Use LRU cache for ESMReaders. When cache capacity is reached close least
recently used ESMReader. Remember the file name if a reader was open. Once the
reader requested again open the file if there is stored name for it. Put
released ESMReader to the back of the free items list. Close ESMReader's from
the front of the free items list.

Cached item can be used only by one client at the same time. If the same item is
requested twice exception is thrown. This should never happen in practice. If
this happens need to fix the client logic.

It's allowed to go over the capacity limit when requesting different readers.
Ideally this should never happen but there will be system error anyway
signalizing about too many open files. Need to fix client logic in this case.

All places that were using a vector of ESMReaders now using the cache. Cache is
local for each use case and there is no need for a thread safety.
2022-06-03 01:29:03 +02:00
psi29a
e78d36ff50 Merge branch 'no_input' into 'master'
[Postprocessing] Take away mouse input from headers, remove unnecessary dirty

See merge request OpenMW/openmw!1965
2022-06-02 08:57:48 +00:00
psi29a
160cbb51d2 Merge branch 'nobody-cared-who-he-was-until-he-didnt-put-on-the-mask' into 'master'
Apply Mask_RenderToTexture to local map RTT node

Closes #6784

See merge request OpenMW/openmw!1962
2022-06-02 07:14:30 +00:00
glassmancody.info
a3d95785d7 remove unecassary dirty, don't allow dividers to have mouse input 2022-06-01 22:03:58 -07:00
Mads Buvik Sandvei
6bb296723e Apply Mask_RenderToTexture to local map RTT node 2022-06-01 21:28:15 +02:00
beelzebielsk
fb5eb542ff Lua api for potion records 2022-06-01 13:19:03 +00:00
uramer
bca05d018e Merge branch 'fix_tests' into 'master'
Fix  #6771

Closes #6771

See merge request OpenMW/openmw!1925
2022-05-31 08:54:33 +00:00
Petr Mikheev
11f21c39ec Merge branch 'addmiscluabinds' into 'master'
Lua API for Miscellaneous records

See merge request OpenMW/openmw!1954
2022-05-31 08:54:08 +00:00
Kindi
638ad15af8 Lua API for Miscellaneous records 2022-05-31 08:54:07 +00:00
Cody Glassman
447b586d7d [Postprocessing] Fix a couple awkward issues with Lua API 2022-05-31 08:45:27 +00:00
AnyOldName3
feb5d5bbc2 Merge branch 'main_noboost' into 'master'
Remove boost:: from openmw/main.cpp

See merge request OpenMW/openmw!1943
2022-05-30 20:22:38 +00:00
psi29a
f7b9ab583e Merge branch 'nostring_sprintf' into 'master'
Don't pass a std::string to C's sprintf

Closes #6762

See merge request OpenMW/openmw!1950
2022-05-30 09:57:50 +00:00
Petr Mikheev
709d186b8d Put tests output files to a separate dir 2022-05-30 01:34:23 +02:00
Petr Mikheev
ab1be50b86 Merge branch 'addapparatusluabinds' into 'master'
Lua API for Apparatus records

See merge request OpenMW/openmw!1942
2022-05-29 23:03:37 +00:00
Kindi
3d0adf259b Lua API for Apparatus records 2022-05-29 23:03:36 +00:00
jvoisin
a6d46ecc75 Don't pass a std::string to C's sprintf
This should fix #6762
2022-05-29 23:27:50 +02:00
psi29a
af82140dda Merge branch 'filter_physics_actors' into 'master'
Do not perform physics simulation for actors outside processing range

See merge request OpenMW/openmw!1934
2022-05-29 19:19:35 +00:00
Evil Eye
c231c3e360 Replace new with make_unique in essimporter 2022-05-29 13:25:59 +02:00
Evil Eye
db1a372e5b Replace new with make_unique in opencs 2022-05-29 13:25:17 +02:00
Evil Eye
3c83117e99 Replace new with make_unique in openmw 2022-05-29 13:24:48 +02:00
jvoisin
d903e4b1b2 Remove boost:: from openmw/main.cpp 2022-05-28 22:51:32 +02:00
psi29a
f84be8c3f9 Merge branch 'lua-api-containers' into 'master'
Add bindings for container record

See merge request OpenMW/openmw!1932
2022-05-28 08:03:13 +00:00
elsid
bf76faeb2d
Increment iterator before fast forward
When player is located in the exterior cell AiTravel::fastForward may move
another actor into a cell outside active grid. This will remove the actor from
MWMechanics::Actors::mActors which invalidates current iterator in the
Actors::fastForwardAi loop.
2022-05-27 13:35:21 +02:00
psi29a
9d232a72d3 Merge branch 'position_to_index' into 'master'
Use free function instead of virtual MWBase::World::positionToIndex (#5336)

See merge request OpenMW/openmw!1922
2022-05-26 20:38:38 +00:00
elsid
ac5844cad2
Do not perform physics simulation for actors outside processing range
Actors with disabled collisions still have physics simulations. Assuming they
should not be processed at all instead of disabling collision add a new flag to
make them inactive.
2022-05-26 10:36:03 +02:00
adam
e2528a1562 Add docs and automagical declaration 2022-05-26 07:20:50 +00:00
adam
dddc1dc2bb Add bindings for capacity and encumbrance 2022-05-26 06:41:53 +00:00
psi29a
d74ee0f3fe Merge branch 'postprocess_hud' into 'master'
[Postprocessing] Improve HUD

See merge request OpenMW/openmw!1933
2022-05-26 06:24:36 +00:00
psi29a
389e1bd92c Merge branch 'noboost_more_more_more' into 'master'
Remove some more of boost::

See merge request OpenMW/openmw!1930
2022-05-26 06:19:40 +00:00
psi29a
31c0c0cb58 Merge branch 'fix_initial_landing' into 'master'
Do not play landing animation for actors entering to scene without a reason (#6346 + #6513)

Closes #6513 and #6346

See merge request OpenMW/openmw!1926
2022-05-26 06:15:59 +00:00
cody glassman
11845e7d9b improve layout of postprocessor hud 2022-05-25 19:07:01 -07:00
adam
aa56e40bc3 Add bindings for container record 2022-05-26 01:11:22 +00:00
jvoisin
cb226e00f9 Remove some more of boost:: 2022-05-25 21:16:26 +02:00
Petr Mikheev
29328867dc Merge branch 'moar_noboost' into 'master'
Remove even more of boost::filesystem

See merge request OpenMW/openmw!1927
2022-05-25 18:29:04 +00:00
jvoisin
4e4debb1cb Remove even more of boost::filesystem 2022-05-25 18:29:02 +00:00
Evil Eye
921a4c7bca Fix inverted logic 2022-05-25 16:49:03 +02:00
elsid
85c79d382c
Enable collisions for actor before adjusting position
Otherwise adjustPosition does not call traceDown and actor appears flying for
the first physics simulation.
2022-05-24 23:30:57 +02:00
elsid
617cd4ceb6
Make sure physics simulation does not reset flags for nonprocessed actors
Actor::getOnGround and Actor::getOnSlope is used to initialize ActorFrameData.
After a physics simulation the result is copied back. But when actor is outside
processing range, Actor::mInternalCollisionMode is false and physics simulation
does not recalculate OnGround and OnSlope flags. So the flags are always set to
false that makes actor play landing animation when they exit and then enter
actors processing range.
2022-05-24 23:25:35 +02:00
AnyOldName3
59e7f61205 Merge branch 'deboost' into 'master'
Remove boost::filesystem from a couple of files

See merge request OpenMW/openmw!1917
2022-05-24 21:18:22 +00:00
jvoisin
6feb92a9bf Remove boost::filesystem from a couple of files 2022-05-24 21:18:21 +00:00
elsid
e1110f5151 Merge branch 'noboost_bulletojbecttool' into 'master'
Remove some unused includes from bulletobjecttool

See merge request OpenMW/openmw!1912
2022-05-24 19:10:25 +00:00
Evil Eye
ec6ba3deeb Merge branch 'fix_cs_typos' into 'master'
Correct CS typo

Closes #6704

See merge request OpenMW/openmw!1920
2022-05-24 18:33:23 +00:00
elsid
639bdd5801
Use free function instead of virtual MWBase::World::positionToIndex
The virtual function does the same thing.

* Change return type to osg::Vec2i to avoid dependency on ESM3.
* Rename to positionToCellIndex to make it clear what is the index.
2022-05-24 19:31:23 +02:00
elsid
92a64b0bbd
Fix typo in navmeshtool log message 2022-05-24 19:28:48 +02:00
Michał Plichta
5ee5e8f2f7
Correct CS typo described in #6704 2022-05-24 19:24:39 +02:00
psi29a
499e688289 Merge branch 'fix_navigator_tests' into 'master'
Increase precision error for navigator tests (#6770)

Closes #6770

See merge request OpenMW/openmw!1909
2022-05-24 17:19:43 +00:00
Kindi
1b37d5d2ad Lua API for Lockpick and Probe records 2022-05-24 11:48:13 +00:00
psi29a
09757d0b87 Merge branch 'noboost_essimporter' into 'master'
Remove boost::filesystem from essimporter

See merge request OpenMW/openmw!1913
2022-05-24 07:57:37 +00:00
psi29a
0299529067 Merge branch 'remove_boost_' into 'master'
Remove dependency on boost::filesystem in bsatool and niftest CMakeLists.txt

See merge request OpenMW/openmw!1915
2022-05-24 07:56:19 +00:00
psi29a
a737b05d84 Merge branch 'faster_toLower' into 'master'
Improve the speed of toLower

See merge request OpenMW/openmw!1889
2022-05-24 07:53:01 +00:00
psi29a
14b9abbcbf Merge branch 'no_resize' into 'master'
[Postprocessing] Don't resize user defined samplers to power of 2

See merge request OpenMW/openmw!1918
2022-05-24 07:50:27 +00:00
glassmancody.info
ee6e60005b remove log spam on failures 2022-05-23 21:27:32 -07:00
jvoisin
0554afeb67 Remove boost::filesystem from navmashtool 2022-05-23 21:55:06 +02:00
jvoisin
34ae6e8221 Remove dependency on boost::filesystem in bsatool and niftest CMakeLists.txt 2022-05-23 21:52:22 +02:00
jvoisin
8a63bc0def Remove boost::filesystem from essimporter 2022-05-23 21:50:48 +02:00
jvoisin
6f5025e6fd Remove some unused includes from bulletobjecttool 2022-05-23 21:35:07 +02:00
jvoisin
998f1c960e Improve the speed of toLower
This significantly improves the speed of my fuzzer,
by something like 15%.
2022-05-23 21:24:17 +02:00
elsid
87073e26f2
Increase precision error for navigator tests 2022-05-23 17:18:00 +02:00
elsid
5b592e09e6
Log more information when navmeshtool fails on not enough space 2022-05-23 13:01:30 +02:00
cody glassman
6093cb5f2c postprocessing lua api extensions 2022-05-22 18:53:38 -07:00
elsid
6db4b78dcb
Fix playing explore music after loading the game from main menu 2022-05-23 01:08:53 +02:00
psi29a
e3f891c0b0 Merge branch 'fix_boost' into 'master'
Fix build with lld linker

See merge request OpenMW/openmw!1903
2022-05-22 20:53:57 +00:00
psi29a
f17d7fc00b Merge branch 'string_view' into 'master'
Make getStringLiteral return a string_view

See merge request OpenMW/openmw!1896
2022-05-22 20:50:04 +00:00
psi29a
392606441d Merge branch 'remove_boost_fs_bsatool' into 'master'
Remove boost::filesystem from bsatool

See merge request OpenMW/openmw!1905
2022-05-22 20:47:27 +00:00
jvoisin
472af7c164 Remove boost::filesystem from niftest 2022-05-22 18:56:14 +02:00
jvoisin
fb732d74a2 Remove boost::filesystem from bsatool 2022-05-22 18:53:10 +02:00
psi29a
8dd3e53a30 Merge branch 'string_view' into 'master'
Move a couple of files from `const std::string&` to `std::string_view`

See merge request OpenMW/openmw!1901
2022-05-22 10:45:35 +00:00
psi29a
d2a9334f39 Merge branch 'mechanics_actors_list' into 'master'
Use std::list to store mechanics actors

See merge request OpenMW/openmw!1893
2022-05-22 10:41:46 +00:00
psi29a
d40bfc9e99 Merge branch 'update_ptr' into 'master'
Avoid changing map when updating ptr

See merge request OpenMW/openmw!1894
2022-05-22 10:40:45 +00:00
psi29a
e64b8d1fbb Merge branch 'lua_real_time' into 'master'
[Lua] core.getRealTime()

See merge request OpenMW/openmw!1880
2022-05-22 10:38:53 +00:00
psi29a
5fe6f6333c Merge branch 'log_viewer' into 'master'
Initialize in-game log viewer earlier in order not to miss the beginning of the log

See merge request OpenMW/openmw!1904
2022-05-22 10:38:20 +00:00
Evil Eye
5146d9fc55 Fix 2022-05-22 09:51:08 +02:00
Evil Eye
ac78b537d2 Address feedback 2022-05-22 09:29:03 +02:00
Petr Mikheev
7f8d433775 Initialize log recorder right after initializing the logging 2022-05-22 02:47:58 +02:00
elsid
42841002b5
Remove unused dependency to Boost.Thread 2022-05-22 02:42:01 +02:00
elsid
9abfaef7a1
Use std::any instead of boost::any 2022-05-22 02:42:01 +02:00
elsid
68caff9c7b
Use unique_ptr to manage scripts context and encoder lifetime 2022-05-22 01:47:06 +02:00
jvoisin
23eccebe9e Convert esmtool from const std::string& to std::string_view 2022-05-21 21:39:26 +02:00
jvoisin
8047a2138e Merge branch 'fix_warning' into 'master'
Fix warning: -Wunused-lambda-capture

See merge request OpenMW/openmw!1899
2022-05-21 18:17:37 +00:00
elsid
5269ba6f3c Fix warning: -Wunused-lambda-capture 2022-05-21 18:17:36 +00:00
elsid
148519fe48
Destruct Stereo::Manager after World
ShadowManager access Stereo::Manager in destructor. ShadowManager owned by
RenderingManager owned by World.
2022-05-21 17:04:03 +02:00
Evil Eye
266a0634eb Add more includes 2022-05-21 12:41:56 +02:00
Evil Eye
e79f803402 Change includes 2022-05-21 10:48:32 +02:00
Cody Glassman
5fc530335b Merge branch 'refactor/postprocessor' into 'master'
Refactor PostProcessor code

See merge request OpenMW/openmw!1888
2022-05-21 06:42:05 +00:00
Matt
395de4b251 Refactor PostProcessor code 2022-05-21 06:42:05 +00:00
Evil Eye
c6ca0e78c9 Make getStringLiteral return a string_view 2022-05-21 01:21:55 +02:00
elsid
19e471741a
Use PtrBase::mRef instead of getBase for mechanics objects
getBase adds a condition and can throw an exception. Which is redundant for
MWMechanics::Objects functions.
2022-05-21 00:41:57 +02:00
elsid
1bb1053569
Make all MWMechanics::Actor functions inline 2022-05-21 00:41:56 +02:00
elsid
77c09dff39
Store CharacterController by value in MWMechanics::Actor 2022-05-21 00:41:55 +02:00
elsid
24712e2cb1
Avoid changing map when updating ptr
This is not necessary and has overhead.
2022-05-21 00:12:33 +02:00
elsid
e2c44d13f3
Use std::list to store mechanics actors
To make the order of elements deterministic. Using memory address based objects
as map key makes order of elements there nondeterministic. Later it can be
replaced with vector when there are no indirect munipulations with container
inside iteration loops.

Change map key to const MWWorld::LiveCellRefBase* to avoid erasing and inserting
elements on MWWorld::Ptr update.
2022-05-20 22:55:55 +02:00
Petr Mikheev
6a0a2eed33 [Lua] core.getRealTime() 2022-05-20 21:49:19 +02:00
uramer
70eacbbefc onObjectActive and onItemActive Lua engine handlers 2022-05-20 19:27:21 +00:00
psi29a
67421a400a Merge branch 'bookluabinds' into 'master'
Lua API for Book records

See merge request OpenMW/openmw!1886
2022-05-20 14:09:09 +00:00
psi29a
6b7c302102 Merge branch 'mechanics_objects_list' into 'master'
Use std::list to store mechanics objects

See merge request OpenMW/openmw!1881
2022-05-20 14:08:02 +00:00
kuyondo
5109777d3b remove duplication 2022-05-20 18:50:00 +08:00
elsid
ce3bba0cdc
Use std::list to store mechanics objects
To make the order of elements deterministic. Using memory address based objects
as map key makes order of elements there nondeterministic. Later it can be
replaced with vector when there are no indirect munipulations with container
inside iteration loops.

Change map key to const MWWorld::LiveCellRefBase* to avoid erasing and inserting
elements on MWWorld::Ptr update.

Store CharacterController by value instead of pointer to avoid redundant memory
allocation.
2022-05-20 00:47:10 +02:00
kuyondo
7dbccc914a no skill returns nil 2022-05-20 06:03:12 +08:00
kuyondo
8a1a838ffa update book.cpp and weapon.cpp 2022-05-20 00:39:19 +08:00
kuyondo
a26898d8ed no addtype 2022-05-19 20:18:47 +08:00
kuyondo
cad68a5566 Add lua binding for books 2022-05-19 20:02:18 +08:00
psi29a
d4e2000d5b Merge branch 'render_targets' into 'master'
Bind custom render targets per pass

See merge request OpenMW/openmw!1884
2022-05-19 11:03:02 +00:00
psi29a
33746c4b70 Merge branch 'fix_gcc_warning' into 'master'
Fix gcc warning: -Wuninitialized

See merge request OpenMW/openmw!1869
2022-05-19 11:00:32 +00:00
glassmancody.info
3d03052717 dont bind rendertargets unless we use them, otherwise texture limit will be reached quickly 2022-05-18 19:45:09 -07:00
kuyondo
93aae5e116 Add lua binding for activators 2022-05-19 04:23:22 +08:00
psi29a
b9b4f1c3c2 Merge branch 'console_log' into 'master'
In-game log viewer

See merge request OpenMW/openmw!1799
2022-05-18 07:57:59 +00:00
psi29a
d3f331793e Merge branch 'sol' into 'master'
Update sol. Replace combined sol.hpp with loose files.

See merge request OpenMW/openmw!1851
2022-05-18 07:57:32 +00:00
ζeh Matt
18f16eac4c
Refactor DetourNavigator to pass prng along, use world prng for AiWander 2022-05-17 20:37:15 +03:00
ζeh Matt
b2fab5f5ad
Use World prng for weather system as it influences actors 2022-05-17 18:22:45 +03:00
ζeh Matt
3a90bc7187
Use World prng for head/blink animations 2022-05-17 18:22:45 +03:00
ζeh Matt
cb99e8643a
Use World prng for selection of random creature spawning 2022-05-17 18:22:45 +03:00
elsid
215b46503c
Support rendering for navmesh update frequency as a heatmap
Useful when need to find tiles with high number of updates.

Add debug Lua package with new functions to toggle render mode and set navmesh
render mode.
2022-05-17 01:54:20 +02:00
elsid
98f53eca65
Fix gcc warning: -Wuninitialized
/home/elsid/dev/openmw/apps/opencs/model/world/data.cpp: In constructor ‘CSMWorld::Data::Data(ToUTF8::FromType, bool, const Files::PathContainer&, const std::vector<std::__cxx11::basic_string<char> >&, const boost::filesystem::path&)’:
/home/elsid/dev/openmw/apps/opencs/model/world/data.cpp:69:36: warning: member ‘CSMWorld::Data::mCells’ is used uninitialized [-Wuninitialized]
   69 | : mEncoder (encoding), mPathgrids (mCells), mRefs (mCells),
      |                                    ^~~~~~
2022-05-16 22:26:19 +02:00
elsid
c88d3e712d
Cleanup mwlua includes 2022-05-16 22:25:48 +02:00
psi29a
0ca9510224 Merge branch 'fix_gcc_build' into 'master'
Fix build on gcc 12.1 (#6744)

Closes #6744

See merge request OpenMW/openmw!1862
2022-05-16 20:15:09 +00:00
psi29a
3e3cb133bc Merge branch 'fix_unity_build' into 'master'
Fix unity build

See merge request OpenMW/openmw!1860
2022-05-16 20:12:17 +00:00
Petr Mikheev
cf49b46d64 Show logs in the debug window
Some part of UI code is written by @andrew-app
2022-05-16 20:50:44 +02:00
Evil Eye
2531e24ee3 Fix inverted logic 2022-05-16 18:29:16 +02:00
psi29a
f092d8da9a Merge branch 'post_malone' into 'master'
Post Processing

See merge request OpenMW/openmw!1124
2022-05-16 14:51:13 +00:00
elsid
94dc696f4f
Fix gcc build
In file included from /home/elsid/dev/openmw/apps/openmw/mwphysics/actor.hpp:7,
                 from /home/elsid/dev/openmw/apps/openmw/mwphysics/trace.cpp:9:
/home/elsid/dev/openmw/apps/openmw/mwphysics/ptrholder.hpp: In member function ‘osg::Vec3f MWPhysics::PtrHolder::velocity()’:
/home/elsid/dev/openmw/apps/openmw/mwphysics/ptrholder.hpp:42:25: error: ‘exchange’ is not a member of ‘std’
   42 |             return std::exchange(mVelocity, osg::Vec3f());
      |                         ^~~~~~~~
2022-05-16 15:59:18 +02:00
elsid
c33966c4a4
Fix unity build
In file included from /home/elsid/dev/openmw/build/clang/unity/apps/openmw/ub_mwworld.cpp:41:
/home/elsid/dev/openmw/apps/openmw/mwworld/groundcoverstore.cpp:10:9: error: no type named 'Query' in 'MWWorld::EsmLoader'; did you mean '::EsmLoader::Query'?
        EsmLoader::Query query;
        ^~~~~~~~~~~~~~~~
        ::EsmLoader::Query
/home/elsid/dev/openmw/./components/esmloader/load.hpp:23:12: note: '::EsmLoader::Query' declared here
    struct Query
           ^
2022-05-16 15:04:47 +02:00
psi29a
dd0e0fea72 Merge branch 'lua_strict_index' into 'master'
[Lua] makeStrictReadOnly for enums

See merge request OpenMW/openmw!1859
2022-05-16 10:59:20 +00:00
psi29a
65c95d97c3 Merge branch 'disable_navmeshdb_write_on_lock' into 'master'
Disable writes to navmeshdb on database is locked error

See merge request OpenMW/openmw!1837
2022-05-16 07:38:12 +00:00
Petr Mikheev
7ccbf95503 [Lua] makeStrictReadOnly for enums 2022-05-16 00:16:26 +02:00
Petr Mikheev
d16fa553c8 Fix LuaUtil::Callback 2022-05-15 21:34:48 +02:00
cody glassman
dae0914820 workarounds for gl4es 2022-05-15 10:03:58 -07:00
cody glassman
0cb63ca4e6 experimental point light bindings 2022-05-15 10:03:58 -07:00
cody glassman
04843fed6d moddable post-processing pipeline 2022-05-15 10:03:58 -07:00
Petr Mikheev
0643685ea5 [Lua] Rename onInputUpdate -> onFrame and call it even when the game is on pause (#6745) 2022-05-13 19:14:34 +02:00
uramer
95ad67eb8b Add extraRoll to the Lua camera package 2022-05-12 23:21:47 +02:00
elsid
a710cf6d10
Remove Environment cleanup
Some managers may use the environment in the destructors. Setting them to
nullptr may lead to nullptr dereference when the object is still alive and can
be accessible. But after object is destructed it's UB anyway to dereference
nullptr or a dangling pointer.
2022-05-11 23:26:39 +02:00
ζeh Matt
926cdfbe19
Use random seed specified by settings for new games 2022-05-11 16:37:16 +03:00
elsid
a75c7c49f0
Disable writes to navmeshdb on database is locked error
Simultaneously writing to sqlite3 database is not possible. Process exclusively
locks the database for this. Another process will fail to perform any request
when database is locked. Alternatively it can wait. Handling this situation
properly requires complexity that is not really needed. Users are not expected
to run multiple openmw processes simultaneously using the same navmeshdb.

Before this change running multiple openmw processes using the same navmeshdb
can lead to a crash when first transaction fails to start because there is
exception thrown and not catched.

Remove use of explicit transactions from DbWorker. Handling all possible
transaction states due to different errors brings unnecessary complexity.
Initially they were introduced to increase time between flushes to disk. This
makes sense for navmeshtool because of massive number of writes but for the
engine this is not an issue.
2022-05-09 22:54:46 +02:00
Cody Glassman
882245b935 Lua Bindings: Add view distance bindings to camera 2022-05-09 19:40:48 +00:00
psi29a
8bf5de69ad Merge branch 'rm_actors_static' into 'master'
Make MWMechanics::Actors local static variables to be members

See merge request OpenMW/openmw!1839
2022-05-09 07:31:15 +00:00
cody glassman
ad139f2f9a rename to windowed fullscreen 2022-05-08 22:56:39 -07:00
cody glassman
05901a2480 add borderless windows, deprecate fullscreen mode 2022-05-08 22:56:39 -07:00
elsid
ef64587cbf
Mark unchanging static as const 2022-05-09 00:59:51 +02:00
elsid
66c9b6c199
Make MWMechanics::Actors local static variables to be members 2022-05-09 00:59:37 +02:00
elsid
87ca575d60
List private members of MWMechanics::Actors in a single place 2022-05-09 00:55:09 +02:00
Petr Mikheev
45161d91c9 Merge branch 'lua_record_types' into 'master'
Lua API for NPC and Creature records

See merge request OpenMW/openmw!1823
2022-05-08 20:32:00 +00:00
uramer
9c5887aab6 Add NPC and Creature record bindings 2022-05-08 16:36:17 +02:00
elsid
31bd87936f
Remove redundant virtual World::adjustSky function 2022-05-08 15:41:53 +02:00
elsid
b32a787cd8
Add explicit dependency to World from Scene
To avoid redundant MWBase::Environment::get().getWorld() calls and virtual
calls.
2022-05-08 15:41:53 +02:00
elsid
9320fb50ab
Remove redundant MWBase::Environment::get().getWorld() calls 2022-05-08 15:41:53 +02:00
elsid
f03360b666
Move RenderingManager::update call to World::update
There is no need to do that in Scene::update and pass paused argument there.
2022-05-08 15:41:52 +02:00
elsid
8473336b06
Remove redundant virtual functions 2022-05-08 15:41:52 +02:00
Petr Mikheev
6a97a21fbd [Lua] Fix stupid bug in tostring for ESM::Weapon and ESM::Door 2022-05-08 13:09:02 +02:00
psi29a
408540517a Merge branch 'refactor/fCombatInvisoMult' into 'master'
Avoid looking up settings from gmst each frame

See merge request OpenMW/openmw!1771
2022-05-08 10:43:08 +00:00
psi29a
49487a17e6 Merge branch 'environment' into 'master'
Make Environment a storage of referencing pointers instead of owned

See merge request OpenMW/openmw!1830
2022-05-08 08:47:34 +00:00
psi29a
71e4e5ceec Merge branch 'lua_activate' into 'master'
[Lua] Fix the bug that object:activate() doesn't trigger mwscripts

See merge request OpenMW/openmw!1834
2022-05-08 08:30:50 +00:00
Petr Mikheev
2d1d7e644c [Lua] Fix the bug the object:activate() doesn't trigger mwscripts 2022-05-06 23:46:36 +02:00
elsid
2dc6e755b2
Remove redundant update virtual functions 2022-05-06 23:44:04 +02:00
elsid
79676aee15
Make Environment a storage of referencing pointers instead of owned
Engine controls lifetime of managers therefore it should own them. Environment
is only access provider.

This allows to avoid redundant virtual calls and also some functions from
managers base classes can be removed if they are used only by Engine.
2022-05-06 23:44:01 +02:00
Petr Mikheev
70c7f1880d [Lua] pairs and ipairs for ObjectList (resolves #6732) 2022-05-06 23:11:47 +02:00
AnyOldName3
d975e9e138 Merge branch 'position_in_radians' into 'master'
Fix copy paste error

See merge request OpenMW/openmw!1829
2022-05-05 20:57:47 +00:00
Evil Eye
bc5e43ab60 Fix copy paste error 2022-05-05 21:53:20 +02:00
jvoisin
331363d469 Merge branch 'fix_uninit' into 'master'
Fix uninitialized coverity warnings

See merge request OpenMW/openmw!1819
2022-05-05 17:35:16 +00:00
Alexei Kotov
6aaf2c33bf Merge branch 'refactor/5336-1' into 'master'
#5336 (1): Refactor World::updatePlayer in to Player::update

See merge request OpenMW/openmw!1828
2022-05-05 06:46:28 +00:00
Alexei Kotov
6857f4f7ff Merge branch 'empty_and_clear' into 'master'
Replace empty std::string assignments

See merge request OpenMW/openmw!1827
2022-05-05 06:43:30 +00:00
ζeh Matt
2bbd0ba976
#5336: Refactor World::updatePlayer in to Player::update 2022-05-05 00:57:15 +03:00
Evil Eye
a64979e25d Replace empty std::string assignments 2022-05-04 22:33:39 +02:00
Evil Eye
55d32432b9 Don't mark idle animations as bad when blocking them 2022-05-04 21:15:08 +02:00
Alexei Kotov
bbec296891 Merge branch 'we-are-anonymous-we-are-quivers-apparently' into 'master'
Don't return a random anonymous node from getArrowBone when the current weapon doesn't fire arrows.

Closes #6718

See merge request OpenMW/openmw!1822
2022-05-04 03:00:57 +00:00
uramer
03659bef86 MWUI interface (resolve https://gitlab.com/OpenMW/openmw/-/issues/6594) 2022-05-03 17:36:49 +00:00
AnyOldName3
a6c9c9d1f8 Don't return a random anonymous node from getArrowBone when the current weapon doesn't fire arrows. 2022-05-02 20:11:01 +01:00
Max Henzerling
41be5a17f4 comments from PR 2022-05-01 11:52:19 -07:00
Max Henzerling
af5b1b3083 Add option to open record editting subviews in new windows instead of exclusive docking. 2022-05-01 11:52:19 -07:00
elsid
b67a0a8f2b
Fix uninitialized coverity warnings 2022-05-01 18:36:16 +02:00
psi29a
dccbd3e980 Merge branch 'try_and_hit_me' into 'master'
Bring HitAttemptOnMe in line with HitOnMe

See merge request OpenMW/openmw!1816
2022-04-30 18:26:30 +00:00
psi29a
265fa51128 Merge branch 'respect_water_filtering' into 'master'
Simple water should respect filter settings (#5989)

Closes #5989

See merge request OpenMW/openmw!1813
2022-04-30 17:02:32 +00:00
psi29a
828f394200 Merge branch 'stacked_up' into 'master'
Make stack manipulation unconditional

Closes #6717

See merge request OpenMW/openmw!1815
2022-04-30 16:58:57 +00:00
psi29a
275bebb066 Merge branch 'Stereo-MR' into 'master'
Stereo

See merge request OpenMW/openmw!1757
2022-04-30 16:40:09 +00:00
unknown
1bc24d5120 Bring HitAttemptOnMe in line with HitOnMe 2022-04-30 18:32:10 +02:00
Evil Eye
db19700599 Make stack manipulation unconditional 2022-04-30 16:45:45 +02:00
cody glassman
ed6cd487ee allow updating filtering at runtime 2022-04-29 17:26:09 -07:00
cody glassman
13a05dbd63 simple water should respect filter settings 2022-04-29 17:01:28 -07:00
madsbuvi
79577f37de Rebase artifacts + cleaned up the remaining unnecessary exposures of stereo awareness. 2022-04-29 17:35:24 +02:00
psi29a
51024a8208 Merge branch 'issue-6706-save-the-size-of-the-options-window' into 'master'
Issue-6706 Save the size of the Options window

Closes #6706

See merge request OpenMW/openmw!1798
2022-04-29 09:56:09 +00:00
Eris Caffee
de291b0ec4 Issue-6706 Save the size of the Options window 2022-04-29 09:56:08 +00:00
psi29a
a707f5b0e0 Merge branch 'portable' into 'master'
Make OpenMW more portable (follow up of !1555)

See merge request OpenMW/openmw!1805
2022-04-28 19:35:29 +00:00
Mads Buvik Sandvei
606a795a54 multiview linker-method 2022-04-28 21:09:06 +02:00
madsbuvi
dd5901d351 Initial commit
Multiview shaders.

Refactor Frustum management

Rewrite shared shadow map

cull mask should respect stereo

Stereo savegame screencap

LocalMap refactoring

use the vertex buffer hint instead of the display list patch to enable/disable display lists

Character preview fixes
2022-04-28 21:05:34 +02:00
fredzio
bab5e56768 Make the launcher dara directory and bsa list play nicer with dark
themes.

Known issue: the padding icon for disabled data directories is of wrong
color.
2022-04-28 15:19:54 +02:00
Petr Mikheev
c7ab67c2c1 Allow relative paths in openmw.cfg; support --replace=config. 2022-04-28 00:39:41 +02:00
psi29a
07056802eb Merge branch 'esmtool_tes4' into 'master'
Support esmtool dump for TES4

See merge request OpenMW/openmw!1800
2022-04-27 21:07:25 +00:00
psi29a
dad9f24867 Merge branch 'link-shaders' into 'master'
Shader linking

See merge request OpenMW/openmw!1803
2022-04-27 21:04:08 +00:00
Frederic Chardon
ad1ab1c880 Follow up to !192 2022-04-27 19:51:54 +00:00
psi29a
66a96bfa5e Merge branch 'launcher-datadirs' into 'master'
Make launcher handle data dirs #2858 and BSA

See merge request OpenMW/openmw!192
2022-04-27 17:31:52 +00:00
madsbuvi
dc3045c970 mono-only version of the shader linking system introduced in the stereo MR 2022-04-26 19:54:24 +02:00
elsid
d2510284ec
Support TES4 in esmtool dump 2022-04-25 17:35:26 +02:00
elsid
43b2892cc3
Move ESMData, reader and writer out of esmtool Arguments 2022-04-25 17:35:25 +02:00
psi29a
c930aabf17 Merge branch 'fix_windows_build' into 'master'
Fix build on Windows

See merge request OpenMW/openmw!1796
2022-04-25 06:38:33 +00:00
elsid
0dcb1f5aac
Fix build on Windows
Use wrapper header over Windows.h to undefine far and near in a single place.
2022-04-25 00:25:46 +02:00
psi29a
eceb7406aa Merge branch 'lua_storage' into 'master'
[Lua] Update openmw.storage

See merge request OpenMW/openmw!1795
2022-04-24 20:13:59 +00:00
jvoisin
3621b9a759 Merge branch 'clean' into 'master'
Appease some clang warnings

See merge request OpenMW/openmw!1794
2022-04-24 11:34:29 +00:00
Petr Mikheev
eae1e87081 [Lua] Update openmw.storage 2022-04-23 18:55:12 +02:00
psi29a
f99f818c0c Merge branch 'esm4_cleanup' into 'master'
ESM4 cleanup

See merge request OpenMW/openmw!1792
2022-04-23 15:27:28 +00:00
psi29a
cfcc88f64c Merge branch 'istream_unique_ptr' into 'master'
Use unique_ptr to store istream

See merge request OpenMW/openmw!1793
2022-04-23 11:19:27 +00:00
fredzio
b88d32ff5b Add 3 tabs in the "Data Files" page
1 with the data directories
2 with the BSA archives
3 with the content selector

When user select a directory to be added, first we walk the directory
hierarchy to make a list of all potential data= entries. If we find
none, the selected directory is added.

If more than one data directory is found, user is presented with a
directory list to check which one(s) are to be added.

Directories containing one or more content file are marked with an icon.

data= and fallback-archive= lines are handled like content= lines:
- they are part of the profile in launcher.cfg, prefixed by the profile
name
- they are updated in openmw.cfg when profile is selected / created

Directories can be moved in the list by drag and drop or by buttons.
Insertion is possible anywhere in the list.
Global data path and data local are shown but are greyed out, as they
are always included.

No attempt is made to ensure that the user choice are valid
(dependencies, overwrite of content).

After a profile is loaded, any added content is highlighted in green.
2022-04-23 09:54:45 +02:00
fredzio
5a1a987f6c Remove write-only variable. 2022-04-23 09:13:22 +02:00
elsid
d71a1efa92
Rename components/esm4/acti.hpp -> components/esm4/loadacti.hpp 2022-04-23 00:40:45 +02:00
elsid
94c1d0cced
Use unique_ptr to store istream 2022-04-22 18:27:17 +02:00
Petr Mikheev
88d09c336c Lua console 2022-04-21 21:57:07 +02:00
Alexei Kotov
6d794cf9ca Merge branch 'fix-savegamerecords' into 'master'
Include random state record in count of saved records

See merge request OpenMW/openmw!1790
2022-04-21 10:38:49 +00:00
ζeh Matt
51a84aaef8
Include random state record in count of saved records 2022-04-21 11:51:10 +03:00
elsid
a2d596dbc7
Prepare navmesh scene asynchronously
It is expensive operation to generate new osg::Group for updated navmesh tile
which noticeably slows down main thread primarily because of
SceneManager::recreateShaders call. Move it to the preload work queue that is
used by RenderingManager. Leave to main thread only manipulations on the root
node.

Also move deallocation of no more needed data to the work queue. It's also
quite expensive operation because SceneManager::recreateShaders allocates a
new state set for each osg::Geometry. Deallocating them takes time.

Avoid creating another work item if there is existing one that is not started
yet.

Make sure results are accepted in the proper serialized order by selecting
completed work item with maximum {id, version}.
2022-04-20 23:14:31 +02:00
psi29a
c14796fc57 Merge branch 'ncc' into 'master'
#6496 Handle NCC flag in Nif files

See merge request OpenMW/openmw!1516
2022-04-17 20:29:41 +00:00
psi29a
4e723cad59 Merge branch 'issue-6667-pressing_escape_during_wait_causes_black_screen' into 'master'
issue-6667 pressing escape during wait causes black screen

See merge request OpenMW/openmw!1783
2022-04-17 20:26:23 +00:00
Eris Caffee
627656ace0 issue-6667 pressing escape during wait causes black screen 2022-04-17 20:26:23 +00:00
psi29a
58f77ab3ef Merge branch 'issue-5279-console_stops_scrolling_properly_after_selection' into 'master'
issue-5279 console stops scrolling properly after selection

See merge request OpenMW/openmw!1781
2022-04-17 20:25:10 +00:00
Eris Caffee
b2c6c49999 issue-5279 console stops scrolling properly after selection 2022-04-17 20:25:09 +00:00
fredzio
d05a2facf3 Handle NCC flag in Nif files. Objects with this flag will collide only with camera.
Expose objects with NC flag to be used by Lua mods.
2022-04-17 20:03:00 +02:00
psi29a
c17b6de787 Merge branch 'refactor/cache-target' into 'master'
Cache the target for ai packages instead of looking for it every frame

See merge request OpenMW/openmw!1772
2022-04-17 17:15:01 +00:00
Matt
56a1505885 Cache the target for ai packages instead of looking for it every frame 2022-04-17 17:15:00 +00:00
psi29a
4575df957e Merge branch 'issue-6685' into 'master'
issue 6685 - wizard failure if config dir does not exist

See merge request OpenMW/openmw!1735
2022-04-17 17:13:31 +00:00
Eris Caffee
ba57d0651f issue 6685 - wizard failure if config dir does not exist 2022-04-17 17:13:31 +00:00
psi29a
8f02cd7d17 Merge branch 'fix_6627' into 'master'
Fix #6627

Closes #6627

See merge request OpenMW/openmw!1762
2022-04-17 17:13:13 +00:00
psi29a
517bca803c Merge branch 'issue-2766-warn_user_if_old_MW_version_installed' into 'master'
Issue 2766 Warn user of old MW version detected

See merge request OpenMW/openmw!1748
2022-04-17 16:28:15 +00:00
Eris Caffee
db84d9e649 Issue 2766 Warn user of old MW version detected 2022-04-17 16:28:14 +00:00
psi29a
a0d0f60490 Merge branch 'dont_look_at_me_im_hideous' into 'master'
Ignored flag part 2

Closes #6699

See merge request OpenMW/openmw!1782
2022-04-17 09:42:49 +00:00
Evil Eye
6c87219ba3 Print record flags in esmtool 2022-04-17 09:00:58 +02:00
psi29a
e66008c4e2 Merge branch 'dont_look_at_me_im_hideous' into 'master'
Implement ignored records

Closes #6699

See merge request OpenMW/openmw!1779
2022-04-16 22:15:00 +00:00
Evil Eye
86d7f5a988 Fix tests 2022-04-16 22:58:08 +02:00
Evil Eye
61ea678a96 Implement ignored records 2022-04-16 16:28:39 +02:00
Evil Eye
68799cfd2b Merge branch 'cleancmakelist' into 'master'
Update CMakeLists.txt after a file was removed.

See merge request OpenMW/openmw!1778
2022-04-16 10:58:30 +00:00
elsid
fbc853804d
Fix recover from errors in Files::getHash 2022-04-15 21:43:54 +02:00
fredzio
3e4c683ba9 Update CMakeLists.txt after a file was removed. 2022-04-15 19:14:18 +02:00
elsid
b09570692e
Use ifstream for ESMReader
ESMReader reads the whole file, there is no need in the ConstrainedFileStream.
2022-04-15 02:58:57 +02:00
elsid
194c11f214
Fix loading order in EsmLoader
Need to load the last present record from a sequence of loaded records. That
means reverse should be called before unique or unique should be applied for
a reversed range. Since unique keeps only the first element from a sub
sequence of equal elements.

Use forEachUnique with reversed range to avoid redundant container
modifications.
2022-04-13 09:33:24 +02:00
psi29a
d3d9abede4 Merge branch 'refactor/predictAndAvoidCollisions' into 'master'
Use active package in predictAndAvoidCollisions

See merge request OpenMW/openmw!1770
2022-04-12 19:20:33 +00:00
uramer
5aa8e475a4 Merge branch 'rendering_raycast' into 'master'
Rendering raycasts in Lua

See merge request OpenMW/openmw!1768
2022-04-12 19:15:28 +00:00
ζeh Matt
b2739dc84a
Avoid looking up settings from gmst each frame 2022-04-12 18:58:13 +03:00
ζeh Matt
1a41cefab3
Use active package in predictAndAvoidCollisions 2022-04-12 18:32:58 +03:00
psi29a
9809b873a0 Merge branch 'esm_namespace_qualifiers' into 'master'
Remove ESM:: namespace qualifier in components/esm3/ and tests

See merge request OpenMW/openmw!1769
2022-04-12 08:08:31 +00:00
elsid
4447ab0ed7
Remove ESM:: namespace qualifier in components/esm3/ and tests 2022-04-12 02:04:24 +02:00
Petr Mikheev
51845e9553 Rendering raycasts in Lua 2022-04-11 23:36:54 +02:00
Petr Mikheev
a65f8ebbc6 Reorganize delayed Lua actions 2022-04-11 22:19:51 +02:00
elsid
39da3bfef8
Ignore player when checking whether AiTravel destination is occupied by other actor 2022-04-11 19:30:54 +02:00
psi29a
84458baa8b Merge branch 'VA_OpenMW-CS' into 'master'
OpenMW-CS: Issue #3245 Add configurable instance grid, angle, and scale snapping

Closes #3245

See merge request OpenMW/openmw!1737
2022-04-11 16:03:30 +00:00
Vidi_Aquam
035fe778b2 Temporary workaround for angle snapping
Made the angle snap only apply to an object when the drag is finished, which is much more usable until the rotation system can be fixed completely
2022-04-11 08:12:38 -05:00
psi29a
03806eb75e Merge branch 'esm_rm_redundant_include' into 'master'
Remove redundant include from esm3/esmreader.hpp

See merge request OpenMW/openmw!1761
2022-04-11 07:47:48 +00:00
elsid
5eb8c4aebe
Avoid redundant conversion to const char* and use make_shared 2022-04-10 22:33:08 +02:00
Petr Mikheev
fa29b9d6f7 Fix #6627 2022-04-10 22:31:09 +02:00
elsid
db44f91fd5
Remove redundant include from esm3/esmreader.hpp 2022-04-10 22:16:32 +02:00
elsid
6b464a9330
Check ESMReader value size in compile time 2022-04-10 19:16:11 +02:00
Benjamin Winger
21ffbcc4b4 Lua i18n updates 2022-04-10 07:57:02 +00:00
ζeh Matt
058da82823
Reduce calls in CharacterController::updateState 2022-04-09 01:52:52 +03:00
ζeh Matt
dd222b9ef1
Reduce calls in CharacterController::updateIdleStormState 2022-04-09 01:21:34 +03:00
ζeh Matt
e85a979f10
Reduce calls in CharacterController::handleTextKey 2022-04-09 01:20:53 +03:00
ζeh Matt
25b26f6fa7
Reduce calls in CharacterController::refreshHitRecoilAnims 2022-04-09 01:06:15 +03:00
psi29a
9275b3c08f Merge branch 'make_shared' into 'master'
Use std::make_shared instead of new

See merge request OpenMW/openmw!1753
2022-04-08 21:35:55 +00:00
elsid
4509b05bc8
Use std::make_shared instead of new
make_shared allocates single storage for ref counter and the object.
std::shared_ptr<T>(new T) allocates 2 storages.
2022-04-08 22:50:09 +02:00
elsid
df092b558b
Replace shared_ptr by unique_ptr 2022-04-08 22:42:22 +02:00
elsid
bbfdb347bd
Skip load cell ref when there is no need
Primarily to avoid temporary allocations by ESMReader::getHString.
2022-04-08 19:16:38 +02:00
elsid
ec3674b40a
Use unique_ptr instead of shared_ptr
for MWWorld::Action, ProjectileManager and ESSImport::Converter.

shared_ptr has additional cost of reference counter and requires additional
allocation when constructed as shared_ptr<T>(new T).
2022-04-08 16:12:36 +02:00
psi29a
320e86156e Merge branch 'registered_class' into 'master'
Use static object to register classes

See merge request OpenMW/openmw!1746
2022-04-08 08:36:24 +00:00
elsid
5156ee94be
Store static id key in lower case 2022-04-08 01:22:48 +02:00
elsid
7038c82690
Configure mav navmeshdb file size from the launcher 2022-04-07 16:38:01 +02:00
elsid
1baee5ddba
Add check box to remove unused tiles 2022-04-07 15:55:12 +02:00
psi29a
1ac7eaa6b0 Merge branch 'NiFltAnimationNode' into 'master'
Add NiFltAnimationNode support

Closes #6684

See merge request OpenMW/openmw!1732
2022-04-06 23:59:04 +00:00
psi29a
fc5605fc7f Merge branch 'navmeshtool_binary_log' into 'master'
Send status of navmeshtool to launcher using type binary messages

See merge request OpenMW/openmw!1630
2022-04-06 23:40:45 +00:00
Bret Curtis
c376f3793e check that the index is now -1; otherwise bad things happen 2022-04-07 00:09:11 +02:00
Bret Curtis
0db5415976 refactor to use mInternal, support Flag_Reverse and updated changelog/authors.md 2022-04-07 00:09:11 +02:00
Wolfgang Lieff
ead73fce31 initial NiFltAnimationNode support 2022-04-07 00:09:11 +02:00
psi29a
8b2c5e4801 Merge branch 'replace_boost_variant' into 'master'
Replace boost::variant by std::variant

See merge request OpenMW/openmw!1747
2022-04-06 22:07:44 +00:00
elsid
a46714df67
Replace boost::variant by std::variant 2022-04-06 23:01:58 +02:00
Petr Mikheev
3af8ea5dfc Update Lua bindings for the camera 2022-04-06 21:55:05 +02:00
Petr Mikheev
7186ea8ab4 [Lua] New overload Actor.equipment(actor, slot). 2022-04-06 21:55:05 +02:00
Petr Mikheev
5ed22c4c7a Minor fix in actors.cpp 2022-04-06 21:55:05 +02:00
elsid
dc20e799e1
Use static object to register classes 2022-04-06 16:49:25 +02:00
Matt
49e21e121a Revert "Merge branch 'refactor/6677-2' into 'master'"
This reverts merge request !1733
2022-04-04 17:09:52 +00:00
psi29a
ca77ae336f Merge branch 'refactor/6677-2' into 'master'
Introduce IndexedVector

See merge request OpenMW/openmw!1733
2022-04-04 13:56:20 +00:00
Matt
21e4c10fa9 Introduce IndexedVector 2022-04-04 13:56:19 +00:00
psi29a
e510612e46 Merge branch 'issue-6558-move_away_from_md5_in_cmake' into 'master'
Issue 6558 Move away from md5 in cmake

See merge request OpenMW/openmw!1740
2022-04-04 13:47:21 +00:00
Eris Caffee
14b5bef64f Issue 6558 Move away from md5 in cmake
Updated CMakeLists.txt files to use sha512 instead of md5 to verify downloads
2022-04-03 22:46:39 -05:00
elsid
6e0d660dd5 Check whether model is empty before trying to insert object 2022-04-03 17:38:33 +00:00
Vidi_Aquam
abf0c8048e Change reading of settings and add missing logic to mouse wheel drag 2022-04-03 09:04:12 -05:00
Vidi_Aquam
6d7c8f25fc Implement grid snapping and angle snapping in OpenMW-CS
Adds configurable snap settings for instance movement, rotation and scaling, used with the secondary edit button
2022-04-02 19:25:57 -05:00
elsid
3878a12ed3
Delay cell grid change until scene update
This allows proper profiling. Changing cell grid is not a part of physics
system, it's a part of world system.
2022-04-01 21:46:20 +02:00
elsid
2d5ccc804b
Exchange binary messages between navmeshtool and launcher 2022-03-30 19:24:54 +02:00
elsid
a21c17ab26
Use crash catcher in launcher 2022-03-30 19:23:10 +02:00
Petr Mikheev
fbc84465c5 Merge branch 'futureproof_layers' into 'master'
Add layer size, make layers API more flexible

See merge request OpenMW/openmw!1724
2022-03-29 20:11:11 +00:00
ζeh Matt
c3d02492df
Cleanup stopMovement 2022-03-29 19:49:02 +03:00
ζeh Matt
33706923a3
Restructure function updateCrimePursuit 2022-03-28 17:25:22 +03:00
ζeh Matt
9821982944
Restructure function updateEquippedLight 2022-03-28 16:48:16 +03:00
ζeh Matt
127366a948
Restructure function updateDrowning 2022-03-28 16:38:39 +03:00
ζeh Matt
0b306bc1ea
Restructure function engageCombat 2022-03-28 16:32:56 +03:00
ζeh Matt
8631b96680
Restructure function updateGreetingState 2022-03-28 16:25:33 +03:00
ζeh Matt
5e44dd41eb
Restructure function updateMovementSpeed 2022-03-28 16:20:24 +03:00
ζeh Matt
23615e653a
Mark getActivePackage const 2022-03-28 16:17:42 +03:00
ζeh Matt
cba51e5e1c
Restructure function updateHeadTracking 2022-03-28 16:13:40 +03:00
ζeh Matt
f5b527e445
Restructure function isCommanded 2022-03-28 16:07:20 +03:00
psi29a
1c70b9790c Merge branch 'covid_wont_stop_me' into 'master'
Don't reset last hit object if the ID doesn't match

Closes #6682

See merge request OpenMW/openmw!1727
2022-03-28 11:40:46 +00:00
Evil Eye
c1d700f770 Don't reset last hit object if the ID doesn't match 2022-03-28 11:40:46 +00:00
Evil Eye
7695f03c4c Remove unused variable 2022-03-27 17:20:22 +02:00
psi29a
2b83df09b6 Merge branch 'refactor/spell-vector' into 'master'
Refactor mUsedPowers to use vector

See merge request OpenMW/openmw!1725
2022-03-27 09:56:22 +00:00
psi29a
1f14f97d17 Merge branch 'navmeshdb_max_file_size' into 'master'
Limit max navmeshdb file size (#6649)

Closes #6649

See merge request OpenMW/openmw!1716
2022-03-27 09:07:56 +00:00
Nelsson Huotari
6869fa18e4 Fix unsafe memory access at object.cpp 2022-03-26 15:16:22 +00:00
Evil Eye
93d195646c Lua stats 2022-03-25 20:03:13 +00:00
ζeh Matt
edca5ac0b8
Rename hasDisease to hasSpellType and refactor function 2022-03-25 20:47:43 +02:00
ζeh Matt
dcdba227f7
Use vector for mUsedPowers for deterministic order 2022-03-25 20:42:01 +02:00
uramer
5d1fe6c2bc Add layer size, make layers API more flexible 2022-03-23 15:04:49 +01:00
psi29a
6d55317d57 Merge branch 'refactor/prng-2' into 'master'
Save random state and refactor usage of generators

See merge request OpenMW/openmw!1715
2022-03-23 09:50:54 +00:00
ζeh Matt
769be88d43
Adjust DetourNavigatorNavigatorTest to the new prng values 2022-03-21 17:49:42 +02:00
ζeh Matt
8103ff2e6f
Make the CI happy 2022-03-21 17:49:42 +02:00
ζeh Matt
f8f3bb2421
Use std::minstd_rand and split serialization from save/load 2022-03-21 17:49:42 +02:00
ζeh Matt
0611a8c3a7
Start new game with specified seed in options 2022-03-21 17:49:42 +02:00
ζeh Matt
151770ccf1
Separate global vs world rng functions and use custom prng 2022-03-21 17:49:42 +02:00
ζeh Matt
08fae7be6e
Pass the prng from world where appropriate 2022-03-21 17:49:42 +02:00
ζeh Matt
b502dc12f0
Add prng to World instance and serialize state in Save 2022-03-21 17:49:42 +02:00
jvoisin
eb46bde75e Merge branch 'lua_records' into 'master'
Lua bindings for ESM::Door and ESM::Weapon records

See merge request OpenMW/openmw!1717
2022-03-20 15:39:48 +00:00
Petr Mikheev
1b1e81b90e Lua bindings for ESM::Door and ESM::Weapon records 2022-03-20 15:39:48 +00:00
Petr Mikheev
d185cb6dce Add Lua function ui.screenSize() 2022-03-20 00:16:41 +01:00
Evil Eye
d7d1a85143 Restore dialogue autocompletion in the console 2022-03-19 12:02:26 +01:00
elsid
5b9dd10cbe
Limit max navmeshdb file size
Use "pragma max_page_count" to define max allowed file size in combination with
"pragma page_size" based on a new setting "max navmeshdb file size".

* Stop navmeshtool on the first db error.
* Disable writes to db in the engine on first "database or disk is full"
  SQLite3 error. There is no special error code for this error.
* Change default "write to navmeshdb" to true.
* Use time intervals for transaction duration instead of number of changes.
2022-03-18 19:08:46 +01:00
Petr Mikheev
fa115418eb [Lua] Remove queries 2022-03-15 23:35:36 +01:00
Petr Mikheev
0f84bfde51 [Lua] Replace cell.selectObjects with cell.getAll 2022-03-15 23:35:36 +01:00
Petr Mikheev
43bed7f0d2 [Lua] Split obj.inventory into Actor.inventory(obj) and Container.content(obj) 2022-03-15 23:35:36 +01:00
Petr Mikheev
d251c4e2a1 [Lua] Change behavior of obj.type 2022-03-15 23:35:36 +01:00
Petr Mikheev
af93ebf433 [Lua] Move class-specific functions to openmw.types 2022-03-15 19:23:26 +01:00
AnyOldName3
696be1cc39 Merge branch 'fix_6589' into 'master'
Add default value for `user-data` in openmw.cfg

Closes #6589

See merge request OpenMW/openmw!1632
2022-03-13 18:51:34 +00:00
duncanspumpkin
3a117cac22 Switch to a constexpr for FourCC constant
Add static asssert on wrong size
2022-03-08 14:48:37 +00:00
jvoisin
8a182c130a Merge branch 'refactor/prng' into 'master'
Refactor and rename some things around Misc::Rng

See merge request OpenMW/openmw!1710
2022-03-07 10:19:41 +00:00
Matt
54e114d83e Avoid string copies for ESM::Variant::getString 2022-03-06 17:38:58 +00:00
ζeh Matt
d83a381f79
Refactor and rename some things around Misc::Rng 2022-03-06 17:28:28 +02:00
Petr Mikheev
696c2135ef Merge branch 'FixSettingsLoaderForEditor' into 'master'
Make settings loader differentiate between engine and editor (fixes #6658).

Closes #6658

See merge request OpenMW/openmw!1706
2022-03-04 09:44:52 +00:00
Martin Otto
96e48e5492 Make settings loader differentiate between engine and editor (fixes #6658). 2022-03-04 09:44:52 +00:00
Petr Mikheev
df41b4080d Merge branch 'refactor/headtracking' into 'master'
Small improvement for headtracking

See merge request OpenMW/openmw!1683
2022-03-03 20:39:53 +00:00
Matt
0b528d3bfb Small improvement for headtracking 2022-03-03 20:39:53 +00:00
ζeh Matt
129d68e299
Fix #6660: Crash during intro video when closing the game 2022-03-03 20:25:35 +02:00
psi29a
3afa46b25e Merge branch 'CPP20_support' into 'master'
Support C++20

See merge request OpenMW/openmw!1705
2022-03-01 11:11:37 +00:00
Bret Curtis
32fd6f297a static_cast bitwise operation between different enumeration types 2022-03-01 10:53:01 +01:00
Bret Curtis
1927b1c6d9 use static cast to handle: deprecated between enumerations of different types 2022-03-01 10:53:01 +01:00
Bret Curtis
ad11cc8d8a reinstall fontconfig as needed; const an imbigious == operator 2022-03-01 10:53:01 +01:00
Bret Curtis
4b742dd461 explicit capture for lamda 2022-03-01 09:43:08 +01:00
psi29a
3558196098 Merge branch 'Newer-Bsa-formats-no-longer-load' into 'master'
#6651 Newer bsa formats no longer load

Closes #6651

See merge request OpenMW/openmw!1703
2022-03-01 07:22:04 +00:00
Evil Eye
25feea9b16 Prevent write to empty vector element 2022-02-28 16:42:22 +01:00
psi29a
ceae2d664d Merge branch 'refactor/stdlist' into 'master'
Use std::vector instead of std::list for some functions

See merge request OpenMW/openmw!1699
2022-02-28 07:40:21 +00:00
Cédric Mocquillon
ff7ad93bac Avoid missusing of CompressedBSAFile with private inheritance 2022-02-27 20:40:35 +01:00
uramer
6845d681f2 Update hardcoded layers (hotfix for https://gitlab.com/OpenMW/openmw/-/merge_requests/1681) 2022-02-27 11:59:55 +00:00
psi29a
2d4e9b38ae Merge branch 'lua_ui_image' into 'master'
Document the Lua Image widget, add UI texture resources

See merge request OpenMW/openmw!1637
2022-02-26 17:48:50 +00:00
uramer
67879bac55 MR feedack 2022-02-26 17:01:46 +01:00
Petr Mikheev
6afafbbe30 Merge branch 'refactor_layers' into 'master'
Refactor UI layers

See merge request OpenMW/openmw!1681
2022-02-26 13:54:42 +00:00
uramer
21a363d96f Refactor UI layers 2022-02-26 13:54:42 +00:00
uramer
fc50724f5c Render text and images correctly in templates with slots 2022-02-25 18:18:26 +01:00
uramer
e092ee2624 Document the Lua Image widget, add UI texture resources 2022-02-25 18:18:26 +01:00
jvoisin
7f3058d501 Use toStringView in esmtool instead of toString 2022-02-25 17:40:27 +01:00
ζeh Matt
eca405e5c7
Use std::vector instead of std::list 2022-02-25 04:02:21 +02:00
elsid
42d6032c8b
Support compilation with c++20 2022-02-24 00:49:40 +01:00
psi29a
7e4e78b1a7 Merge branch 'engarde' into 'master'
Always reduce weapon condition by the raw damage (bug #6559)

Closes #6559

See merge request OpenMW/openmw!1694
2022-02-23 21:49:57 +00:00
Alexei Dobrohotov
fdd9e6a793 Always reduce weapon condition by the raw damage (bug #6559) 2022-02-23 16:37:56 +03:00
psi29a
34be9329eb Merge branch 'ascivilaspossible' into 'master'
Increase the base actor angular velocity to 900°/sec (#5192)

Closes #5192

See merge request OpenMW/openmw!1690
2022-02-23 10:09:17 +00:00
psi29a
dd281e1e93 Merge branch 'fix_collision_boxes' into 'master'
Fix #6616: Fix incorrect collision box calculations

Closes #6616

See merge request OpenMW/openmw!1687
2022-02-23 08:26:50 +00:00
Alexei Kotov
38a0659b7f Merge branch 'weak_ptr' into 'master'
Store std::weak_ptr into mUpdateAabb.

See merge request OpenMW/openmw!1578
2022-02-23 06:10:29 +00:00
Alexei Kotov
4a3d7a1ff7 Merge branch 'esm3_ai_package' into 'master'
Use unique_ptr to manage AiPackage lifetime

See merge request OpenMW/openmw!1691
2022-02-23 05:55:49 +00:00
Alexei Kotov
087084abdc Merge branch 'projectilefix' into 'master'
Fix for projectile movement simulation (#6526 and probably #6434)

See merge request OpenMW/openmw!1518
2022-02-23 05:34:35 +00:00
elsid
595c2e0a8e
Use unique_ptr to manage AiPackage lifetime 2022-02-23 00:39:30 +01:00
Alexei Dobrohotov
1a15ad216d Increase the base angular velocity to 900°/sec (#5192) 2022-02-23 02:13:31 +03:00
Abdu Sharif
de3092f014 Revert "Merge branch 'offset_the_deads' into 'master'"
This reverts commit 7dd02076f5
2022-02-22 04:04:08 +00:00
Petr Mikheev
ff7ac7192b Merge branch 'ui_pairs' into 'master'
Implement pairs and ipairs for ui.content and ui.layers. Document all iterable types in a uniform way.

See merge request OpenMW/openmw!1643
2022-02-21 20:43:29 +00:00
uramer
a1abc84f59 Implement pairs and ipairs for ui.content and ui.layers. Document all iterable types in a uniform way. 2022-02-21 20:43:27 +00:00
uramer
cc6dce5443 Support controller touchpads (Resolves https://gitlab.com/OpenMW/openmw/-/issues/6639) 2022-02-21 19:49:00 +00:00
jvoisin
a55f1ad103 Merge branch 'bullet_object_tool' into 'master'
Add a tool to load and print information about all bullet objects in all cells

See merge request OpenMW/openmw!1627
2022-02-20 14:09:26 +00:00
elsid
6fd251e8f7
Avoid starting async png writing when overlay image is null 2022-02-19 21:41:40 +01:00
psi29a
b03f9e430c Merge branch 'navmesh_disk_rm_unused_tiles' into 'master'
Add navmeshtool flag to remove unused tiles from navmesh disk cache

See merge request OpenMW/openmw!1671
2022-02-19 13:56:44 +00:00
psi29a
85c0d93274 Merge branch 'fix-6633' into 'master'
Fix #6633: AiSequence packages being removed incorrectly

Closes #6633

See merge request OpenMW/openmw!1678
2022-02-19 13:55:42 +00:00
ζeh Matt
b997e28e57
Fix #6633: AiSequence packages being removed incorrectly 2022-02-19 14:56:51 +02:00
psi29a
1c1581bdab Merge branch 'check_esm4_compilation' into 'master'
Check ESM4 compilation

See merge request OpenMW/openmw!1677
2022-02-19 12:18:43 +00:00
elsid
57c1f2e231
Make sure everything compiles in ESM4 2022-02-19 02:52:49 +01:00
elsid
a7e76c6f3d
Remove redundant include 2022-02-18 22:31:40 +01:00
elsid
ab1a6e034e
Add navmeshtool flag to remove unused tiles from navmesh disk cache
* Remove tiles outside processing range. Useful when new content profile map
  has different bounds.
* Remove ignored tiles. For a case when content profile maps have intersection
  but there is no more data for navmesh.
* Remove older tiles at the same worldspace position. If navmesh tile data has
  changed with new content, the old ones unlikely to be used.
* Vacuum the database when there are modifications. SQLite leaves empty pages
  in the file on database modification. Vacuum cleans up unused pages reducing
  the file size.
2022-02-18 21:57:23 +01:00
elsid
67741402b5
Replace reference to const std::string by std::string_view for navmeshdb related arguments 2022-02-18 21:45:50 +01:00
elsid
9584cb7ac2
Use fixed size types for serialization 2022-02-18 21:01:53 +01:00
elsid
de7f9f6439
Replace raw for loop by algorithm
To fix compilation error with -D_GLIBCXX_DEBUG:
/home/elsid/dev/openmw/apps/openmw/mwdialogue/dialoguemanagerimp.cpp: In member function ‘virtual void MWDialogue::DialogueManager::write(ESM::ESMWriter&, Loading::Listener&) const’:
/home/elsid/dev/openmw/apps/openmw/mwdialogue/dialoguemanagerimp.cpp:679:78: error: no matching function for call to ‘__gnu_debug::_Safe_iterator<std::_Rb_tree_const_iterator<std::__cxx11::basic_string<char> >, std::__debug::set<std::__cxx11::basic_string<char> >, std::bidirectional_iterator_tag>::_Safe_iterator(std::__debug::set<std::__cxx11::basic_string<char>, Misc::StringUtils::CiComp>::const_iterator)’
  679 |         for (std::set<std::string>::const_iterator iter (mKnownTopics.begin());
      |                                                                              ^
2022-02-17 01:04:44 +01:00
psi29a
4a2302ff2b Merge branch 'hand_to_nixhound' into 'master'
Disallow non-bipedal hand-to-hand refreshes

See merge request OpenMW/openmw!1667
2022-02-16 22:30:39 +00:00
Alexei Kotov
4fdf55601c Merge branch 'bigboi' into 'master'
Force a scale update when changing view modes

Closes #6623

See merge request OpenMW/openmw!1662
2022-02-16 22:29:13 +00:00
psi29a
8da1cc3dd2 Merge branch 'fix-6618' into 'master'
Fix #6618

Closes #6618

See merge request OpenMW/openmw!1666
2022-02-16 21:24:21 +00:00
psi29a
cc8d05bd9a Merge branch 'async_save_map' into 'master'
Write png image of the global map for save asynchronously

See merge request OpenMW/openmw!1656
2022-02-16 21:11:07 +00:00
Evil Eye
7bd4971e0c Disallow non-bipedal hand-to-hand refreshes 2022-02-16 21:58:22 +01:00
psi29a
b73eaadf20 Merge branch 'use_utf8_string_view' into 'master'
Avoid extra copy for Utf8Encoder::getUtf8 result

See merge request OpenMW/openmw!1661
2022-02-16 20:58:12 +00:00