Commit graph

22903 commits

Author SHA1 Message Date
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
fc4cc3255d
Do not build navmeshtool translation units twice 2025-04-24 23:03:07 +02: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
elsid
626d7b2282
Add missing TargetPolygonNotFound enum value to lua bindings 2025-04-21 16:36:19 +02: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
elsid
042c4b2b9d
Use static_assert for compile time check 2025-04-18 14:38:23 +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
AnyOldName3
31fcc5e126 Add test for new ReadersCache functions 2025-04-11 17:30:56 +01:00
psi29a
ea8369eff0 Merge branch 'dont-redraw-the-whole-gui-every-time-we-change-the-tiniest-thing' 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
Be more careful when we tell Qt that data has changed

Closes #8405

See merge request OpenMW/openmw!4621
2025-04-09 11:19:32 +00:00
AnyOldName3
096759435a Add progress bars where the launcher can be limited by IO
I tested this with a USB3 external hard drive.

These two places were the only ones where we're IO-bound and block the main thread, so they're the only ones that need progress bars.

If trying to replicate this test, then it's important to unplug the hard drive between each repeat.
Apparently Windows is excellent at disk caching these days as it takes a minute and a half to start the launcher with Total Overhaul on this drive when it's just been plugged in, but less time than the first launch after a reboot on an NVME drive once the cache has been warmed up.
2025-04-09 01:36:52 +01:00
psi29a
428044abe2 Merge branch 'moveoutalready' 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
Open the data directory file picker at the last opened location

Closes #8426

See merge request OpenMW/openmw!4606
2025-04-07 11:04:26 +00:00
psi29a
bd1c2a11d7 Merge branch 'herbalfish' into 'master'
Fix some graphic herbalism issues

See merge request OpenMW/openmw!4624
2025-04-07 11:03:55 +00:00
psi29a
0c4c202998 Merge branch 'ifavideofallsintheforest' into 'master'
Pause menu video playback when OpenMW is minimized

Closes #8441

See merge request OpenMW/openmw!4625
2025-04-07 11:03:37 +00:00
Alexei Kotov
8419116cae Fix crash if ripple pipeline shaders are unavailable 2025-04-07 03:31:32 +03:00
psi29a
8a0f513094 Merge branch 'fix_clang_tidy' 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
Fix clang tidy checks

See merge request OpenMW/openmw!4619
2025-04-06 17:54:20 +00:00
Evil Eye
1667b11564 Pause menu video playback when OpenMW is minimized 2025-04-06 19:42:04 +02:00
psi29a
b29d89bd6a Merge branch 'enchantment404' into 'master'
Allow referenced enchantments to be missing on equipped items

See merge request OpenMW/openmw!4617
2025-04-06 16:06:10 +00:00
Evil Eye
d826962eaa Don't assume unresolved containers contain no visible items 2025-04-06 11:02:31 +02:00
AnyOldName3
7bad2864d9 Reuse QIcon
This saves more than 15% of launcher startup time on my machine (after the prior improvements - it's way less without those)
2025-04-06 02:40:42 +01:00
elsid
7c45a564a1
Fix clang-analyzer-deadcode.DeadStores 2025-04-05 12:55:17 +02:00
Evil Eye
15f4368fe6 Account for creatures not having a model in more places 2025-04-05 10:19:50 +02:00
Alexei Kotov
065a388632 Allow enchantments to be missing on equipped items 2025-04-05 01:10:41 +03:00
Evil Eye
86426aa87b Open the data directory file picker at the last opened location 2025-03-31 17:11:09 +02:00
elsid
a61ce111a5
Remove declaration without definition 2025-03-31 00:28:06 +02:00
psi29a
747771ac5e Merge branch 'fontexport' into 'master'
Restore --export-fonts option functionality

See merge request OpenMW/openmw!4561
2025-03-27 11:04:35 +00:00
elsid
ada48d9021
Reduce a chance to have a deadlock in the AsyncNavMeshUpdater
* Do not fail tile generation if debug mesh writing fails.
* Mark some functions as noexcept to better crash than have a deadlock.
* Unlock tile and remove job if there on exception while processing it.
2025-03-23 23:33:40 +01:00
elsid
7112217adc
Use temporary directory for tests output 2025-03-23 23:33:40 +01:00
psi29a
d13f108779 Merge branch 'nbsp' 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
Non-breaking space-related fixes (#8378)

Closes #8378

See merge request OpenMW/openmw!4592
2025-03-23 16:27:07 +00:00
elsid
51258662b5
Support max log level for Recast via env variable
Do not write to log if log message level is greater than one speficied
in the OPENMW_RECAST_MAX_LOG_LEVEL env variable. Use Error by default.
2025-03-21 15:34:47 +01:00
psi29a
241a24564a Merge branch 'doubleexit' 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
Don't assume there is a GUI mode in exitCurrentGuiMode (#8380)

Closes #8380

See merge request OpenMW/openmw!4590
2025-03-18 13:16:23 +00:00
Alexei Kotov
cd3980eca4 Make figure space non-breaking 2025-03-18 10:29:29 +03:00
Alexei Kotov
b5a2a4e52d Render no-break space in books, don't consider narrow NBSP breaking 2025-03-17 22:03:38 +03:00
Alexei Kotov
e4ae0c9a95 Don't assume there is a GUI mode in exitCurrentGuiMode (#8380) 2025-03-16 09:06:01 +03:00
Evil Eye
2b5d076ff8 Merge branch 'followmeifyouwanttohit' 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
Don't use attack strength as "hit ready" flag

See merge request OpenMW/openmw!4583
2025-03-15 12:02:35 +00:00
Alexei Kotov
9f85e51934 Only log ripples pipeline once 2025-03-11 17:37:18 +03:00
Alexei Kotov
569ed4559f Merge branch 'fix_msvc_warnings' 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 msvc warnings

See merge request OpenMW/openmw!4579
2025-03-11 00:55:32 +03:00
Alexei Kotov
5354a5f786 Don't use attack strength as "hit ready" flag
This unbreaks follow animations' strength dependence
2025-03-11 00:44:35 +03:00
psi29a
73bb17009e Merge branch 'getsoundplaying' 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
Don't require a reference for GetSoundPlaying (#8389)

Closes #8389

See merge request OpenMW/openmw!4576
2025-03-10 08:13:23 +00:00
elsid
51d73e37df
Fix msvc warnings
components\lua\configuration.cpp(133): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
components\esm3\effectlist.cpp(35): warning C4267: '=': conversion from 'size_t' to 'uint32_t', possible loss of data
components_tests\misc\testmathutil.cpp(54): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(62): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(131): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(135): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(135): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
components_tests\misc\testmathutil.cpp(139): warning C4305: 'argument': truncation from 'const double' to 'osg::Vec3f::value_type'
2025-03-09 17:55:17 +01:00
Alexei Kotov
a49a900a7b Merge branch 'fix_lua_teleport' 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
Merge deleted refs when unloading a cell (#8311)

Closes #8311

See merge request OpenMW/openmw!4575
2025-03-09 15:51:01 +03:00
Alexei Kotov
8cb1838c4a Don't require a reference for GetSoundPlaying (#8389) 2025-03-09 00:52:00 +03:00
elsid
f800f63ee5
Merge deleted refs when unloading a cell
To unload objects scheduled to be teleported.
2025-03-08 12:48:28 +01:00
elsid
5776eea1b0
Avoid accessing removed character on deleting last save 2025-03-08 00:34:27 +01:00
Alexei Kotov
5f92d520ee Merge branch 'mainmembers' 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 more potential use-after-free issues

See merge request OpenMW/openmw!4566
2025-03-07 00:25:35 +03:00
Evil Eye
9bf6a15ff5 Force move the captured string 2025-03-06 17:32:56 +01:00
psi29a
95312139d5 Merge branch 'context_matters' into 'master'
Some checks are pending
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
Build and test / MacOS (push) Waiting to run
Build and test / Read .env file and expose it as output (push) Waiting to run
Fix in-game actions not clearing because of input bindings only initializing in menu context

See merge request OpenMW/openmw!4570
2025-03-05 21:18:02 +00:00
Alexei Kotov
97717e6fce Merge branch 'fix_lua_vfs_crash' 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
Fix crash on LuaManager::clear triggered by vfs (#8370)

Closes #8370

See merge request OpenMW/openmw!4559
2025-03-05 04:51:47 +03:00
uramer
990096ff9b Fix in-game actions not clearing because of input bindings only initializing in menu context 2025-03-04 21:08:26 +01:00