Commit Graph

33837 Commits (a4625ea784d25e7408f480a4ceda4ae21e0bc54e)
 

Author SHA1 Message Date
AnyOldName3 1ae2cc82a1 I do not know how this escaped formatting locally. 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
psi29a 231b5753e4 Merge branch 'launcher_help_version' into 'master'
Open matching version of documentation for Launcher Help

See merge request OpenMW/openmw!3909
10 months ago
psi29a effb4fc383 Merge branch 'whoanotouchy' into 'master'
Properly calculate touch spell hit position (#6156)

Closes #6156

See merge request OpenMW/openmw!3920
10 months ago
psi29a 8efba50fe3 Merge branch 'macos-14-xcode-15' into 'master'
bump macos to macos-14-xcode-15

See merge request OpenMW/openmw!3921
10 months ago
psi29a 9434f52c14 Merge branch 'fix/less-strict-ids' into 'master'
Fix(idvalidator): Allow any printable character in refIds

Closes #7721

See merge request OpenMW/openmw!3896
10 months ago
psi29a e340b06411 Merge branch 'get-glextensions-properly' into 'master'
Get the GLExtensions instance when a context is created

Closes #7351

See merge request OpenMW/openmw!3022
10 months ago
psi29a 61f5a13c02 Merge branch 'check-osg-plugins' into 'master'
Check for dynamic OSG plugins on launch

Closes #7736

See merge request OpenMW/openmw!3748
10 months ago
psi29a 4d52ab372c make the name more like the reality 10 months ago
psi29a fe3189557f bump macos 10 months ago
Alexei Kotov 1f629b1368 Account for Hrnchamd's research in touch effect hit position calculation 10 months ago
Evil Eye cef59e8928 Replace fixed size writeHNT calls with decomposition 10 months ago
Alexei Kotov 828bf3d11a Merge branch 'imperfectoil' into 'master'
Implement auto calculated potion values

Closes #7859

See merge request OpenMW/openmw!3918
10 months ago
Alexei Kotov 7a84f27eeb Properly calculate touch spell hit position (#6156)
Reorganize hit contact logic and remove dead code (distance checks, melee hit contact-relevant stuff)
10 months ago
psi29a d168466034 Merge branch 'raciallybound' into 'master'
Expose races to Lua

See merge request OpenMW/openmw!3863
10 months ago
Evil Eye 958f70736f Implement auto calculated potion values 10 months ago
Evil Eye e54decc830 Remove redundant is_automagicals 10 months ago
psi29a e6f64f5e71 Merge branch 'fullhelp' into 'master'
Move full help text after everything else (#7623)

Closes #7623

See merge request OpenMW/openmw!3907
10 months ago
AnyOldName3 1af59c3a43 Tooltips for data-local and resources/vfs 10 months ago
AnyOldName3 b8cb757ca4 Oopsie 10 months ago
AnyOldName3 9e1334cc09 Resync composing and path openmw.cfg settings with options.cpp 10 months ago
psi29a be1e77c282 Merge branch 'fix-git-commit-updating' into 'master'
Fix git commit updating

See merge request OpenMW/openmw!3911
10 months ago
psi29a 03d5872a55 Merge branch 'drop_on_exit' into 'master'
Add a storage mode to drop section on game exit

See merge request OpenMW/openmw!3905
10 months ago
Evil Eye 0519e1215f Unify the creation of RefId tables 10 months ago
Alexei Kotov 9d5ef10304 Merge branch 'Swimming-in-the-90s' into 'master'
Use correct index for Athletics_SwimOneSecond

See merge request OpenMW/openmw!3913
10 months ago
AnyOldName3 d111b4bbd9 Handle built-in content files in content model
There's also handling for files declared as originating from a lower-priority openmw.cfg, e.g. anything in the local config or any intermediate ones, as they can't be disabled or reordered.
There's no way to mark such files yet, but the logic's the same as built-in files, so everything will be fine once that's set up.
10 months ago
AnyOldName3 322a378907 Load correct config files in the wizard 10 months ago
Alexei Kotov 27b1434f5b Use string_view for full help text 10 months ago
Evil Eye f346295975 Add a number-per-sex type 10 months ago
Evil Eye cd118ee263 Expose races to Lua 10 months ago
Andrei Kortunov 2a4f12b96e Use a new life time API 10 months ago
Andrei Kortunov ddd0945645 Add a storage mode to drop section on game exit 10 months ago
Mads Buvik Sandvei c82c111ee1 Use correct index for Athletics_SwimOneSecond 10 months ago
psi29a b9fc9f0827 Merge branch 'ownership' into 'master'
Lua: Remove legacy ownership documentation

See merge request OpenMW/openmw!3912
10 months ago
psi29a b248d700c7 Merge branch 'add_test_for_move_into' into 'master'
Add morrowind test for moving object into container (#7663)

See merge request OpenMW/openmw!3908
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 7d28788aee data-local is already unquoted when it's read 10 months ago
AnyOldName3 dbdecfe94b Use approved safety comment for path escaping explanation
I thought I'd got this one already
10 months ago
AnyOldName3 90966ecc47 Handle replace= lines properly in the launcher 10 months ago
AnyOldName3 626f438dcc Make builtin.omwscripts actually mandatory
Previously it was quasi-mandatory - lots of things would add it, e.g. when running openmw through the CS, but it could technically be disabled.

Now it's treated like the resources/vfs directory and implicitly added by the engine etc.
10 months ago
Alexei Kotov 46f863a32e Merge branch 'help-i-cant-swim' into 'master'
Fix(editor): Don't save dirty water height values

Closes #7841

See merge request OpenMW/openmw!3881
10 months ago
psi29a 03dab3854c Merge branch 'localization' into 'master'
Russian localization updates

See merge request OpenMW/openmw!3910
10 months ago
psi29a 619ccf7107 Merge branch 'decomposition' into 'master'
Use decompose to remove more instances of pragma pack

See merge request OpenMW/openmw!3906
10 months ago
psi29a f2039b35d0 Merge branch 'vfs_normalized_path_3' into 'master'
Use normalized path for correctSoundPath

See merge request OpenMW/openmw!3903
10 months ago
psi29a 051f3dcd56 Merge branch 'fps_independent_water_ripples' into 'master'
Make water ripples simulation FPS independent (#7687)

Closes #7687

See merge request OpenMW/openmw!3885
10 months ago
Alexei Kotov 98447a1690 Remove legacy ownership documentation 10 months ago
AnyOldName3 bcd54ab1ff Format osgpluginchecker.cpp.in
I formatted the generated file that's part of the VS solution, then diffed it against the input and changed it to match.
10 months ago
AnyOldName3 02ef7ae3cc Give up rearranging the CS 10 months ago
AnyOldName3 93a84b38ac Give git-version its name back 10 months ago
AnyOldName3 42c7fc8e92 Update 2 files
- /components/CMakeLists.txt
- /cmake/GitVersion.cmake
10 months ago