Commit graph

35414 commits

Author SHA1 Message Date
Dave Corley
586467540b FIX: Clarify that ignore field of raycast options types are a list and not a single object 2025-04-10 10:15:31 -07:00
psi29a
ea8369eff0 Merge branch 'dont-redraw-the-whole-gui-every-time-we-change-the-tiniest-thing' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
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
AnyOldName3
894ea4ba62 Don't precompute load order errors after every change
It's much slower than doing it on demand as it only takes a microsecond, but for a really big load order, there are hundreds of thousands of intermediate calls before everything's set up and we can draw the GUI.
2025-04-08 01:19:24 +01:00
AnyOldName3
d6b61f1f54 Sprinkle some const&
QStringView required more fighting as loads of call sites take a const&
2025-04-08 00:34:45 +01:00
AnyOldName3
e779f115ef Exclude directories from containsDataFiles
Also include capo's microoptimisation even though it doesn't make things any faster.
2025-04-07 16:11:27 +01:00
psi29a
428044abe2 Merge branch 'moveoutalready' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
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
psi29a
8a0f513094 Merge branch 'fix_clang_tidy' into 'master'
Some checks are pending
Build and test / Ubuntu (push) Waiting to run
Build and test / MacOS (push) Waiting to run
Build and test / Read .env file and expose it as output (push) Waiting to run
Build and test / Windows (2019) (push) Blocked by required conditions
Build and test / Windows (2022) (push) Blocked by required conditions
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
psi29a
211a5e5bda Merge branch 'lightminimumradius' into 'master'
Give point lights a minimum radius of 16

See merge request OpenMW/openmw!4601
2025-04-06 16:03:35 +00:00
psi29a
2ed14de41f Merge branch 'objectrootless' into 'master'
Account for creatures not having a model in more places

Closes #8439

See merge request OpenMW/openmw!4618
2025-04-06 16:01:50 +00:00
Evil Eye
d826962eaa Don't assume unresolved containers contain no visible items 2025-04-06 11:02:31 +02:00
Evil Eye
962ef91e25 Allow skinned plants to be harvested 2025-04-06 11:01:26 +02:00
AnyOldName3
973282e471 Optimise ContentSelectorModel::ContentModel::item
This saves about 5% of remaining launcher startup time

Not using fileProperty avoids loads of QVariant conversions.
2025-04-06 02:46:31 +01: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
AnyOldName3
1237746549 Be more careful when we tell Qt that data has changed
Unchecking files only changes whether they're checked, and doesn't completely rearrange the table and change the number of elements it has, so we only need to change the check state, not the whole layout.

It's way faster to just query all the data once after setting a content list than it is to query the data for all files between the old and new location of a file when we change any file's location in the load order.
2025-04-06 01:31:05 +01:00
elsid
7254bb74a4
Enable modernize-avoid-bind clang-tidy check 2025-04-05 12:55:18 +02:00
elsid
3af2091b28
Use prefix with dot for clang-analyzer-optin. checks 2025-04-05 12:55:18 +02:00
elsid
621a0a15a3
Disable clang-analyzer-cplusplus.NewDelete clang-tidy check 2025-04-05 12:55:18 +02:00
elsid
c34b0f90d7
Avoid clang-tidy checks duplication 2025-04-05 12:55:17 +02:00
elsid
e098770ba2
Use custom clang-tidy config for extern/ 2025-04-05 12:55:17 +02:00
elsid
7c45a564a1
Fix clang-analyzer-deadcode.DeadStores 2025-04-05 12:55:17 +02:00
elsid
da388c93eb
Remove boost-* clang-tidy checks
There are only:
* https://clang.llvm.org/extra/clang-tidy/checks/boost/use-ranges.html
* https://clang.llvm.org/extra/clang-tidy/checks/boost/use-to-string.html

None of them makes sense in this project.
2025-04-05 12:55:17 +02:00
elsid
d609bd1ab1
Fix clang-tidy header filter 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
Alexei Kotov
3901084cc2 Merge branch 'cmake_minimum_required_macos' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Remove cmake_minimum_required for osx install script

See merge request OpenMW/openmw!4615
2025-04-05 08:54:09 +03:00
Alexei Kotov
065a388632 Allow enchantments to be missing on equipped items 2025-04-05 01:10:41 +03:00
elsid
9a6807f862
Remove cmake_minimum_required for osx install script
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
2025-04-03 23:01:36 +02:00
Alexei Kotov
3523ba564a Merge branch 'non-deprecated-known-folder-api' into 'master'
Some checks failed
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Use non-deprecated known folder API

See merge request OpenMW/openmw!4603
2025-04-02 19:20:21 +03:00
Alexei Kotov
1629ea32f7 Merge branch 'rm_unused' into 'master'
Some checks are pending
Build and test / Ubuntu (push) Waiting to run
Build and test / MacOS (push) Waiting to run
Build and test / Read .env file and expose it as output (push) Waiting to run
Build and test / Windows (2019) (push) Blocked by required conditions
Build and test / Windows (2022) (push) Blocked by required conditions
Remove declaration without definition

See merge request OpenMW/openmw!4607
2025-04-01 23:35:49 +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
Alexei Kotov
11c2fd9e3d Merge branch 'master' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
FIX: Remove outdated instructions for ubuntu installation

See merge request OpenMW/openmw!4605
2025-03-29 02:47:16 +03:00
Dave Corley
b6be7cdd56 CLEANUP: Use apt instead of apt-get 2025-03-28 22:27:30 +00:00
Dave Corley
caef91d261 FIX: Remove outdated instructions for ubuntu installation 2025-03-27 14:55:05 -07:00
psi29a
72aefbf191 Merge branch 'lua_save_load_test' into 'master'
Some checks failed
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Add Lua integration tests for loading and saving

See merge request OpenMW/openmw!4604
2025-03-27 11:05:12 +00: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
psi29a
5f413e7b4d Merge branch 'navigator_debug_mesh' into 'master'
Make navigator debug meshes generation safer

See merge request OpenMW/openmw!4602
2025-03-27 11:04:18 +00:00
elsid
2ebdc43bbe
Add test for load while teleporting
To reproduce #8311.

Load game while landracer is scheduled to teleport from different cell.
2025-03-25 23:41:04 +01:00
elsid
536325e0ba
Add test for saving and loading the game 2025-03-25 23:40:58 +01:00
elsid
cbcd4f6acd
Move matchers to different module 2025-03-25 23:24:24 +01:00
Evil Eye
9570b29a0a Merge branch 'lua_test_menu' into 'master'
Some checks failed
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Run Lua integration tests starting with menu script

See merge request OpenMW/openmw!4556
2025-03-25 16:54:41 +00:00
AnyOldName3
166852254f Use non-deprecated known folder API
SHGetFolderPathW was deprecated in Windows Vista nearly two decades ago. ShGetKnownFolderPath is the replacement.

Also log if there was an error. Someone seemed to be getting an error on Discord, despite other apps being able to get the path just fine with these functions.

Also don't pass the flags to create the folders if they don't exist. We probably don't have the right permissions and if they don't exist, then there are bigger problems. Maybe this will fix the issue the user was having.

Also add a comment about global config on Windows being fundamentally wrong.
2025-03-25 01:32:44 +00:00
Alexei Kotov
f8be5fdd2a Give point lights a minimum radius of 16 2025-03-24 22:14:08 +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
elsid
87a2f776b7
Add version to the recast log prefix 2025-03-23 23:33:39 +01:00