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

23321 commits

Author SHA1 Message Date
Andrew Lanzone
81720892f9 Fix compiler warnings 2025-06-08 00:10:47 -07:00
Andrew Lanzone
be32cbb413 Fix clang format issues 2025-06-07 22:51:29 -07:00
Andy Lanzone
0ca6bc012c
Merge branch 'OpenMW:master' into master 2025-06-07 20:39:57 -07:00
Andrew Lanzone
ea70f2b5c2 Show tooltips in controller mode on spell menus 2025-06-07 00:35:46 -07:00
psi29a
1c242425b0 Merge branch 'finite_number' into 'master'
Reduce code duplication for finite number and add tests

See merge request OpenMW/openmw!4707
2025-06-06 22:14:32 +00:00
Andrew Lanzone
b1989ffdf7 Limit size of inventory menu in controller mode 2025-06-06 00:34:42 -07:00
Andrew Lanzone
b2a5ded929 Fix scrolling list of items to repair or recharge 2025-06-06 00:34:23 -07:00
Andrew Lanzone
dc68f28a40 Disable right stick from panning map if zooming maps is enabled 2025-06-06 00:34:01 -07:00
elsid
267ce1ec9b
Reduce code duplication for finite number 2025-06-06 00:05:07 +02:00
Evil Eye
c05d2d1d38 Restrict openmw.animation to local scripts 2025-06-05 20:15:40 +02:00
Evil Eye
360abd9b90 Render openmw.animation inaccessible in menu scripts 2025-06-05 20:13:36 +02:00
Aussiemon
0d96d71be6 Change World.setGameTimeScale to float 2025-06-04 11:40:53 -06:00
Andrew Lanzone
c35e0d7336 Add menu click sounds to some menus when activated by the controller 2025-06-03 21:57:43 -07:00
Andrew Lanzone
2dfe1ef7b1 Show L1 and R1 buttons next to tabs 2025-06-03 21:23:21 -07:00
Andrew Lanzone
ae676e1d70 Fix not checking bounds in some controller menus 2025-06-03 20:17:53 -07:00
Aussiemon
e2cf80e3a6 Protect more bindings from non-finite numbers 2025-06-03 19:34:10 -06:00
Andrew Lanzone
a824993a60 Fix controller tooltips in magic menu appearing for wrong spell 2025-06-03 08:56:39 -07:00
Andrew Lanzone
a6d03717cb Hide cursor icon when showing controller tooltips 2025-06-03 00:44:45 -07:00
Andrew Lanzone
e50822d1d2 Remember the selected dialog topic when new topics are added to the list 2025-06-02 00:41:09 -07:00
Andrew Lanzone
6da6b9b98f Update controller support for scroll window to use the keybaord for smoother scrolling 2025-06-02 00:17:10 -07:00
Andrew Lanzone
8ae193abe8 Fix issue when selecting an inventory item with the tooltip visible 2025-06-02 00:11:01 -07:00
Andrew Lanzone
21286aa376 Change 'Back' to 'Cancel' in button prompts to match windows 2025-06-01 23:27:49 -07:00
Andy Lanzone
51f9ce890e
Merge branch 'OpenMW:master' into master 2025-06-01 22:57:37 -07:00
Andrew Lanzone
6bb92c0589 Clean up logs 2025-06-01 22:55:21 -07:00
Andrew Lanzone
ea71a0bb4f Make controller selection wrap in inventory or containers 2025-06-01 22:13:58 -07:00
Andrew Lanzone
df237b5f9b Add controller support to quick key menu 2025-06-01 21:34:20 -07:00
Andrew Lanzone
2aa9847b24 Update controller buttons for character creation and level up 2025-06-01 16:27:49 -07:00
Andrew Lanzone
263863f3f2 Fix modals opening above inventory causing it to change size 2025-06-01 16:22:22 -07:00
Alexei Kotov
ecc9e8f5cd Merge branch 'silencedcode' into 'master'
Remove dead code

See merge request OpenMW/openmw!4699
2025-06-01 23:23:35 +03:00
psi29a
79a2735e19 Merge branch 'datachanged' into 'master'
Launcher: Reload cells after a short delay (#8478)

See merge request OpenMW/openmw!4664
2025-06-01 10:47:23 +00:00
Andrew Lanzone
95ed6b51da Allow navigating journal indices with a controller 2025-06-01 01:49:57 -07:00
Andrew Lanzone
63a533cd51 Add controller support to the level up dialog 2025-05-31 20:23:29 -07:00
Andrew Lanzone
e3a9b71bb9 Add helper function for toggling controller focus on lists 2025-05-31 19:43:28 -07:00
Andrew Lanzone
2dc1d8fed7 Add controller support to merchant repair window 2025-05-31 19:24:27 -07:00
Andrew Lanzone
cbe74cdab4 Add controller support to repair and recharge menus 2025-05-31 18:58:30 -07:00
Andrew Lanzone
d3c7904e64 Rename controller help function in item view 2025-05-31 16:34:07 -07:00
Andrew Lanzone
5276d7bab2 Several tweaks to the inventory menu 2025-05-31 16:02:13 -07:00
Andy Lanzone
6185683ca3
Merge branch 'OpenMW:master' into master 2025-05-31 15:29:25 -07:00
Andrew Lanzone
2d532100eb Add controller supoprt to enchanting menu 2025-05-31 15:28:13 -07:00
Andrew Lanzone
40441a065a Add controller support to alcmhemy menu 2025-05-31 11:58:35 -07:00
Evil Eye
4e8a713819 Remove dead code 2025-05-31 15:26:11 +02:00
Andrew Lanzone
d18413f63a Add controller support to spell making window 2025-05-30 01:10:57 -07:00
psi29a
0c6c71f6cb Merge branch 'qprogressbar' into 'master'
Increment some new Qt progress bars the canonical way

See merge request OpenMW/openmw!4698
2025-05-30 07:22:35 +00:00
psi29a
ed03babb08 Merge branch 'consolesearch' into 'master'
Uncursify forward/reverse console search (#8532)

Closes #8532

See merge request OpenMW/openmw!4697
2025-05-30 07:21:26 +00:00
Alexei Kotov
e7976a544a Increment some new Qt progress bars the canonical way 2025-05-29 03:33:03 +03:00
Alexei Kotov
f7a33d24e2 Uncursify forward/reverse console search (#8532)
Correct search start/end calculation, give normal search the memo that the end iterator's meaning changed and fix broken invalid range guards.
2025-05-28 22:11:22 +03:00
Andrew Lanzone
af27e9e5d6 Allow shoulder buttons to jump count slider to either extreme 2025-05-27 22:51:03 -07:00
Andrew Lanzone
451d68461c Add controller support to skill and attribute menus 2025-05-27 22:40:00 -07:00
Alexei Kotov
b0d389319c Merge branch 'layer_desync' into 'master'
Prevent conflicts between UI layer insertions

See merge request OpenMW/openmw!4696
2025-05-27 17:45:11 +03:00
uramer
32169155bb Fix before insert index 2025-05-27 11:56:16 +00:00
Andrew Lanzone
f67aae086a Improve scrolling in list windows and fix a crash in a few menus when no items are selectable 2025-05-26 23:07:20 -07:00
Andrew Lanzone
274434e0d6 Add controller support to travel window 2025-05-26 22:52:10 -07:00
Andrew Lanzone
14b0c9afbe Add controller support to barter window 2025-05-26 21:08:05 -07:00
Aussiemon
d2f1eeff98 Prevent hard freeze when camera receives invalid inputs from Lua 2025-05-26 07:22:10 +00:00
Andrew Lanzone
71fd8b8840 Add controller support to spell buying and training windows 2025-05-25 23:14:13 -07:00
Andrew Lanzone
cd745c7df3 Swap some controller button assignments 2025-05-25 22:51:43 -07:00
Andrew Lanzone
25fa9484d3 Add a default save game name in controller mode 2025-05-25 22:08:43 -07:00
Andrew Lanzone
d6ed416402 Allow pinning map window in controller mode 2025-05-25 16:12:19 -07:00
uramer
fa3e8ea74d Prevent conflicts between UI layer insertions 2025-05-25 12:32:29 +02:00
Andrew Lanzone
d6c23f7664 Add controller support to map's node dialog 2025-05-24 21:28:43 -07:00
Andrew Lanzone
cf26020ed6 Fix several minor issues with controller inventory menus 2025-05-24 20:56:43 -07:00
Andrew Lanzone
3eec24b2a6 Limit the size of controller-focused inventory windows on large screens 2025-05-24 20:08:45 -07:00
Andrew Lanzone
f1c34ea7b1 Add a tab bar above inventory to show active tab and change tabs with mouse 2025-05-24 16:00:13 -07:00
Andrew Lanzone
d759418f01 Add controller support for all four inventory menus 2025-05-24 14:17:41 -07:00
psi29a
8a10de5fed Merge branch 'kaamatan-seminggu-lagi-8165' into 'master'
Remove redundant activate check in `activateBy` #8165

See merge request OpenMW/openmw!4690
2025-05-24 12:35:09 +00:00
Kuyondo
86783e8758 also for creatures 2025-05-23 23:46:42 +08:00
Kuyondo
2df7ded814 respawning npc respawns in origin cell 2025-05-23 18:15:24 +08:00
psi29a
42ca8e31eb Merge branch 'equipunequip' into 'master'
Allow equip attach/detach keys to coincide with the start key

See merge request OpenMW/openmw!4691
2025-05-23 07:26:58 +00:00
Aussiemon
192cf1535b Fix second instance of mPickpocketDetected set after use 2025-05-22 16:10:05 -06:00
Aussiemon
b5aaf4ca30 Fix mPickpocketDetected flag being set after use 2025-05-22 16:03:52 -06:00
Alexei Kotov
e3daff7b17 Support extended selection in the directory picker (#8113) 2025-05-22 15:49:54 +03:00
Alexei Kotov
e8b0ee874f Launcher: Reload cells after a short delay (#8478) 2025-05-22 15:42:56 +03:00
Alexei Kotov
9387f50f77 Allow equip attach/detach keys to coincide with the start key 2025-05-22 04:53:34 +03:00
elsid
0fc22b2b2d
Check selected files existence in the reload cells thread
This reduces UI reponse time.
2025-05-21 22:11:22 +02:00
Kuyondo
30da6dc508 allow activateBy to trigger handlers 2025-05-22 02:45:29 +08:00
Andrew Lanzone
5e3a49ade5 Make right stick scroll dialog history 2025-05-20 22:41:17 -07:00
Andrew Lanzone
ba0a579371 Play correct sound and update button overlay when swapping between menus 2025-05-20 19:32:13 -07:00
Andrew Lanzone
23c733ef94 Use wrap helper function to simplify some controller handler logic 2025-05-20 00:27:14 -07:00
Andrew Lanzone
f03f242e4a Allow controller to select choice text in dialogue 2025-05-20 00:12:34 -07:00
Andrew Lanzone
f36401438f Move wrap function to windowbase so all windows can use it 2025-05-19 23:43:28 -07:00
Andrew Lanzone
0aad0d379a Minimal controller support for dialog window 2025-05-18 22:45:22 -07:00
Andrew Lanzone
a144793753 Fix Y button changing character 2025-05-18 22:45:03 -07:00
Andrew Lanzone
f80d46dc94 Add controller support to count dialog 2025-05-18 15:34:22 -07:00
Andrew Lanzone
f15cc663ae Remove old way of listening for gamepad mouse events 2025-05-18 01:42:11 -07:00
Andrew Lanzone
33a6189f7a Consolidate all gamepad cursor listening in controllermanager 2025-05-18 01:27:38 -07:00
Andrew Lanzone
e01291ec4a Add whole set of button icons 2025-05-17 22:32:03 -07:00
Andrew Lanzone
c0694d3c0e Add overlay showing what controller buttons do 2025-05-16 21:41:28 -07:00
Andrew Lanzone
8c2ecc2a88 Allow LT and RT to toggle between open gui windows 2025-05-15 00:46:02 -07:00
Andrew Lanzone
f055ccf5ba Update item view to allow controller support; test it in Container menu 2025-05-14 02:31:32 -07:00
psi29a
0251b7c820 Merge branch 'uneventful' into 'master'
Don't trigger cell change logic when the player isn't changing cells

Closes #8469

See merge request OpenMW/openmw!4657
2025-05-13 20:30:28 +00:00
Andrew Lanzone
77e17743f7 Only use bumpers to turn pages in books 2025-05-12 22:37:11 -07:00
Andrew Lanzone
65bab3858a Add basic controller support to scrolls 2025-05-12 22:36:28 -07:00
Andrew Lanzone
9a72ecb61c Don't close a book with A 2025-05-12 20:32:59 -07:00
Andrew Lanzone
9aff9cb48e Swap Topics and Quests buttons 2025-05-12 20:31:15 -07:00
Andrew Lanzone
07be682b88 Better controller support for journal; mouse for topic index A-Z 2025-05-12 20:10:13 -07:00
Andrew Lanzone
fa52fea59b Better joystick/mouse coordination in save game diaglog 2025-05-12 20:09:24 -07:00
Andrew Lanzone
a78bdee941 Reset selected button when confirmation dialog is reopened 2025-05-12 20:08:47 -07:00
Andrew Lanzone
4bad7a3074 Update character creation controller support to work better with gamepad mouse mode 2025-05-12 02:20:28 -07:00
Andrew Lanzone
83162477ec Basic controller support for all character creation windows 2025-05-12 01:34:28 -07:00
Andrew Lanzone
c4a87cfe4d Fix selecting saves with mouse controller 2025-05-11 22:59:11 -07:00
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