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
Evil Eye
5a42db3256
Merge branch 'static_assert' into 'master'
...
Use static_assert for compile time check
See merge request OpenMW/openmw!4637
2025-04-21 08:35:17 +00: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'
...
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 crash if ripple pipeline shaders are unavailable
See merge request OpenMW/openmw!4622
2025-04-17 09:26:12 +00:00
Alexei Kotov
c1c8769742
Merge branch 'clang_tidy_identifier_naming' into 'master'
...
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
Enable identifier naming clang-tidy check (#8424 )
See merge request OpenMW/openmw!4631
2025-04-14 13:39:09 +03:00
Alexei Kotov
271ab2e109
Merge branch 'dont-ask-the-disk-for-things-we-already-know' into 'master'
...
Avoid IO in resolveParentFileIndices
See merge request OpenMW/openmw!4627
2025-04-14 13:11:57 +03:00
Alexei Kotov
583620e607
Merge branch 'patch-1' into 'master'
...
Crimes.lua wrong type for victim aware
See merge request OpenMW/openmw!4623
2025-04-14 09:44:45 +03:00
psi29a
6dd2cac3ec
Merge branch 'better-freeze-catcher' into 'master'
...
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
Improve Windows crash/freeze catcher UX
See merge request OpenMW/openmw!4630
2025-04-13 20:57:12 +00:00
Alexei Kotov
6aed2d8284
Bump Crimes interface version
2025-04-13 14:05:07 +03:00
elsid
84f471ce5c
Enable identifier naming clang-tidy check
2025-04-13 09:59:51 +02:00
AnyOldName3
deb070389f
Improve Windows crash/freeze catcher UX
...
* Change crash log to crash dump in messages.
* Make the freeze catcher popup disappear more quickly when OpenMW thaws - we got a few freeze dumps from after a thaw.
* Improve freeze catcher message - hopefully fewer users think it's a false positive they're expected to put up with and we get future reports sooner.
2025-04-12 18:38:55 +01:00
Alexei Kotov
f7f148a6ca
Merge branch 'fix-debug-config' into 'master'
...
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 Windows Debug build
See merge request OpenMW/openmw!4629
2025-04-12 17:35:03 +03:00
AnyOldName3
a5a6f33578
Manual reformatting that wasn't done automatically on my machine
2025-04-11 17:41:40 +01:00
AnyOldName3
d74a0edb82
Format
2025-04-11 17:37:55 +01:00
AnyOldName3
396cd1c727
Fix Windows Debug build
...
This was a regression from https://gitlab.com/OpenMW/openmw/-/merge_requests/4596
Also move more things into the anonymous namespace because there's not really a reason not to and I had to rearrange things anyway.
2025-04-11 17:33:19 +01:00
AnyOldName3
31fcc5e126
Add test for new ReadersCache functions
2025-04-11 17:30:56 +01:00
AnyOldName3
48572e4c96
Even more elses
2025-04-10 18:32:52 +01:00
AnyOldName3
37dc1a6a76
Remove redundant elses
2025-04-10 16:51:23 +01:00
AnyOldName3
15162a734d
Avoid IO in resolveParentFileIndices
...
In the olden days, we passed it a vector of open ESMReader instances, as they knew the filenames and sizes, so were a convenient source of this knowledge.
When the ReadersCache was introduced as a pool of readers to limit the maximum number of simultaneously open file handles (to avoid going over the OS' limit) it was a poor substitute.
* We iterate over all the earlier readers in order in a double loop, which is the worst case scenario for an LRU pool as once we're past the size limit, we're guaranteed maximum thrashing - the least recently used item is the most likely to be used next, so the worst to evict.
* We didn't want to read any ESM files, just know whether they'd been read and what their sizes were, so didn't want to open a file handle, which the ReadersCache forced us to do.
Obviously, opening lots of file handles isn't fast, and as this was an operation done for each content file which iterated over the file's masters and within that loop iterated over every loaded file, that's O(n^3) complexity in the worst case, and for things like delta plugin merged plugins, they hit the worst case in long load orders.
This resolves the freeze reported as https://gitlab.com/OpenMW/openmw/-/issues/8425 , but there may be other freezes on launch.
2025-04-10 16:16:19 +01:00
psi29a
ea8369eff0
Merge branch 'dont-redraw-the-whole-gui-every-time-we-change-the-tiniest-thing' into 'master'
...
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'
...
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
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'
...
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
Chronolegionnaire
ed62f9b12b
Lua api demands a boolean for victim aware but crimes.lua looks for a number. Which makes scripts that call the crime interface unable to provide a value other than nil for victim aware.
2025-04-06 06:27:40 +00: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'
...
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