1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-12-22 11:23:24 +00:00
Commit graph

37071 commits

Author SHA1 Message Date
elsid
402e1b3096
Fix compilation with -std=23
/usr/include/c++/15.2.1/bits/unique_ptr.h: In instantiation of ‘constexpr std::__detail::__unique_ptr_t<_Tp> std::make_unique(_Args&& ...) [with _Tp = Shader::HotReloadManager; _Args = {}; __detail::__unique_ptr_t<_Tp> = __detail::__unique_ptr_t<Shader::HotReloadManager>]’:
/home/elsid/dev/openmw/components/shader/shadermanager.cpp:83:63:   required from here
   83 |         mHotReloadManager = std::make_unique<HotReloadManager>();
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/c++/15.2.1/bits/unique_ptr.h:1085:30: error: invalid use of incomplete type ‘struct Shader::HotReloadManager’
 1085 |     { return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...)); }
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/shader/shadermanager.hpp:24:12: note: forward declaration of ‘struct Shader::HotReloadManager’
   24 |     struct HotReloadManager;
      |            ^~~~~~~~~~~~~~~~
2025-12-03 23:21:11 +01:00
elsid
cef1bb1219
Log file stream errors 2025-12-03 23:21:11 +01:00
elsid
c7b0f99079
Do not read failed to open shader file 2025-12-03 23:20:52 +01:00
Evil Eye
8b79e5d459 Simplify fallback 2025-12-03 16:40:25 +01:00
Alexei Kotov
ebfe91a108 Merge branch 'changelog' into 'master'
Sync changelog

See merge request OpenMW/openmw!5025
2025-12-03 02:10:20 +03:00
Alexei Kotov
9cecc92d5c Preserve static cell insertion order 2025-12-03 00:17:46 +03:00
Evil Eye
2c4559e507 Match x86 for every possible float value 2025-12-02 22:01:58 +01:00
Alexei Kotov
ebad87bffb Properly resolve exterior cell names during name-based search 2025-12-02 18:41:15 +03:00
Alexei Kotov
46f24c275f Sync changelog for 0.51.0 2025-12-02 06:42:38 +03:00
Alexei Kotov
2b5d7c9d7d Merge branch 'spellviewcursor' into 'master'
Hide the cursor in spell lists when controller tooltips are on (#8770)

Closes #8770

See merge request OpenMW/openmw!4979
2025-12-02 06:39:20 +03:00
Sarah Sunday
1cf23fc092 [DOC] Add MR default template 2025-12-01 19:13:29 -06:00
Evil Eye
be73f2b019 Prevent UB when reading global variables 2025-12-01 20:58:25 +01:00
Evil Eye
b424929fce Address feedback 2025-12-01 17:02:28 +01:00
Alexei Kotov
3c3fdda8a0 Merge branch 'sunlightpos' into 'master'
Expose sunlight direction to post-processing (#8826)

Closes #8826

See merge request OpenMW/openmw!5020
2025-12-01 01:45:28 +03:00
Alexei Kotov
20d14b57c1 Expose sunlight direction to post-processing (#8826) 2025-11-29 20:27:34 +03:00
Alexei Kotov
35e27504ee Merge branch 'teal-link-fix' into 'master'
Fix dead links to Teal documentation

See merge request OpenMW/openmw!5016
2025-11-29 03:34:18 +03:00
Alexei Kotov
96565e9afb Merge branch 'fix_clang_tidy_warnings' into 'master'
Fix clang tidy warnings (version 21.1.6)

See merge request OpenMW/openmw!5015
2025-11-27 01:16:51 +03:00
Alexei Kotov
c31b4efc01 Merge branch 'globaltargetnumberone' into 'master'
Improve support for global script targets

Closes #2316, #7830, and #2311

See merge request OpenMW/openmw!4812
2025-11-27 01:16:25 +03:00
uramer
47721e7939 Fix dead links to Teal documentation 2025-11-26 14:54:11 +00:00
Alexei Kotov
a00ede3595 Merge branch 'master' into 'master'
Fix 'Show Controller Tooltips By Default' option being ignored

Closes #8799

See merge request OpenMW/openmw!5003
2025-11-26 16:41:45 +03:00
Andy Lanzone
94caf98ece Fix 'Show Controller Tooltips By Default' option being ignored 2025-11-26 16:41:45 +03:00
Evil Eye
0c95e5c7b8 Ensure thread safety 2025-11-25 22:20:27 +01:00
elsid
feb9cc004c
Fix portability-avoid-pragma-once warnings
components/misc/helpviewer.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^

apps/opencs/view/world/tableheadermouseeventhandler.hpp:1:1: error: avoid 'pragma once' directive; use include guards instead [portability-avoid-pragma-once,-warnings-as-errors]
    1 | #pragma once
      | ^
2025-11-25 21:16:50 +01:00
elsid
4186ca6ceb
Fix clang-analyzer-security.ArrayBound warning
Size of an array is not a valid index.

components/esm4/reader.cpp:925:15: error: Out of bound access to memory after the end of 'sGroupType' [clang-analyzer-security.ArrayBound,-warnings-as-errors]
  925 |         ss << sGroupType[std::min<std::size_t>(type, std::size(sGroupType))]; // avoid out of range
      |               ^
components/esm4/reader.cpp:627:13: note: Assuming field 'groupSize' is equal to field 'recHeaderSize'
  627 |         if (mCtx.recordHeader.group.groupSize == (std::uint32_t)mCtx.recHeaderSize)
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:627:9: note: Taking true branch
  627 |         if (mCtx.recordHeader.group.groupSize == (std::uint32_t)mCtx.recHeaderSize)
      |         ^
components/esm4/reader.cpp:634:17: note: Assuming the condition is true
  634 |             if (!mCtx.groupStack.empty()) // top group may be empty (e.g. HAIR in Skyrim)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:634:13: note: Taking true branch
  634 |             if (!mCtx.groupStack.empty()) // top group may be empty (e.g. HAIR in Skyrim)
      |             ^
components/esm4/reader.cpp:638:17: note: Calling 'Reader::exitGroupCheck'
  638 |                 exitGroupCheck();
      |                 ^~~~~~~~~~~~~~~~
components/esm4/reader.cpp:650:13: note: Assuming the condition is false
  650 |         if (mCtx.groupStack.empty())
      |             ^~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:650:9: note: Taking false branch
  650 |         if (mCtx.groupStack.empty())
      |         ^
components/esm4/reader.cpp:655:16: note: Assuming 'lastGroupSize' is <= field 'second'
  655 |         while (mCtx.groupStack.back().second >= lastGroupSize)
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:655:9: note: Loop condition is true.  Entering loop body
  655 |         while (mCtx.groupStack.back().second >= lastGroupSize)
      |         ^
components/esm4/reader.cpp:663:17: note: Assuming 'overshoot' is <= 0
  663 |             if (overshoot > 0)
      |                 ^~~~~~~~~~~~~
components/esm4/reader.cpp:663:13: note: Taking false branch
  663 |             if (overshoot > 0)
      |             ^
components/esm4/reader.cpp:676:17: note: Assuming the condition is false
  676 |             if (mCtx.groupStack.empty())
      |                 ^~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:676:13: note: Taking false branch
  676 |             if (mCtx.groupStack.empty())
      |             ^
components/esm4/reader.cpp:682:17: note: Assuming 'lastGroupSize' is >= field 'second'
  682 |             if (lastGroupSize < mCtx.groupStack.back().second)
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:682:13: note: Taking false branch
  682 |             if (lastGroupSize < mCtx.groupStack.back().second)
      |             ^
components/esm4/reader.cpp:686:17: note: Assuming 'lastGroupSize' is < field 'second'
  686 |             if (mCtx.groupStack.back().second > lastGroupSize) // FIXME: debugging only
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:686:13: note: Taking true branch
  686 |             if (mCtx.groupStack.back().second > lastGroupSize) // FIXME: debugging only
      |             ^
components/esm4/reader.cpp:687:30: note: Calling 'printLabel'
  687 |                 std::cerr << printLabel(mCtx.groupStack.back().first.label, mCtx.groupStack.back().first.type)
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
components/esm4/reader.cpp:925:15: note: Access of 'sGroupType' at index 12, while it holds only 12 'class std::basic_string_view<char>' elements
  925 |         ss << sGroupType[std::min<std::size_t>(type, std::size(sGroupType))]; // avoid out of range
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-11-25 00:03:39 +01:00
jvoisin
472240526d Merge branch 'fix_niftest_afl_findings' into 'master'
Fix AFL findings in niftest

See merge request OpenMW/openmw!4988
2025-11-24 21:41:46 +00:00
Alexei Kotov
93c4424f91 Merge branch 'werewolf-lua-api' into 'master'
Add Lua API for werewolf state management

See merge request OpenMW/openmw!4940
2025-11-24 23:48:23 +03:00
Alexei Kotov
1918c81e4d Bump Lua API revision 2025-11-24 23:46:48 +03:00
Nova
87dc3cd0e8 Enforced local scripts can only modify self.
Updated documentation to use self and player in examples.
2025-11-24 23:45:53 +03:00
Nova
5a76783616 Added documentation. 2025-11-24 23:45:53 +03:00
Nova
dcbda0cbaa Forgot the luamanagerimp.hpp include. 2025-11-24 23:45:53 +03:00
Nova
96ab0752db Add Lua API for werewolf state management
Adds a new function to force the player or NPCS to turn into a werewolf.
- setWerewolf(bool): Transform a PC or NPC into/out of werewolf form

This enables modders to control werewolf transformations

Useage Example:

-- Turn player into werewolf
types.NPC.setWerewolf(self, true)
2025-11-24 23:45:52 +03:00
Evil Eye
f7ad7a8263 Replace string.format with l10n in playerskillhandlers 2025-11-24 20:11:07 +01:00
Evil Eye
0a04bfa46d Fix rebase 2025-11-24 19:43:39 +01:00
Evil Eye
bb4937f827 Allow composition of GMST l10n values 2025-11-24 19:33:28 +01:00
Alexei Kotov
0d4bff8ad6 Merge branch 'data-mw' into 'master'
Move Morrowind mechanics to data-mw

See merge request OpenMW/openmw!4937
2025-11-24 21:24:10 +03:00
Alexei Kotov
f0b7fec7bb Bump Lua API revision 2025-11-24 21:22:40 +03:00
Evil Eye
b4018b1962 Absorb changes from !4996 2025-11-24 17:59:50 +01:00
Evil Eye
dcde01dee9 Note that getArmorSkill can return nil 2025-11-24 17:45:07 +01:00
Evil Eye
f8ef80c522 Rename builtin template 2025-11-24 17:45:07 +01:00
Evil Eye
a501e1ad1c Workaround a cmake/ninja issue 2025-11-24 17:45:07 +01:00
Evil Eye
e66d43c083 Reduce the diff 2025-11-24 17:45:07 +01:00
Evil Eye
10c96ff68d Use configure_file substitution 2025-11-24 17:45:07 +01:00
Evil Eye
c6c515f770 Make ATTACK_SOURCE_TYPES read only 2025-11-24 17:45:07 +01:00
Evil Eye
189eff7a49 Use cmake to create vfs-mw/builtin.omwscripts 2025-11-24 17:45:07 +01:00
Evil Eye
e978c230dc Override functions by shallow copying the interface instead of overriding files 2025-11-24 17:45:07 +01:00
Evil Eye
7928930435 Move Morrowind mechanics to data-mw 2025-11-24 17:45:05 +01:00
Evil Eye
2a63ec6af6 Merge branch 'lua-docs-grammar-fixes' into 'master'
Lua docs: minor grammar fixes (mostly missing articles)

See merge request OpenMW/openmw!4996
2025-11-24 16:40:28 +00:00
Johannes Dickenson
dfc1345a63 Lua docs: minor grammar fixes (mostly missing articles) 2025-11-24 16:40:27 +00:00
Alexei Kotov
422e1135e9 Merge branch 'master' into 'master'
Update file events.rst

See merge request OpenMW/openmw!5014
2025-11-24 13:27:16 +03:00
Evil Eye
f8374f2ff0 Merge branch 'fix-8705' into 'master'
Feature #8705: Use texture-based LUT for moddable global map colors

See merge request OpenMW/openmw!4932
2025-11-23 20:54:11 +00:00