1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-29 09:32:45 +00:00

22712 Commits

Author SHA1 Message Date
Alexei Kotov
e78d3e8ac6 Add a lower cap to launcher viewing distance spinbox (#8208) 2024-10-28 13:04:16 +03:00
psi29a
891bb67ac5 Merge branch 'fatiguecrit' into 'master'
Only play critical hit sound for health damage (#8207)

Closes #8207

See merge request OpenMW/openmw!4427
2024-10-28 09:53:58 +00: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
Alexei Kotov
71f6341f30 Only play critical hit sound for health damage (#8207) 2024-10-27 08:17:33 +03:00
Evil Eye
a8710b7b42 Don't modify base records from Lua 2024-10-25 16:35:23 +02: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
psi29a
cd2f261ff5 Merge branch 'case-insensitive-bsa-name' into 'master'
Make the launcher ignore case in bsa names

Closes #8201

See merge request OpenMW/openmw!4418
2024-10-23 22:23:27 +00: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
Evil Eye
9395624e5f Write SoundGens after their creatures 2024-10-22 21:25:52 +02:00
Alexei Kotov
1fcbcd5bfa Merge branch 'journalFirst' into 'master'
FIX: Serialize journal records first when saving plugins

See merge request OpenMW/openmw!4405
2024-10-22 01:37:02 +00:00
Evil Eye
ea52a5f4bd Clarify that topics should be written after journals 2024-10-21 19:57:18 +02:00
AnyOldName3
7556ab6f90 Make the launcher ignore case in bsa names 2024-10-21 18:07:13 +01:00
psi29a
cdf7bd74d5 Merge branch 'passivestorage' into 'master'
Activate global storage when setting up the player

See merge request OpenMW/openmw!4413
2024-10-21 11:01:26 +00:00
psi29a
941a6dcf89 Merge branch 'crime-interface' into 'master'
add OFFENSE_TYPE and commitCrime to lua

Closes #8109

See merge request OpenMW/openmw!4319
2024-10-20 09:37:27 +00:00
Calandiel Elende
9248e37156 add OFFENSE_TYPE and commitCrime to lua 2024-10-20 09:37:27 +00:00
psi29a
9325c80244 Merge branch 'userdataplz' into 'master'
Set SavedDataDeserializer on LocalScripts creation

See merge request OpenMW/openmw!4409
2024-10-20 09:36:13 +00:00
psi29a
083381526f Merge branch 'mourningnote' into 'master'
Play region sounds in quasi exteriors

See merge request OpenMW/openmw!4411
2024-10-20 09:35:27 +00:00
psi29a
c60e0539cc Merge branch 'dead_code' into 'master'
Remove dead code

See merge request OpenMW/openmw!4412
2024-10-20 09:34:49 +00:00
psi29a
26af518d67 Merge branch 'vfs_normalized_path_18' into 'master'
Use normalized path in PhysicsSystem (#8138)

See merge request OpenMW/openmw!4410
2024-10-20 09:34:37 +00:00
psi29a
8b3e8676bf Merge branch 'noxt' into 'master'
Remove old dependency on Xt which shouldn't be needed anymore

See merge request OpenMW/openmw!4407
2024-10-20 09:34:16 +00:00
Evil Eye
cee373aea8 Don't trigger onStateChanged until the game is in a running state 2024-10-20 10:50:18 +02:00
Evil Eye
e1046dc715 Tell the LuaManager the game has started before the player can be teleported 2024-10-19 19:15:23 +02:00
Andrei Kortunov
192807609d Remove dead code 2024-10-19 15:03:29 +04:00
Evil Eye
361586d85e Play region sounds in quasi exteriors 2024-10-19 10:43:50 +02:00
Evil Eye
a2fb575678 Set SavedDataDeserializer on LocalScripts creation 2024-10-18 18:25:43 +02:00
elsid
d2ab366233
Use normalized path in PhysicsSystem 2024-10-18 13:45:29 +02:00
Alexey Sokolov
be15db4dfb Remove old dependency on Xt which shouldn't be needed anymore 2024-10-16 14:28:34 +01:00
Andrei Kortunov
aab2f4a5bb Do not disable controllers for melee weapons sheathes (bug 8191) 2024-10-16 17:13:33 +04:00
Dave Corley
dbb29b2391 FIX: Serialize journal records first when saving plugins 2024-10-16 02:01:58 -07:00
Petr Mikheev
bac0018a09 Merge branch 'unloadedcontainers' into 'master'
Fix Lua memory usage

See merge request OpenMW/openmw!4363
2024-10-15 21:18:13 +00:00
Evil Eye
68ebefc2dd Fix Lua memory usage 2024-10-15 21:18:13 +00:00
psi29a
34e32b7392 Merge branch 'thewickedmarkerofthewest' into 'master'
Emulate vanilla closest marker preference (#8187)

Closes #8187

See merge request OpenMW/openmw!4401
2024-10-15 07:43:00 +00:00
psi29a
3e3ff00c72 Merge branch 'dialoguestuff' into 'master'
Improve TESCS dialogue compatibility

Closes #8181

See merge request OpenMW/openmw!4396
2024-10-15 07:42:47 +00:00
Alexei Kotov
77d2f18f83 Emulate vanilla closest marker preference (#8187) 2024-10-14 02:59:56 +03:00
elsid
d1ccb4b804
Use normalized path for groundcover 2024-10-13 13:27:23 +02:00
psi29a
974c0ce158 Merge branch 'vfs_normalized_path_16' into 'master'
Use normalized path in multiple places and fix additional animation sources loading (#8138)

See merge request OpenMW/openmw!4398
2024-10-07 20:02:54 +00:00
psi29a
ef708c9cf0 Merge branch 'consistentcaptioncapitalization' into 'master'
Make OpenMW-CS preferences and OMWMusic lines more stylistically consistent

See merge request OpenMW/openmw!4394
2024-10-07 20:01:27 +00:00
AnyOldName3
6c8055134d Merge branch 'seaofnodesmorelike' into 'master'
Use more sensible types in pathgridutil

Closes #8172

See merge request OpenMW/openmw!4395
2024-10-07 12:23:27 +00:00
elsid
5532bc61c1
Support additional animation sources not only for 2 letter extensions
If extension is not 2 letters length (e.g. not .kf), replacing last 3 last
charaters leads to weird results like:
"meshes/basicplayer.dae" -> "animations/basicplayer./"

According to the doc this should be "animations/basicplayer/".
2024-10-06 16:33:59 +02:00
elsid
a6e075499b
Use normalize path in Animation::addAnimSource to change extension 2024-10-06 16:33:39 +02:00
elsid
7e7cf51ade
Use normalized path in NpcAnimation 2024-10-06 11:32:53 +02:00
elsid
52ab136dd6
Remove redundant reference for ESM::RefId variables 2024-10-06 11:32:53 +02:00
Evil Eye
ffe164b28d Add a test and address feedback 2024-10-06 11:32:24 +02:00
elsid
0665de4c09
Use normalized path for model in ProjectileManager 2024-10-06 11:26:06 +02:00
trav
3d2dd9201d Merge branch openmw:master into handtohand-tooltip 2024-10-05 17:24:17 +00:00
Evil Eye
c9ef03fdd1 Change INFO id generation to not exceed 31 characters 2024-10-03 22:24:08 +02:00
Evil Eye
df757b9e4d Count DIAL and INFO records in the HEDR 2024-10-03 22:23:37 +02:00
Evil Eye
6644a7f27b Use more sensible types in pathgridutil 2024-10-02 21:10:51 +02:00