1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-10-26 17:56:39 +00:00
Commit graph

23710 commits

Author SHA1 Message Date
psi29a
b2228de0b7 Merge branch 'pinnedinventory' into 'master'
Restore 0.45.0 pin button visibility conditions (#8437)

Closes #8437

See merge request OpenMW/openmw!4612
2025-07-04 11:05:40 +00:00
psi29a
3d75dec73d Merge branch 'waterwalkingtcl' into 'master'
Don't enable water collision when collision is disabled (#8414)

Closes #8414

See merge request OpenMW/openmw!4600
2025-07-04 11:04:12 +00:00
psi29a
94507567da Merge branch 'conspiracyofsilence' into 'master'
Make powers immune to silence (#8371)

Closes #8371

See merge request OpenMW/openmw!4557
2025-07-04 11:03:40 +00:00
psi29a
9013ed16f0 Merge branch 'reststates' into 'master'
Inform the player about both resting hindrances (#8408)

Closes #8408

See merge request OpenMW/openmw!4598
2025-07-04 11:03:28 +00:00
psi29a
99a6a04c70 Merge branch 'massselect' into 'master'
Support extended selection in the directory picker (#8113)

Closes #8113

See merge request OpenMW/openmw!4669
2025-07-04 11:02:55 +00:00
Andrew Lanzone
8379c31f13 Add option to show controller tooltips by default 2025-07-04 02:40:52 -07:00
Andrew Lanzone
088b2d1bbc Fix GCC warning 2025-07-03 14:47:34 -07:00
Andrew Lanzone
ee33424c20 Prevent controller from dismissing dialog window when there is a choice active 2025-07-03 14:32:13 -07:00
Andrew Lanzone
ffac1cdf3c Remove int casts by using size_t in a few places 2025-07-03 14:20:24 -07:00
Mads Buvik Sandvei
9fe420e562 improve error report when windowId is invalid. 2025-07-03 22:11:21 +02:00
Mads Buvik Sandvei
7f34e52a11 lua interface for window visibility 2025-07-03 22:10:56 +02:00
Andrew Lanzone
6a1f8b3f69 Merge branch openmw:master into master 2025-07-03 19:03:08 +00:00
Andrew Lanzone
5d8c349899 Fix issues with setControllerFocus 2025-07-03 12:01:24 -07:00
Andrew Lanzone
44fb923d7b Keep active quest focused in same journal session 2025-07-03 12:00:55 -07:00
Evil Eye
dbc732231f Allow non-existent techniques to exist 2025-07-03 17:21:50 +02:00
Kuyondo
a6cf359820 update offer player side, next frame update view 2025-07-03 15:13:21 +08:00
psi29a
d40c4855b1 Merge branch 'showVars' into 'master'
Show global script variables in showVars

See merge request OpenMW/openmw!4614
2025-07-03 07:11:23 +00:00
psi29a
ea147d78ed Merge branch 'sortedsaves' into 'master'
Order characters by last save

Closes #8580

See merge request OpenMW/openmw!4730
2025-07-03 07:06:27 +00:00
Evil Eye
206d38f3d7 Fix path handling for files in BSAs 2025-07-03 08:46:23 +02:00
Evil Eye
18ad2db59c Remove unused variable 2025-07-03 07:33:03 +02:00
Alexei Kotov
733dfbb89d Don't assume any scripted item is usable 2025-07-03 08:10:59 +03:00
Alexei Kotov
29177bccb8 Play the item's down sound when an item quick key is assigned 2025-07-03 08:10:59 +03:00
Andrew Lanzone
7cc25d8916 Dialog window improvements: use LB/RB to move up/down by 5; if only one dialog choice, autoselect it. 2025-07-02 22:00:40 -07:00
Alexei Kotov
7cf74c570e Properly disable named exterior destination interior flag 2025-07-03 07:46:09 +03:00
Andrew Lanzone
3767b60512 Fix L1 and R1 buttons not disappearing 2025-07-02 21:35:26 -07:00
Alexei Kotov
00e6e855f1 Don't add non-existent cell travel destinations (#8349) 2025-07-03 07:25:44 +03:00
psi29a
53feb29a5b Merge branch 'landscape-data-bindings' into 'master'
Landscape height and texture bindings for Lua (Revised and Reopened)

See merge request OpenMW/openmw!4724
2025-07-02 21:53:05 +00:00
psi29a
75b4682cd7 Merge branch 'no_null_shader' into 'master'
Fix invalid deletion of shaders during iteration (#7587)

See merge request OpenMW/openmw!4731
2025-07-02 21:45:02 +00:00
psi29a
66befc67d9 Merge branch 'topiclist' into 'master'
Improve topic and magic effect list padding accuracy (#8585)

Closes #8585

See merge request OpenMW/openmw!4580
2025-07-02 21:44:00 +00:00
psi29a
2309aeec70 Merge branch 'suijutsu' into 'master'
Underwater projectile fixes (#7622, #8303)

Closes #7622 and #8303

See merge request OpenMW/openmw!4567
2025-07-02 21:42:00 +00:00
psi29a
6f48a6f1bf Merge branch 'docs_me_not_v2' into 'master'
Docs - begin restructuring docs

See merge request OpenMW/openmw!4720
2025-07-02 21:37:30 +00:00
Sebastian Fieber
f5e24804ce fix format 2025-07-02 20:45:55 +02:00
Evil Eye
7c1dbdd191 Select a fallback character if possible 2025-07-02 20:42:02 +02:00
Evil Eye
c3a5ad4328 Declare operator in MWState namespace 2025-07-02 20:29:38 +02:00
Evil Eye
d756b02d68 Order characters by last save 2025-07-02 20:29:38 +02:00
Kuyondo
2dc0d8abca use << 2025-07-02 23:51:15 +08:00
Sebastian Fieber
e4439806ed land bindings afterwork
- fix include order + style
- cellOrName -> cellOrId
- bump lua api revision to 78
- cellOrId is not optional anymore for getHeightAt
2025-07-02 16:14:03 +02:00
Sebastian Fieber
eb4d3b7224 Reapply "Merge branch 'landscape-data-bindings' into 'master'"
This reverts commit 3ff7dedfd1.
2025-07-02 16:09:06 +02:00
psi29a
4520eb077d Merge branch 'lua_pp_order' into 'master'
lua - add ability to query the currently active shaders

Closes #8285

See merge request OpenMW/openmw!4506
2025-07-02 09:45:00 +00:00
psi29a
cb0b44e0b2 Merge branch 'bounditems' into 'master'
Interrupt bound item effect if equipment failed (#8383)

Closes #8383

See merge request OpenMW/openmw!4572
2025-07-02 09:43:21 +00:00
psi29a
5a292624a5 Merge branch 'add_scripText_to_mwscriptbindings' into 'master'
lua - add mwscript bindings to core (#8320)

Closes #8320

See merge request OpenMW/openmw!4517
2025-07-02 09:42:25 +00:00
psi29a
5c60168b16 Merge branch 'ini-importer-tidying' into 'master'
INI importer tidying

See merge request OpenMW/openmw!4519
2025-07-02 09:40:58 +00:00
Evil Eye
681a95b89f Merge branch 'fix_keyword_highlighting' into 'master'
FIX keyword substring highlighting regression

Closes #8265 and #1047

See merge request OpenMW/openmw!4685
2025-07-02 06:13:26 +00:00
Charles Horn
c948171d5f FIX keyword substring highlighting regression 2025-07-02 06:13:25 +00:00
Alexei Kotov
612411e492 Allow non-actor spell projectiles to fire underwater (#8303) 2025-07-02 08:54:30 +03:00
Alexei Kotov
be13b1d085 Handle instant projectile impact before underwater logic (#7622) 2025-07-02 08:54:30 +03:00
Sebastian Fieber
fa8ba57ab3 add mwscript bindings to core 2025-07-02 00:57:40 +02:00
Andrew Lanzone
e2e8a02a26 Merge branch 'master' of https://gitlab.com/OpenMW/openmw 2025-07-01 12:22:35 -10:00
psi29a
9228f90f46 Merge branch 'RecalcSpellBuyCost' into 'master'
Calculate spell cost when building spell-buying window

Closes #8459

See merge request OpenMW/openmw!4640
2025-07-01 21:38:01 +00:00
psi29a
aa652a20f0 Merge branch 'StackValueAffectsFightTerm' into 'master'
Make item value affect theft observer's fight willingness

Closes #8500

See merge request OpenMW/openmw!4673
2025-07-01 21:37:28 +00:00
Aussiemon
5ba0b3ab52 Make item value affect theft observer's fight willingness 2025-07-01 21:37:27 +00:00
psi29a
149587dda4 Merge branch 'scaledselection' into 'master'
Editor: Account for pixel ratio in instance mode mouse coordinates conversion (#6573)

Closes #6573

See merge request OpenMW/openmw!4587
2025-07-01 21:34:40 +00:00
psi29a
583af381a6 Merge branch 'baseresistance' into 'master'
Ignore resistances for base diseases

Closes #8485

See merge request OpenMW/openmw!4662
2025-07-01 21:32:55 +00:00
psi29a
32f13816f8 Merge branch 'equippedSpellIterationFix' into 'master'
Skip duplicate enchantments on Spell Cycle action

Closes #6039

See merge request OpenMW/openmw!4668
2025-07-01 21:32:20 +00:00
Aussiemon
0a9c3ce96f Skip duplicate enchantments on Spell Cycle action 2025-07-01 21:32:20 +00:00
psi29a
48bc9e5dd2 Merge branch 'updatespellwindowquickkey' into 'master'
Update spell window after selecting spell using quickkey #8436

See merge request OpenMW/openmw!4611
2025-07-01 21:29:30 +00:00
psi29a
47aa0b27ff Merge branch 'FixDoublePickpocketBounty' into 'master'
Prevent second bounty for "closed pickpocket window" when steal is already detected

Closes #8519

See merge request OpenMW/openmw!4694
2025-07-01 21:29:06 +00:00
psi29a
ceac11d6df Merge branch 'sillyphysics' into 'master'
Stop postponing physics for objects that _don't_ have physics

Closes #8432

See merge request OpenMW/openmw!4658
2025-07-01 21:28:48 +00:00
psi29a
aa3e991352 Merge branch 'showmap' into 'master'
Require a non-empty argument in ShowMap (#8466)

Closes #8466

See merge request OpenMW/openmw!4649
2025-07-01 21:28:02 +00:00
psi29a
917b08e05d Merge branch 'MoonPhaseAndVisibilityFixes' into 'master'
Match vanilla moon phases and visibility times

Closes #8375

See merge request OpenMW/openmw!4616
2025-07-01 21:25:36 +00:00
Aussiemon
5ef947e14f Match vanilla moon phases and visibility times 2025-07-01 21:25:36 +00:00
psi29a
a29f4b3ba0 Merge branch 'enchantmentprice' into 'master'
Use the final effect cost to calculate enchantment price (#8340)

Closes #8340

See merge request OpenMW/openmw!4530
2025-07-01 21:23:58 +00:00
psi29a
59eb7b9888 Merge branch 'cattlethief' into 'master'
Fix AI issues with Command spells

Closes #5331

See merge request OpenMW/openmw!4599
2025-07-01 21:18:09 +00:00
psi29a
0a44112dcc Merge branch 'charactername' into 'master'
Revise saved game dialog save info layout (#8313)

Closes #8313

See merge request OpenMW/openmw!4545
2025-07-01 21:17:21 +00:00
psi29a
0d308eae3e Merge branch 'spell____prices' into 'master'
Spell buying window layout tweaks

See merge request OpenMW/openmw!4571
2025-07-01 21:07:03 +00:00
psi29a
48e386bf90 Merge branch 'merchantrepairrepaired' into 'master'
Merchant repair menu layout tweaks

See merge request OpenMW/openmw!4588
2025-07-01 21:06:00 +00:00
psi29a
c9f6bdb6e0 Merge branch '__travel_____' into 'master'
Fix Travel window header alignment

See merge request OpenMW/openmw!4569
2025-07-01 21:04:20 +00:00
Cody Glassman
514174ffc4 allow handles to be fetched for non-dynamic shaders 2025-07-01 14:03:41 -07:00
Cody Glassman
feeb15d1ff use table instead of vector in return type 2025-07-01 14:03:41 -07:00
Cody Glassman
450f587844 lua - add ability to query the currently active shaders 2025-07-01 14:02:48 -07:00
psi29a
33ca7da731 Merge branch 'balmora__________-__________-69gp' into 'master'
Remove excessive spacing between travel destination and price

See merge request OpenMW/openmw!4568
2025-07-01 21:01:26 +00:00
Cody Glassman
2619859786 fix invalid deletion for shaders 2025-07-01 13:58:28 -07:00
psi29a
50f8bc721d Merge branch 'stupidfilters' into 'master'
Bring dialogue filters in line with Morrowind.exe

Closes #8318

See merge request OpenMW/openmw!4525
2025-07-01 20:52:37 +00:00
psi29a
2ffc44c31f Merge branch 'filenameexceptions' into 'master'
Remove file name naming convention check exceptions (#7249)

Closes #7249

See merge request OpenMW/openmw!4551
2025-07-01 20:45:33 +00:00
psi29a
2b0e5c3cc1 Merge branch 'enchantment_exclamationmark' into 'master'
Allow GetSpellEffects to detect enchantments by id

Closes #3769

See merge request OpenMW/openmw!4521
2025-07-01 20:40:08 +00:00
AnyOldName3
5ab73f5ecb t t t t t t t typo fix 2025-07-01 21:24:45 +01:00
psi29a
ac7b3e9de9 Merge branch 'itshappening' into 'master'
Bump us up to 0.50.0

See merge request OpenMW/openmw!4502
2025-07-01 20:23:24 +00:00
psi29a
675146bd8b Merge branch 'sellmesweetlittlecrashes' into 'master'
Clear the window manager before destroying singletons

Closes #8576

See merge request OpenMW/openmw!4727
2025-07-01 11:41:15 +00:00
Evil Eye
2ff497c3e5 Use string_view in CSMPrefs::ShortcutManager 2025-06-29 12:49:22 +02:00
Evil Eye
cbb50c001b Destroy the script manager after the window manager 2025-06-28 11:25:19 +02:00
Andrew Lanzone
88b43cabec Reset controller focus when reopening container and quest menus 2025-06-22 14:47:54 -07:00
Andrew Lanzone
5777a3cc3f Update controller buttons shown for companion window 2025-06-22 14:44:32 -07:00
Evil Eye
a524b3c9b0 Merge branch 'clangcast' into 'master'
Export symbols for openmw binary under Clang (#8039)

Closes #8039

See merge request OpenMW/openmw!4722
2025-06-22 06:17:25 +00:00
Andrew Lanzone
fb5fa6ce18 Fix controller tooltip disappearing because of spurious controller input 2025-06-21 22:04:35 -07:00
Andrew Lanzone
c41f034a23 Scroll the list of topics in controller mode 2025-06-21 21:34:11 -07:00
Alexei Kotov
3ff7dedfd1 Revert "Merge branch 'landscape-data-bindings' into 'master'"
This reverts merge request !4500
2025-06-21 19:03:11 +03:00
Cody Glassman
0589b57a47 Merge branch 'landscape-data-bindings' into 'master'
Landscape height and texture bindings for Lua (Revised)

See merge request OpenMW/openmw!4500
2025-06-21 08:49:38 -07:00
Andrew Lanzone
9380233ab7 Merge branch 'master' of https://gitlab.com/enoznal/openmw 2025-06-20 23:39:03 -07:00
Andrew Lanzone
143c14c556 Merge branch openmw:master into master 2025-06-21 06:38:19 +00:00
Andrew Lanzone
190680a3a9 Replace semi-janky rstick controller bindings with dpad 2025-06-20 23:37:53 -07:00
Andrew Lanzone
2905ed5fb1 Fix controller selection of nested dialog choices 2025-06-20 22:41:39 -07:00
Sebastian Fieber
1ac407f32b fix rebase error 2025-06-19 22:17:26 +02:00
Sebastian Fieber
3207f3a387 clang-format 2025-06-19 22:17:26 +02:00
Sebastian Fieber
732fb4affe inline fillLandData and return empty table instead of throwing 2025-06-19 22:17:26 +02:00
Sebastian Fieber
3e0685e4a6 don't double sample + only allow default worldspace 2025-06-19 22:17:26 +02:00
Sebastian Fieber
effb3de2a7 const 2025-06-19 22:17:26 +02:00
Sebastian Fieber
76e2c77517 check for lcell also 2025-06-19 22:17:26 +02:00
Sebastian Fieber
4ede868ed2 fix typo 2025-06-19 22:17:26 +02:00
Sebastian Fieber
8de0ccc82c remove redundant code 2025-06-19 22:17:26 +02:00
Sebastian Fieber
7c76387ffe no interior cell + make cellOrName mandatory 2025-06-19 22:17:26 +02:00
Sebastian Fieber
5d0986e812 Misc::NotNullPtr<MWWorld::ESMStore> to MWWorld::ESMStore& store 2025-06-19 22:17:26 +02:00
Sebastian Fieber
47453b307a no auto in landbindings.cpp 2025-06-19 22:17:26 +02:00
Sebastian Fieber
f3128f9c7b remove unused include 2025-06-19 22:17:26 +02:00
Sebastian Fieber
8954f45867 fixes for landbindings.cpp 2025-06-19 22:17:26 +02:00
Sebastian Fieber
fc772744d2 don't touch ESMTerrain::Storage 2025-06-19 22:17:26 +02:00
Sebastian Fieber
3d07b63ad8 don't copy store 2025-06-19 22:17:26 +02:00
Sebastian Fieber
940e73a356 landbindings - static to anonymous namespace + use references 2025-06-19 22:17:26 +02:00
Sebastian Fieber
ea02c69186 fix index check + cast to size_t 2025-06-19 22:17:26 +02:00
Sebastian Fieber
4182279f72 deduplication for landbindings.cpp + slight api changes
- remove textureId from return
- return plugin name instead of plugin id
2025-06-19 22:17:26 +02:00
Calandiel
901c6b94a6 remove unnecessary land loading 2025-06-19 22:17:26 +02:00
Calandiel
c711179b8f apply changes requested in the code review 2025-06-19 22:17:26 +02:00
Sebastian Fieber
8917103bf3 put land bindings in a table in openmw.core 2025-06-19 22:17:26 +02:00
Calandiel
336275292e reorder includes 2025-06-19 22:17:26 +02:00
Calandiel
3b962e3fd4 reorder includes 2025-06-19 22:17:26 +02:00
Calandiel
22a0dce4a6 reorder includes 2025-06-19 22:17:26 +02:00
Calandiel
fe68a098ea reorder includes 2025-06-19 22:17:26 +02:00
Sebastian Fieber
1521d5195a add bindings for land textures 2025-06-19 22:17:26 +02:00
Calandiel
283be9f4f0 add docs for the new binding 2025-06-19 22:17:26 +02:00
Calandiel
910690c7e5 expose a terrain height getter 2025-06-19 22:17:26 +02:00
Alexei Kotov
5938ba528f Export symbols for openmw binary under Clang (#8039) 2025-06-19 14:43:10 +03:00
Andrew Lanzone
50e5863749 Use shoulder buttons on wait menu, similar to other slider menus 2025-06-18 19:46:22 -07:00
AnyOldName3
f7b8091117 Add missing semicolon 2025-06-19 00:23:52 +01:00
AnyOldName3
acbc0a9b8f Fix launching other binaries when the CWD is not the binary directory 2025-06-19 00:19:14 +01:00
AnyOldName3
2ce4571c3a Handle paths passed on the command line properly
Fixes https://gitlab.com/OpenMW/openmw/-/issues/8567.

Also maybe horribly breaks lots of things because it removes some insanity from https://gitlab.com/OpenMW/openmw/-/merge_requests/86, which would set the CWD to the local directory just in case any local-relative paths were expressed relatively without the explicit base being the local path.
2025-06-17 00:26:06 +01:00
Cody Glassman
302d92561d docs - begin restructing docs 2025-06-16 15:36:43 -07:00
Andrew Lanzone
0a03403277 Fix closing dialogue when a choice is active; improve scrolling 2025-06-14 13:42:51 -07:00
Andrew Lanzone
8d545a43d5 Scrolll the list of quests in controller mode 2025-06-14 13:14:32 -07:00
Alexei Kotov
e7305e7c97 Merge branch 'colorfullights' into 'master'
Use the Color type for Light colours in Lua

Closes #8558

See merge request OpenMW/openmw!4715
2025-06-14 00:36:45 +03:00
Andrew Lanzone
0502366be9 Merge branch openmw:master into master 2025-06-13 04:44:05 +00:00
Andrew Lanzone
b4ede02cce Move hardcoded strings to i10n 2025-06-12 21:43:01 -07:00
Aussiemon
f085717aef Import ESS kill count / selected spell as RefIDs, handle old INFO records 2025-06-12 23:28:14 +03:00
Evil Eye
be0cbb7277 Use the Color type for Light colours in Lua 2025-06-12 17:17:28 +02:00
Andrew Lanzone
e01b8d372c In controller mode, make focused spell blue to match other menus 2025-06-11 23:16:08 -07:00
Andrew Lanzone
1e3ddee291 Remove default string when creating a potion that won't work 2025-06-10 21:42:51 -07:00
Alexei Kotov
0df8869f59 Cache computed supported directions
Invalidated when animation sources are cleared or added
2025-06-10 12:09:59 +03:00
Andrew Lanzone
47b3674bac Update controller focus to use a message box's default focus if available 2025-06-09 22:03:12 -07:00
Andrew Lanzone
57ae097257 Add controller support to the companion window; also fix giving stacks 2025-06-09 19:23:49 -07:00
Andrew Lanzone
f6b06057fa Fix clang warning 2025-06-08 13:51:09 -07:00
Andrew Lanzone
8094761c3e Fix sign-compare warnings 2025-06-08 02:28:42 -07:00
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
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