1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-29 09:45:34 +00:00
Commit graph

806 commits

Author SHA1 Message Date
AnyOldName3
a130ca57a4 Track source of settings
This one's a biggie.

The basic idea's that GameSettings should know:
* what the interpreted value of a setting is, so it can actually be used.
* what the original value the user put in their config was, so it can be put back when the config's saved.
* which path it's processing the openmw.cfg from so relative paths can be resolved correctly.
* whether a setting's a user setting that can be modified, or from one of the other openmw.cfg files that can't necessarily be modified.

This had fairly wide-reaching implications.

The first is that paths are resolved properly in cases where they previously wouldn't have been.
Without this commit, if the launcher saw a relative path in an openmw.cfg, it'd be resolved relative to the process' working directory (which we always set to the binary directory for reasons I won't get into).
That's not what the engine does, so is bad.
It's also not something a user's likely to suspect.
This mess is no longer a problem as paths are resolved correctly when they're loaded instead of on demand when they're used by whatever uses them.

Another problem was that if paths used slugs like ?userconfig? would be written back to openmw.cfg with the slugs replaced, which defeats the object of using the slugs.
This is also fixed.

Tracking which settings are user settings and which are in a non-editable openmw.cfg allows the launcher to grey out rows so they can't be edited (which is sensible as they can't be edited on-disk) while still being aware of content files that are provided by non-user data directories etc.
This is done in a pretty straightforward way for the data directories and fallback-archives, as those bits of UI are basic, but it's more complicated for content files as that uses a nmodel/view approach and has a lot more moving parts.
Thankfully, I'd already implemented that when dealing with builtin.omwscripts, so it just needed wiring up.

One more thing of note is that I made the SettingValue struct storable as a QVariant so it could be attached to the UI widgets as userdata, and then I could just grab the original representation and use it instead of needing any complicated mapping from display value to on-disk value.
2024-03-06 00:36:13 +00:00
AnyOldName3
1af59c3a43 Tooltips for data-local and resources/vfs 2024-02-29 00:48:03 +00:00
AnyOldName3
f476301670 There's no such thing as the global data directory
That's what resources/vfs is for.
2024-02-27 14:11:48 +00:00
AnyOldName3
357bf3db61 Load all config files 2024-02-25 14:01:20 +00:00
psi29a
518f34c869 Merge branch 'bsa_archive' into 'master'
Cleanup and optimize BSA archives code

See merge request OpenMW/openmw!3876
2024-02-22 08:02:12 +00:00
Andrei Kortunov
3971abf5e6 Minor launcher improvements (feature 7843) 2024-02-20 14:02:59 +04:00
Andrei Kortunov
6f1710dee1 Fix viewing distance spinbox in the launcher (bug 7840) 2024-02-19 16:14:52 +04:00
elsid
cc9f9b53ba
Convert BsaVersion to enum class 2024-02-18 14:54:51 +01:00
psi29a
1280345296 Merge branch 'copy_qtbase' into 'master'
Copy qtbase translations

See merge request OpenMW/openmw!3840
2024-02-15 09:26:42 +00:00
Andrei Kortunov
9a7b9572fd Deploy base Qt translations when needed 2024-02-15 09:26:14 +04:00
psi29a
744cd50520 Merge branch 'decoupled-audio' into 'master'
Add option to use camera as sound listener

Closes #5944

See merge request OpenMW/openmw!3836
2024-02-13 09:18:18 +00:00
Epoch
6486f3f2cf Add option to use camera as sound listener 2024-02-13 09:18:18 +00:00
AnyOldName3
3149761c85 Fix grammar for A2C checkbox
An alternative would be *Anti-alias alpha testing*.

The original was wrong because anti-alias is a verb acting on alpha testing, but it treated the whole thing as a noun phrase.
2024-02-11 23:49:18 +00:00
Andrei Kortunov
7e345436f4 Localize Launcher and Wizard 2024-02-01 09:47:25 +04:00
Yury Stepovikov
c90ebcc86b Allow multiselect in the archives tab (#7606) 2024-01-28 21:33:10 +00:00
Andrei Kortunov
a340b49cbc Enhance light settings tweaking 2024-01-16 10:23:13 +04:00
Andrei Kortunov
6cefe2c118 Rework launcher tabs 2024-01-14 14:05:14 +04:00
Yury Stepovikov
52623ddd7d Set MacOS current_path before reading configuration files [#7706] 2024-01-11 00:59:27 +00:00
Evil Eye
672cefd594 Track checked EsmFile pointers instead of full paths 2024-01-09 17:40:14 +01:00
psi29a
a0c0509e3f Merge branch 'rm_unused_apps_includes' into 'master'
Use "" to quote apps/openmw includes and remove unused

See merge request OpenMW/openmw!3727
2024-01-09 08:59:23 +00:00
elsid
067957f57b
Use "" to quote apps/openmw includes and remove unused
Using "" makes clangd to find unused includes which makes it quite easy to
remove them.
2024-01-07 17:57:11 +01:00
Andrei Kortunov
828c40c710 Do not copy due to auto misuse 2024-01-07 18:52:10 +04:00
Andrei Kortunov
7ffb2bc3c4 Use error messages instead of unhandled exceptions 2024-01-03 21:48:25 +04:00
elsid
dc8c979d1a Merge branch 'avoid_duplication' into 'master'
Store generated UI by pointer to avoid redundant processing

See merge request OpenMW/openmw!3680
2023-12-26 09:39:47 +00:00
Andrei Kortunov
1ca2a0ef66 Store generated UI by pointer to avoid redundant processing 2023-12-24 20:35:19 +04:00
Andrei Kortunov
81f7149f42 Use a multiplication sign for custom resolution 2023-12-24 19:00:16 +04:00
Andrei Kortunov
e6690bbcc7 Use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR 2023-12-19 19:58:52 +04:00
Andrei Kortunov
2e041073fc Move *.ui files for different applications to different folders 2023-12-19 15:21:08 +04:00
Andrei Kortunov
ca19f7006c Make hardcoded strings in Launcher and Wizard localizable 2023-12-11 12:02:43 +04:00
Alexei Kotov
53f5e4dd3c Merge branch 'highlight_color' into 'master'
Highlight new items in launcher by text formatting, not by color

See merge request OpenMW/openmw!3625
2023-12-03 20:29:25 +00:00
Evil Eye
8d8e970aba Merge branch 'message_formatting' into 'master'
Do not include formatting spaces to localizable strings

See merge request OpenMW/openmw!3624
2023-12-01 15:36:22 +00:00
Andrei Kortunov
c5b16d1ba2 Do not include formatting spaces to localizable strings 2023-11-30 13:06:50 +04:00
Andrei Kortunov
5e96825e6b Highlight new items in launcher by text formatting, not by color 2023-11-29 11:14:44 +04:00
Andrei Kortunov
623510c073 Use multiplication character in the launcher instead of 'x' 2023-11-28 22:47:27 +04:00
Andrei Kortunov
81a6a7cd2f Rework resolution selection (feature 7709) 2023-11-28 22:22:34 +04:00
Andrei Kortunov
c945735f3b Fix resolution dropdown in the launcher 2023-11-26 19:07:38 +04:00
elsid
f08ab9af56
Use SDL2 generate cmake files to find the package 2023-11-24 15:56:54 +01:00
elsid
8f27178a0b
Use settings values for navigator in the launcher 2023-11-12 16:33:44 +01:00
Alexei Kotov
bdc019647a Merge branch 'figure-skaters' into 'master'
Use accumulated movement when possible

Closes #5062

See merge request OpenMW/openmw!3549
2023-11-07 03:01:56 +00:00
Mads Buvik Sandvei
9c93d907dc Settings page entry for the "player movement ignores animation" setting. 2023-11-02 19:30:51 +01:00
elsid
f4efbcc1c4
Use settings values for Shadows settings 2023-11-02 16:36:44 +01:00
elsid
dcd81d026f
Use settings values for Video settings
* Convert window mode, vsync mode into enums, screenshot type into a struct.
* Add missing doc for screenshot type.
2023-10-27 14:31:23 +02:00
Alexei Kotov
f68bd3ba97 Launcher: Improve directory appending UX and heuristics (bug #7502)
- Recognize more asset directories and omwgame files
- Always let the user append the selected directory
- Automatically pick the user-selected directory if it's the only valid directory
- Add a caption to directory selection dialog, properly handle cancellation
2023-10-22 16:20:19 +03:00
elsid
a84e412a37
Use settings values for Sound settings 2023-10-13 12:58:58 +02:00
elsid
08902371b4
Use settings values for Shaders settings 2023-10-12 20:43:53 +02:00
Petr Mikheev
f260fa006e Show OpenMW version and Lua API revision in documentation. 2023-08-31 20:56:02 +02:00
Alexei Kotov
5e5a25f901 Show BA2 files in the launcher 2023-08-17 02:12:31 +03:00
psi29a
3151452e25 Merge branch 'pandorasbox' into 'master'
Launcher, content selector: support ESM4 files, allow using game files as addon files

See merge request OpenMW/openmw!3219
2023-08-08 08:54:10 +00:00
Andrei Kortunov
d3d7a663c6 Move some objects instead of copying 2023-07-31 20:43:46 +04:00
AnyOldName3
34fcfb63cf Eliminate redundant version checks 2023-07-20 00:43:56 +01:00