1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-12-25 19:03:07 +00:00
Commit graph

36986 commits

Author SHA1 Message Date
elsid
2c142faaa9
Use normalized path in LuaUi::TextureData 2025-12-06 00:12:42 +01:00
elsid
538e5d5502
Use normalizeFilename in correctResourcePath 2025-12-06 00:12:42 +01:00
elsid
cd03de2577
Cleanup resource helpers tests 2025-12-06 00:12:42 +01:00
Alexei Kotov
3d1b8d1a4d Merge branch 'captureandrelease' into 'master'
Don't extend the lifetime of ScreenCapture objects beyond that of the objects using them

See merge request OpenMW/openmw!5028
2025-12-05 21:57:14 +03:00
Alexei Kotov
cb74919303 Merge branch 'localmap' into 'master'
Local map fixes

Closes #8786 and #8787

See merge request OpenMW/openmw!4919
2025-12-05 17:43:40 +03:00
AnyOldName3
7ad68c6e37 Merge branch 'fix-readme-typos' into 'master'
Fix grammar and consistency issues in README

See merge request OpenMW/openmw!4994
2025-12-05 14:18:59 +00:00
Alexei Kotov
e7b954a7b6 Merge branch 'feature/support-extra-gamepad-buttons' into 'master'
Add support for modern SDL controller buttons (Touchpad, Misc1, Paddles)

See merge request OpenMW/openmw!5017
2025-12-05 06:12:35 +03:00
Dima Katashov
d7ad994fb6 Add support for modern SDL controller buttons (Touchpad, Misc1, Paddles) 2025-12-05 06:12:35 +03:00
Alexei Kotov
8550ac44a0 Merge branch 'add_loop_and_vfx_id_to_world_vfx_spawn' into 'master'
add loop + vfxId params to world.vfx.spawn and add world.vfx.remove

See merge request OpenMW/openmw!4503
2025-12-05 06:03:58 +03:00
Alexei Kotov
0d68fb2d25 One more stylistic adjustment for the docs 2025-12-05 06:00:52 +03:00
Alexei Kotov
65949b17b7 Increment Lua API revision
Note the rebase process of the MR associated with this commit included some minor doc adjustments.
2025-12-05 05:56:05 +03:00
Sebastian Fieber
ce67a028a1 fix link 2025-12-05 05:54:48 +03:00
Sebastian Fieber
567f5aa150 remove unecessary mutex 2025-12-05 05:54:48 +03:00
Sebastian Fieber
8ea0338a50 update docs 2025-12-05 05:54:46 +03:00
Sebastian Fieber
1b36f757ed format 2025-12-05 05:54:06 +03:00
Sebastian Fieber
647d655f2e make it possible to remove anonymous vfx 2025-12-05 05:54:03 +03:00
Sebastian Fieber
9524906768 don't unecessarily copy vfxId 2025-12-05 05:52:56 +03:00
Sebastian Fieber
4636a35867 throw if vfxId is empty 2025-12-05 05:52:56 +03:00
Sebastian Fieber
9621a2c8cf remove world vfx only if vfxId is not empty 2025-12-05 05:52:56 +03:00
Sebastian Fieber
e8c917d35e add loop + vfxId params to world.vfx.spawn and add world.vfx.remove 2025-12-05 05:52:54 +03:00
Alexei Kotov
6d461c4198 Bring README.md up to speed with the actual openmw --help output 2025-12-05 05:26:42 +03:00
Alexei Kotov
3ef9237f51 Merge branch 'im-really-in-a-hurry-here' into 'master'
FEAT: Add a binding for passing time in `world`

See merge request OpenMW/openmw!4942
2025-12-05 01:30:59 +03:00
Alexei Kotov
72d6cd4aff Bump Lua API revision, doc grammar fix 2025-12-04 23:50:23 +03:00
Dave Corley
6897f5aefb ALL HAIL C L A N G 2025-12-04 23:48:55 +03:00
Dave Corley
c775153c21 CLEANUP: Remove fastForwardAI method in World 2025-12-04 23:48:55 +03:00
Dave Corley
e3af2db511 CLEANUP: Make advanceTime a delayedAction, include mechanicsmanager 2025-12-04 23:48:55 +03:00
Dave Corley
386c28d98e CLEANUP: Fix docs, remove unused lambda capture 2025-12-04 23:48:55 +03:00
Dave Corley
209b7fd5c6 FEAT: Add a binding for passing time in world 2025-12-04 23:48:55 +03:00
Evil Eye
e097a15627 Don't extend the lifetime of ScreenCapture objects beyond that of the objects using them 2025-12-04 19:18:44 +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
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
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
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
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