1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-09-13 18:24:06 +00:00
Commit graph

898 commits

Author SHA1 Message Date
psi29a
0ab79c4370 Merge branch 'formatcomponents' into 'master'
Remove StringUtils::format from components

See merge request OpenMW/openmw!4880
2025-08-31 17:59:35 +00:00
elsid
0f36b7fc97
Fix and enforce parameter naming 2025-08-27 12:45:09 +02:00
Evil Eye
2321086876 Replace StringUtils::format in components/misc 2025-08-24 16:01:17 +02:00
elsid
d84c81a85d
Check if reload cells aborted before cv wait
If mAbortReloadCells is set to true before the first mReloadCellsMutex
lock the loop can become infinite. Unlikely to happen in practice but
theoretically possible.
2025-08-17 12:44:15 +02:00
epochwon
363a6e0aa0 clean up audio page formatting 2025-08-11 08:13:02 +03:00
Evil Eye
60d5e4d30b Merge branch 'local_variable_naming' into 'master'
Fix and enforce local variable naming (#8424)

See merge request OpenMW/openmw!4832
2025-08-06 17:50:33 +00:00
elsid
d121b606b6
Fix and enforce local variable naming 2025-08-05 21:27:48 +02:00
Andrew Lanzone
8e76a0ab06 Merge branch 'master' of https://gitlab.com/OpenMW/openmw 2025-08-04 16:44:12 -07:00
Alexei Kotov
aae81264a2 Merge branch 'skibidi-dop-doppler' into 'master'
Doppler, take two

See merge request OpenMW/openmw!4660
2025-08-04 09:24:50 +03:00
Andy Lanzone
59aba3ae7e Merge branch openmw:master into master 2025-07-31 18:02:10 -07:00
Mads Buvik Sandvei
34eb3d485d [Lua] Partially dehardcode onHit 2025-07-30 20:21:15 +00:00
epochwon
57280eaf9d Update Doppler description + Russian line 2025-07-30 10:28:41 -04:00
Evil Eye
2bce45260c Drop support for Qt5 2025-07-27 10:47:34 +02:00
Andy Lanzone
c015599356 Merge branch openmw:master into master 2025-07-26 00:17:39 -07:00
elsid
28851411a3
Fix and enforce namespace naming 2025-07-20 21:19:16 +02:00
Andy Lanzone
3600a5c716 Merge branch openmw:master into master 2025-07-12 14:13:10 -07:00
Andrei Kortunov
dca83c2500 Add resolution hints to launcher 2025-07-10 10:24:39 +04:00
Andrei Kortunov
a68107712c Do not allow to select a screen resolution in the Windowed Fullscreen mode in the launcher 2025-07-08 22:33:35 +04:00
epochwon
f0e9df4de2 fix launcher ui and lang mess 2025-07-07 01:40:25 -04:00
epochwon
c541cb96cc doppler take 2 2025-07-07 01:37:18 -04:00
Alexei Kotov
38efdd2fd8 Revert "Merge branch 'master' into 'master'"
This reverts merge request !4710
2025-07-05 01:00:26 +03:00
Andrew Lanzone
64284063b3 Merge branch 'master' of https://gitlab.com/OpenMW/openmw 2025-07-04 11:52:31 -07: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
Andy Lanzone
51f9ce890e
Merge branch 'OpenMW:master' into master 2025-06-01 22:57:37 -07: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
Andy Lanzone
6185683ca3
Merge branch 'OpenMW:master' into master 2025-05-31 15:29:25 -07:00
Alexei Kotov
e7976a544a Increment some new Qt progress bars the canonical way 2025-05-29 03:33:03 +03: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
elsid
0fc22b2b2d
Check selected files existence in the reload cells thread
This reduces UI reponse time.
2025-05-21 22:11:22 +02:00
Andy Lanzone
b4e0590a10
Merge branch 'OpenMW:master' into master 2025-05-09 22:57:21 -07: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
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
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
Evil Eye
86426aa87b Open the data directory file picker at the last opened location 2025-03-31 17:11:09 +02:00
Andrei Kortunov
bd59247270 Avoid trailing line breaks 2024-11-20 09:04:22 +04:00
Andrei Kortunov
f0543c5500 Implement a context menu for data directories page (feature 8130) 2024-11-19 14:58:31 +04:00
pi03k
18080a83d6 Move from qt_wrap_ui to AUTOUIC for launcher and wizard
(#7348)
2024-11-10 20:38:14 +01: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
Alexei Kotov
e78d3e8ac6 Add a lower cap to launcher viewing distance spinbox (#8208) 2024-10-28 13:04:16 +03: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
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
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
AnyOldName3
7556ab6f90 Make the launcher ignore case in bsa names 2024-10-21 18:07:13 +01:00