thagberg
2bcbb2d01c
Update authors
2025-05-07 22:28:35 -04:00
thagberg
4297ef2f97
Add changelog
2025-05-07 21:55:58 -04:00
thagberg
883f9e5049
Fix anti-aliasing on macOS
...
Blitting to the resolve FBO in OSG::RenderStage was causing a GL_INVALID_FRAMEBUFFER_OPERATION due to a mismatch in attached colorbuffers between the FBOs bound in read and draw slots. This was because the normal attachment was invariantly attached to FBO_Interrupt, but not to other FBOs.
2025-05-07 16:31:22 -04:00
psi29a
1f724cc336
Merge branch 'postprocessingglslversion' into 'master'
...
Fix post-processing shader glsl_version bumping
See merge request OpenMW/openmw!4653
2025-05-07 17:57:15 +00:00
Evil Eye
1d736bcf79
Merge branch 'fix_launcher_crash' into 'master'
...
Wait for the reloading cells thread on DataFilesPage destruction (#8445 )
Closes #8445
See merge request OpenMW/openmw!4661
2025-05-06 18:37:04 +00:00
elsid
4a18c23e2d
Wait for the reloading cells thread on DataFilesPage destruction
...
Run a single thread and notify it when it has to reload cells.
2025-05-04 21:59:49 +02:00
Alexei Kotov
0d27dc2336
Merge branch 'fognearisafloat' into 'master'
...
Tiny fix in omwfx docs
See merge request OpenMW/openmw!4656
2025-05-03 21:30:07 +03:00
epochwon
9e80c27002
changed fognear to a float instead of a vec2
2025-05-02 15:42:15 -04:00
psi29a
0e76a6edb5
Merge branch 'custom-config-directory-documentation' into 'master'
...
Add documentation for custom config directories
See merge request OpenMW/openmw!4633
2025-05-01 11:42:57 +00:00
Evil Eye
a37758a165
Merge branch 'jinja' into 'master'
...
Bump jinja2
See merge request OpenMW/openmw!4654
2025-04-30 18:43:29 +00:00
Evil Eye
36e34426bb
Merge branch 'fix_warnings' into 'master'
...
Fix warnings
See merge request OpenMW/openmw!4651
2025-04-30 18:43:14 +00:00
Alexei Kotov
7a0e3aaf11
Bump jinja2
2025-04-29 19:50:02 +03:00
Alexei Kotov
c7f6de472f
Merge branch 'fix_cobertura_path' into 'master'
...
Fix path for junit reports
See merge request OpenMW/openmw!4650
2025-04-29 19:32:36 +03:00
elsid
52281a5e32
Fix path for junit reports
2025-04-29 08:34:09 +02:00
Alexei Kotov
72e73784fb
Fix post-processing shader glsl_version bumping
2025-04-29 04:25:24 +03:00
elsid
b5f8a0ecdb
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-28 22:07:00 +02:00
elsid
a5826b75e0
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-28 22:07:00 +02:00
elsid
875a45837a
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]);
| ^~~~~~~~~~~~
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105438 .
Simplified example: https://godbolt.org/z/ccPje4nK1 .
2025-04-28 22:06:51 +02:00
elsid
891d6fd0ba
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-28 22:00:03 +02:00
Alexei Kotov
55107e0913
Merge branch 'idle_select_to_group_name' into 'master'
...
Use string_view for sIdleSelectToGroupName
See merge request OpenMW/openmw!4646
2025-04-28 03:02:17 +03:00
AnyOldName3
897b502b0f
Field lists for tokens
2025-04-26 19:09:59 +01:00
AnyOldName3
cbf0760adf
Configuration sources to bulleted list
2025-04-26 18:57:57 +01:00
Alexei Kotov
011dfb305c
Merge branch 'navmeshtool_lib' into 'master'
...
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
elsid
f487a6332b
Use string_view for sIdleSelectToGroupName
2025-04-24 23:01:30 +02:00
psi29a
80d6f020ed
Merge branch 'apt_get_retry' into 'master'
...
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.
...
This fixes bugs #8225 and #8462 .
2025-04-23 20:33:56 -07:00
Alexei Kotov
ca3a286cc4
Merge branch 'master' into 'master'
...
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
2025-04-23 11:20:46 -07:00
elsid
8ee0c9e7be
Retry apt-get update and add-apt-repository
2025-04-22 23:05:27 +02:00
AnyOldName3
19725473d7
Detect failures in multiline PowerShell commands
...
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'
...
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'
...
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
AnyOldName3
c0a05f5d13
Add documentation for custom config directories
...
Also includes examples for portable installs and profiles.
2025-04-19 19:14:18 +01: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'
...
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'
...
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