1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2026-01-22 02:30:55 +00:00
Commit graph

37208 commits

Author SHA1 Message Date
Telvanni 4Life
c6cc1be347 - Fixed OpenMW-CS incorrectly passing magic effect ids
- Resolved merge conflicts with !4323
- Minor refactor of affectsSkill helper function
- Removed redundant class definition
2026-01-08 14:36:38 -05:00
Telvanni 4Life
9159788c9b Address reviewer feedback and ran clang-format on modified files:
- Changed reverse lookup map constructor for gmsts, names, and ESM::MagicEffectIds to be more generic.
- Changed refIdToIndex to use map instead of array traversal.
- Removed redundant check from refIdToGmstString.
- Removed sMagicEffectNames and associated map. Removed dead code from loadmgef.cpp/hpp.
- Changed return types of magic effect bindings to RefId.
- Reverted ESMStore search to find.
- Changed std::map to std::unordered_map for faster lookups in resistance and weakness functions.
- Changed loadmgef To methods to pass RefId by value.
- Removed StringRefId alias MagicEffectId.
- Changed all effectId arguments in PR to pass-by-value.
- Removed ESM::MagicEffect::refIdToName function.
- Changed effect key type from long to ESM::RefId in OpGetEffect of mwscript.
- Removed superfluous MWWorld::Store<ESM::GameSettings> argument to MagicEffect store's setUp method.
- Removed transformation code from decompose for ENAM and IRDT structs.
- Changed resistance and weakness maps to initialization to use initialization instead of assignment.
- Changed sGmstEffectIds to constexpr array since all parameters are known at compile time.
- Changed getBoundItemsMap to use an unordered_map and have string_view values.
- MagicEffect store definition removed (uses standard template class TypedDynamicStore).
- Fixed bug in calculating sun damage that would have made vampires daywalkers in Mournhold.
- Removed polymorphic EffectKey constructor and added overload to getOrDefault.
- Placed ESM spec IRDT and ENAM structs in anonymous namespace.
- Added exception if attempting to serialize ENAM subrecords with out of bounds index.
- Added include format statements to satisfy Ubuntu CI linker.
2026-01-08 07:44:06 -05:00
Telvanni 4Life
8820c1b08b Cleaned up loadmgef and addressed potential memory corruption issues to string view lifetimes. 2026-01-08 07:40:43 -05:00
Telvanni 4Life
74ebb29dd0 - Used addRecordFunctionBinding in magic effect binding.
- Changed find to search.
- Restored Hyrum's Law use of effect system by Visible Rings.
2026-01-08 07:40:43 -05:00
Telvanni 4Life
495207e2a5 Triune Tests of Strength, Block, and Breathing Water. The ending of the words is ALMSIVI. 2026-01-08 07:40:39 -05:00
Telvanni 4Life
2c76043cf5 - Changed sol magic bindings to use RefIds instead of integer indexes for magic effects.
- Fixed silly namespace oversight causing linker errors.
- Fixed type mismatches occluded by linker errors.
- Fixed unit tests.
2026-01-08 07:40:02 -05:00
Telvanni 4Life
e389a3b343 - Changed OpenMW-CS model to use RefIds and QStrings for magic effects.
- Changed esmtool records to used RefIds for magic effects.
2026-01-08 07:40:02 -05:00
Telvanni 4Life
6ca64fdddd Changed statsextensions internal representations of magic effects to RefId. Interfaces with mwscript remain index-based. 2026-01-08 07:40:02 -05:00
Telvanni 4Life
5839910eea Refactoring mwgui and mwmechanics in openmw-lib. Magic bindings done in a later commit. 2026-01-08 07:40:00 -05:00
Telvanni 4Life
3e586ed693 Changed IRDTstruct (alchemical ingredient magic effects) to use RefIds instead of int for effectId.
Changed various structs (ENAMstruct, EffectKey, SummonKey) to use RefId instead of strict StringRefId to account for null effects.
2026-01-08 07:33:38 -05:00
Telvanni 4Life
c581ab3242 Changed magic effects to use RefIds in activespells, magiceffects, creaturestats, and summoning. 2026-01-08 07:27:11 -05:00
Telvanni 4Life
90fce49d17 Changed MagicEffect from IndexedStore to TypedDynamicStore in ESMStore. 2026-01-08 07:16:37 -05:00
Telvanni 4Life
bf5e7ba3f6 Changed ActiveSpells and ENAM struct to use only RefIds. Serialization still uses indexes for backward compatibility. 2026-01-08 07:16:30 -05:00
Telvanni 4Life
85c15ff643 Changed magic effects to use RefIds in loadmgef 2026-01-08 07:07:52 -05:00
psi29a
f0e31e69dd Merge branch 'refnumhitman' into 'master'
Replace ActorIds with RefNums

Closes #7602

See merge request OpenMW/openmw!4323
2026-01-08 09:23:20 +00:00
Alexei Kotov
4f72fd80cd Merge branch 'master' into 'master'
Yellow changed from `(1 1 0)` to `(1 0.729 0)` in `openmw_hud_energybar.skin.xml`

See merge request OpenMW/openmw!5086
2026-01-08 08:00:29 +03:00
AnyOldName3
8f2c9982ec Merge branch 'long-long-path' into 'master'
Support long paths on Windows

See merge request OpenMW/openmw!5054
2026-01-07 18:46:13 +00:00
AnyOldName3
115ee7a353 c a p i t u l a t e 2026-01-07 15:16:01 +00:00
AnyOldName3
18cc753517 Add comment highlighting known fragile code
We know we can't make the struct bigger as everything caught fire when we gave freeze dumps their own path, and was fixed when we switched to a common directory and just separate filenames.
Switching to wchar_t and stopping using UTF-8 here would cause a similar size increase, so similar problems are to be expected.
2026-01-07 15:12:22 +00:00
AnyOldName3
16efa6e5b5 Support long paths on Windows
Apparently we'd never bothered opting in, despite nearly everything in all out apps being entirely compatible and designed with long paths in mind.

GetModuleFileNameW is a bit awkward as it's just about the only Win32 function that returns the minimum of the buffer size and the string size - nearly everything else returns the full size even if it won't fit, so you can pass it a null pointer and a size of zero, and it'll tell you how much space you need to allocate.

I pretty much just copied the mostly-working long-path-friendly call site in the crash catcher to windowspath.cpp, but I also noticed that if the function failed and returned zero, the original implementation would loop forever, so I fixed that.

There was some code that could be ditched from the catch monitor as \\?\ is a prefix you can use to opt into long paths for a single API call instead of using the manifest to set it everywhere.
2026-01-07 15:12:22 +00:00
AnyOldName3
7d9eee3f33 Merge branch 'gogregistry' into 'master'
Detect the GOG Galaxy version of Morrowind on Windows

See merge request OpenMW/openmw!5041
2026-01-07 15:10:58 +00:00
psi29a
f11b96a905 Merge branch 'registry' into 'master'
Detect Steam installations on Windows and Linux

See merge request OpenMW/openmw!4885
2026-01-07 09:03:16 +00:00
Safebox
e5fcb88fd5 Yellow changed from (1 1 1) to (1 0.729 0) in openmw_hud_energybar.skin.xml 2026-01-06 20:53:32 +00:00
Alexei Kotov
67810b18f0 Merge branch 'new_cont_crea' into 'master'
Add record creation for containers, creatures

Closes #8911

See merge request OpenMW/openmw!4869
2026-01-06 23:45:43 +03:00
Alexei Kotov
a1d013794e Bump Lua API revision 2026-01-06 19:57:45 +03:00
SkyHasACat
d79dc925cc Add record creation for container, creature
(squashed)
2026-01-06 19:55:12 +03:00
Alexei Kotov
80a6d13be5 Merge branch 'patch-1' into 'master'
Adding to documentation that a condition of -1 makes a light source last forever

See merge request OpenMW/openmw!5081
2026-01-06 01:36:32 +03:00
Thunderforge
d76234dbc3 Fixing typo 2026-01-04 22:38:51 +00:00
Thunderforge
ed35a17db4 Adding -1 duration light effect to documentation 2026-01-04 21:21:32 +00:00
Alexei Kotov
9c221edd29 Merge branch 'fixGCCPreProcessScript' into 'master'
Fetch --unshallow in ubuntu_gcc_preprocess.sh

Closes #8900

See merge request OpenMW/openmw!5079
2026-01-04 03:53:08 +03:00
Aussiemon
b043f7267c Extra space 😩 2026-01-02 04:48:54 -07:00
Aussiemon
c123bbad55 Just check both 2026-01-02 04:35:28 -07:00
Aussiemon
9c82709ab3 Check for shallowness before unshallow 2026-01-02 04:18:56 -07:00
Aussiemon
7553a3e89c Fetch --unshallow in ubuntu_gcc_preprocess.sh 2026-01-02 03:07:09 -07:00
jvoisin
2f703ecd3f Merge branch 'weatherreport' into 'master'
Improve high wind speed rain/snow behavior (#8864)

Closes #8864

See merge request OpenMW/openmw!5069
2026-01-01 20:57:53 +00:00
AnyOldName3
76eff59c2c Merge branch 'esmtoolrotation' into 'master'
Improve esmtool destination position/rotation formatting

See merge request OpenMW/openmw!5075
2026-01-01 18:10:25 +00:00
Alexei Kotov
a207b45101 Merge branch 'splitting-headache' into 'master'
Split the Windows build into two, like it was when the time limit was an hour before mid 2022

See merge request OpenMW/openmw!5070
2026-01-01 18:43:16 +03:00
Alexei Kotov
9efef817dc Merge branch 'navmeshtool_worldspaces' into 'master'
Somewhat reduce navmeshtool peak memory usage

See merge request OpenMW/openmw!5076
2025-12-31 00:37:51 +03:00
AnyOldName3
25543090af Get rid of TODO that doesn't need doing 2025-12-30 17:44:44 +00:00
Alexei Kotov
48ee222cac Merge branch 'FixPlayerQuestName' into 'master'
Fix bad document keyword

See merge request OpenMW/openmw!5077
2025-12-29 00:00:22 +03:00
elsid
dff8fa1cd1
Detect disconnected tile groups and report cell refs from there
Cell refs placed at cooridnates far from the rest are potential content
issues.
2025-12-28 13:10:42 +01:00
Evil Eye
d3b4ea0ba7 Only mark valid actor ids for conversion 2025-12-28 11:21:30 +01:00
Evil Eye
72de0c06ba Use getBaseNode to detect if the actor is active 2025-12-27 22:29:32 +01:00
Daisyhasacat
b3bdb3b620 Add change to core 2025-12-27 21:14:43 +00:00
Daisyhasacat
9212b3ddbb Fix bad word 2025-12-27 20:49:00 +00:00
Alexei Kotov
efbdd0cd5e Merge branch 'vfs_normalized_path_26' into 'master'
Use normalized path in SoundManager (#8138)

See merge request OpenMW/openmw!5048
2025-12-27 23:18:02 +03:00
Evil Eye
48b0d48e9a Merge branch 'string_ref_id_count' into 'master'
Report number of StringRefIds to osg stats

See merge request OpenMW/openmw!5072
2025-12-27 16:50:30 +00:00
elsid
1763928548
Use tile coordinates from TileCachedRecastMeshManager to schedule tile generation by navmeshtool
Using a 2D range may consume a lot of memory if there is an object far
from the rest.
2025-12-27 16:18:01 +01:00
elsid
e9468267fc
Process worldspaces sequentially by navmeshtool
Gathering all cells data for all worldspaces may consume a lot memory if
interior cells processing is enabled.
2025-12-27 16:18:01 +01:00
Alexei Kotov
24821b8e85 Improve esmtool destination position/rotation formatting 2025-12-27 01:13:20 +03:00