1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 03:40:14 +00:00

21890 Commits

Author SHA1 Message Date
AnyOldName3
0d547c5438 Resolve merge conflicts from https://gitlab.com/OpenMW/openmw/-/merge_requests/3893 2024-04-08 13:37:36 +01:00
AnyOldName3
47ef2d018f Always set userrole for archive list 2024-03-27 22:25:32 +00:00
AnyOldName3
e735bf67e1 Brace-initialise SettingValue
Clang didn't like it otherwise
2024-03-27 14:04:08 +00:00
AnyOldName3
a98a824f80 Config paths to info log, not verbose 2024-03-27 13:58:36 +00:00
AnyOldName3
59334f694d Don't forget to add path to UserRole 2024-03-26 23:11:54 +00:00
AnyOldName3
0e2f28156d Restore logging of openmw.cfg paths in launcher
Removed here https://gitlab.com/OpenMW/openmw/-/merge_requests/2650/diffs#be09c16519a3f26f4306b920c50e0e4215dffaee_329_328
2024-03-24 23:48:37 +00:00
AnyOldName3
0371791cce Break 2024-03-20 23:12:19 +00:00
AnyOldName3
b15f7857c0 currentDir.value is already canonicalised 2024-03-20 14:34:23 +00:00
AnyOldName3
7f1a6a8187 Fix file that's not used on Windows 2024-03-06 01:37:40 +00:00
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
322a378907 Load correct config files in the wizard 2024-02-28 00:49:15 +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
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.
2024-02-27 01:09:46 +00:00
AnyOldName3
357bf3db61 Load all config files 2024-02-25 14:01:20 +00:00
Evil Eye
595e42ae43 Merge branch 'lua_death_finished' into 'master'
Add a Lua function to check if actor's death is finished

See merge request OpenMW/openmw!3901
2024-02-24 10:31:15 +00:00
psi29a
f307e7acc7 Merge branch 'well-that-was-really-dumb' into 'master'
Actually use the plane distances we just computed

Closes #7844

See merge request OpenMW/openmw!3898
2024-02-23 08:14:55 +00:00
psi29a
717f1c9870 Merge branch 'floatingpoint' into 'master'
CharacterController: rework movement queueing logic (#7835)

Closes #7835

See merge request OpenMW/openmw!3875
2024-02-23 08:14:43 +00:00
psi29a
e4a9e83609 Merge branch 'disable-shadows-properly-properly' into 'master'
Affect correct texture units when disabling shadows for stateset

Closes #7838

See merge request OpenMW/openmw!3891
2024-02-22 18:05:48 +00:00
psi29a
a6c9e63520 Merge branch 'nojumpallowed' into 'master'
Reduce false-positive jumping events (#7833)

Closes #7833

See merge request OpenMW/openmw!3869
2024-02-22 18:05:07 +00:00
Andrei Kortunov
7c4b42ab2a Add a Lua function to check if actor's death is finished 2024-02-22 19:06:15 +04:00
psi29a
99d0fc6f75 Merge branch 'fix_controller_controls_cam' into 'master'
Fix player looking/controls via controller

See merge request OpenMW/openmw!3890
2024-02-22 08:10:01 +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
AnyOldName3
f27564ec78 Actually use the plane distances we just computed
We don't get any of the speedup if we don't do this.

We also forget about any objects nearer the camera than the previous value except the groundcover we're just about to deal with.

Fixes https://gitlab.com/OpenMW/openmw/-/issues/7844
2024-02-22 00:16:41 +00:00
psi29a
7a8b27736e Merge branch 'fix_benchmark_warning' into 'master'
Update google benchmark to 1.8.3 and fix related warnings

See merge request OpenMW/openmw!3877
2024-02-21 10:22:01 +00:00
Alexei Kotov
93bb67a08f Merge branch 'launcher_fixes' into 'master'
Minor launcher improvements

Closes #7843

See merge request OpenMW/openmw!3887
2024-02-21 05:51:27 +00:00
AnyOldName3
535c5e328a Affect correct texture units when disabling shadows for stateset
Knowing which are right required making the function non-static, so the shadow manager had to become a singleton as the results of passing it around to where it's needed were hellish.

I'm seeing a bunch of OpenGL errors when actually using this, so I'll investigate whether they're happening on master.
I'm hesitant to look into it too much, though, as I'm affected by https://gitlab.com/OpenMW/openmw/-/issues/7811, and also have the Windows setting enabled that turns driver timeouts into a BSOD so a kernel dump is collected that I can send to AMD.
2024-02-20 21:02:31 +00:00
Zackhasacat
b4c5a2777a Rename var 2024-02-20 13:20:09 -06:00
Zackhasacat
ccb506385f Fix player looking/controls 2024-02-20 13:07:44 -06:00
Andrei Kortunov
3971abf5e6 Minor launcher improvements (feature 7843) 2024-02-20 14:02:59 +04:00
psi29a
8c8fffc2c6 Merge branch 'fix_shared_library_build' into 'master'
Build fixes related to shared libraries and position independent code

See merge request OpenMW/openmw!3878
2024-02-20 08:47:14 +00:00
Alexei Kotov
15a42f26a7 Merge branch 'fix_distance_spinbox' into 'master'
Fix viewing distance spinbox in the launcher

Closes #7840

See merge request OpenMW/openmw!3882
2024-02-20 08:38:01 +00:00
Alexei Kotov
592081d3cb Merge branch 'addcarry' into 'master'
Add missing lua function types.Item.isCarriable

See merge request OpenMW/openmw!3879
2024-02-20 08:36:46 +00:00
Andrei Kortunov
6f1710dee1 Fix viewing distance spinbox in the launcher (bug 7840) 2024-02-19 16:14:52 +04:00
psi29a
3369184c19 Merge branch 'lesspragmaticpackages' into 'master'
Use decompose to handle AI packages and data

See merge request OpenMW/openmw!3856
2024-02-19 09:59:59 +00:00
Zackhasacat
fed62a8517 Remove unneeded line 2024-02-18 15:58:18 -06:00
Zackhasacat
92242a3d54 Simplify 2024-02-18 13:20:58 -06:00
Zackhasacat
731095831d Add missing function types.Item.isCarriable() 2024-02-18 13:15:56 -06:00
elsid
e9c672b297
Fix build with cmake flag BUILD_SHARED_LIBS=ON
Always build opencs-lib as static library instead of BUILD_SHARED_LIBS deciding
whether it's static or shared library.
2024-02-18 19:35:32 +01:00
elsid
cc9f9b53ba
Convert BsaVersion to enum class 2024-02-18 14:54:51 +01:00
elsid
df077a2524
Simplify and reduce code duplication for BSA archive creation 2024-02-18 14:54:14 +01:00
elsid
da5ab2b2c9
Fix benchmark warning: -Wdeprecated-declarations
/home/elsid/dev/openmw/apps/benchmarks/detournavigator/navmeshtilescache.cpp: In function ‘void {anonymous}::getFromFilledCache(benchmark::State&)’:
/home/elsid/dev/openmw/apps/benchmarks/detournavigator/navmeshtilescache.cpp:186:37: warning: ‘typename std::enable_if<((! std::is_trivially_copyable<_Tp>::value) || (sizeof (Tp) > sizeof (Tp*)))>::type benchmark::DoNotOptimize(const Tp&) [with Tp = DetourNavigator::NavMeshTilesCache::Value; typename std::enable_if<((! std::is_trivially_copyable<_Tp>::value) || (sizeof (Tp) > sizeof (Tp*)))>::type = void]’ is deprecated: The const-ref version of this method can permit undesired compiler optimizations in benchmarks [-Wdeprecated-declarations]
  186 |             benchmark::DoNotOptimize(result);
      |             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
In file included from /home/elsid/dev/openmw/apps/benchmarks/detournavigator/navmeshtilescache.cpp:1:
/home/elsid/dev/benchmark/build/gcc/release/install/include/benchmark/benchmark.h:507:5: note: declared here
  507 |     DoNotOptimize(Tp const& value) {
      |     ^~~~~~~~~~~~~
2024-02-18 14:25:03 +01:00
Alexei Kotov
41d41780a8 CharacterController: rework movement queueing logic (#7835) 2024-02-18 14:01:10 +03:00
psi29a
f9820e2061 Merge branch 'debugdrawdebugged' into 'master'
Try to uncursify debug primitive drawer (#7767)

Closes #7767

See merge request OpenMW/openmw!3852
2024-02-17 18:56:21 +00:00
psi29a
8545fb920e Merge branch '9-ancestral-tenets' into 'master'
Fix(CS): Scale actors according to their race's stats

Closes #7753

See merge request OpenMW/openmw!3714
2024-02-17 11:57:20 +00:00
jvoisin
0db730825d Merge branch 'drainmaximummagicka' into 'master'
Hide magnitude for Fortify Maximum Magicka when requested as well (#7832)

Closes #7832

See merge request OpenMW/openmw!3868
2024-02-16 23:02:52 +00:00
Alexei Kotov
aae74224e8 Prevent swim upward correction from causing false-positive jumping events (#7833) 2024-02-16 14:28:43 +03:00
Alexei Kotov
7873714103 Restore vertical movement reset for various movement states (#7833)
Note getJump already handles incapacitation states (dead/paralyzed/KO)
2024-02-16 13:37:11 +03:00
Alexei Kotov
6e81927d60 Make extra sure to ignore movement input for scripted animations (#7833) 2024-02-16 13:37:11 +03:00
Dave Corley
54f4c69d37 Cleanup(columnimp): Use std::clamp to limit race scaling 2024-02-15 21:25:29 -06:00