1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-07-20 08:14:07 +00:00
Commit graph

23321 commits

Author SHA1 Message Date
Andrew Lanzone
8f415ceab6 Convert UI widgets to local scrollbar implementation 2025-05-11 22:30:58 -07:00
Andrew Lanzone
b2620c861a Add scrollbar override to capture mouse hover events 2025-05-11 22:24:05 -07:00
Andrew Lanzone
5e7761bef1 Add controller support to text input menu 2025-05-11 14:56:58 -07:00
Andrew Lanzone
1e200ed048 Add controller support to race menu 2025-05-11 14:48:42 -07:00
Andrew Lanzone
c9ce93a22f Controller menus: don't wrap focus when only two buttons 2025-05-11 13:48:50 -07:00
Andrew Lanzone
4c5db612f0 Improve controller support for confirmation dialogs by highlighting selected choice 2025-05-11 00:32:29 -07:00
Andrew Lanzone
3b42d02cfc Add controller support to message boxes 2025-05-11 00:20:31 -07:00
Andrew Lanzone
80166cddd0 Make main menu honor controller mouse clicks 2025-05-11 00:19:01 -07:00
Andrew Lanzone
be298f78cb Basic controller support for the books 2025-05-10 23:17:23 -07:00
Andrew Lanzone
bb88becc2b Basic controller support for the journal 2025-05-10 22:50:16 -07:00
Andrew Lanzone
58c4e0ddf7 Minimal controller bindings for save/load window 2025-05-10 01:41:53 -07:00
Andrew Lanzone
2970913d55 Minimal controller bindings for settings window 2025-05-09 23:44:06 -07:00
Andrew Lanzone
fc86878922 Allow exiting credits by pressing B 2025-05-09 23:43:29 -07:00
Andy Lanzone
b4e0590a10
Merge branch 'OpenMW:master' into master 2025-05-09 22:57:21 -07:00
Andrew Lanzone
a8824b46a8 Add first batch of controller-enabled windows 2025-05-09 22:56:04 -07:00
Evil Eye
9ea1afedcc Merge branch 'baiki-isActive-kembalikan-bool' into 'master'
self:isActive() returns bool

See merge request OpenMW/openmw!4663
2025-05-09 15:17:08 +00:00
thagberg
883f9e5049 Fix anti-aliasing on macOS
Blitting to the resolve FBO in OSG::RenderStage was causing a GL_INVALID_FRAMEBUFFER_OPERATION due to a mismatch in attached colorbuffers between the FBOs bound in read and draw slots. This was because the normal attachment was invariantly attached to FBO_Interrupt, but not to other FBOs.
2025-05-07 16:31:22 -04:00
Kuyondo
77bd2250b0 isactive return bool now 2025-05-07 11:24:09 +08:00
Evil Eye
d1196ea667 Ignore resistances for base diseases 2025-05-06 20:09:48 +02:00
Andrew Lanzone
71aa11404c Add checkbox to enable controller menus to openmw launcher. 2025-05-05 22:47:55 -07:00
elsid
4a18c23e2d
Wait for the reloading cells thread on DataFilesPage destruction
Run a single thread and notify it when it has to reload cells.
2025-05-04 21:59:49 +02:00
Evil Eye
87014016a2 Stop postponing physics for objects that _don't_ have physics 2025-05-03 17:25:27 +02:00
Evil Eye
57c40bc052 Don't trigger cell change logic when the player isn't changing cells 2025-05-03 16:26:39 +02:00
elsid
b5f8a0ecdb
Fix warning: -Wstring-compare
In file included from ../../../components/esm/defs.hpp:7,
                 from ../../../apps/components_tests/esm/test_fixed_string.cpp:1:
In function 'bool ESM::operator==(const FixedString<capacity>&, const char (&)[rhsSize]) [with long unsigned int capacity = 4; long unsigned int rhsSize = 12]',
    inlined from 'virtual void {anonymous}::EsmFixedString_empty_strings_Test::TestBody()' at ../../../apps/components_tests/esm/test_fixed_string.cpp:82:13:
../../../components/esm/esmcommon.hpp:142:85: error: 'int strncmp(const char*, const char*, size_t)' of strings of length 0 and 4 and bound of 4 evaluates to nonzero [-Werror=string-compare]
  142 |         return strnlen(rhs, rhsSize) == strnlen(lhs.mData, capacity) && std::strncmp(lhs.mData, rhs, capacity) == 0;
      |                                                                         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-28 22:07:00 +02:00
Alexei Kotov
55107e0913 Merge branch 'idle_select_to_group_name' into 'master'
Use string_view for sIdleSelectToGroupName

See merge request OpenMW/openmw!4646
2025-04-28 03:02:17 +03:00
Alexei Kotov
58fcc8f66d Require a non-empty argument in ShowMap (#8466) 2025-04-26 13:29:01 +03:00
elsid
fc4cc3255d
Do not build navmeshtool translation units twice 2025-04-24 23:03:07 +02:00
elsid
f487a6332b
Use string_view for sIdleSelectToGroupName 2025-04-24 23:01:30 +02:00
Kindi
0247082e19 fix signedness, remove extra semicolon, update offer 2025-04-24 20:24:55 +08:00
Sam Kaufman
1948ab21f7 Set SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH.
This fixes bugs #8225 and #8462.
2025-04-23 20:33:56 -07:00
Kindi
4b94b6f678 also update draganddrop and trade items 2025-04-23 21:19:52 +08:00
elsid
626d7b2282
Add missing TargetPolygonNotFound enum value to lua bindings 2025-04-21 16:36:19 +02:00
Kindi
bdf025a532 also update companion window and tradewindow 2025-04-21 19:33:31 +08:00
Kindi
a9870bbcde update container window when item is added or removed 2025-04-21 19:33:22 +08:00
Kindi
15ceee4b1a also update companion window and tradewindow 2025-04-21 19:29:57 +08:00
Kindi
0547f09bf0 update container window when item is added or removed 2025-04-21 19:29:57 +08:00
Evil Eye
05c624bc34 Merge branch 'rm_using_namespace_fallback' into 'master'
Remove redundant using namespace Fallback

See merge request OpenMW/openmw!4638
2025-04-21 08:39:48 +00:00
Aussiemon
22c01b22c1 Clang format 2025-04-19 23:06:30 -06:00
Aussiemon
085e5d1988 Calculate spell cost when building buying window 2025-04-19 22:31:58 -06:00
elsid
042c4b2b9d
Use static_assert for compile time check 2025-04-18 14:38:23 +02:00
elsid
0d5e9ef85f
Remove redundant using namespace Fallback
C++ has ADL to find overloads. using namespace does nothing in this
case.
2025-04-18 12:27:37 +02:00
psi29a
87d77a6882 Merge branch 'rippleshaders' into 'master'
Fix crash if ripple pipeline shaders are unavailable

See merge request OpenMW/openmw!4622
2025-04-17 09:26:12 +00:00
AnyOldName3
31fcc5e126 Add test for new ReadersCache functions 2025-04-11 17:30:56 +01:00
Alexei Kotov
ec77ec299d Rescale the base travel cost by the number of followers (#8446)
Rather than the offered price.
2025-04-10 16:24:36 +03:00
psi29a
ea8369eff0 Merge branch 'dont-redraw-the-whole-gui-every-time-we-change-the-tiniest-thing' into 'master'
Be more careful when we tell Qt that data has changed

Closes #8405

See merge request OpenMW/openmw!4621
2025-04-09 11:19:32 +00:00
AnyOldName3
096759435a Add progress bars where the launcher can be limited by IO
I tested this with a USB3 external hard drive.

These two places were the only ones where we're IO-bound and block the main thread, so they're the only ones that need progress bars.

If trying to replicate this test, then it's important to unplug the hard drive between each repeat.
Apparently Windows is excellent at disk caching these days as it takes a minute and a half to start the launcher with Total Overhaul on this drive when it's just been plugged in, but less time than the first launch after a reboot on an NVME drive once the cache has been warmed up.
2025-04-09 01:36:52 +01:00
psi29a
428044abe2 Merge branch 'moveoutalready' into 'master'
Open the data directory file picker at the last opened location

Closes #8426

See merge request OpenMW/openmw!4606
2025-04-07 11:04:26 +00:00
psi29a
bd1c2a11d7 Merge branch 'herbalfish' into 'master'
Fix some graphic herbalism issues

See merge request OpenMW/openmw!4624
2025-04-07 11:03:55 +00:00
psi29a
0c4c202998 Merge branch 'ifavideofallsintheforest' into 'master'
Pause menu video playback when OpenMW is minimized

Closes #8441

See merge request OpenMW/openmw!4625
2025-04-07 11:03:37 +00:00
Alexei Kotov
8419116cae Fix crash if ripple pipeline shaders are unavailable 2025-04-07 03:31:32 +03:00
psi29a
8a0f513094 Merge branch 'fix_clang_tidy' into 'master'
Fix clang tidy checks

See merge request OpenMW/openmw!4619
2025-04-06 17:54:20 +00:00
Evil Eye
1667b11564 Pause menu video playback when OpenMW is minimized 2025-04-06 19:42:04 +02:00
psi29a
b29d89bd6a Merge branch 'enchantment404' into 'master'
Allow referenced enchantments to be missing on equipped items

See merge request OpenMW/openmw!4617
2025-04-06 16:06:10 +00:00
Evil Eye
d826962eaa Don't assume unresolved containers contain no visible items 2025-04-06 11:02:31 +02:00
AnyOldName3
7bad2864d9 Reuse QIcon
This saves more than 15% of launcher startup time on my machine (after the prior improvements - it's way less without those)
2025-04-06 02:40:42 +01:00
elsid
7c45a564a1
Fix clang-analyzer-deadcode.DeadStores 2025-04-05 12:55:17 +02:00
Evil Eye
15f4368fe6 Account for creatures not having a model in more places 2025-04-05 10:19:50 +02:00
Kindi
a5580718f7 clangformat 2025-04-05 11:26:34 +08:00
Alexei Kotov
065a388632 Allow enchantments to be missing on equipped items 2025-04-05 01:10:41 +03:00
Kindi
71a6b26b4f add missing semicolon, add leading whitespace, 2025-04-04 19:47:47 +08:00
Kindi
0a49c5f71e show global script variables in showVars 2025-04-04 15:36:01 +08:00
Kindi
0eb2ced072 update spell windows after selecting spell using quickkey 2025-04-04 12:58:07 +08:00
Alexei Kotov
468724075e Restore 0.45.0 pin button visibility conditions (#8437) 2025-04-03 11:09:50 +03:00
Evil Eye
86426aa87b Open the data directory file picker at the last opened location 2025-03-31 17:11:09 +02:00
elsid
a61ce111a5
Remove declaration without definition 2025-03-31 00:28:06 +02:00
psi29a
747771ac5e Merge branch 'fontexport' into 'master'
Restore --export-fonts option functionality

See merge request OpenMW/openmw!4561
2025-03-27 11:04:35 +00:00
Alexei Kotov
652113c46d Don't enable water collision when collision is disabled (#8414) 2025-03-24 21:26:37 +03:00
elsid
ada48d9021
Reduce a chance to have a deadlock in the AsyncNavMeshUpdater
* Do not fail tile generation if debug mesh writing fails.
* Mark some functions as noexcept to better crash than have a deadlock.
* Unlock tile and remove job if there on exception while processing it.
2025-03-23 23:33:40 +01:00
elsid
7112217adc
Use temporary directory for tests output 2025-03-23 23:33:40 +01:00
Evil Eye
73811b45b1 Clarify the resetInitialPosition loop 2025-03-23 21:44:04 +01:00
Evil Eye
88cac9b0fa Reset initial wander position when commanding actors and don't create return packages when stacking actual ai packages 2025-03-23 18:25:20 +01:00
psi29a
d13f108779 Merge branch 'nbsp' into 'master'
Non-breaking space-related fixes (#8378)

Closes #8378

See merge request OpenMW/openmw!4592
2025-03-23 16:27:07 +00:00
Alexei Kotov
7fb5d4f47a Inform the player about both resting hindrances (#8408) 2025-03-23 03:38:21 +03:00
elsid
51258662b5
Support max log level for Recast via env variable
Do not write to log if log message level is greater than one speficied
in the OPENMW_RECAST_MAX_LOG_LEVEL env variable. Use Error by default.
2025-03-21 15:34:47 +01:00
Alexei Kotov
d6916c35bc Only print the player name if it doesn't match the profile 2025-03-21 04:10:52 +03:00
Alexei Kotov
8634b6c3ac Revise saved game dialog save info layout (#8313) 2025-03-21 03:18:32 +03:00
psi29a
241a24564a Merge branch 'doubleexit' into 'master'
Don't assume there is a GUI mode in exitCurrentGuiMode (#8380)

Closes #8380

See merge request OpenMW/openmw!4590
2025-03-18 13:16:23 +00:00
Alexei Kotov
cd3980eca4 Make figure space non-breaking 2025-03-18 10:29:29 +03:00
Alexei Kotov
b5a2a4e52d Render no-break space in books, don't consider narrow NBSP breaking 2025-03-17 22:03:38 +03:00
Alexei Kotov
887e1c04ef Spell buying window layout tweaks 2025-03-16 13:53:43 +03:00
Alexei Kotov
4db41c2111 Merchant repair menu layout tweaks 2025-03-16 13:16:59 +03:00
Alexei Kotov
e4ae0c9a95 Don't assume there is a GUI mode in exitCurrentGuiMode (#8380) 2025-03-16 09:06:01 +03:00
Evil Eye
2b5d076ff8 Merge branch 'followmeifyouwanttohit' into 'master'
Don't use attack strength as "hit ready" flag

See merge request OpenMW/openmw!4583
2025-03-15 12:02:35 +00:00
Alexei Kotov
34a5eb7512 Editor: Account for pixel ratio in instance mode mouse coordinates conversion (#6573) 2025-03-13 20:06:20 +03:00
Alexei Kotov
9f85e51934 Only log ripples pipeline once 2025-03-11 17:37:18 +03:00
Alexei Kotov
569ed4559f Merge branch 'fix_msvc_warnings' into 'master'
Fix msvc warnings

See merge request OpenMW/openmw!4579
2025-03-11 00:55:32 +03:00
Alexei Kotov
5354a5f786 Don't use attack strength as "hit ready" flag
This unbreaks follow animations' strength dependence
2025-03-11 00:44:35 +03:00
psi29a
73bb17009e Merge branch 'getsoundplaying' into 'master'
Don't require a reference for GetSoundPlaying (#8389)

Closes #8389

See merge request OpenMW/openmw!4576
2025-03-10 08:13:23 +00:00
Alexei Kotov
3f63700e99 Improve topic and magic effect list padding accuracy
This also touches the quest list, but there are bigger problems with the journal than just padding
2025-03-10 05:48:54 +03:00
elsid
51d73e37df
Fix msvc warnings
components\lua\configuration.cpp(133): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
components\esm3\effectlist.cpp(35): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
components_tests\misc\testmathutil.cpp(54): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(62): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(131): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(135): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(135): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(139): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
2025-03-09 17:55:17 +01:00
Alexei Kotov
a49a900a7b Merge branch 'fix_lua_teleport' into 'master'
Merge deleted refs when unloading a cell (#8311)

Closes #8311

See merge request OpenMW/openmw!4575
2025-03-09 15:51:01 +03:00
Alexei Kotov
8cb1838c4a Don't require a reference for GetSoundPlaying (#8389) 2025-03-09 00:52:00 +03:00
elsid
f800f63ee5
Merge deleted refs when unloading a cell
To unload objects scheduled to be teleported.
2025-03-08 12:48:28 +01:00
elsid
5776eea1b0
Avoid accessing removed character on deleting last save 2025-03-08 00:34:27 +01:00
Alexei Kotov
5f92d520ee Merge branch 'mainmembers' into 'master'
Fix more potential use-after-free issues

See merge request OpenMW/openmw!4566
2025-03-07 00:25:35 +03:00
Evil Eye
9bf6a15ff5 Force move the captured string 2025-03-06 17:32:56 +01:00
Alexei Kotov
59edf4750b Fix Travel window header alignment 2025-03-06 01:16:45 +03:00
psi29a
95312139d5 Merge branch 'context_matters' into 'master'
Fix in-game actions not clearing because of input bindings only initializing in menu context

See merge request OpenMW/openmw!4570
2025-03-05 21:18:02 +00:00
Alexei Kotov
918a6352e4 Let cancelled bound item effect remain active for the frame 2025-03-05 23:53:31 +03:00
Alexei Kotov
5b18edf938 Interrupt bound item effect if equipment failed (#8383) 2025-03-05 20:24:02 +03:00
Alexei Kotov
97717e6fce Merge branch 'fix_lua_vfs_crash' into 'master'
Fix crash on LuaManager::clear triggered by vfs (#8370)

Closes #8370

See merge request OpenMW/openmw!4559
2025-03-05 04:51:47 +03:00
uramer
990096ff9b Fix in-game actions not clearing because of input bindings only initializing in menu context 2025-03-04 21:08:26 +01:00
Alexei Kotov
61e2117e9d Remove excessive spacing between travel destination and price 2025-03-04 04:03:37 +03:00
Evil Eye
b0e9df0139 Ensure class members are tied to the main Lua state 2025-03-03 19:37:07 +01:00
Evil Eye
f0cee09b7c Extend lifetime of strings placed on the action queue 2025-03-03 19:36:54 +01:00
Alexei Kotov
6e9d15f91d Merge branch 'keep-menu-actions-after-load' into 'master'
#8365 Keep MENU-registered input actions between games

See merge request OpenMW/openmw!4554
2025-03-03 18:10:12 +00:00
Alexei Kotov
dc3264a3a5 Restore --export-fonts option functionality 2025-03-02 22:33:06 +03:00
elsid
1bb3198b71
Fix crash on LuaManager::clear triggered by vfs
See https://gitlab.com/OpenMW/openmw/-/issues/8370#note_2370896069.

=================================================================
==8699==ERROR: AddressSanitizer: heap-use-after-free on address 0x50800060d4b0 at pc 0x7254de50893e bp 0x7fffa97f9700 sp 0x7fffa97f96f0
READ of size 8 at 0x50800060d4b0 thread T0
    #0 0x7254de50893d  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x6293d) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #1 0x7254de50ccad in lua_rawgeti (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x66cad) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #2 0x7254de5d4cab in luaL_unref (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x12ecab) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #3 0x5f96378dd1e9 in sol::stateless_reference::deref(lua_State*) const /home/elsid/dev/openmw/extern/sol3/sol/reference.hpp:440
    #4 0x5f96378dd1e9 in sol::basic_reference<false>::deref() const /home/elsid/dev/openmw/extern/sol3/sol/reference.hpp:545
    #5 0x5f96378dd1e9 in sol::basic_reference<false>::~basic_reference() /home/elsid/dev/openmw/extern/sol3/sol/reference.hpp:635
    #6 0x5f96378dd1e9 in sol::basic_object_base<sol::basic_reference<false> >::~basic_object_base() /home/elsid/dev/openmw/extern/sol3/sol/object_base.hpp:33
    #7 0x5f96378dd1e9 in sol::basic_object<sol::basic_reference<false> >::~basic_object() /home/elsid/dev/openmw/extern/sol3/sol/object.hpp:35
    #8 0x5f96378dd1e9 in ~<lambda> /home/elsid/dev/openmw/apps/openmw/mwlua/vfsbindings.cpp:195
    #9 0x5f96378dd1e9 in ~functor_function /home/elsid/dev/openmw/extern/sol3/sol/function_types_stateful.hpp:32
    #10 0x5f96378dd1e9 in destroy_at<sol::function_detail::functor_function<MWLua::initVFSPackage(const Context&)::<lambda(sol::this_state, sol::object)>::<lambda()>, false, true> > /usr/include/c++/14.2.1/bits/stl_construct.h:88
    #11 0x5f96378dd1e9 in destroy<sol::function_detail::functor_function<MWLua::initVFSPackage(const Context&)::<lambda(sol::this_state, sol::object)>::<lambda()>, false, true> > /usr/include/c++/14.2.1/bits/alloc_traits.h:599
    #12 0x5f96378dd1e9 in user_alloc_destroy<sol::function_detail::functor_function<MWLua::initVFSPackage(const Context&)::<lambda(sol::this_state, sol::object)>::<lambda()>, false, true> > /home/elsid/dev/openmw/extern/sol3/sol/stack_core.hpp:460
    #13 0x5f963a31e305 in int sol::detail::trampoline<int (*&)(lua_State*)>(lua_State*, int (*&)(lua_State*)) /home/elsid/dev/openmw/extern/sol3/sol/trampoline.hpp:158
    #14 0x5f963a31e89c in sol::detail::c_trampoline(lua_State*, int (*)(lua_State*)) /home/elsid/dev/openmw/extern/sol3/sol/trampoline.hpp:183
    #15 0x7254de4dc13a  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x3613a) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #16 0x7254de4deac4  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x38ac4) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #17 0x7254de4df1a2  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x391a2) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #18 0x7254de4e1cf2  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x3bcf2) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #19 0x7254de4e2a37  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x3ca37) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #20 0x7254de50f4a4 in lua_gc (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x694a4) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #21 0x5f96371f615c in MWLua::LuaManager::clear() /home/elsid/dev/openmw/apps/openmw/mwlua/luamanagerimp.cpp:348
    #22 0x5f96371f91ea in MWLua::LuaManager::noGame() /home/elsid/dev/openmw/apps/openmw/mwlua/luamanagerimp.cpp:397
    #23 0x5f963a1c7170 in MWState::StateManager::cleanup(bool) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:71
    #24 0x5f963a1cabfe in MWState::StateManager::newGame(bool) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:169
    #25 0x5f963a1c7aa4 in MWState::StateManager::update(float) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:761
    #26 0x5f963a230bab in OMW::Engine::frame(unsigned int, float) /home/elsid/dev/openmw/apps/openmw/engine.cpp:238
    #27 0x5f963a2442f3 in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1032
    #28 0x5f963633b3a7 in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228
    #29 0x5f963b375b45 in Debug::wrapApplication(int (*)(int, char**), int, char**, std::basic_string_view<char, std::char_traits<char> >) /home/elsid/dev/openmw/components/debug/debugging.cpp:457
    #30 0x5f9636331695 in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240
    #31 0x7254db435487  (/usr/lib/libc.so.6+0x27487) (BuildId: 0b707b217b15b106c25fe51df3724b25848310c0)
    #32 0x7254db43554b in __libc_start_main (/usr/lib/libc.so.6+0x2754b) (BuildId: 0b707b217b15b106c25fe51df3724b25848310c0)
    #33 0x5f9636331464 in _start (/home/elsid/dev/openmw/build/gcc/asan/openmw+0x10db464) (BuildId: ac74a52ca60e8913bef6eb6b3b23d6de648cf3c9)

0x50800060d4b0 is located 16 bytes inside of 96-byte region [0x50800060d4a0,0x50800060d500)
freed by thread T0 here:
    #0 0x7254e2afc102 in free /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:52
    #1 0x5f963a2f84e7 in LuaUtil::LuaState::trackingAllocator(void*, void*, unsigned long, unsigned long) /home/elsid/dev/openmw/components/lua/luastate.cpp:107
    #2 0x7254de4f7779  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x51779) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #3 0x7254de4de7f3  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x387f3) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #4 0x7254de4e1a9a  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x3ba9a) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #5 0x7254de4e2a37  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x3ca37) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #6 0x7254de50f4a4 in lua_gc (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x694a4) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #7 0x5f96371f615c in MWLua::LuaManager::clear() /home/elsid/dev/openmw/apps/openmw/mwlua/luamanagerimp.cpp:348
    #8 0x5f96371f91ea in MWLua::LuaManager::noGame() /home/elsid/dev/openmw/apps/openmw/mwlua/luamanagerimp.cpp:397
    #9 0x5f963a1c7170 in MWState::StateManager::cleanup(bool) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:71
    #10 0x5f963a1cabfe in MWState::StateManager::newGame(bool) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:169
    #11 0x5f963a1c7aa4 in MWState::StateManager::update(float) /home/elsid/dev/openmw/apps/openmw/mwstate/statemanagerimp.cpp:761
    #12 0x5f963a230bab in OMW::Engine::frame(unsigned int, float) /home/elsid/dev/openmw/apps/openmw/engine.cpp:238
    #13 0x5f963a2442f3 in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:1032
    #14 0x5f963633b3a7 in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228
    #15 0x5f963b375b45 in Debug::wrapApplication(int (*)(int, char**), int, char**, std::basic_string_view<char, std::char_traits<char> >) /home/elsid/dev/openmw/components/debug/debugging.cpp:457
    #16 0x5f9636331695 in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240
    #17 0x7254db435487  (/usr/lib/libc.so.6+0x27487) (BuildId: 0b707b217b15b106c25fe51df3724b25848310c0)
    #18 0x7254db43554b in __libc_start_main (/usr/lib/libc.so.6+0x2754b) (BuildId: 0b707b217b15b106c25fe51df3724b25848310c0)
    #19 0x5f9636331464 in _start (/home/elsid/dev/openmw/build/gcc/asan/openmw+0x10db464) (BuildId: ac74a52ca60e8913bef6eb6b3b23d6de648cf3c9)

previously allocated by thread T20 here:
    #0 0x7254e2afc3c2 in realloc /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_malloc_linux.cpp:85
    #1 0x5f963a2f7080 in LuaUtil::LuaState::trackingAllocator(void*, void*, unsigned long, unsigned long) /home/elsid/dev/openmw/components/lua/luastate.cpp:110
    #2 0x7254de4e2fc8  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x3cfc8) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #3 0x7254de4f7476  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x51476) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #4 0x7254de50c456 in lua_newthread (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x66456) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #5 0x7254de5d53e5  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x12f3e5) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
    #6 0x7254de4dc0c5  (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x360c5) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)

Thread T20 created by T0 here:
    #0 0x7254e2af44cb in pthread_create /usr/src/debug/gcc/gcc/libsanitizer/asan/asan_interceptors.cpp:245
    #1 0x7254db6e2071 in __gthread_create /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:676
    #2 0x7254db6e2071 in std:🧵:_M_start_thread(std::unique_ptr<std:🧵:_State, std::default_delete<std:🧵:_State> >, void (*)()) /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:172
    #3 0x5f96380fa2eb in thread<MWLua::Worker::Worker(MWLua::LuaManager&)::<lambda()> > /usr/include/c++/14.2.1/bits/std_thread.h:173
    #4 0x5f96380fa2eb in MWLua::Worker::Worker(MWLua::LuaManager&) /home/elsid/dev/openmw/apps/openmw/mwlua/worker.cpp:18
    #5 0x5f963a23faf4 in std::__detail::_MakeUniq<MWLua::Worker>::__single_object std::make_unique<MWLua::Worker, MWLua::LuaManager&>(MWLua::LuaManager&) /usr/include/c++/14.2.1/bits/unique_ptr.h:1077
    #6 0x5f963a23faf4 in OMW::Engine::prepareEngine() /home/elsid/dev/openmw/apps/openmw/engine.cpp:920
    #7 0x5f963a2413ae in OMW::Engine::go() /home/elsid/dev/openmw/apps/openmw/engine.cpp:952
    #8 0x5f963633b3a7 in runApplication(int, char**) /home/elsid/dev/openmw/apps/openmw/main.cpp:228
    #9 0x5f963b375b45 in Debug::wrapApplication(int (*)(int, char**), int, char**, std::basic_string_view<char, std::char_traits<char> >) /home/elsid/dev/openmw/components/debug/debugging.cpp:457
    #10 0x5f9636331695 in main /home/elsid/dev/openmw/apps/openmw/main.cpp:240
    #11 0x7254db435487  (/usr/lib/libc.so.6+0x27487) (BuildId: 0b707b217b15b106c25fe51df3724b25848310c0)
    #12 0x7254db43554b in __libc_start_main (/usr/lib/libc.so.6+0x2754b) (BuildId: 0b707b217b15b106c25fe51df3724b25848310c0)
    #13 0x5f9636331464 in _start (/home/elsid/dev/openmw/build/gcc/asan/openmw+0x10db464) (BuildId: ac74a52ca60e8913bef6eb6b3b23d6de648cf3c9)

SUMMARY: AddressSanitizer: heap-use-after-free (/home/elsid/dev/LuaJIT/build/gcc/asan/install/lib/libluajit-5.1.so.2+0x6293d) (BuildId: 1249151684379d19b11900f406fea9704a6375cb)
Shadow bytes around the buggy address:
  0x50800060d200: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x50800060d280: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x50800060d300: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x50800060d380: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
  0x50800060d400: fa fa fa fa 00 00 00 00 00 00 00 00 00 00 00 fa
=>0x50800060d480: fa fa fa fa fd fd[fd]fd fd fd fd fd fd fd fd fd
  0x50800060d500: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x50800060d580: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x50800060d600: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x50800060d680: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x50800060d700: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
==8699==ABORTING
2025-03-01 15:54:24 +01:00
elsid
d400c0959c
Hide main menu on new and loading game from menu scripts 2025-02-28 18:11:22 +01:00
Alexei Kotov
ec2c031792 Make powers immune to silence (#8371) 2025-02-27 18:27:10 +03:00
uramer
3a98b945a8 Keep MENU-registered input actions between games 2025-02-26 16:56:41 +01:00
Alexei Kotov
a6676fd6f3 Merge branch 'actionshaveeffects' into 'master'
Turn ActorActiveEffects:remove into a delayed action

Closes #8317, #8350, and #8366

See merge request OpenMW/openmw!4553
2025-02-24 22:49:52 +00:00
Evil Eye
f891a7c3b3 Turn ActorActiveEffects:remove into a delayed action 2025-02-24 17:07:32 +01:00
Evil Eye
3e3dfac4e0 Don't create a scrollbar that cannot be scrolled 2025-02-23 10:48:13 +01:00
Alexei Kotov
72cbf61b43 Rename apps/openmw/mwsound files and classes to follow naming conventions 2025-02-23 00:18:07 +03:00
Alexei Kotov
ac9505b536 Rename components/to_utf8 directory and files to follow naming conventions 2025-02-23 00:18:07 +03:00
Alexei Kotov
89426af94a Rename apps/components_tests files to follow naming conventions 2025-02-22 23:47:12 +03:00
Alexei Kotov
a3e19f9bb7 Rename apps/openmw_tests files to follow naming conventions 2025-02-22 23:47:12 +03:00
Alexei Kotov
b997386cd3 Rename android-main.cpp to follow naming conventions 2025-02-22 23:47:09 +03:00
Alexei Kotov
04689334c5 Editor: Use the first/primary screen as last resort 2025-02-18 22:28:54 +03:00
Alexei Kotov
d71e4ec9f0 Editor: Fall back to the closest screen when necessary (#8354) 2025-02-18 13:31:13 +03:00
Evil Eye
ad8f6e5eb6 Include Ptrs with a count of 0 in cell unloading 2025-02-12 22:07:30 +01:00
psi29a
63e3b8f41b Merge branch 'levelledcreatures' into 'master'
Avoid reference to temporary in levelled creatures bindings (#8347)

Closes #8347

See merge request OpenMW/openmw!4535
2025-02-11 20:34:20 +00:00
Evil Eye
86d56a0b1a Clear queued scripts when clearing the Lua manager 2025-02-10 20:04:24 +01:00
Alexei Kotov
5626d925e3 Avoid reference to temporary in levelled creatures bindings (#8347) 2025-02-10 13:07:31 +03:00
Alexei Kotov
0f9be64904 Use the final effect cost to calculate enchantment price (#8340) 2025-02-04 09:21:13 +03:00
Alexei Kotov
fe571c1a4d Fix invisible rain when occlusion is enabled and sky blending isn't (#7273) 2025-01-31 18:13:29 +03:00
Mads Buvik Sandvei
4428c1db7d Unused includes 2025-01-30 20:53:56 +01:00
Mads Buvik Sandvei
517aa81938 Change sky blending fix to remove changing the "sky" texture slot when disabling sky blending. 2025-01-29 22:35:19 +01:00
Mads Buvik Sandvei
efe72ea2d5 Clang format 2025-01-26 20:10:58 +01:00
Mads Buvik Sandvei
dec9ce4a5f sky dummy texture not actually needed when using sky texture slot. 2025-01-26 17:41:43 +01:00
Mads Buvik Sandvei
a1df9afc9a Formatting changes 2025-01-26 17:05:42 +01:00
Mads Buvik Sandvei
6071de9d1d Set a dummy texture for sky blending, when multiview is enabled. 2025-01-26 15:20:25 +01:00
Evil Eye
7d2dd3422d Ignore missing global variables when filtering dialogue 2025-01-21 20:31:12 +01:00
Evil Eye
a645ec0910 Allow filters to apply to creatures 2025-01-21 20:25:13 +01:00
Evil Eye
3b50bcfb3a Allow GetSpellEffects to detect enchantments by id 2025-01-19 20:07:53 +01:00
psi29a
c16064e6f3 Merge branch 'nooneactuallyknowshowmorrowindcombatworks' into 'master'
Check if the victim is within weapon reach upon hit (#8280)

See merge request OpenMW/openmw!4518
2025-01-18 10:40:52 +00:00
psi29a
e515e99937 Merge branch 'loadingesm4' into 'master'
Track ESM4 file loading progress

See merge request OpenMW/openmw!4516
2025-01-17 11:59:20 +00:00
AnyOldName3
84c497b1fb capitulate 2025-01-17 01:45:09 +00:00
AnyOldName3
33553c0cf7 Handle encoding a bit more cleverly
* use the value from the existing openmw.cfg if it exists and we weren't told to use something else on the command line
* write the value to openmw.cfg if it wasn't there or we've overridden it
2025-01-17 01:34:08 +00:00
AnyOldName3
e345fca99a trim_ws, too 2025-01-17 01:21:24 +00:00
AnyOldName3
88fe079f95 Don't mangle settings with the comment character in their value
'#' is a valid character in setting values - it's only a comment if it's the first non-" \t\r\n" character on a line.
Making the comment ignoring match the parser we use elsewhere should avoid mangling data.
2025-01-17 00:53:19 +00:00
Alexei Kotov
2a62dd728f Check if the victim is within weapon reach upon hit (#8280) 2025-01-16 13:08:06 +03:00
Alexei Kotov
9fc62be2c6 Track ESM4 file loading progress 2025-01-14 20:27:02 +03:00
Alexei Kotov
fe047d98b1 Merge branch 'install-more-things' into 'master'
Install tools left out on Windows

Closes #8297

See merge request OpenMW/openmw!4510
2025-01-14 15:17:51 +00:00
psi29a
af3640217e Merge branch 'smoothlandslikesmoothlittlebabies' into 'master'
Editor: Prevent crash on smoothing undefined cell borders (#8299)

Closes #8299

See merge request OpenMW/openmw!4512
2025-01-14 11:18:28 +00:00
Alexei Kotov
df681a0da0 Merge branch 'muh-html-formatting' into 'master'
FIX: tooltips lose some of the relevant information if not stored as a QString

See merge request OpenMW/openmw!4513
2025-01-13 16:54:13 +00:00
jvoisin
7d47b225ab Merge branch '8300_create_arrows_bolts' into 'master'
Lua: Allow creating arrows and bolt records (#8300)

See merge request OpenMW/openmw!4514
2025-01-13 14:31:36 +00:00
Alexei Kotov
d3fe31803f Editor: Prevent crash on smoothing undefined cell borders (#8299) 2025-01-12 21:05:48 +03:00
Dave Corley
bc3c3bbc9c FIX: tooltips lose some of the relevant information if not stored as a QString 2025-01-12 10:07:40 -07:00
Mehdi Yousfi-Monod
ffedd62ea1 Lua: Allow creating arrows and bolt records (#8300) 2025-01-12 18:00:19 +01:00
AnyOldName3
a4bc99db7a Install tools left out on Windows 2025-01-11 19:36:24 +00:00
Alexei Kotov
383876a516 Handle weird post-processing chains gracefully (#8295) 2025-01-11 17:03:59 +03:00
Alexei Kotov
dd44b2668c Be prepared if someone feels like breaking getDeviceName 2025-01-09 18:34:29 +03:00
Alexei Kotov
d4f4b3c304 Fix default audio device switch for PulseAudio backend (#7731) 2025-01-08 07:34:15 +03:00
Evil Eye
40cba7962c Bump us up to 0.50.0 2025-01-06 16:43:54 +01:00
Alexei Kotov
4eb5b24af5 Fix localized checkbox toggling behavior 2025-01-06 09:43:44 +03:00
psi29a
52d1493500 Merge branch 'suntzuquote' into 'master'
Add an option to match sunlight to the sun (#8032)

Closes #8032

See merge request OpenMW/openmw!4490
2025-01-05 20:08:28 +00:00
AnyOldName3
25c19d584f Merge branch 'effectlighting' into 'master'
Apply white ambient lighting to free magic VFX

See merge request OpenMW/openmw!4496
2025-01-05 01:22:28 +00:00
psi29a
9f90349a09 Merge branch 'cheaterrats' into 'master'
Don't stagger creatures in the middle of an attack (#8275)

Closes #8275

See merge request OpenMW/openmw!4499
2025-01-04 18:27:59 +00:00
Alexei Kotov
9b09ce53ef Don't stagger creatures in the middle of an attack (#8275) 2025-01-04 19:24:47 +03:00
psi29a
c33aaa5487 Merge branch 'disabilitybenefits' into 'master'
Allow disabling objects that have no placed instances (#4289)

Closes #4289

See merge request OpenMW/openmw!4498
2025-01-04 14:19:18 +00:00
Alexei Kotov
96a05cc72f Merge branch 'fix_vfs_lines_crash' into 'master'
Fix Lua vfs :lines() crash

See merge request OpenMW/openmw!4488
2025-01-03 14:21:59 +00:00
Evil Eye
c9ffd978ec Hoist the FileHandle check and add more tests 2025-01-02 15:55:19 +01:00
Alexei Kotov
24f1feb67a Allow disabling objects that have no placed instances (#4289) 2025-01-02 14:57:16 +03:00
psi29a
24361426c8 Merge branch 'getBoneByName_searchRoot' into 'master'
make ActorAnimation::getBoneByName take a searchRoot param

See merge request OpenMW/openmw!4491
2024-12-31 18:50:02 +00:00
Sebastian Fieber
e77db9f2ba make ActorAnimation::getBoneByName take a searchRoot param 2024-12-31 18:50:02 +00:00
Alexei Kotov
d0918ed1f2 Apply ambient lighting to free magic VFX 2024-12-31 17:37:30 +03:00
Alexei Kotov
d476c8cf57 Merge branch 'add_overwriteLighting_toggle_to_addVfx' into 'master'
add overwriteLighting a toggle option for addVfx

See merge request OpenMW/openmw!4492
2024-12-31 01:57:09 +00:00
Sebastian Fieber
5cb6da4b02 add overwriteLighting a toggle option for addVfx 2024-12-31 01:57:09 +00:00
Alexei Kotov
b29949d5a7 Merge branch 'nongeneratedactor' into 'master'
Revert conversion of actor id to generated refid

See merge request OpenMW/openmw!4493
2024-12-30 17:50:54 +00:00
Evil Eye
3fae6b8064 Revert conversion of actor id to generated refid 2024-12-28 23:59:22 +01:00
Alexei Kotov
aa277c0934 Add an option to match sunlight to the sun (#8032) 2024-12-28 18:29:35 +03:00
Alexei Kotov
efdea0fb42 Stick focused object tooltip to slightly above its top (#4710) 2024-12-23 19:02:12 +03:00
uramer
6d8753e5a8 Fix crash if someone evil calls the .lines method on a non-file 2024-12-21 16:49:11 +01:00
uramer
5f745f4074 Reference the FileHandle Lua object from lines closure tro prevent garbage collection 2024-12-21 16:43:21 +01:00
Alexei Kotov
69c4a68187 Merge branch 'fix_test_2' into 'master'
Reduce precision for random point distance comparison (#8260)

See merge request OpenMW/openmw!4486
2024-12-21 15:23:28 +00:00
elsid
a00909d139
Reduce precision for random point distance comparison 2024-12-20 14:00:49 +01:00
Evil Eye
73612b0e9c Only load FoW if it exists 2024-12-20 00:39:41 +01:00
elsid
054d5ec1d6
Reduce precision for random point position comparison 2024-12-18 22:28:55 +01:00
jvoisin
95764a9e0a Merge branch 'rollingredienteffect' into 'master'
Fix non-player ingredient casting

See merge request OpenMW/openmw!4480
2024-12-16 16:36:35 +00:00
Alexei Kotov
81f2402e66 Lua: Expose capacity for creatures as well 2024-12-15 03:20:34 +03:00
Alexei Kotov
14c6ecd889 Fix non-player ingredient casting
Always use the first effect
Don't show a message
2024-12-14 15:39:58 +03:00
psi29a
51579a8c5d Merge branch 'dependenceday' into 'master'
Fix validating ESM3 file dependencies (#8252)

Closes #8252

See merge request OpenMW/openmw!4476
2024-12-08 10:10:40 +00:00
elsid
cb654a0149
Use navigator in world destructor only when initialized
If world initialization fails, mNavigator may be nullptr.
2024-12-07 14:31:54 +01:00
Alexei Kotov
11761c5a1d Fix validating ESM3 file dependencies (#8252) 2024-12-07 09:15:04 +03:00
Evil Eye
fb02ba174d Remove period and slash from keyboard navigation and inject tabs when using a controller 2024-12-05 17:23:58 +01:00
Alexei Kotov
b285e2f85f Merge branch 'fix_findpath_use_after_free' into 'master'
Fix findPath returning a raw vector

Closes #8238

See merge request OpenMW/openmw!4470
2024-12-03 09:24:45 +00:00
uramer
1675c74036 Fix findPath returning a raw vector 2024-12-02 21:22:29 +01:00
Alexei Kotov
23a46a1bf9 Merge branch 'vfs_normalized_path_22' into 'master'
Use normalized path for KeyframeManager::get (#8138)

See merge request OpenMW/openmw!4463
2024-12-01 21:45:01 +00:00
Dave Corley
82d68ec9cf FIX: Correct data directory iteration order in CS 2024-11-28 18:19:12 -06:00
psi29a
064e3c7c2e Merge branch 'useniftestinstead' into 'master'
Remove write nif debug log setting

See merge request OpenMW/openmw!4468
2024-11-28 18:05:22 +00:00
psi29a
7b992f98e7 Merge branch 'poisoncrank' into 'master'
Save interior fog bounds center to preserve rotation when expanding them

Closes #7013

See merge request OpenMW/openmw!4466
2024-11-27 08:18:29 +00:00
Alexei Kotov
95c38bacc7 Remove write nif debug log setting 2024-11-26 21:31:25 +03:00
Evil Eye
4b93278045 Pad the interior grid 2024-11-25 16:49:59 +01:00
jvoisin
b555c980da Merge branch 'deepasapuddle' into 'master'
Change the default depth test mode from less-than to less-than-or-equal-to (#7040)

Closes #7040

See merge request OpenMW/openmw!4464
2024-11-25 01:41:17 +00:00
Evil Eye
0469ecd3c6 Reserve mFogTextures 2024-11-24 20:45:29 +01:00
Evil Eye
d57d5d9247 Save interior fog bounds center to preserve rotation when expanding them 2024-11-24 11:49:33 +01:00
Alexei Kotov
9351a0e542 Merge branch 'callbackhell' into 'master'
Use the actual callback function instead of mocking it

Closes #8183

See merge request OpenMW/openmw!4452
2024-11-24 00:24:34 +00:00
psi29a
97522c22ae Merge branch 'attackanimationsareforfalsegods' into 'master'
Improve vanilla consistency of weapon animations for non-bipeds (#8223, #8237)

Closes #8237 and #8223

See merge request OpenMW/openmw!4462
2024-11-23 19:31:29 +00:00
psi29a
cb8e2809ac Merge branch 'help-i-dropped-it-into-oblivion' into 'master'
Task #8141: Merge instance drop modes

See merge request OpenMW/openmw!4350
2024-11-23 19:31:00 +00:00
psi29a
fe15803239 Merge branch 'coc' into 'master'
Use a grid based on computed bounds for interiors

See merge request OpenMW/openmw!4459
2024-11-23 19:29:22 +00:00
Alexei Kotov
5433ecf861 Change default depth test mode to <= (#7040) 2024-11-23 08:32:25 +03:00
Dave Corley
1e6ed3eb70 CLEANUP: Define the tooltip text as constexpr 2024-11-22 14:32:35 -06:00
Dave Corley
44d5939572 FEAT(InstanceMode): Add a tooltip for InstanceMode in the same style as that of PathgridMode 2024-11-22 04:24:33 -06:00
Dave Corley
fb9b191027 CLEANUP(instancemode): Always drop everything the same way 2024-11-22 04:24:30 -06:00
Dave Corley
0fea0868ed CLEANUP(values.hpp): Unbind camera speed mode (later rebind to wheel?) 2024-11-22 04:23:55 -06:00
psi29a
cf3badb8a4 Merge branch 'data_files_menu' into 'master'
Implement a context menu for data directories page

Closes #8130

See merge request OpenMW/openmw!4458
2024-11-21 11:52:16 +00:00
elsid
a550a8af36
Use normalized path for KeyframeManager::get 2024-11-20 21:29:36 +01:00
Andrei Kortunov
bd59247270 Avoid trailing line breaks 2024-11-20 09:04:22 +04:00
Alexei Kotov
17203c5071 Merge branch 'forceunequip' into 'master'
Force stop weapon animation before unequipping

Closes #8230

See merge request OpenMW/openmw!4460
2024-11-19 22:49:40 +00:00
Andrei Kortunov
f0543c5500 Implement a context menu for data directories page (feature 8130) 2024-11-19 14:58:31 +04:00
Alexei Kotov
b57f4881a9 Improve vanilla consistency of weapon animations for non-bipeds (#8223, #8237)
Disable spellcast equip/unequip
Prioritize movement animations over weapon animations
2024-11-19 05:18:59 +03:00
elsid
6cd76fb8a7
Use normalized path for Class::getCorrectedModel 2024-11-18 21:21:34 +01:00
elsid
630e815f66
Forbid to use toNormalized for normalized path 2024-11-18 21:21:33 +01:00
Evil Eye
d3db436c2e Force stop weapon animation before unequipping 2024-11-18 20:07:14 +01:00
Evil Eye
c31c43bed5 Adjust canvas size when switching cells 2024-11-18 17:11:05 +01:00
AnyOldName3
4a911a647d Merge branch 'activewetshoes' into 'master'
Preserve node level data variance when merging objects in the active grid

Closes #8231

See merge request OpenMW/openmw!4456
2024-11-18 14:12:52 +00:00
Evil Eye
fc3a1833ee Use a grid based on computed bounds for interiors
Combine the cell radius (mCellDistance) and diameter (mNumCells)
members into an offset IntRect (mGrid.) The grid is centered on the
player's current cell in exteriors (with each grid square mapping to a
cell.) In interiors, the grid is centered on the cell's computed bounds.
The number of squares remains based on view distance in exteriors, but
can now stretch to encompass arbitrarily large interiors, mostly preventing
the player from walking off the map grid (interiors exceeding their
computed bounds during gameplay still cause issues.)
2024-11-17 21:14:14 +01:00
Evil Eye
326544ade5 Pack LocalMapBase members 2024-11-17 13:47:55 +01:00
psi29a
79dbbceb10 Merge branch 'vfs_normalized_path_20' into 'master'
Use normalized path for correctMeshPath and getLODMeshName (#8138)

See merge request OpenMW/openmw!4455
2024-11-17 12:30:15 +00:00
elsid
22817dd6a1
Use normalized path for correctMeshPath 2024-11-16 12:49:11 +01:00
Evil Eye
0a07b1eb3a Preserve node level data variance when merging objects in the active grid 2024-11-16 11:56:01 +01:00
elsid
36198e9413
Use normalized path for getLODMeshName 2024-11-15 01:05:36 +01:00
Andrei Kortunov
2522fe9517 Remove dead code 2024-11-14 22:16:05 +04:00
Evil Eye
d6e300ba25 Make GetHealthGetRatio return 1 for actors with a max health of 0 2024-11-12 21:29:18 +01:00
Evil Eye
5dbe86e9ee Use the actual callback function instead of mocking it 2024-11-12 17:22:45 +01:00
Pi03k
306982cdd1 Move from qt_wrap_ui to AUTOUIC for opencs
Set opencs target properties in appropriate section
Use forward declaration for Ui::FileDialog

(#7348)
2024-11-10 20:38:14 +01:00
pi03k
18080a83d6 Move from qt_wrap_ui to AUTOUIC for launcher and wizard
(#7348)
2024-11-10 20:38:14 +01:00
psi29a
ac7b54af80 Merge branch 'refnumremapping' into 'master'
Use the right deserializer for unloaded scripts

See merge request OpenMW/openmw!4449
2024-11-10 16:13:07 +00:00
psi29a
f5c457c474 Merge branch 'pageswithattitude' into 'master'
Apply rotation when computing the bounding box of a paged reference

See merge request OpenMW/openmw!4447
2024-11-09 20:14:53 +00:00
Evil Eye
6572122acc Use the right deserializer for unloaded scripts 2024-11-09 13:05:39 +01:00
Alexei Kotov
32a6ed6f49 Merge branch 'creaturesstronk' into 'master'
Allow creatures' strength to be edited

See merge request OpenMW/openmw!4448
2024-11-08 20:18:24 +00:00
psi29a
d356fea5b6 Merge branch 'whycantitalkthedoorintoopening' into 'master'
Let AI open moved doors (#7548)

Closes #7548

See merge request OpenMW/openmw!4435
2024-11-07 17:55:40 +00:00
Evil Eye
7bd2f73fe5 Allow creatures' strength to be edited 2024-11-07 17:12:00 +01:00
Evil Eye
79bd6309a5 Apply rotation when computing the bounding box of a paged reference 2024-11-07 16:53:03 +01:00
elsid
afa769408a
Use normalized path for correctActorModelPath 2024-11-03 13:50:17 +01:00
psi29a
3e804042c4 Merge branch 'soitsthesametypeofstandasstarplatinum' into 'master'
Update spell window effect icons if the world is unpaused

See merge request OpenMW/openmw!4439
2024-11-01 13:53:05 +00:00
psi29a
6c52d92832 Merge branch 'ducksinarow' into 'master'
Improve memory alignment of CreatureStats to reduce memory usage

See merge request OpenMW/openmw!4433
2024-11-01 10:23:25 +00:00
psi29a
362eec43be Merge branch 'noblacklisting' into 'master'
Exterminate script blacklisting (#8214)

Closes #8214

See merge request OpenMW/openmw!4440
2024-11-01 10:22:26 +00:00
psi29a
62079499c1 Merge branch 'nowaterculling' into 'master'
Allow opting out of water culling (#7318)

Closes #7318

See merge request OpenMW/openmw!4441
2024-11-01 10:21:45 +00:00
Alexei Kotov
5d37cb3b74 Exterminate script blacklisting (#8214) 2024-10-31 14:59:55 +03:00
Alexei Kotov
4f521a94d7 Allow opting out of water culling (#7318) 2024-10-31 14:54:05 +03:00
Alexei Kotov
fdafdaf599 Update spell icons if the world is unpaused 2024-10-31 11:22:49 +03:00
Alexei Kotov
476abb83d8 Don't enable groundcover for non-default worldspaces (#7692) 2024-10-30 21:23:29 +03:00
psi29a
34b6a9d402 Merge branch 'howdidabdufindthis' into 'master'
Don't assign vertical movement for inert characters out of water (#7968)

Closes #7968

See merge request OpenMW/openmw!4432
2024-10-30 14:21:34 +00:00
jvoisin
540eee9c97 Merge branch 'draganddropdead' into 'master'
Don't update displayed armor rating when there's no player pointer (#8211)

Closes #8211

See merge request OpenMW/openmw!4430
2024-10-30 12:14:15 +00:00
Alexei Kotov
4fdfd6ae91 Let AI open moved doors (#7548) 2024-10-30 12:41:36 +03:00
Evil Eye
ee16dbd2e2 Improve memory alignment of CreatureStats to reduce memory usage 2024-10-29 19:52:12 +01:00
Evil Eye
4c11dcdd7d Merge branch 'display_fix' into 'master'
Improve screen detection for editor's widgets

Closes #8146

See merge request OpenMW/openmw!4364
2024-10-29 16:51:37 +00:00
Alexei Kotov
84aebccbb0 Don't assign vertical movement for inert characters out of water (#7968) 2024-10-29 14:33:05 +03:00
Alexei Kotov
636e5ed08b Don't update displayed armor rating when there's no player pointer (#8211) 2024-10-29 10:44:28 +03:00
psi29a
64fdf72c4c Merge branch 'mfwnotext' into 'master'
Fix #8202 (probably)

Closes #8202

See merge request OpenMW/openmw!4422
2024-10-28 16:19:49 +00:00
psi29a
1dc1bfe543 Merge branch 'launcherimportdefaults' into 'master'
Save/load INI importer flags in the launcher (#8189)

Closes #8189

See merge request OpenMW/openmw!4429
2024-10-28 16:19:28 +00:00
Evil Eye
b288448893 Merge branch 'ulfricstormcloakjarlofwindhelm' into 'master'
Revise storm wind effect on velocity (bug #8206)

Closes #8206

See merge request OpenMW/openmw!4426
2024-10-28 15:33:46 +00:00
Alexei Kotov
a239724316 Revise storm wind effect on velocity (bug #8206) 2024-10-28 13:10:16 +03:00
Alexei Kotov
e78d3e8ac6 Add a lower cap to launcher viewing distance spinbox (#8208) 2024-10-28 13:04:16 +03:00
psi29a
891bb67ac5 Merge branch 'fatiguecrit' into 'master'
Only play critical hit sound for health damage (#8207)

Closes #8207

See merge request OpenMW/openmw!4427
2024-10-28 09:53:58 +00:00
Alexei Kotov
eea916a43d Save/load INI importer flags in the launcher (#8189) 2024-10-27 21:30:23 +03:00
Evil Eye
7bbb1bf05d Merge branch 'loosey-goosey' into 'master'
Store original representation of paths in content lists. Also compare against existing content lists in a more forgiving way.

See merge request OpenMW/openmw!4424
2024-10-27 12:31:41 +00:00
Alexei Kotov
71f6341f30 Only play critical hit sound for health damage (#8207) 2024-10-27 08:17:33 +03:00
Evil Eye
a8710b7b42 Don't modify base records from Lua 2024-10-25 16:35:23 +02:00
psi29a
a11e683a40 Merge branch 'content-lists-could-provide-duplicate-fallback-archives' into 'master'
Gracefully handle content lists that specify duplicate BSAs

Closes #8200

See merge request OpenMW/openmw!4421
2024-10-25 11:08:41 +00:00
AnyOldName3
7640b6bcf4 Typo 2024-10-25 00:32:12 +00:00
AnyOldName3
c2b383ea92 Store original representation of paths in content lists
Also compare against existing content lists in a more forgiving way.

The first improvement makes it possible to use relative paths in openmw.cfg without the launcher canonicalising them.
This was really annoying if you used a relative path on purpose.
It also stops the launcher converting all paths to Qt's convention, where forward slashes are used on Windows even though they're not native.
The engine doesn't care, so you could always put either in the config file, but the launcher wouldn't stand for that, and would make them match.

To make this work, we need to store a path's originalRepresentation in the content list, compare paths loaded from openmw.cfg based on their originalRepresentation, and convert paths from originalRepresentation to absolute value when loading them from a content list.

The second improvement means that paths that are equivalent, but expressed differently (e.g. mismatched case on Windows, mismatched separators on Windows, or mild differences like unnecessary `./`es and doubled separators) don't trigger the creation of a new effectively-identical content list.

To make this work, we had to switch the comparison to lexicaly normalise the path first.
It could only be lexical normalisation as originalRepresentation might be absolute, relative, or absolute-but-based-on-a-path-slug, and we didn't want slugs to break things or relative paths to count as equivalent to absolute ones that refer to the same file.
The comparison is case-insensitive on Windows, and case-sensitive elsewhere.
This isn't strictly right, as you can have case-sensitive things mounted on Windows or tell a Linux directory to be case-insensitive, but we can't tell when that might happen based on a lexical path as it depends on real directory properties (and might differ for different parts of the path, which is too much hassle to support).
2024-10-25 00:49:59 +01:00
psi29a
cd2f261ff5 Merge branch 'case-insensitive-bsa-name' into 'master'
Make the launcher ignore case in bsa names

Closes #8201

See merge request OpenMW/openmw!4418
2024-10-23 22:23:27 +00:00
Alexei Kotov
13cca461f2 Maybe fix #8202 2024-10-23 22:23:28 +03:00
AnyOldName3
0537b53d21 Gracefully handle content lists that specify duplicate BSAs
Previously, if fed bad data, or a content list predated a BSA being moved to a non-user config file, or possibly in other situations (but not any of the obvious ones as those had other guards), the `selectedArchives` list could be longer than the number of archives available due to duplicate entries.

This ensures they're handled like entries specifying no-longer-present archives, and just skips the duplicates.
The same would happen elsewhere in similar situations, but those code paths aren't always taken.
2024-10-22 22:40:16 +01:00
Evil Eye
9395624e5f Write SoundGens after their creatures 2024-10-22 21:25:52 +02:00
Alexei Kotov
1fcbcd5bfa Merge branch 'journalFirst' into 'master'
FIX: Serialize journal records first when saving plugins

See merge request OpenMW/openmw!4405
2024-10-22 01:37:02 +00:00
Evil Eye
ea52a5f4bd Clarify that topics should be written after journals 2024-10-21 19:57:18 +02:00
AnyOldName3
7556ab6f90 Make the launcher ignore case in bsa names 2024-10-21 18:07:13 +01:00
psi29a
cdf7bd74d5 Merge branch 'passivestorage' into 'master'
Activate global storage when setting up the player

See merge request OpenMW/openmw!4413
2024-10-21 11:01:26 +00:00
psi29a
941a6dcf89 Merge branch 'crime-interface' into 'master'
add OFFENSE_TYPE and commitCrime to lua

Closes #8109

See merge request OpenMW/openmw!4319
2024-10-20 09:37:27 +00:00
Calandiel Elende
9248e37156 add OFFENSE_TYPE and commitCrime to lua 2024-10-20 09:37:27 +00:00
psi29a
9325c80244 Merge branch 'userdataplz' into 'master'
Set SavedDataDeserializer on LocalScripts creation

See merge request OpenMW/openmw!4409
2024-10-20 09:36:13 +00:00
psi29a
083381526f Merge branch 'mourningnote' into 'master'
Play region sounds in quasi exteriors

See merge request OpenMW/openmw!4411
2024-10-20 09:35:27 +00:00
psi29a
c60e0539cc Merge branch 'dead_code' into 'master'
Remove dead code

See merge request OpenMW/openmw!4412
2024-10-20 09:34:49 +00:00
psi29a
26af518d67 Merge branch 'vfs_normalized_path_18' into 'master'
Use normalized path in PhysicsSystem (#8138)

See merge request OpenMW/openmw!4410
2024-10-20 09:34:37 +00:00
psi29a
8b3e8676bf Merge branch 'noxt' into 'master'
Remove old dependency on Xt which shouldn't be needed anymore

See merge request OpenMW/openmw!4407
2024-10-20 09:34:16 +00:00
Evil Eye
cee373aea8 Don't trigger onStateChanged until the game is in a running state 2024-10-20 10:50:18 +02:00
Evil Eye
e1046dc715 Tell the LuaManager the game has started before the player can be teleported 2024-10-19 19:15:23 +02:00
Andrei Kortunov
192807609d Remove dead code 2024-10-19 15:03:29 +04:00
Evil Eye
361586d85e Play region sounds in quasi exteriors 2024-10-19 10:43:50 +02:00
Evil Eye
a2fb575678 Set SavedDataDeserializer on LocalScripts creation 2024-10-18 18:25:43 +02:00
elsid
d2ab366233
Use normalized path in PhysicsSystem 2024-10-18 13:45:29 +02:00
Alexey Sokolov
be15db4dfb Remove old dependency on Xt which shouldn't be needed anymore 2024-10-16 14:28:34 +01:00
Andrei Kortunov
aab2f4a5bb Do not disable controllers for melee weapons sheathes (bug 8191) 2024-10-16 17:13:33 +04:00
Dave Corley
dbb29b2391 FIX: Serialize journal records first when saving plugins 2024-10-16 02:01:58 -07:00
Petr Mikheev
bac0018a09 Merge branch 'unloadedcontainers' into 'master'
Fix Lua memory usage

See merge request OpenMW/openmw!4363
2024-10-15 21:18:13 +00:00
Evil Eye
68ebefc2dd Fix Lua memory usage 2024-10-15 21:18:13 +00:00
psi29a
34e32b7392 Merge branch 'thewickedmarkerofthewest' into 'master'
Emulate vanilla closest marker preference (#8187)

Closes #8187

See merge request OpenMW/openmw!4401
2024-10-15 07:43:00 +00:00
psi29a
3e3ff00c72 Merge branch 'dialoguestuff' into 'master'
Improve TESCS dialogue compatibility

Closes #8181

See merge request OpenMW/openmw!4396
2024-10-15 07:42:47 +00:00
Alexei Kotov
77d2f18f83 Emulate vanilla closest marker preference (#8187) 2024-10-14 02:59:56 +03:00
elsid
d1ccb4b804
Use normalized path for groundcover 2024-10-13 13:27:23 +02:00
psi29a
974c0ce158 Merge branch 'vfs_normalized_path_16' into 'master'
Use normalized path in multiple places and fix additional animation sources loading (#8138)

See merge request OpenMW/openmw!4398
2024-10-07 20:02:54 +00:00
psi29a
ef708c9cf0 Merge branch 'consistentcaptioncapitalization' into 'master'
Make OpenMW-CS preferences and OMWMusic lines more stylistically consistent

See merge request OpenMW/openmw!4394
2024-10-07 20:01:27 +00:00
AnyOldName3
6c8055134d Merge branch 'seaofnodesmorelike' into 'master'
Use more sensible types in pathgridutil

Closes #8172

See merge request OpenMW/openmw!4395
2024-10-07 12:23:27 +00:00
elsid
5532bc61c1
Support additional animation sources not only for 2 letter extensions
If extension is not 2 letters length (e.g. not .kf), replacing last 3 last
charaters leads to weird results like:
"meshes/basicplayer.dae" -> "animations/basicplayer./"

According to the doc this should be "animations/basicplayer/".
2024-10-06 16:33:59 +02:00
elsid
a6e075499b
Use normalize path in Animation::addAnimSource to change extension 2024-10-06 16:33:39 +02:00
elsid
7e7cf51ade
Use normalized path in NpcAnimation 2024-10-06 11:32:53 +02:00
elsid
52ab136dd6
Remove redundant reference for ESM::RefId variables 2024-10-06 11:32:53 +02:00
Evil Eye
ffe164b28d Add a test and address feedback 2024-10-06 11:32:24 +02:00
elsid
0665de4c09
Use normalized path for model in ProjectileManager 2024-10-06 11:26:06 +02:00
trav
3d2dd9201d Merge branch openmw:master into handtohand-tooltip 2024-10-05 17:24:17 +00:00
Evil Eye
c9ef03fdd1 Change INFO id generation to not exceed 31 characters 2024-10-03 22:24:08 +02:00
Evil Eye
df757b9e4d Count DIAL and INFO records in the HEDR 2024-10-03 22:23:37 +02:00
Evil Eye
6644a7f27b Use more sensible types in pathgridutil 2024-10-02 21:10:51 +02:00
Alexei Kotov
4dd11d91f3 Editor: Make setting captions stylistically consistent, improve grammar 2024-10-02 19:30:37 +03:00
psi29a
f27030a87c Merge branch 'uipointers' into 'master'
Prevent stale pointers in UI widgets

See merge request OpenMW/openmw!4393
2024-10-02 10:31:19 +00:00
Alexei Kotov
56e200f8ac Merge branch 'ripply-doll' into 'master'
Fix inventory doll when non-compute-shader ripples are used with FFP

See merge request OpenMW/openmw!4390
2024-10-02 08:43:41 +00:00
jvoisin
1bc130332e Merge branch 'catfight' into 'master'
Restore female/beast-specific first person animations (#8179)

Closes #8179

See merge request OpenMW/openmw!4392
2024-09-30 11:21:51 +00:00
Evil Eye
481e63ffa7 Prevent stale pointers in UI widgets 2024-09-29 22:36:31 +02:00
Alexei Kotov
963b7ec742 Unify first/third-person animation choice logic (#8179)
Re-enable first-person female/beast-specific animations
Use dehardcoded argonian swim animation path
2024-09-28 13:30:04 +03:00
Andrei Kortunov
8dc16f0a17 Improve screen detection for editor's widgets 2024-09-28 10:19:30 +04:00
elsid
63e984ba24
Use normalized path in BulletShapeManager 2024-09-27 23:33:58 +02:00
elsid
7a5c478e34
Use normalized path in PreloadItem 2024-09-27 23:33:57 +02:00
elsid
1d98b5c66b
Remove redundant toNormalized 2024-09-27 23:33:57 +02:00
psi29a
cb009db4bb Merge branch 'topicHighlighting' into 'master'
Topic Highlighting Mouse Over Fix

See merge request OpenMW/openmw!4113
2024-09-27 06:36:17 +00:00
psi29a
d1059aee8c Merge branch 'test_ptr' into 'master'
Add tests for MWWorld::Ptr

See merge request OpenMW/openmw!4344
2024-09-26 07:36:23 +00:00
AnyOldName3
bd8386459a Fix inventory doll when ripple fragment shader path is used
Basically don't abuse OSG as badly. We need to let it know we've bound a shader program so it doesn't assume the FFP is still used, but it doesn't have a built-in way to apply the uniforms when doing so, so we need to do it manually.
2024-09-25 16:14:19 +01:00
AnyOldName3
e7a31373c9 Partially fix inventory doll when non-compute-shader ripples are used with FFP 2024-09-25 01:50:31 +01:00
elsid
b6c1e33da6 Merge branch 'hammerthingstilltheybreak' into 'master'
Don't let the player repair items that are better than new

Closes #8171

See merge request OpenMW/openmw!4381
2024-09-22 18:23:12 +00:00
Evil Eye
772a0b3711 Merge branch 'vfs_normalized_path_14' into 'master'
Use normalized path in multiple places (#8138)

See merge request OpenMW/openmw!4383
2024-09-22 16:38:55 +00:00
Evil Eye
9de501a62c Merge branch 'local_static_init' into 'master'
Properly initialize local static pointers and collections

See merge request OpenMW/openmw!4386
2024-09-22 16:38:49 +00:00
Evil Eye
2546ce2b16 Don't allow items that are better than new to be repaired 2024-09-22 18:24:21 +02:00
AnyOldName3
f817ff01b4 Merge branch 'labelsforeveryone' into 'master'
Editor: Improve Models settings category layout

See merge request OpenMW/openmw!4384
2024-09-21 14:04:36 +00:00
elsid
cd6e49796e
Properly initialize local static pointers and collections
Static variables should be initalized once instead of initializing them with
nullptr and then doing actual initialization behind if condition. Otherwise a
race condition may happen leading to undefined behaviour.
2024-09-21 13:52:43 +02:00
trav5
16a691187c Tooltip for 'Factor Strength into Hand-to-Hand Combat'
Added the game launcher tooltip message for the setting
enabling the factoring of player strength into hand to
hand combat damage
2024-09-21 00:08:59 +02:00
jvoisin
e05b1fabd8 Merge branch 'compile-time' into 'master'
Remove duplicate compile items

See merge request OpenMW/openmw!4380
2024-09-20 13:30:45 +00:00
Jared Davenport
30a37b3fda Remove duplicate compile items 2024-09-20 13:30:44 +00:00
Alexei Kotov
0b1465446d Editor: Improve Models category layout
Increase minimum input field width and give proper labels to string settings
2024-09-20 05:12:38 +03:00
Alexei Kotov
e369ab941e Fix word-wrapping for dialogue topics with changed skin 2024-09-19 04:54:12 +03:00
jvoisin
879c23b4cb Merge branch 'enchantedimsure' into 'master'
Deselect magic item before selecting a spell

Closes #8162

See merge request OpenMW/openmw!4379
2024-09-19 01:50:36 +00:00
elsid
2ef5a8486d
Use normalized path in ObjectPaging::createChunk 2024-09-19 01:05:10 +02:00
elsid
7e453d491a
Remove redundant toNormalized 2024-09-19 00:53:27 +02:00
elsid
5f2582fe68
Use normalized path in SceneManager::checkLoaded 2024-09-19 00:51:17 +02:00
elsid
3475a166e5
Use normalized path for World::spawnEffect 2024-09-19 00:31:16 +02:00
elsid
320d376b95
Remove unused virtual specifier 2024-09-19 00:17:44 +02:00
elsid
8ba4ff9946
Remove redundant bool argument from ActorAnimation::attachMesh 2024-09-19 00:13:41 +02:00
elsid
d7e99f988b
Use normalized path in ActorAnimation::attachMesh 2024-09-19 00:07:36 +02:00
elsid
f1533c215d
Use normalized path in ActorAnimation::attach 2024-09-19 00:03:18 +02:00
Evil Eye
74d699c502 Merge branch 'vfs_normalized_path_13' into 'master'
Use normalized path in ImageManager (#8138)

See merge request OpenMW/openmw!4377
2024-09-18 18:47:27 +00:00
Evil Eye
d9c16328dd Deselect magic item before selecting a spell 2024-09-17 21:16:41 +02:00
elsid
1fd6ac6438
Use normalized path in ImageManager 2024-09-17 00:49:57 +02:00
Alexei Kotov
70187bb5ac niftest: parse BTO, BTR, RDT and PSA files 2024-09-16 23:50:36 +03:00
elsid
b4f77e8bd7
Store Lua script path as VFS normalized 2024-09-15 13:53:20 +02:00
psi29a
96ec3a8125 Merge branch 'testthevfs' into 'master'
Fix vfs bindings and add tests

Closes #8157

See merge request OpenMW/openmw!4371
2024-09-15 08:44:44 +00:00
Evil Eye
2978b32f51 Fix vfs bindings 2024-09-14 10:10:26 +02:00
elsid
d8189a5aa1
Use normalized path in SceneManager 2024-09-13 14:21:49 +02:00
psi29a
b32f68fcd2 Merge branch 'vfs_normalized_path_10' into 'master'
Use normalized path in LuaState (#8138)

See merge request OpenMW/openmw!4365
2024-09-13 08:17:46 +00:00
Dave Corley
2ea9d6ba20 FIX(windowmanagerimp): Don't remove a ui mode twice 2024-09-11 13:37:00 -07:00
AnyOldName3
0f74e0cca8 Merge branch 'add_frame_number' into 'master'
Add frame number to available postprocess uniforms

See merge request OpenMW/openmw!4355
2024-09-10 16:58:27 +00:00
Cody Glassman
b346a4a858 Add frame number to available postprocess uniforms 2024-09-10 16:58:27 +00:00
psi29a
f3dd6d0a42 Merge branch 'whatstatethisstate' into 'master'
Remove references to temporaries and this_state in properties

Closes #8152

See merge request OpenMW/openmw!4360
2024-09-10 06:58:16 +00:00
elsid
32ec92e71c
Use normalized path in LuaState 2024-09-08 11:53:57 +02:00
Cody Glassman
f849b0c90f update render targets during update instead of draw thread -- fixes a bug with <1 size ratios 2024-09-06 09:52:56 -07:00
Evil Eye
a32e006e1c Remove references to temporaries and this_state in properties 2024-09-06 16:57:36 +02:00
psi29a
1e94f53146 Merge branch 'is_starter_spell' into 'master'
Expose starter spells

See merge request OpenMW/openmw!4352
2024-09-06 07:25:09 +00:00
psi29a
8992a9fb8c Merge branch 'master' into 'master'
Navmeshtool as a Library

See merge request OpenMW/openmw!4354
2024-09-06 07:23:22 +00:00
psi29a
46cbee2f21 Merge branch 'input_bindings' into 'master'
Fix input bindings handling (#8115)

Closes #8115

See merge request OpenMW/openmw!4332
2024-09-05 14:52:54 +00:00
Ole Volbracht
e920325073 Build navmeshtool as a library 2024-09-05 16:30:11 +02:00
psi29a
4c28731f6a Merge branch 'optionallightfadeout' into 'master'
Make light attenuation fade optional

See merge request OpenMW/openmw!4267
2024-09-05 07:29:48 +00:00
psi29a
e1875d459a Merge branch 'boost-config-required' into 'master'
Modernise Boost CMake stuff

Closes #8100

See merge request OpenMW/openmw!4307
2024-09-04 19:04:57 +00:00
psi29a
b3677d07fd Merge branch 'pcallallthethings' into 'master'
Wrap all memory allocating Lua functions in protected calls

Closes #8099

See merge request OpenMW/openmw!4336
2024-09-04 07:22:26 +00:00
psi29a
da0e2e7f57 Merge branch 'fix_warning' into 'master'
Fix clang warning: -Wunused-but-set-variable

See merge request OpenMW/openmw!4353
2024-09-03 16:13:12 +00:00
psi29a
89976a9424 Merge branch 'vfs_normalized_path_9' into 'master'
Use normalized path for models settings (#8138)

See merge request OpenMW/openmw!4348
2024-09-02 07:26:53 +00:00
Mehdi Yousfi-Monod
767d7bfecd fixed indent 2024-09-01 15:36:53 +02:00
Mehdi Yousfi-Monod
cb2a8c74dd FEAT: Expose starter spells 2024-09-01 15:26:58 +02:00
elsid
262b31cf08
Fix clang warning: -Wunused-but-set-variable
apps/openmw/mwmechanics/spellcasting.cpp:45:13: warning: variable 'index' set but not used [-Wunused-but-set-variable]
   45 |         int index = -1;
      |             ^
2024-09-01 15:04:18 +02:00
elsid
9e36b3fc0b
Use normalized path for models settings 2024-08-30 20:50:59 +02:00
elsid
e01861140e
Add tests for MWWorld::Ptr 2024-08-30 20:46:56 +02:00
elsid
1cdbbef7ee
Use blank CellRef as default
Default constructed CellRef has some fields uninitialized.
2024-08-30 20:46:56 +02:00
elsid
d998faec1b
Deregister only registered LiveCellRefBase 2024-08-30 20:46:56 +02:00
elsid
4565152b3d
Define LiveCellRefBase functions inside MWWorld namespace block 2024-08-30 20:46:56 +02:00
elsid
ca8869042b
Move LiveCellRef where possible 2024-08-30 20:46:55 +02:00
Andrei Kortunov
b620b9b239 Do not make redundant copies 2024-08-30 17:27:40 +04:00
psi29a
f456978cc3 Merge branch 'blueshift' into 'master'
Launcher: Support extended selection for directories

See merge request OpenMW/openmw!4346
2024-08-30 10:23:08 +00:00
Alexei Kotov
176dec45a7 Make light attenuation fade optional
This also makes Force Per Pixel Lighting caption shorter to provide more space for the new button
2024-08-30 10:03:37 +03:00
Alexei Kotov
073e4639bf Launcher: Support extended selection for directories 2024-08-29 04:18:07 +03:00
Alexei Kotov
f393c40cbd Launcher: Fix Insert Above behavior when the directory is added automatically 2024-08-29 03:54:26 +03:00
Evil Eye
5711a395af Merge branch 'bolt-is-not-a-static' into 'master'
[Lua] rename boltStatic to bolt in magic effect record bindings.

See merge request OpenMW/openmw!4342
2024-08-27 15:57:32 +00:00
psi29a
24a0e42594 Merge branch 'fargothsayshello' into 'master'
Don't turn to face the player to say hello if there is no hello response

Closes #8132

See merge request OpenMW/openmw!4339
2024-08-27 15:38:25 +00:00
Mads Buvik Sandvei
f7f282fc48 bolt is not a static 2024-08-26 13:28:29 +02:00
Dave Corley
daf82d40b9 FIX(CSVRender::Object): Clamp scale edits in render window too 2024-08-25 10:23:04 -07:00
Evil Eye
1f5c314022 Don't turn to face the player to say hello if there is no hello response 2024-08-25 11:48:14 +02:00
psi29a
50465a3cf2 Merge branch 'alternatingrowcolors' into 'master'
Launcher: Alternate row colors in directory and archive list

See merge request OpenMW/openmw!4338
2024-08-25 07:42:43 +00:00
Evil Eye
032d506aa7 Fix components_tests 2024-08-24 09:10:23 +02:00
Evil Eye
4529af9b7f Fix the tests 2024-08-23 22:40:39 +02:00
AnyOldName3
387b63909b Remove vestigial Boost libraries
Boost::zlib is basically part of Boost::iostreams, and depending on how you configure Boost, it can either be a separate library or get embedded into iostreams.
With the third-party-but-linked-on-Boost's-website package we've been using for years, it's a separate library.
Before https://gitlab.com/OpenMW/openmw/-/merge_requests/4307, we needed to explicitly link with it as CMake wasn't handling transitive dependencies for us.
With vcpkg, it's embedded, and doesn't have its own CMake config, so we couldn't explicitly link with it even if we wanted to.

Now CMake *is* handling transitive dependencies for us, we don't even need to think about this library.
It's all automatic.

Boost::locale, on the other hand, used to be something we used directly (I think for doing UTF-16/UTF-8 conversions when dealing with Windows paths).
However, it isn't anymore, and we just didn't purge it from our CMake when we should have.
It can go.
2024-08-23 14:06:13 +01:00
AnyOldName3
26be98966f Modernise Boost CMake stuff
Resolves https://gitlab.com/OpenMW/openmw/-/issues/8100

Also removes some old crud.
Hopefully the old crud is all:
* Handled automatically by CMake now we're using the modern approach.
* A hack-fix for a problem caused by not using the modern approach.
* Massively outdated so no longer necessary.

If it turns out this makes CI fail, I'll tweak things as necessary.

Changes that might not be wanted include:
* Getting rid of our BOOST_STATIC CMake option. In cases where the CMake config doesn't make the one correct choice from the build environment (i.e. because there's a choice) the CMake config exposes the option already.
  However, we were forcing this on for Windows, so that might matter.
  It seems to default to static on my machine even though I thought I read something suggesting otherwise, so we'll see how things go with that.
  If we eventually put CMake in charge of installing dependency DLLs this will be a moot point as we won't need to care.
* Bumping the minimum version of Boost to 1.70.0, as that's the first with working CMake config.
  It's from 2019, so plausibly there are distros too scared to use a library from five years ago as it can't legally drink in the US (although it could in limited quantities with parental supervision in the UK, as long as it's just something inconsequential like a single sip of beer).
2024-08-23 14:06:13 +01:00
Alexei Kotov
3a9e6de6fd Alternate row colors in directory and archive list 2024-08-23 14:28:26 +03:00
Alexei Kotov
951c440c8b Don't apply normal weapon resistance twice for NPCs (#8124) 2024-08-23 13:41:14 +03:00
Evil Eye
c9783344a0 Wrap all memory allocating Lua functions in protected calls 2024-08-22 22:22:28 +02:00
elsid
ca2bacd47a
Revert "Ability to unbind controls in settings menu"
This reverts commit 0836680e36.

To prevent crashes on empty input bindings config.
2024-08-21 00:14:22 +02:00
elsid
6a5bc9f992
Save and rename input bindings file
To reduce the chance of corrupting the file.
2024-08-20 23:59:44 +02:00
psi29a
527fa053c5 Merge branch 'actions_patchup' into 'master'
Lua Actions patchup

See merge request OpenMW/openmw!4311
2024-08-18 10:02:03 +00:00
uramer
2460b5f4ef Merge branch 'swizzle_bop_boom_bazingle_v2' into 'master'
lua - add swizzling to vector types

See merge request OpenMW/openmw!4304
2024-08-16 13:22:22 +00:00
psi29a
dc9c68f61b Merge branch 'fix_android_openmw' into 'master'
Keep separation between openmw and openmw-lib on Android

See merge request OpenMW/openmw!4221
2024-08-14 19:18:32 +00:00
psi29a
73ee8ccc4e Merge branch 'rewrite-vfx' into 'master'
[Lua] Rewrite addvfx and spawnvfx

See merge request OpenMW/openmw!4314
2024-08-13 12:27:12 +00:00