Commit graph

35469 commits

Author SHA1 Message Date
elsid
7d617d4562
Test coverity job 2025-04-26 13:46:08 +02:00
elsid
1a25609961
Update Ubuntu image to 24.04
* Use gcovr from pip to get most recent version. Older versions fail to
  parse gcov output.
* Disable warnings for ASAN build to avoid false positives.
2025-04-26 13:45:12 +02:00
elsid
0196cf453d
Use -fprofile-update=atomic for coverage build
Otherwise counters might become negative leading to gcovr failure.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68080.
2025-04-26 13:18:55 +02:00
elsid
0166b07ad5
Move coverage build out of CMake config
It is too repetitive, redundant and GCC specific.

Configure with CMAKE_CXX_FLAGS_DEBUG and CMAKE_EXE_LINKER_FLAGS instead.
2025-04-26 13:18:09 +02:00
elsid
ef68ed1d31
Fix warning: -Wstring-compare
In file included from ../../../components/esm/defs.hpp:7,
                 from ../../../apps/components_tests/esm/test_fixed_string.cpp:1:
In function 'bool ESM::operator==(const FixedString<capacity>&, const char (&)[rhsSize]) [with long unsigned int capacity = 4; long unsigned int rhsSize = 12]',
    inlined from 'virtual void {anonymous}::EsmFixedString_empty_strings_Test::TestBody()' at ../../../apps/components_tests/esm/test_fixed_string.cpp:82:13:
../../../components/esm/esmcommon.hpp:142:85: error: 'int strncmp(const char*, const char*, size_t)' of strings of length 0 and 4 and bound of 4 evaluates to nonzero [-Werror=string-compare]
  142 |         return strnlen(rhs, rhsSize) == strnlen(lhs.mData, capacity) && std::strncmp(lhs.mData, rhs, capacity) == 0;
      |                                                                         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
2025-04-26 13:04:22 +02:00
elsid
cc32487a94
Disable -Werror for ASAN builds
To avoid warnings like:

In file included from /usr/include/c++/13/regex:50,
                 from ../../components/lua/yamlloader.cpp:6:
In constructor 'std::function<_Res(_ArgTypes ...)>::function(std::function<_Res(_ArgTypes ...)>&&) [with _Res = bool; _ArgTypes = {char}]',
    inlined from 'std::__detail::_State<_Char_type>::_State(std::__detail::_State<_Char_type>&&) [with _Char_type = char]' at /usr/include/c++/13/bits/regex_automaton.h:149:4,
    inlined from 'std::__detail::_StateIdT std::__detail::_NFA<_TraitsT>::_M_insert_subexpr_begin() [with _TraitsT = std::__cxx11::regex_traits<char>]' at /usr/include/c++/13/bits/regex_automaton.h:281:24:
/usr/include/c++/13/bits/std_function.h:405:42: error: '*(std::function<bool(char)>*)((char*)&__tmp + offsetof(std::__detail::_StateT, std::__detail::_State<char>::<unnamed>.std::__detail::_State_base::<unnamed>)).std::function<bool(char)>::_M_invoker' may be used uninitialized [-Werror=maybe-uninitialized]
  405 |       : _Function_base(), _M_invoker(__x._M_invoker)
      |                                      ~~~~^~~~~~~~~~
In file included from /usr/include/c++/13/regex:65:
/usr/include/c++/13/bits/regex_automaton.h: In member function 'std::__detail::_StateIdT std::__detail::_NFA<_TraitsT>::_M_insert_subexpr_begin() [with _TraitsT = std::__cxx11::regex_traits<char>]':
/usr/include/c++/13/bits/regex_automaton.h:279:17: note: '__tmp' declared here
  279 |         _StateT __tmp(_S_opcode_subexpr_begin);
      |                 ^~~~~

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105562.
2025-04-26 13:04:21 +02:00
elsid
e4743e3186
Disable -Warray-bounds due to GCC bug
To avoid getting warnings like:

In file included from ../../../extern/sol3/sol/compatibility.hpp:46,
                 from ../../../extern/sol3/sol/bytecode.hpp:27,
                 from ../../../extern/sol3/sol/sol.hpp:51,
                 from ../../../components/lua/luastate.hpp:8,
                 from ../../../apps/openmw/mwlua/context.hpp:4,
                 from ../../../apps/openmw/mwlua/soundbindings.hpp:6,
                 from ../../../apps/openmw/mwlua/soundbindings.cpp:1:
In member function 'void sol::stack::field_getter<T, global, raw, <template-parameter-1-4> >::get(lua_State*, Key&&, int) [with Key = const char (&)[7]; T = char [7]; bool global = false; bool raw = false; <template-parameter-1-4> = void]',
    inlined from 'void sol::stack::get_field(lua_State*, Key&&, int) [with bool global = false; bool raw = false; Key = const char (&)[7]]' at ../../../extern/sol3/sol/stack_core.hpp:1210:62,
    inlined from 'sol::stack::probe sol::stack::probe_field_getter<T, P, global, raw, <template-parameter-1-5> >::get(lua_State*, Key&&, int) [with Key = const char (&)[7]; T = char [7]; P = float; bool b = false; bool raw = false; <template-parameter-1-5> = void]' at ../../../extern/sol3/sol/stack_probe.hpp:41:21,
    inlined from 'sol::stack::probe sol::stack::probe_field_getter<T, P, global, raw, <template-parameter-1-5> >::get(lua_State*, Key&&, int) [with Key = const char (&)[6]; T = char [6]; P = float; bool b = false; bool raw = false; <template-parameter-1-5> = void]' at ../../../extern/sol3/sol/stack_probe.hpp:35:9,
    inlined from 'sol::stack::probe sol::stack::probe_get_field(lua_State*, Key&&, int) [with bool global = false; bool raw = false; C = float; Key = const char (&)[6]]' at ../../../extern/sol3/sol/stack_core.hpp:1230:78,
    inlined from 'decltype(auto) sol::basic_table_core<<anonymous>, <template-parameter-1-2> >::traverse_get_deep_optional(int&, int, Key&&, Keys&& ...) const [with bool global = false; bool raw = false; sol::detail::insert_mode mode = sol::detail::none; T = sol::optional<float>; Key = const char (&)[6]; Keys = {}; bool top_level = false; ref_t = sol::basic_reference<false>]' at ../../../extern/sol3/sol/table_core.hpp:217:62,
    inlined from 'decltype(auto) sol::basic_table_core<<anonymous>, <template-parameter-1-2> >::traverse_get_single(int, Keys&& ...) const [with bool raw = false; Ret = sol::optional<float>; Keys = {const char (&)[6]}; bool top_level = false; ref_t = sol::basic_reference<false>]' at ../../../extern/sol3/sol/table_core.hpp:123:83,
    inlined from 'decltype(auto) sol::basic_table_core<<anonymous>, <template-parameter-1-2> >::traverse_get_single_maybe_tuple(int, Key&&) const [with bool raw = false; Ret = sol::optional<float>; Key = const char (&)[6]; bool top_level = false; ref_t = sol::basic_reference<false>]' at ../../../extern/sol3/sol/table_core.hpp:113:41,
    inlined from 'decltype(auto) sol::basic_table_core<<anonymous>, <template-parameter-1-2> >::tuple_get(int, Keys&& ...) const [with bool raw = false; Ret = {sol::optional<float>}; Keys = {const char (&)[6]}; bool top_level = false; ref_t = sol::basic_reference<false>]' at ../../../extern/sol3/sol/table_core.hpp:93:56,
    inlined from 'decltype(auto) sol::basic_table_core<<anonymous>, <template-parameter-1-2> >::get(Keys&& ...) const [with Ret = {sol::optional<float>}; Keys = {const char (&)[6]}; bool top_level = false; ref_t = sol::basic_reference<false>]' at ../../../extern/sol3/sol/table_core.hpp:422:35,
    inlined from 'decltype(auto) sol::basic_table_core<<anonymous>, <template-parameter-1-2> >::get_or(Key&&, T&&) const [with T = float; Key = const char (&)[6]; bool top_level = false; ref_t = sol::basic_reference<false>]' at ../../../extern/sol3/sol/table_core.hpp:428:41,
    inlined from '{anonymous}::PlaySoundArgs {anonymous}::getPlaySoundArgs(const sol::optional<sol::basic_table_core<false, sol::basic_reference<false> > >&)' at ../../../apps/openmw/mwlua/soundbindings.cpp:62:42:
../../../extern/sol3/sol/stack_field.hpp:116:49: error: array subscript 'const char [7][0]' is partly outside array bounds of 'const char [6]' [-Werror=array-bounds=]
  116 |                                                 lua_getfield(L, tableindex, &key[0]);
      |                                                 ^~~~~~~~~~~~

Simplified example: https://godbolt.org/z/ccPje4nK1
2025-04-26 13:04:21 +02:00
elsid
7cef010bfe
Fix warning: -Wmaybe-uninitialized
In member function 'ESM::RefId {anonymous}::IdGettingVisitor::operator()(const MWWorld::Ptr&) const',
    inlined from 'constexpr _Res std::__invoke_impl(__invoke_other, _Fn&&, _Args&& ...) [with _Res = ESM::RefId; _Fn = {anonymous}::IdGettingVisitor; _Args = {const MWWorld::Ptr&}]' at /usr/include/c++/13/bits/invoke.h:61:36,
    inlined from 'constexpr typename std::__invoke_result<_Functor, _ArgTypes>::type std::__invoke(_Callable&&, _Args&& ...) [with _Callable = {anonymous}::IdGettingVisitor; _Args = {const MWWorld::Ptr&}]' at /usr/include/c++/13/bits/invoke.h:96:40,
    inlined from 'static constexpr decltype(auto) std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<_Result_type (*)(_Visitor, _Variants ...)>, std::integer_sequence<long unsigned int, __indices ...> >::__visit_invoke(_Visitor&&, _Variants ...) [with _Result_type = std::__detail::__variant::__deduce_visit_result<ESM::RefId>; _Visitor = {anonymous}::IdGettingVisitor&&; _Variants = {const std::variant<MWWorld::Ptr, std::pair<ESM::FormId, ESM::RefId> >&}; long unsigned int ...__indices = {0}]' at /usr/include/c++/13/variant:1060:24,
    inlined from 'constexpr decltype(auto) std::__do_visit(_Visitor&&, _Variants&& ...) [with _Result_type = __detail::__variant::__deduce_visit_result<ESM::RefId>; _Visitor = {anonymous}::IdGettingVisitor; _Variants = {const variant<MWWorld::Ptr, pair<ESM::FormId, ESM::RefId> >&}]' at /usr/include/c++/13/variant:1815:5,
    inlined from 'constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = {anonymous}::IdGettingVisitor; _Variants = {const variant<MWWorld::Ptr, pair<ESM::FormId, ESM::RefId> >&}]' at /usr/include/c++/13/variant:1878:34,
    inlined from 'ESM::RefId MWScript::GlobalScriptDesc::getId() const' at ../../../apps/openmw/mwscript/globalscripts.cpp:120:26:
../../../apps/openmw/mwscript/globalscripts.cpp:91:35: error: '*(const uint32_t*)((char*)&<unnamed> + offsetof(ESM::RefId, ESM::RefId::mValue.std::variant<ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::<unnamed>.std::__detail::__variant::_Variant_base<ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::<unnamed>.std::__detail::__variant::_Move_assign_base<true, ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::<unnamed>.std::__detail::__variant::_Copy_assign_base<true, ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::<unnamed>.std::__detail::__variant::_Move_ctor_base<true, ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::<unnamed>.std::__detail::__variant::_Copy_ctor_base<true, ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::<unnamed>.std::__detail::__variant::_Variant_storage<true, ESM::EmptyRefId, ESM::ESM3ExteriorCellRefId, ESM::StringRefId, ESM::FormId, ESM::GeneratedRefId, ESM::IndexRefId>::_M_u))' may be used uninitialized [-Werror=maybe-uninitialized]
   91 |                 return ESM::RefId();
      |                                   ^
../../../apps/openmw/mwscript/globalscripts.cpp: In member function 'ESM::RefId MWScript::GlobalScriptDesc::getId() const':
../../../apps/openmw/mwscript/globalscripts.cpp:91:35: note: '<anonymous>' declared here
   91 |                 return ESM::RefId();
      |                                   ^
2025-04-26 13:04:21 +02:00
elsid
1af8fd87d9
Update sol3 to v3.5.0
To fix warning (silenced by 3b97af0ac417c6f5ee2d16fa4c2cab2885409352):

In file included from ../../../extern/sol3/sol/stack_check_get.hpp:28,
                 from ../../../extern/sol3/sol/stack.hpp:32,
                 from ../../../extern/sol3/sol/sol.hpp:52,
                 from ../../../components/lua/luastate.hpp:8,
                 from ../../../apps/openmw/mwlua/context.hpp:4,
                 from ../../../apps/openmw/mwlua/soundbindings.hpp:6,
                 from ../../../apps/openmw/mwlua/soundbindings.cpp:1:
In function 'OptionalType sol::stack::stack_detail::get_optional(lua_State*, int, Handler&&, sol::stack::record&) [with OptionalType = sol::optional<float>; T = float; Handler = int (*)(lua_State*, int, sol::type, sol::type, const char*) noexcept]',
    inlined from 'static Optional sol::stack::qualified_getter<Optional, typename std::enable_if<is_optional_v<Optional>, void>::type>::get(lua_State*, int, sol::stack::record&) [with Optional = sol::optional<float>]' at ../../../extern/sol3/sol/stack_check_get_qualified.hpp:133:50,
    inlined from 'decltype(auto) sol::stack::stack_detail::unchecked_get(lua_State*, int, sol::stack::record&) [with T = sol::optional<float>]' at ../../../extern/sol3/sol/stack_core.hpp:725:18,
    inlined from 'decltype (unchecked_get<T>(L, index, tracking)) sol::stack::get(lua_State*, int, record&) [with T = sol::optional<float>]' at ../../../extern/sol3/sol/stack_core.hpp:1186:41,
    inlined from 'decltype(auto) sol::stack::get(lua_State*, int) [with T = sol::optional<float>]' at ../../../extern/sol3/sol/stack_core.hpp:1193:17:
../../../extern/sol3/sol/stack_check_get_qualified.hpp:112:49: error: '*(float*)((char*)&<unnamed> + offsetof(sol::optional<float>,sol::optional<float>::<unnamed>.sol::detail::optional_move_assign_base<float, true>::<unnamed>.sol::detail::optional_copy_assign_base<float, true>::<unnamed>.sol::detail::optional_move_base<float, true>::<unnamed>.sol::detail::optional_copy_base<float, true>::<unnamed>.sol::detail::optional_operations_base<float>::<unnamed>.sol::detail::optional_storage_base<float, true>::<unnamed>))' may be used uninitialized [-Werror=maybe-uninitialized]
  112 |                                         return {};
      |                                                 ^
../../../extern/sol3/sol/stack_check_get_qualified.hpp: In function 'decltype(auto) sol::stack::get(lua_State*, int) [with T = sol::optional<float>]':
../../../extern/sol3/sol/stack_check_get_qualified.hpp:112:49: note: '<anonymous>' declared here
  112 |                                         return {};
      |                                                 ^
2025-04-26 13:04:21 +02:00
elsid
32605a4c33
Fix path for cobertura reports 2025-04-26 11:54:24 +02:00
Alexei Kotov
011dfb305c Merge branch 'navmeshtool_lib' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Do not build navmeshtool translation units twice

See merge request OpenMW/openmw!4647
2025-04-25 21:40:57 +03:00
elsid
fc4cc3255d
Do not build navmeshtool translation units twice 2025-04-24 23:03:07 +02:00
psi29a
80d6f020ed Merge branch 'apt_get_retry' into 'master'
Some checks failed
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Retry apt-get update and add-apt-repository

See merge request OpenMW/openmw!4639
2025-04-24 09:07:20 +00:00
psi29a
c7c95c5a85 Merge branch 'fix-bug-8462' into 'master'
Set SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH.

Closes #8225 and #8462

See merge request OpenMW/openmw!4641
2025-04-24 09:06:27 +00:00
Sam Kaufman
1948ab21f7 Set SDL_HINT_MAC_OPENGL_ASYNC_DISPATCH.
Some checks failed
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
This fixes bugs #8225 and #8462.
2025-04-23 20:33:56 -07:00
Alexei Kotov
ca3a286cc4 Merge branch 'master' into 'master'
Some checks are pending
Build and test / MacOS (push) Waiting to run
Build and test / Read .env file and expose it as output (push) Waiting to run
Build and test / Windows (2019) (push) Blocked by required conditions
Build and test / Windows (2022) (push) Blocked by required conditions
Build and test / Ubuntu (push) Waiting to run
FIX: Clarify that `ignore` field of raycast options types are a list and not a single object

See merge request OpenMW/openmw!4613
2025-04-24 02:09:47 +03:00
Evil Eye
ab5070328d Merge branch 'powershell-multiline-exit' into 'master'
Detect failures in multiline PowerShell commands

See merge request OpenMW/openmw!4645
2025-04-23 18:54:47 +00:00
Evil Eye
23522ed314 Merge branch 'missing_enum' into 'master'
Add missing TargetPolygonNotFound enum value to lua bindings

See merge request OpenMW/openmw!4643
2025-04-23 18:54:46 +00:00
Evil Eye
b4d5013679 Merge branch 'lua_state' into 'master'
Use unique_ptr to handle lua state lifetime

See merge request OpenMW/openmw!4636
2025-04-23 18:54:40 +00:00
Dave Corley
5ef2cf23b3 CLEANUP: Loop param, also, is a bool
Some checks failed
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
2025-04-23 11:20:46 -07:00
elsid
8ee0c9e7be
Retry apt-get update and add-apt-repository
Some checks failed
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Ubuntu (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
2025-04-22 23:05:27 +02:00
AnyOldName3
19725473d7 Detect failures in multiline PowerShell commands
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
GitLab inserts a check for failure after each command in our `script`.
This is documented here https://docs.gitlab.com/runner/shells/#powershell

However, it doesn't detect failures if we run commands back to back.

This adds the checks GitLab would have added for us if we were able to make it do that.
2025-04-22 20:58:43 +01:00
psi29a
aed135a7c0 Merge branch 'bump-cache-key' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Increment cache keys missed in !4450

Closes #8463

See merge request OpenMW/openmw!4644
2025-04-22 07:05:45 +00:00
AnyOldName3
928bbed09b Increment cache keys missed in !4450
It changed the filenames for deps, so we've got two copies of the deps in the cache, and now we're running out of disk space.
2025-04-21 22:52:24 +01:00
elsid
626d7b2282
Add missing TargetPolygonNotFound enum value to lua bindings 2025-04-21 16:36:19 +02:00
Evil Eye
e20d52d23c Merge branch 'namespace_typo' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Fix typo in namespace name

See merge request OpenMW/openmw!4635
2025-04-21 08:41:27 +00:00
Evil Eye
05c624bc34 Merge branch 'rm_using_namespace_fallback' into 'master'
Remove redundant using namespace Fallback

See merge request OpenMW/openmw!4638
2025-04-21 08:39:48 +00:00
Evil Eye
5a42db3256 Merge branch 'static_assert' into 'master'
Use static_assert for compile time check

See merge request OpenMW/openmw!4637
2025-04-21 08:35:17 +00:00
elsid
6f89d38b78
Replace includes by forward declaration 2025-04-20 02:28:34 +02:00
elsid
042c4b2b9d
Use static_assert for compile time check 2025-04-18 14:38:23 +02:00
elsid
f80283422f
Use unique_ptr to handle lua state lifetime 2025-04-18 14:01:07 +02:00
elsid
972995d124
Fix typo in namespace name 2025-04-18 12:27:48 +02:00
elsid
0d5e9ef85f
Remove redundant using namespace Fallback
C++ has ADL to find overloads. using namespace does nothing in this
case.
2025-04-18 12:27:37 +02:00
psi29a
87d77a6882 Merge branch 'rippleshaders' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Fix crash if ripple pipeline shaders are unavailable

See merge request OpenMW/openmw!4622
2025-04-17 09:26:12 +00:00
Alexei Kotov
c1c8769742 Merge branch 'clang_tidy_identifier_naming' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Enable identifier naming clang-tidy check (#8424)

See merge request OpenMW/openmw!4631
2025-04-14 13:39:09 +03:00
Alexei Kotov
271ab2e109 Merge branch 'dont-ask-the-disk-for-things-we-already-know' into 'master'
Avoid IO in resolveParentFileIndices

See merge request OpenMW/openmw!4627
2025-04-14 13:11:57 +03:00
Alexei Kotov
583620e607 Merge branch 'patch-1' into 'master'
Crimes.lua wrong type for victim aware

See merge request OpenMW/openmw!4623
2025-04-14 09:44:45 +03:00
psi29a
6dd2cac3ec Merge branch 'better-freeze-catcher' into 'master'
Some checks are pending
Build and test / Ubuntu (push) Waiting to run
Build and test / MacOS (push) Waiting to run
Build and test / Read .env file and expose it as output (push) Waiting to run
Build and test / Windows (2019) (push) Blocked by required conditions
Build and test / Windows (2022) (push) Blocked by required conditions
Improve Windows crash/freeze catcher UX

See merge request OpenMW/openmw!4630
2025-04-13 20:57:12 +00:00
Alexei Kotov
6aed2d8284 Bump Crimes interface version 2025-04-13 14:05:07 +03:00
elsid
84f471ce5c
Enable identifier naming clang-tidy check 2025-04-13 09:59:51 +02:00
AnyOldName3
deb070389f Improve Windows crash/freeze catcher UX
* Change crash log to crash dump in messages.
* Make the freeze catcher popup disappear more quickly when OpenMW thaws - we got a few freeze dumps from after a thaw.
* Improve freeze catcher message - hopefully fewer users think it's a false positive they're expected to put up with and we get future reports sooner.
2025-04-12 18:38:55 +01:00
Alexei Kotov
f7f148a6ca Merge branch 'fix-debug-config' into 'master'
Some checks failed
Build and test / Ubuntu (push) Has been cancelled
Build and test / MacOS (push) Has been cancelled
Build and test / Read .env file and expose it as output (push) Has been cancelled
Build and test / Windows (2019) (push) Has been cancelled
Build and test / Windows (2022) (push) Has been cancelled
Fix Windows Debug build

See merge request OpenMW/openmw!4629
2025-04-12 17:35:03 +03:00
AnyOldName3
a5a6f33578 Manual reformatting that wasn't done automatically on my machine 2025-04-11 17:41:40 +01:00
AnyOldName3
d74a0edb82 Format 2025-04-11 17:37:55 +01:00
AnyOldName3
396cd1c727 Fix Windows Debug build
This was a regression from https://gitlab.com/OpenMW/openmw/-/merge_requests/4596

Also move more things into the anonymous namespace because there's not really a reason not to and I had to rearrange things anyway.
2025-04-11 17:33:19 +01:00
AnyOldName3
31fcc5e126 Add test for new ReadersCache functions 2025-04-11 17:30:56 +01:00
Dave Corley
22172f3b0e FIX: useAmbientLighting arg of addVfx options is a bool 2025-04-10 11:48:57 -07:00
Dave Corley
b68935e917 FIX: Model param of addVfx should not be a header 2025-04-10 11:44:34 -07:00
Dave Corley
e512a8e74f FIX: Add a name to options table in castRenderingRay 2025-04-10 11:42:24 -07:00
AnyOldName3
48572e4c96 Even more elses 2025-04-10 18:32:52 +01:00