1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-21 07:53:53 +00:00
Commit graph

8373 commits

Author SHA1 Message Date
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
AnyOldName3
31c84e0407 We don't need to capture constexpr stuff 2024-10-25 00:49:46 +00:00
AnyOldName3
7640b6bcf4 Typo 2024-10-25 00:32:12 +00:00
AnyOldName3
b596902329 c a p i t u l a t e
Looks like I forgot to reformat after a typo fix.
2024-10-25 00:53:27 +01: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
AnyOldName3
6330d80b9e Don't expect TangentSpaceGenerator to work without texcoords 2024-10-24 13:36:49 +01:00
Alexei Kotov
e9627e9b0c Merge branch 'cifileprofiles' into 'master'
Compare content files and archives case insensitively when matching existing profiles

See merge request OpenMW/openmw!4419
2024-10-24 03:23:10 +00:00
Evil Eye
6d182dcdae Compare content files and archives case insensitively when matching existing profiles 2024-10-21 19:42:37 +02:00
AnyOldName3
7556ab6f90 Make the launcher ignore case in bsa names 2024-10-21 18:07:13 +01:00
elsid
d2ab366233
Use normalized path in PhysicsSystem 2024-10-18 13:45:29 +02: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
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
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
Evil Eye
ffe164b28d Add a test and address feedback 2024-10-06 11:32:24 +02:00
elsid
6e0eb64538
Use normalized path for glow texture names 2024-10-06 11:19:58 +02:00
Evil Eye
7ce83c6cc8 Ensure NAME is null terminated for TESCS compatibility 2024-10-03 22:22:51 +02:00
Evil Eye
403189c711 Switch between DrawElementsUInt and DrawElementsUShort on demand 2024-10-03 19:05:57 +02:00
Evil Eye
5e16579793 Switch to DrawElementsUInt 2024-10-03 16:32:47 +02:00
Evil Eye
6644a7f27b Use more sensible types in pathgridutil 2024-10-02 21:10:51 +02: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
Evil Eye
481e63ffa7 Prevent stale pointers in UI widgets 2024-09-29 22:36:31 +02:00
elsid
63e984ba24
Use normalized path in BulletShapeManager 2024-09-27 23:33:58 +02:00
psi29a
cb009db4bb Merge branch 'topicHighlighting' into 'master'
Topic Highlighting Mouse Over Fix

See merge request OpenMW/openmw!4113
2024-09-27 06:36:17 +00:00
psi29a
d1059aee8c Merge branch 'test_ptr' into 'master'
Add tests for MWWorld::Ptr

See merge request OpenMW/openmw!4344
2024-09-26 07:36:23 +00:00
AnyOldName3
95a1183ad3 Fix OpenGL debug groups 2024-09-25 16:10:18 +01:00
Evil Eye
772a0b3711 Merge branch 'vfs_normalized_path_14' into 'master'
Use normalized path in multiple places (#8138)

See merge request OpenMW/openmw!4383
2024-09-22 16:38:55 +00:00
elsid
cd6e49796e
Properly initialize local static pointers and collections
Static variables should be initalized once instead of initializing them with
nullptr and then doing actual initialization behind if condition. Otherwise a
race condition may happen leading to undefined behaviour.
2024-09-21 13:52:43 +02:00
Alexei Kotov
2ab6dd0229 Address my own review concerns
Correct the number of hyphens in documentation
Use the correct settings tag
Simplify color values
2024-09-19 04:05:54 +03:00
elsid
5f2582fe68
Use normalized path in SceneManager::checkLoaded 2024-09-19 00:51:17 +02:00
elsid
28faae69b0
Use normalized path in TextureManager 2024-09-19 00:39:43 +02:00
elsid
a78f5182e4
Replace toNormalized by Normalized
fname type cannot be changed because it's part of mygui library interface.
2024-09-18 23:53:20 +02:00
elsid
85edc49f2f
Remove unused argument 2024-09-18 23:53:04 +02:00
elsid
597d1853ee
Use normalized path in ESM LuaScripts 2024-09-18 23:52:44 +02:00
elsid
2ddc77138a
Use normalized path in ESM4 reader 2024-09-18 23:52:20 +02:00
Alexei Kotov
6e70893113 Parse bhkPoseArray 2024-09-18 23:53:33 +03:00
Alexei Kotov
695932d2db Parse BSDistantObjectInstancedNode 2024-09-18 23:53:33 +03:00
Alexei Kotov
7149fbb408 Parse NiPSysRotDampeningCtlr 2024-09-18 22:03:15 +03:00
Evil Eye
74d699c502 Merge branch 'vfs_normalized_path_13' into 'master'
Use normalized path in ImageManager (#8138)

See merge request OpenMW/openmw!4377
2024-09-18 18:47:27 +00:00
elsid
1fd6ac6438
Use normalized path in ImageManager 2024-09-17 00:49:57 +02:00
Alexei Kotov
5f7fa640b0 Parse bhkRagdollTemplate/bhkRagdollTemplateData 2024-09-17 00:26:06 +03:00
elsid
b4f77e8bd7
Store Lua script path as VFS normalized 2024-09-15 13:53:20 +02:00
jvoisin
f2be4072d9 Merge branch 'fix_build' into 'master'
Fix build with msvc

See merge request OpenMW/openmw!4372
2024-09-14 22:43:05 +00:00
elsid
ec6af1ef32
Fix build with msvc
components\resource\cachestats.hpp(23): error C2039: 'string': is not a member of 'std'
2024-09-14 14:05:24 +02:00
elsid
d8189a5aa1
Use normalized path in SceneManager 2024-09-13 14:21:49 +02:00
psi29a
b32f68fcd2 Merge branch 'vfs_normalized_path_10' into 'master'
Use normalized path in LuaState (#8138)

See merge request OpenMW/openmw!4365
2024-09-13 08:17:46 +00:00
Cody Glassman
b346a4a858 Add frame number to available postprocess uniforms 2024-09-10 16:58:27 +00:00
elsid
32ec92e71c
Use normalized path in LuaState 2024-09-08 11:53:57 +02:00