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
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
Alexei Kotov
4dd11d91f3
Editor: Make setting captions stylistically consistent, improve grammar
2024-10-02 19:30:37 +03:00
psi29a
f27030a87c
Merge branch 'uipointers' into 'master'
...
Prevent stale pointers in UI widgets
See merge request OpenMW/openmw!4393
2024-10-02 10:31:19 +00:00
Alexei Kotov
56e200f8ac
Merge branch 'ripply-doll' into 'master'
...
Fix inventory doll when non-compute-shader ripples are used with FFP
See merge request OpenMW/openmw!4390
2024-10-02 08:43:41 +00:00
jvoisin
1bc130332e
Merge branch 'catfight' into 'master'
...
Restore female/beast-specific first person animations (#8179 )
Closes #8179
See merge request OpenMW/openmw!4392
2024-09-30 11:21:51 +00:00
Evil Eye
481e63ffa7
Prevent stale pointers in UI widgets
2024-09-29 22:36:31 +02:00
Alexei Kotov
963b7ec742
Unify first/third-person animation choice logic ( #8179 )
...
Re-enable first-person female/beast-specific animations
Use dehardcoded argonian swim animation path
2024-09-28 13:30:04 +03:00
elsid
63e984ba24
Use normalized path in BulletShapeManager
2024-09-27 23:33:58 +02:00
elsid
7a5c478e34
Use normalized path in PreloadItem
2024-09-27 23:33:57 +02:00