1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2026-02-01 16:48:26 +00:00
Commit graph

23967 commits

Author SHA1 Message Date
Telvanni 4Life
8d23662cf2 Implemented setter injection to supply MGEF context to magic effect adapters 2026-01-22 18:30:52 -05:00
Alexei Kotov
dc022d10d4 Merge branch 'Assign-RefIds-to-MagicEffects' into 'master'
Assign StringRefIds to magic effects

See merge request OpenMW/openmw!5064
2026-01-18 01:50:55 +03:00
Alexei Kotov
74387b4694 Merge branch 'omegamap' into 'master'
Don't let alpha enable the local map

See merge request OpenMW/openmw!5109
2026-01-16 23:13:27 +03:00
Alexei Kotov
0902ea33c9 Merge branch 'trueflame' into 'master'
Don't use container listeners to effect UI updates

Closes #8820

See merge request OpenMW/openmw!5068
2026-01-16 09:48:51 +03:00
Evil Eye
22b0386fb5 Don't let alpha enable the local map 2026-01-15 16:34:51 +01:00
Evil Eye
998065618f Deduplicate stats cache usage 2026-01-11 13:34:21 +01:00
Alexei Kotov
acb36cb7c6 Merge branch 'allthatslazyaboutglittering' into 'master'
Copy refdata when copying gold

Closes #8917

See merge request OpenMW/openmw!5087
2026-01-09 19:04:13 +03:00
Alexei Kotov
c0c7ec1c8f Merge branch 'macos_deprecation_fixes' into 'master'
Fix macos deprecation warnings

See merge request OpenMW/openmw!5082
2026-01-09 19:02:17 +03:00
AnyOldName3
bc45d17a56 Merge branch 'unused_var_really' into 'master'
heightfield not used

See merge request OpenMW/openmw!5084
2026-01-09 15:33:47 +00:00
Bret Curtis
0dad5dd4e9 do not do a explicit nullptr check per aon3 request 2026-01-09 12:02:46 +01:00
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
Evil Eye
32f821a1a6 Copy refdata when copying gold 2026-01-08 16:47:20 +01: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
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
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
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
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
Bret Curtis
cf9a5e9bad just nullptr check, no unused for you 2026-01-06 18:29:50 +01:00
SkyHasACat
d79dc925cc Add record creation for container, creature
(squashed)
2026-01-06 19:55:12 +03:00
Bret Curtis
4c0506777e maybe_unused_yes_it_is 2026-01-06 12:41:55 +01:00
Bret Curtis
37bd120075 add version check 2026-01-06 09:50:23 +01:00
Bret Curtis
52b129fe39 fix macos deprecation warnings 2026-01-06 09:50:23 +01: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
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
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
elsid
adcec8fded
Add flag to filter worldspaces processed by navmeshtool 2025-12-26 13:46:46 +01:00
Alexei Kotov
88e15e7246 Merge branch 'fix-lod-bugs' into 'master'
Fix lod bugs

Closes #8884

See merge request OpenMW/openmw!5071
2025-12-26 13:41:41 +03:00
Evil Eye
dbeaa25985 Fix mistakes 2025-12-26 11:40:35 +01:00
Evil Eye
63f5c9777e Fix rebase induced issues 2025-12-26 11:07:31 +01:00
Evil Eye
20ddb848d4 Stop using actor ids in the essimporter and tests 2025-12-26 11:07:31 +01:00
Evil Eye
9cb437c9d3 Remove actor ids 2025-12-26 11:07:30 +01:00
Evil Eye
c4bc040b4b Replace actor ids in magic effects with refnums 2025-12-26 11:07:30 +01:00