Commit Graph

812 Commits (e735bf67e198fcbfb74ae378b7a2e65d0e9270e9)

Author SHA1 Message Date
AnyOldName3 e735bf67e1 Brace-initialise SettingValue
Clang didn't like it otherwise
9 months ago
AnyOldName3 a98a824f80 Config paths to info log, not verbose 9 months ago
AnyOldName3 59334f694d Don't forget to add path to UserRole 9 months ago
AnyOldName3 0e2f28156d Restore logging of openmw.cfg paths in launcher
Removed here https://gitlab.com/OpenMW/openmw/-/merge_requests/2650/diffs#be09c16519a3f26f4306b920c50e0e4215dffaee_329_328
10 months ago
AnyOldName3 0371791cce Break 10 months ago
AnyOldName3 b15f7857c0 currentDir.value is already canonicalised 10 months ago
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.
10 months ago
AnyOldName3 1af59c3a43 Tooltips for data-local and resources/vfs 10 months ago
AnyOldName3 f476301670 There's no such thing as the global data directory
That's what resources/vfs is for.
10 months ago
AnyOldName3 357bf3db61 Load all config files 10 months ago
psi29a 518f34c869 Merge branch 'bsa_archive' into 'master'
Cleanup and optimize BSA archives code

See merge request OpenMW/openmw!3876
11 months ago
Andrei Kortunov 3971abf5e6 Minor launcher improvements (feature 7843) 11 months ago
Andrei Kortunov 6f1710dee1 Fix viewing distance spinbox in the launcher (bug 7840) 11 months ago
elsid cc9f9b53ba
Convert BsaVersion to enum class 11 months ago
psi29a 1280345296 Merge branch 'copy_qtbase' into 'master'
Copy qtbase translations

See merge request OpenMW/openmw!3840
11 months ago
Andrei Kortunov 9a7b9572fd Deploy base Qt translations when needed 11 months ago
psi29a 744cd50520 Merge branch 'decoupled-audio' into 'master'
Add option to use camera as sound listener

Closes #5944

See merge request OpenMW/openmw!3836
11 months ago
Epoch 6486f3f2cf Add option to use camera as sound listener 11 months ago
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.
11 months ago
Andrei Kortunov 7e345436f4 Localize Launcher and Wizard 11 months ago
Yury Stepovikov c90ebcc86b Allow multiselect in the archives tab (#7606) 11 months ago
Andrei Kortunov a340b49cbc Enhance light settings tweaking 12 months ago
Andrei Kortunov 6cefe2c118 Rework launcher tabs 12 months ago
Yury Stepovikov 52623ddd7d Set MacOS current_path before reading configuration files [#7706] 12 months ago
Evil Eye 672cefd594 Track checked EsmFile pointers instead of full paths 1 year ago
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
1 year ago
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.
1 year ago
Andrei Kortunov 828c40c710 Do not copy due to auto misuse 1 year ago
Andrei Kortunov 7ffb2bc3c4 Use error messages instead of unhandled exceptions 1 year ago
elsid dc8c979d1a Merge branch 'avoid_duplication' into 'master'
Store generated UI by pointer to avoid redundant processing

See merge request OpenMW/openmw!3680
1 year ago
Andrei Kortunov 1ca2a0ef66 Store generated UI by pointer to avoid redundant processing 1 year ago
Andrei Kortunov 81f7149f42 Use a multiplication sign for custom resolution 1 year ago
Andrei Kortunov e6690bbcc7 Use CMAKE_CURRENT_SOURCE_DIR instead of CMAKE_SOURCE_DIR 1 year ago
Andrei Kortunov 2e041073fc Move *.ui files for different applications to different folders 1 year ago
Andrei Kortunov ca19f7006c Make hardcoded strings in Launcher and Wizard localizable 1 year ago
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
1 year ago
Evil Eye 8d8e970aba Merge branch 'message_formatting' into 'master'
Do not include formatting spaces to localizable strings

See merge request OpenMW/openmw!3624
1 year ago
Andrei Kortunov c5b16d1ba2 Do not include formatting spaces to localizable strings 1 year ago
Andrei Kortunov 5e96825e6b Highlight new items in launcher by text formatting, not by color 1 year ago
Andrei Kortunov 623510c073 Use multiplication character in the launcher instead of 'x' 1 year ago
Andrei Kortunov 81a6a7cd2f Rework resolution selection (feature 7709) 1 year ago
Andrei Kortunov c945735f3b Fix resolution dropdown in the launcher 1 year ago
elsid f08ab9af56
Use SDL2 generate cmake files to find the package 1 year ago
elsid 8f27178a0b
Use settings values for navigator in the launcher 1 year ago
Alexei Kotov bdc019647a Merge branch 'figure-skaters' into 'master'
Use accumulated movement when possible

Closes #5062

See merge request OpenMW/openmw!3549
1 year ago
Mads Buvik Sandvei 9c93d907dc Settings page entry for the "player movement ignores animation" setting. 1 year ago
elsid f4efbcc1c4
Use settings values for Shadows settings 1 year ago
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.
1 year ago
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
1 year ago
elsid a84e412a37
Use settings values for Sound settings 1 year ago