Commit Graph

8378 Commits (5d37cb3b74b1e47fef78fdabaedb791091018dc6)

Author SHA1 Message Date
Alexei Kotov 5d37cb3b74 Exterminate script blacklisting (#8214) 2 months ago
Alexei Kotov 964dafd42c Share texture type attributes 2 months ago
psi29a 1349fdb4f2 Merge branch 'serializable_readonly' into 'master'
Support table-valued settings

See merge request OpenMW/openmw!3917
2 months ago
uramer e248ba293a Use sol helpers for metatable keys 2 months ago
Alexei Kotov eea916a43d Save/load INI importer flags in the launcher (#8189) 2 months ago
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
2 months ago
AnyOldName3 31c84e0407 We don't need to capture constexpr stuff 2 months ago
AnyOldName3 7640b6bcf4 Typo 2 months ago
AnyOldName3 b596902329 c a p i t u l a t e
Looks like I forgot to reformat after a typo fix.
2 months ago
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).
2 months ago
AnyOldName3 6330d80b9e Don't expect TangentSpaceGenerator to work without texcoords 2 months ago
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
2 months ago
Evil Eye 6d182dcdae Compare content files and archives case insensitively when matching existing profiles 2 months ago
AnyOldName3 7556ab6f90 Make the launcher ignore case in bsa names 2 months ago
elsid d2ab366233
Use normalized path in PhysicsSystem 2 months ago
Petr Mikheev bac0018a09 Merge branch 'unloadedcontainers' into 'master'
Fix Lua memory usage

See merge request OpenMW/openmw!4363
2 months ago
Evil Eye 68ebefc2dd Fix Lua memory usage 2 months ago
psi29a 3e3ff00c72 Merge branch 'dialoguestuff' into 'master'
Improve TESCS dialogue compatibility

Closes #8181

See merge request OpenMW/openmw!4396
2 months ago
elsid d1ccb4b804
Use normalized path for groundcover 3 months ago
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
3 months ago
Evil Eye ffe164b28d Add a test and address feedback 3 months ago
elsid 6e0eb64538
Use normalized path for glow texture names 3 months ago
Evil Eye 7ce83c6cc8 Ensure NAME is null terminated for TESCS compatibility 3 months ago
Evil Eye 403189c711 Switch between DrawElementsUInt and DrawElementsUShort on demand 3 months ago
Evil Eye 5e16579793 Switch to DrawElementsUInt 3 months ago
Evil Eye 6644a7f27b Use more sensible types in pathgridutil 3 months ago
psi29a f27030a87c Merge branch 'uipointers' into 'master'
Prevent stale pointers in UI widgets

See merge request OpenMW/openmw!4393
3 months ago
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
3 months ago
Evil Eye 481e63ffa7 Prevent stale pointers in UI widgets 3 months ago
elsid 63e984ba24
Use normalized path in BulletShapeManager 3 months ago
psi29a cb009db4bb Merge branch 'topicHighlighting' into 'master'
Topic Highlighting Mouse Over Fix

See merge request OpenMW/openmw!4113
3 months ago
psi29a d1059aee8c Merge branch 'test_ptr' into 'master'
Add tests for MWWorld::Ptr

See merge request OpenMW/openmw!4344
3 months ago
AnyOldName3 95a1183ad3 Fix OpenGL debug groups 3 months ago
Evil Eye 772a0b3711 Merge branch 'vfs_normalized_path_14' into 'master'
Use normalized path in multiple places (#8138)

See merge request OpenMW/openmw!4383
3 months ago
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.
3 months ago
Alexei Kotov 2ab6dd0229 Address my own review concerns
Correct the number of hyphens in documentation
Use the correct settings tag
Simplify color values
3 months ago
elsid 5f2582fe68
Use normalized path in SceneManager::checkLoaded 3 months ago
elsid 28faae69b0
Use normalized path in TextureManager 3 months ago
elsid a78f5182e4
Replace toNormalized by Normalized
fname type cannot be changed because it's part of mygui library interface.
3 months ago
elsid 85edc49f2f
Remove unused argument 3 months ago
elsid 597d1853ee
Use normalized path in ESM LuaScripts 3 months ago
elsid 2ddc77138a
Use normalized path in ESM4 reader 3 months ago
Alexei Kotov 6e70893113 Parse bhkPoseArray 3 months ago
Alexei Kotov 695932d2db Parse BSDistantObjectInstancedNode 3 months ago
Alexei Kotov 7149fbb408 Parse NiPSysRotDampeningCtlr 3 months ago
Evil Eye 74d699c502 Merge branch 'vfs_normalized_path_13' into 'master'
Use normalized path in ImageManager (#8138)

See merge request OpenMW/openmw!4377
3 months ago
elsid 1fd6ac6438
Use normalized path in ImageManager 3 months ago
Alexei Kotov 5f7fa640b0 Parse bhkRagdollTemplate/bhkRagdollTemplateData 3 months ago
elsid b4f77e8bd7
Store Lua script path as VFS normalized 3 months ago
jvoisin f2be4072d9 Merge branch 'fix_build' into 'master'
Fix build with msvc

See merge request OpenMW/openmw!4372
3 months ago