Commit Graph

22712 Commits (e78d3e8ac6ad4eb59df9d2256cb222d659fb6cd8)

Author SHA1 Message Date
Alexei Kotov e78d3e8ac6 Add a lower cap to launcher viewing distance spinbox (#8208) 2 months ago
psi29a 891bb67ac5 Merge branch 'fatiguecrit' into 'master'
Only play critical hit sound for health damage (#8207)

Closes #8207

See merge request OpenMW/openmw!4427
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
Alexei Kotov 71f6341f30 Only play critical hit sound for health damage (#8207) 2 months ago
Evil Eye a8710b7b42 Don't modify base records from Lua 2 months ago
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
2 months ago
AnyOldName3 7640b6bcf4 Typo 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
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
2 months ago
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.
2 months ago
Evil Eye 9395624e5f Write SoundGens after their creatures 2 months ago
Alexei Kotov 1fcbcd5bfa Merge branch 'journalFirst' into 'master'
FIX: Serialize journal records first when saving plugins

See merge request OpenMW/openmw!4405
2 months ago
Evil Eye ea52a5f4bd Clarify that topics should be written after journals 2 months ago
AnyOldName3 7556ab6f90 Make the launcher ignore case in bsa names 2 months ago
psi29a cdf7bd74d5 Merge branch 'passivestorage' into 'master'
Activate global storage when setting up the player

See merge request OpenMW/openmw!4413
2 months ago
psi29a 941a6dcf89 Merge branch 'crime-interface' into 'master'
add OFFENSE_TYPE and commitCrime to lua

Closes #8109

See merge request OpenMW/openmw!4319
2 months ago
Calandiel Elende 9248e37156 add OFFENSE_TYPE and commitCrime to lua 2 months ago
psi29a 9325c80244 Merge branch 'userdataplz' into 'master'
Set SavedDataDeserializer on LocalScripts creation

See merge request OpenMW/openmw!4409
2 months ago
psi29a 083381526f Merge branch 'mourningnote' into 'master'
Play region sounds in quasi exteriors

See merge request OpenMW/openmw!4411
2 months ago
psi29a c60e0539cc Merge branch 'dead_code' into 'master'
Remove dead code

See merge request OpenMW/openmw!4412
2 months ago
psi29a 26af518d67 Merge branch 'vfs_normalized_path_18' into 'master'
Use normalized path in PhysicsSystem (#8138)

See merge request OpenMW/openmw!4410
2 months ago
psi29a 8b3e8676bf Merge branch 'noxt' into 'master'
Remove old dependency on Xt which shouldn't be needed anymore

See merge request OpenMW/openmw!4407
2 months ago
Evil Eye cee373aea8 Don't trigger onStateChanged until the game is in a running state 2 months ago
Evil Eye e1046dc715 Tell the LuaManager the game has started before the player can be teleported 2 months ago
Andrei Kortunov 192807609d Remove dead code 2 months ago
Evil Eye 361586d85e Play region sounds in quasi exteriors 2 months ago
Evil Eye a2fb575678 Set SavedDataDeserializer on LocalScripts creation 2 months ago
elsid d2ab366233
Use normalized path in PhysicsSystem 3 months ago
Alexey Sokolov be15db4dfb Remove old dependency on Xt which shouldn't be needed anymore 3 months ago
Andrei Kortunov aab2f4a5bb Do not disable controllers for melee weapons sheathes (bug 8191) 3 months ago
Dave Corley dbb29b2391 FIX: Serialize journal records first when saving plugins 3 months ago
Petr Mikheev bac0018a09 Merge branch 'unloadedcontainers' into 'master'
Fix Lua memory usage

See merge request OpenMW/openmw!4363
3 months ago
Evil Eye 68ebefc2dd Fix Lua memory usage 3 months ago
psi29a 34e32b7392 Merge branch 'thewickedmarkerofthewest' into 'master'
Emulate vanilla closest marker preference (#8187)

Closes #8187

See merge request OpenMW/openmw!4401
3 months ago
psi29a 3e3ff00c72 Merge branch 'dialoguestuff' into 'master'
Improve TESCS dialogue compatibility

Closes #8181

See merge request OpenMW/openmw!4396
3 months ago
Alexei Kotov 77d2f18f83 Emulate vanilla closest marker preference (#8187) 3 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
psi29a ef708c9cf0 Merge branch 'consistentcaptioncapitalization' into 'master'
Make OpenMW-CS preferences and OMWMusic lines more stylistically consistent

See merge request OpenMW/openmw!4394
3 months ago
AnyOldName3 6c8055134d Merge branch 'seaofnodesmorelike' into 'master'
Use more sensible types in pathgridutil

Closes #8172

See merge request OpenMW/openmw!4395
3 months ago
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/".
3 months ago
elsid a6e075499b
Use normalize path in Animation::addAnimSource to change extension 3 months ago
elsid 7e7cf51ade
Use normalized path in NpcAnimation 3 months ago
elsid 52ab136dd6
Remove redundant reference for ESM::RefId variables 3 months ago
Evil Eye ffe164b28d Add a test and address feedback 3 months ago
elsid 0665de4c09
Use normalized path for model in ProjectileManager 3 months ago
trav 3d2dd9201d Merge branch openmw:master into handtohand-tooltip 3 months ago
Evil Eye c9ef03fdd1 Change INFO id generation to not exceed 31 characters 3 months ago
Evil Eye df757b9e4d Count DIAL and INFO records in the HEDR 3 months ago
Evil Eye 6644a7f27b Use more sensible types in pathgridutil 3 months ago