Evil Eye
395f6811c9
Remove minimum duration from continuous effects and add clarification to the docs
2025-07-28 18:59:23 +02:00
psi29a
176dab5b3d
Merge branch 'nomagnitudeforyou' into 'master'
...
Don't multiply magnitudes for effects that don't have magnitudes
Closes #8540
See merge request OpenMW/openmw!4810
2025-07-28 15:59:13 +00:00
psi29a
e304ceb449
Merge branch 'fix_init' into 'master'
...
Do not copy cell store to count refs
See merge request OpenMW/openmw!4813
2025-07-28 15:58:46 +00:00
psi29a
4efc8bf99d
Merge branch 'fix_clang_tidy' into 'master'
...
Fix clang tidy warnings
See merge request OpenMW/openmw!4811
2025-07-28 15:55:53 +00:00
Alexei Kotov
0a8373987d
Merge branch 'aiwander' into 'master'
...
Build checkpoints based path for wandering actors (#8433 )
Closes #8433
See merge request OpenMW/openmw!4652
2025-07-28 00:48:17 +03:00
elsid
e77ee5c20f
Do not copy cell store to count refs
2025-07-27 18:40:39 +02:00
psi29a
2051d5cbef
Merge branch 'master' into 'master'
...
Fixed Unit Test in `apps/openmw_tests/mwworld/testptr.cpp`
See merge request OpenMW/openmw!4807
2025-07-27 16:33:39 +00:00
Claire
af58da58fd
Fixed Unit Test in apps/openmw_tests/mwworld/testptr.cpp
2025-07-27 16:33:38 +00:00
psi29a
d3309e0a8d
Merge branch 'vfxdocs' into 'master'
...
Fix useAmbientLight references in docs
See merge request OpenMW/openmw!4803
2025-07-27 16:33:22 +00:00
psi29a
7637ca536b
Merge branch 'turnedwerewolf' into 'master'
...
Remove completion threshold-based turning for the player (#8447 )
Closes #8447
See merge request OpenMW/openmw!4628
2025-07-27 16:32:43 +00:00
psi29a
7aeff7e473
Merge branch 'combatparalysis' into 'master'
...
Put combat actions on hold when the actor is incapacitated (#7979 )
Closes #7979
See merge request OpenMW/openmw!4597
2025-07-27 16:32:22 +00:00
psi29a
02102eeeca
Merge branch 'instantmagicjustaddwater' into 'master'
...
Update effects upon applying them
Closes #7996
See merge request OpenMW/openmw!4124
2025-07-27 16:30:56 +00:00
psi29a
c8aa644111
Merge branch 'collisionprediction' into 'master'
...
Avoid recomputing collision prediction things an extra N times (#8548 )
Closes #8548
See merge request OpenMW/openmw!4801
2025-07-27 16:30:11 +00:00
Evil Eye
aae954643c
Don't multiply magnitudes for effects that don't have magnitudes
2025-07-27 12:47:35 +02:00
elsid
c6f381f1c4
Ignore readability-identifier-naming for boost::program_options namespace alias
2025-07-27 12:21:13 +02:00
elsid
8682ea522f
Remove unused namespace alias
2025-07-27 12:20:10 +02:00
elsid
ec0c76d2f3
Ignore false positive warning
...
cellSize > 1 so the result of the division cannot be undefined.
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:18:35: error: The result of the '/' expression is undefined [clang-analyzer-core.UndefinedBinaryOperatorResult,-warnings-as-errors]
18 | std::size_t cell = global / (cellSize - 1);
| ^
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:244:13: note: Assuming 'lodLevel' is >= 0
244 | if (lodLevel < 0 || 63 < lodLevel)
| ^~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:244:13: note: Left side of '||' is false
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:244:29: note: Assuming 'lodLevel' is <= 63
244 | if (lodLevel < 0 || 63 < lodLevel)
| ^~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:244:9: note: Taking false branch
244 | if (lodLevel < 0 || 63 < lodLevel)
| ^
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:247:13: note: Assuming 'size' is > 0
247 | if (size <= 0)
| ^~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:247:9: note: Taking false branch
247 | if (size <= 0)
| ^
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:272:13: note: Assuming the condition is false
272 | if (land != nullptr)
| ^~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:272:9: note: Taking false branch
272 | if (land != nullptr)
| ^
/home/elsid/dev/openmw/components/esmterrain/storage.cpp:363:9: note: Calling 'sampleCellGrid<const (lambda at /home/elsid/dev/openmw/components/esmterrain/storage.cpp:280:35) &>'
363 | sampleCellGrid(cellSize, sampleSize, beginX, beginY, distance, handleSample);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:72:13: note: Assuming 'cellSize' is >= 2
72 | if (cellSize < 2 || !Misc::isPowerOfTwo(cellSize - 1))
| ^~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:72:13: note: Left side of '||' is false
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:72:9: note: Taking false branch
72 | if (cellSize < 2 || !Misc::isPowerOfTwo(cellSize - 1))
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:75:13: note: Assuming 'sampleSize' is not equal to 0
75 | if (sampleSize == 0 || !Misc::isPowerOfTwo(sampleSize))
| ^~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:75:13: note: Left side of '||' is false
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:75:9: note: Taking false branch
75 | if (sampleSize == 0 || !Misc::isPowerOfTwo(sampleSize))
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:78:13: note: Assuming 'distance' is >= 2
78 | if (distance < 2 || !Misc::isPowerOfTwo(distance - 1))
| ^~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:78:13: note: Left side of '||' is false
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:78:9: note: Taking false branch
78 | if (distance < 2 || !Misc::isPowerOfTwo(distance - 1))
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:84:13: note: Assuming 'distance' is >= 'cellSize'
84 | if (distance < cellSize || sampleSize > cellSize - 1)
| ^~~~~~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:84:13: note: Left side of '||' is false
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:84:36: note: Assuming the condition is true
84 | if (distance < cellSize || sampleSize > cellSize - 1)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:84:9: note: Taking true branch
84 | if (distance < cellSize || sampleSize > cellSize - 1)
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:85:20: note: Calling 'sampleCellGridSimple<const (lambda at /home/elsid/dev/openmw/components/esmterrain/storage.cpp:280:35) &>'
85 | return sampleCellGridSimple(cellSize, sampleSize, beginX, beginY, endX, endY, f);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:56:16: note: 'cellSize' is > 1
56 | assert(cellSize > 1);
| ^
/usr/include/assert.h💯 27: note: expanded from macro 'assert'
100 | (static_cast <bool> (expr) \
| ^~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:56:9: note: '?' condition is true
56 | assert(cellSize > 1);
| ^
/usr/include/assert.h💯 7: note: expanded from macro 'assert'
100 | (static_cast <bool> (expr) \
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:57:9: note: '?' condition is true
57 | assert(Misc::isPowerOfTwo(cellSize - 1));
| ^
/usr/include/assert.h💯 7: note: expanded from macro 'assert'
100 | (static_cast <bool> (expr) \
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:58:16: note: 'sampleSize' is not equal to 0
58 | assert(sampleSize != 0);
| ^
/usr/include/assert.h💯 27: note: expanded from macro 'assert'
100 | (static_cast <bool> (expr) \
| ^~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:58:9: note: '?' condition is true
58 | assert(sampleSize != 0);
| ^
/usr/include/assert.h💯 7: note: expanded from macro 'assert'
100 | (static_cast <bool> (expr) \
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:60:9: note: Calling 'sampleGrid<(lambda at /home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:61:13)>'
60 | sampleGrid(sampleSize, beginX, beginY, endX, endY,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 | [&](std::size_t globalX, std::size_t globalY, std::size_t vertX, std::size_t vertY) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62 | const auto [cellX, x] = toCellAndLocal(beginX, globalX, cellSize);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63 | const auto [cellY, y] = toCellAndLocal(beginY, globalY, cellSize);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64 | f(cellX, cellY, x, y, vertX, vertY);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
65 | });
| ~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:33:38: note: Assuming 'y' is < 'endY'
33 | for (std::size_t y = beginY; y < endY; y += sampleSize)
| ^~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:33:9: note: Loop condition is true. Entering loop body
33 | for (std::size_t y = beginY; y < endY; y += sampleSize)
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:36:42: note: Assuming 'x' is < 'endX'
36 | for (std::size_t x = beginX; x < endX; x += sampleSize)
| ^~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:36:13: note: Loop condition is true. Entering loop body
36 | for (std::size_t x = beginX; x < endX; x += sampleSize)
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:36:42: note: Assuming 'x' is < 'endX'
36 | for (std::size_t x = beginX; x < endX; x += sampleSize)
| ^~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:36:13: note: Loop condition is true. Entering loop body
36 | for (std::size_t x = beginX; x < endX; x += sampleSize)
| ^
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:37:17: note: Calling 'operator()'
37 | f(x, y, vertX++, vertY);
| ^~~~~~~~~~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:62:41: note: Calling 'toCellAndLocal'
62 | const auto [cellX, x] = toCellAndLocal(beginX, globalX, cellSize);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/elsid/dev/openmw/components/esmterrain/gridsampling.hpp:18:35: note: The result of the '/' expression is undefined
18 | std::size_t cell = global / (cellSize - 1);
| ~~~~~~~^~~~~~~~~~~~~~~~
2025-07-27 12:11:24 +02:00
elsid
c5d74818eb
Disable portability-template-virtual-member-function clang tidy warning
...
There is no compatibility problem in practice.
/home/elsid/dev/openmw/components/settings/sanitizer.hpp:11:19: error: unspecified virtual member function instantiation; the virtual member function is not instantiated but it might be with a different compiler [portability-template-virtual-member-function,-warnings-as-errors]
11 | virtual T apply(const T& value) const = 0;
| ^
/home/elsid/dev/openmw/components/settings/sanitizerimpl.cpp:20:28: note: template instantiated here
20 | struct Max final : Sanitizer<T>
| ^
2025-07-27 11:30:07 +02:00
elsid
4433e3c2de
Build path over navmesh for wandering actors
...
Using a path over pathgrid as checkpoints.
This allows to avoid having paths going through obstacles if they are
placed over pathgrid points.
2025-07-27 11:17:17 +02:00
elsid
5dfda0090b
Remove redundant cell argument from build path functions
...
Actor can provide a cell.
2025-07-27 11:17:17 +02:00
elsid
3f1ac1848c
Move getClosestPoint to a separate file
2025-07-27 11:17:17 +02:00
elsid
927b2bcceb
Replace PathFinder::makeOsgVec3 by Misc::Convert::makeOsgVec3f
2025-07-27 11:17:16 +02:00
elsid
50f5bc51c6
Store allowed positions as osg::Vec3f
...
There is no need to store pathgrid points.
2025-07-27 11:16:47 +02:00
Alexei Kotov
8deb050ea2
Merge branch 'ghversion' into 'master'
...
Use the new Windows deps on GitHub
See merge request OpenMW/openmw!4808
2025-07-27 11:41:01 +03:00
Alexei Kotov
1896375380
Merge branch 'solarpowered' into 'master'
...
Update sol
Closes #8591 and #8614
See merge request OpenMW/openmw!4745
2025-07-27 11:38:16 +03:00
Alexei Kotov
d3328552e8
Avoid recomputing collision prediction things an extra N times ( #8548 )
2025-07-27 07:36:43 +03:00
Alexei Kotov
ed32e4405a
Merge branch 'optionalglobalism' into 'master'
...
Remove global config on Windows
Closes #8434
See merge request OpenMW/openmw!4762
2025-07-26 23:25:55 +03:00
Skyhasacat
9f10269ecc
Merge branch 'lua_weather_bindings' into 'master'
...
lua - add weatherbindings to openmw.core (#6976 )
See merge request OpenMW/openmw!4526
2025-07-26 15:01:32 +00:00
Evil Eye
e692025579
Use the new Windows deps on GitHub
2025-07-26 16:36:50 +02:00
Sebastian Fieber
534d6b3ae9
typo
2025-07-26 13:39:37 +02:00
elsid
7c46635a5a
Make trimAllowedNodes a free function
2025-07-26 11:48:36 +02:00
elsid
ae909d7685
Remove isAreaOccupiedByOtherActor from obstacle.*
...
It uses functions only from World anyway.
2025-07-26 11:48:36 +02:00
elsid
c79b39cf0d
Remove unused arguments from isAreaOccupiedByOtherActor
2025-07-26 11:48:36 +02:00
elsid
20bd1491a7
Make sure distance and duration are not negative
2025-07-26 11:48:36 +02:00
elsid
4a3ffb2073
Use camel case for variables
2025-07-26 11:48:35 +02:00
Evil Eye
b4a753812e
Use empty paths instead of optionals
2025-07-26 10:23:19 +02:00
Evil Eye
c0b230b742
Remove global config on Windows
2025-07-26 09:45:35 +02:00
Sebastian Fieber
95fc66bccd
adjusments to weatherbindings
...
- return nil for not existing effects
- also use currectTexturePath for cloud texture
- corrections for docs
2025-07-25 23:22:33 +02:00
Sebastian Fieber
855b236ee8
direction of the sun light != direction to the sun
2025-07-25 21:00:09 +02:00
Alexei Kotov
730a62effc
Merge branch 'warn-baby-warn' into 'master'
...
Fix MSVC warnings
Closes #7882
See merge request OpenMW/openmw!4804
2025-07-25 21:45:34 +03:00
Sebastian Fieber
a560aceb2a
correct sunDiscSunsetColor type
2025-07-25 20:37:05 +02:00
Sebastian Fieber
cbb96e0fc2
colors should use Misc::Color
2025-07-25 20:10:21 +02:00
psi29a
a599825bf8
Merge branch 'everyonelikeschameleons' into 'master'
...
Prevent hostile actors from engaging combat against actors with 75 chameleon
See merge request OpenMW/openmw!4806
2025-07-25 08:02:32 +00:00
psi29a
714c128947
Merge branch 'compositemipmaps' into 'master'
...
Apply filtering settings to composite maps
See merge request OpenMW/openmw!4805
2025-07-25 07:12:07 +00:00
psi29a
45e08f62a1
Merge branch 'smolpiranha' into 'master'
...
Take skin transform and skeleton root into account
Closes #4437
See merge request OpenMW/openmw!4471
2025-07-25 07:09:55 +00:00
Sebastian Fieber
b8fec360c3
typo
2025-07-25 02:20:26 +02:00
Sebastian Fieber
f1447207b2
more less preprocessed code lines
2025-07-25 01:13:43 +02:00
Sebastian Fieber
3f54d3e569
update lua api revision
2025-07-25 00:53:04 +02:00
Sebastian Fieber
27adbf0cde
less preprocessed code lines
2025-07-25 00:53:04 +02:00
Sebastian Fieber
d20a56517b
add getCurrentSunLightDirection
2025-07-25 00:52:56 +02:00