1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-01-22 00:53:52 +00:00
Commit graph

18142 commits

Author SHA1 Message Date
Evil Eye
bba80b07a2 Check if the target is an actor 2021-10-14 16:49:30 +02:00
Bo Svensson
db3d938ee9
cleans up BSAFile (#3177)
We currently build a large map of a BSAFile's contents unused by Open MW. We already map archive contents in VFS. With this PR we remove the map from BSAFile and reimplement its only current use in BSATool.
2021-10-14 14:46:44 +02:00
psi29a
e86b9a7b89 Merge branch 'add_comment' into 'master'
Add comment for MWWorld::Ptr::getType() because it is not obvious.

See merge request OpenMW/openmw!1291
2021-10-14 12:44:04 +00:00
Evil Eye
4a6464ea67 Stop trying to play non-existent music files started by scripts 2021-10-13 22:40:07 +02:00
Evil Eye
ec6451e93a Merge branch 'recordtype' into 'master'
Avoid copying std::string in MWWorld::Ptr::getTypeDescription()

See merge request OpenMW/openmw!1290
2021-10-13 17:04:32 +00:00
Bo Svensson
fc9ab97950
sky.cpp 2021-10-13 10:08:28 +00:00
Petr Mikheev
4e9d691715 Add comment for MWWorld::Ptr::getType() because it is not obvious. 2021-10-12 21:30:37 +02:00
Evil Eye
6b482d0b52 Merge branch 'openmw-tradeglitch' into master 2021-10-12 18:19:19 +02:00
psi29a
6ec66edb7c Merge branch 'soulful' into 'master'
Fix soul trapping for one shot kills

Closes #6337

See merge request OpenMW/openmw!1288
2021-10-12 07:59:44 +00:00
psi29a
67fa8413f3 Merge branch 'physics_heightfield' into 'master'
Replace float type for arguments to create heightfield with int

See merge request OpenMW/openmw!1285
2021-10-12 07:58:34 +00:00
psi29a
207a7245bc Merge branch 'navigator_settings' into 'master'
Initialize navigator max climb and max slope settings in makeSettingsFromSettingsManager

See merge request OpenMW/openmw!1283
2021-10-12 07:02:08 +00:00
psi29a
444765e304 Merge branch 'navmesh_agent_half_extents' into 'master'
Define default actor half extents in settings

See merge request OpenMW/openmw!1282
2021-10-12 07:01:13 +00:00
Petr Mikheev
a8acc19988 Avoid copying std::string in MWWorld::Ptr::getTypeDescription() 2021-10-12 00:18:23 +02:00
elsid
405e814190
Move btCollisionObject creation for MWPhysics::Object into components 2021-10-11 23:14:02 +02:00
Evil Eye
ae4578f566 Fix soul trapping for one shot kills 2021-10-11 21:46:15 +02:00
Petr Mikheev
fec65acd18 Move getters to header in order to allow inlining 2021-10-11 21:33:35 +02:00
elsid
144862aa35
Define default actor half extents in settings
Player's half extents may change over time when wolfskin model is used for
example. Having it in settings is a more presistent approach.
2021-10-11 19:41:43 +02:00
elsid
7c5a590890
Replace float type for arguments to create heightfield with int
To reduce amount of computations on the caller side and restrict possible
values.

* verts can't be non-int because it's a number of things.
* worldsize is initially defined as int by ESM::Land::REAL_SIZE.
* Put function to calculate heightfied shift into components to be able to
  reuse by other binaries.
2021-10-11 19:28:08 +02:00
elsid
6986feb81b
Initialize navigator max climb and max slope settings in makeSettingsFromSettingsManager
To avoid having multiple places to initialize them when they will be required
by multiple binaries.
2021-10-11 18:50:26 +02:00
Bo Svensson
d6613d3677
mostly reverts MWLua changes (#3170)
We just can no longer use the former ptr.getTypeName() as a fallback, but I do not suppose it matters. This value was an implementation defined string that usually contained a garbled mess.
Probably we should additionally refactor Lua types completely now that we have Ptr::getType(). I will leave this up to MWLua developers.
2021-10-11 16:56:26 +02:00
Bo Svensson
5cf9995a31
fixes windows build 2021-10-11 13:28:37 +00:00
Bo Svensson
ef906cbfa8
improves MWClass mapping (#3166)
Currently, we use a peculiar mapping of ESM classes by their std::type_info::name. This mapping is an undefined behaviour because std::type_info::name is strictly implementation defined. It could return a non-unique value on some platforms. With this PR we use the unsigned int sRecordId of the ESM class as a more efficient lookup type that does not build on undefined behaviour. We can expect marginally faster save-game loading with these changes as well.
2021-10-11 13:46:21 +02:00
Bo Svensson
98f8295765
allows to skip ComputeLightSpaceBounds traversal (#3152)
Currently, we always traverse the scene graph an additional time with a ComputeLightSpaceBounds visitor during shadow casting. ComputeLightSpaceBounds is only useful when the shadow casting mask allows us to shrink the bounds of the rendered scene, so we guard its traversal with a check against getCastsShadowTraversalMask. In practice, this guard never works because we build the traversal mask inclusively.

With this PR we limit the getCastsShadowTraversalMask check to relevant masks. This new check allows us to skip a superfluous ComputeLightSpaceBounds traversal with most settings.
2021-10-11 11:27:50 +02:00
psi29a
66a6b80df9 Merge branch 'thrust_into_the_light' into 'master'
Detect keys and enchanted items in containers without custom data

Closes #6326

See merge request OpenMW/openmw!1265
2021-10-11 09:13:31 +00:00
psi29a
f9124ccea6 Merge branch 'recast_mesh_slope' into 'master'
Use different colors for walkable and non-walkable recast mesh triangles

See merge request OpenMW/openmw!1277
2021-10-11 08:56:04 +00:00
psi29a
3e2694dde9 Merge branch 'catch_me' into 'master'
Remove active effects from spells that no longer exist

See merge request OpenMW/openmw!1273
2021-10-11 08:53:48 +00:00
psi29a
d3bad2dba2 Merge branch 'stripperiffic_werewolves' into 'master'
Remove magic effects before saving stats when turning into a werewolf

Closes #6330

See merge request OpenMW/openmw!1270
2021-10-11 08:52:46 +00:00
psi29a
21c4504d35 Merge branch 'max_slope' into 'master'
Change max walkable slope angle to 46 degrees

See merge request OpenMW/openmw!1280
2021-10-11 08:22:35 +00:00
Bo Svensson
cbcdd705ee
minor objectpaging.cpp scene graph optimisations (#3155)
We now use PositionAttitudeTransform for unmerged nodes because I have been informed PositionAttitudeTransform's scene graph performance is measurably faster than MatrixTransform's. We still need to use MatrixTransform for merged nodes because the Optimizer has limited support for non-MatrixTransform nodes. These MatrixTransforms will be removed in the merging process anyway.
2021-10-11 10:09:01 +02:00
elsid
ff9aabafd1
Change max walkable slope angle to 46 degrees
This is the value used by vanilla Morrowind engine. At this angle player
character starts sliding down the slope.

This fixes navigation and movement issue in Mournhold, Godsreach.
2021-10-10 18:25:05 +02:00
Bo Svensson
af759683b8
enables std::move in keywordsearch.hpp (#3163)
For some reason we have commented std::move keywords in keywordsearch.hpp while they are quite beneficial. openmw_test_suite for keywordsearch.hpp takes 30% less time with these changes.
2021-10-10 18:15:40 +02:00
elsid
0c8a811ad5
Render only cached recast mesh
To avoid waiting while recast mesh is generating.

Remove redundant continue.
2021-10-10 13:13:57 +02:00
Evil Eye
3d5950f790 Remove active effects from spells that no longer exist 2021-10-09 12:27:17 +02:00
Evil Eye
ec735529da Remove active effects from the player when transforming 2021-10-08 17:32:41 +02:00
Evil Eye
f6eeee3ad5 Detect keys and enchanted items in containers without custom data 2021-10-08 16:51:30 +02:00
psi29a
7af245d205 Merge branch 'sync_sync_with_async' into 'master'
Merge logic of sync and async physics simulation

See merge request OpenMW/openmw!1250
2021-10-08 09:35:32 +00:00
psi29a
ae31138686 Merge branch 'options_tests' into 'master'
Add tests for openmw options

See merge request OpenMW/openmw!1253
2021-10-08 08:02:40 +00:00
psi29a
9c47fdcf7e Merge branch 'flip_sign' into 'master'
Fix regression #6328

Closes #6328

See merge request OpenMW/openmw!1267
2021-10-08 06:47:57 +00:00
psi29a
1332e57195 Merge branch 'outside_means_outside' into 'master'
Make StayOutside only block teleportation from exteriors to interiors

Closes #6323

See merge request OpenMW/openmw!1268
2021-10-08 06:46:42 +00:00
psi29a
fc7e13d76a Merge branch 'omwaddon_dep' into 'master'
Allow creating omwaddons without a dependency on an omwgame

See merge request OpenMW/openmw!1243
2021-10-08 06:40:43 +00:00
Evil Eye
caafd0c667 Remove CE enchantments before saving stats when turning into a werewolf 2021-10-07 21:09:43 +02:00
psi29a
1f62fd3b56 Merge branch 'Fix_Keyword_Report_to_caius' into 'master'
Fix keyword search when the keyword is preceded by a non whitespace non alpha character

Closes #6308

See merge request OpenMW/openmw!1266
2021-10-07 13:26:40 +00:00
florent teppe
e5abadc234 Fix keyword search when the keyword is preceded by a non whitespace non alpha character 2021-10-07 13:26:40 +00:00
psi29a
555224a0fb Merge branch 'fixes' into 'master'
Make compilers happy and fix the changelog

See merge request OpenMW/openmw!1260
2021-10-07 10:17:27 +00:00
Evil Eye
dfc72e9b7e Make StayOutside only block teleportation from exteriors to interiors 2021-10-06 18:25:28 +02:00
Evil Eye
7540265432 Fix regression #6328 2021-10-06 17:14:00 +02:00
Bo Svensson
787f91211d resets state updater to apply light settings (#3141)
resets state updater to apply light settings

With this PR we achieve the same effect with fewer lines of code.
2021-10-06 11:21:30 +02:00
psi29a
c3f5e8f968 Merge branch 'lua_transform' into 'master'
3D transforms in Lua

See merge request OpenMW/openmw!1235
2021-10-06 09:21:21 +00:00
elsid
035307b012
Add tests for openmw options
In attempt to document current behaviour. Add commented out checks as desired
behaviour.
2021-10-05 22:51:12 +02:00
Kindi
ce54edf011 Update tradewindow.cpp
Additional check
2021-10-05 18:00:53 +00:00
Bo Svensson
442a0e8434
avoids two transforms in sky.cpp (#3150)
As we discovered in #3148, `Transform` nodes and their low level equivalence `pushModelViewMatrix` are somewhat costly involving a `Matrix::invert` operation per frame.

With this PR we avoid one `Transform` node for sun flashes and avoid another `pushModelViewMatrix` call in case the sun is fully visible.
2021-10-05 16:00:30 +02:00
fredzio
3b174d72d8 Introduce 3 scoped mutex wrappers to allow to conditionally skip taking
mutexes in synchronous case.
2021-10-05 15:52:27 +02:00
fredzio
21dbe314bf Use common function for sync and async case. Now both cases follow the
same flow, synchronous simulation is just a special case.
2021-10-05 15:44:20 +02:00
Frederic Chardon
499b161e7b Merge handleFall() and updateMechanics() into updateActor(). It remove gratuitious differences between sync and async cases. Also, it will make the after simulation update logic easier to follow when projectiles move into the simulation thread. 2021-10-05 15:44:20 +02:00
Bret Curtis
0d1d3e67bc
Merge pull request #3149 from bosvensson1/patch-24
With this PR we fix a -Wreorder warning.
2021-10-05 15:07:02 +02:00
Bo Svensson
4b1c009ffd
use StateSet define for translucentFramebuffer (#3138)
With this PR we test out osg's shader define system for a somewhat harmless feature. As we can see, our code becomes more concise and efficient in this case. Most importantly, we no longer create unneeded vertex shader objects.
2021-10-05 14:37:08 +02:00
Bo Svensson
b2af81bc18
converts remaining osg::NodeCallback (#3147)
With this PR we convert remaining instantiations of the deprecated osg::NodeCallback in Open MW to SceneUtil::NodeCallback.
2021-10-05 14:21:12 +02:00
Bo Svensson
9f58616aa0
fixes -Wreorder warning 2021-10-05 12:02:49 +00:00
Bo Svensson
8e9851c97c
npcanimation.cpp (#3148) 2021-10-05 13:52:19 +02:00
Kindi
d9b254178f Update tradewindow.hpp
remover redundant
2021-10-04 20:47:45 +00:00
Kindi
f28d6738bf Update tradewindow.cpp 2021-10-04 20:44:56 +00:00
Bo Svensson
e4a9eefc2a
uses a bitfield in refdata.hpp (#3143)
* uses a bitfield in refdata.hpp

With this simple change we pack boolean values to reduce the memory requirements of game objects.

* refdata.hpp [ci skip]

* refdata.cpp
2021-10-04 12:12:00 +02:00
Bo Svensson
aaf7b423d6
adds a replacement for osg::NodeCallback (#3144)
* nodecallback.hpp

* lightmanager.hpp

* lightmanager.cpp

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* [ci skip]

* lightmanager.hpp

* nodecallback.hpp

* nodecallback.hpp

* lightmanager.cpp

* lightmanager.cpp

* nodecallback.hpp

* [ci skip]

* [ci skip]

* controller.cpp

* [ci skip]

* osgacontroller.cpp

* keyframe.hpp

* controller.hpp

* keyframe.hpp

* [ci skip]

* keyframe.hpp

* animation.hpp

* [ci skip]

* weaponanimation.cpp

* nodecallback.hpp
2021-10-04 10:56:55 +02:00
Kindi
0c1b78c42a Update tradewindow.cpp curly 2021-10-04 02:16:01 +00:00
kuyondo
071793eeb3 Merge branch 'master' of https://gitlab.com/Kuyondo/openmw 2021-10-04 08:12:56 +08:00
kuyondo
49da33a129 comiit 2021-10-04 08:12:15 +08:00
Evil Eye
d680aa26e9 Disallow switch fallthrough 2021-10-03 21:58:10 +02:00
psi29a
0e07fc38e5 Merge branch 'opencs-ui-tweaks' into 'master'
Minor UI tweaks all around OpenMW-CS

See merge request OpenMW/openmw!1212
2021-10-03 19:13:51 +00:00
Matjaž Lamut
1c9f06f742 Minor UI tweaks all around OpenMW-CS 2021-10-03 19:13:51 +00:00
psi29a
2c8c36fe5d Merge branch 'master' into 'effective_magic'
# Conflicts:
#   CHANGELOG.md
2021-10-01 21:20:08 +00:00
psi29a
bd866cf210 Merge branch 'fix_infidelities' into 'master'
Fix Infidelities quest from Tribunal (#6307)

Closes #6307

See merge request OpenMW/openmw!1248
2021-10-01 21:12:15 +00:00
psi29a
1d342f80ed Merge branch 'cursorspeedmerge' into 'master'
Updated: Change cursor speed with settings.cfg (#6312)

Closes #6312

See merge request OpenMW/openmw!1255
2021-10-01 11:23:53 +00:00
psi29a
f6b27f610d Merge branch 'revert_and_twist' into 'master'
Revert and restore the cell grid size with alternate fix

See merge request OpenMW/openmw!1259
2021-10-01 11:21:06 +00:00
Bret Curtis
52a10a4bc0 remove one last assert 2021-10-01 12:24:29 +02:00
Bo Svensson
2568f119a4
reapplies PR without npe (#3137)
* avoids creating empty statesets on drawables

Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.

* renderingmanager.cpp

* nifloader.cpp

* nifloader.cpp

* shadervisitor.cpp
2021-10-01 10:11:00 +02:00
psi29a
9cf9da9cbd Merge branch 'fix' into 'master'
Resolve warning: lambda capture 'defaultCollisionType' is not required to be captured for this use

See merge request OpenMW/openmw!1247
2021-10-01 08:02:17 +00:00
andrewapp
b5af192888 gamepad cursor speed fix 2021-10-01 09:19:26 +10:00
Bret Curtis
8309910d9d Restore the cell grid to its former non-exorbitant size, reducing stutter and also threw in a simple alternative fix for the actor position adjustment issue. 2021-09-30 22:58:40 +02:00
Evil Eye
2de7b8e2fb Allow non-biped creatures using weapons to open doors 2021-09-29 21:21:52 +02:00
Evil Eye
4abcb0d7b9 Remove applied magnitude instead of min magnitude 2021-09-29 19:25:12 +02:00
Evil Eye
63a9203dde Fix icon magnitude 2021-09-29 19:25:12 +02:00
Evil Eye
43074347e8 Prevent spell duplication 2021-09-29 19:25:11 +02:00
Evil Eye
b8e4f18751 Clear temporary effects before unloading actors to prevent absorb effects becoming permanent 2021-09-29 19:25:11 +02:00
Evil Eye
161e042e2a Prevent iterator invalidation when cleaning up summons 2021-09-29 19:25:11 +02:00
Evil Eye
dc1fe62dde Overhaul magic effects to work with onApply and onEnd events 2021-09-29 19:25:10 +02:00
Andrei Kortunov
e109d86489 Revert "avoids creating empty statesets on drawables (#3132)"
This reverts commit 957c25a491.
2021-09-29 21:01:22 +04:00
Bo Svensson
d8707a763f
fixes build (#3134)
* quadtreeworld.cpp

* renderingmanager.cpp [ci skip]

* quadtreeworld.hpp

* cellborder.hpp

* cellborder.cpp
2021-09-29 17:10:58 +02:00
Bret Curtis
803195a05f add back some explicit includes 2021-09-29 16:29:10 +02:00
Bo Svensson
8358418555
set the correct program link parameters (#3110)
* shadermanager.hpp setProgramTemplate

* shadermanager.hpp

* shadermanager.cpp setProgramTemplate

* shadervisitor.hpp setProgramTemplate

* shadervisitor.cpp setProgramTemplate

* scenemanager.cpp setProgramTemplate

* scenemanager.hpp setProgramTemplate

* renderingmanager.cpp

* groundcover.cpp setProgramTemplate

* groundcover.hpp

* groundcover.cpp

* shadervisitor.cpp

* util.cpp

* lightmanager.cpp

* scenemanager.cpp

* scenemanager.hpp

* lightmanager.cpp

* lightmanager.cpp

* lightmanager.cpp

* scenemanager.hpp [ci skip]

* water.cpp

* groundcover.cpp

* shadermanager.hpp
2021-09-29 15:40:37 +02:00
Andrei Kortunov
1109cc3ac7
Remove unused data field (#3133) 2021-09-29 12:08:51 +02:00
Bo Svensson
957c25a491
avoids creating empty statesets on drawables (#3132)
* avoids creating empty statesets on drawables

Currently, we attempt to skip creating state on drawable nodes when this state matches the default state. This attempt is incomplete because we still create an avoidable empty stateset in the default case.

* renderingmanager.cpp

* nifloader.cpp
2021-09-29 09:58:19 +02:00
Andrei Kortunov
fc2076db1a
Fix MSVC warnings about local variables redeclaration (#3130) 2021-09-29 09:36:05 +02:00
elsid
c0ef4417c3
Check AiTravel destination for other actors presence
Use faster aabbTest but without destance filter. To avoid dependency on a
specific constant and correctly handle situations when there is a big
difference between actors sizes.
2021-09-29 01:05:23 +02:00
elsid
9950132a5f
Allow travelling actors find path over pathgrid navmesh area type
In addition to other navmesh areas. This makes actors behaviour closer to
vanilla when pathgrid is correct.
2021-09-29 01:05:23 +02:00
elsid
163968f578
Normalize area cost factor
Recastnavigation uses path cost and heuristic based on distance to find
shortest path by A* algorithm. Using raw speed values makes cost much lower
value than heuristic (1000 times less at maximum). Heuristic is defined as
distance from node to target * 0.999 that means area cost should never be less
than 0.999 or 1 for simplicity.

Use max speed to make lowest possible cost factor equal to 1.
2021-09-29 01:03:24 +02:00
Petr Mikheev
48538d5cef 3D transforms in Lua 2021-09-28 20:37:47 +02:00
Petr Mikheev
eb2f863b7d Resolve unused-lambda-capture warnings 2021-09-28 13:02:45 +02:00
Petr Mikheev
fb3917fc1a Lua callbacks 2021-09-28 09:36:23 +02:00
Petr Mikheev
0bd1c22e24 Raycasting in Lua 2021-09-28 09:36:23 +02:00
Bret Curtis
fd251dfe55 remove unused member variable 2021-09-28 09:19:48 +02:00
Bo Svensson
5fde6867a2
removes unused code (#3129)
* scenemanager.cpp

* scenemanager.hpp

* scenemanager.cpp

* stats.cpp

* renderingmanager.cpp
2021-09-28 09:07:49 +02:00
Evil Eye
77a23dab09 Only add enabled objects to the scene 2021-09-27 22:23:00 +02:00
Petr Mikheev
e760a6c7e6 Merge branch 'forlua' into 'master'
Simple Physics API modification for Lua

See merge request OpenMW/openmw!1216

(cherry picked from commit d88494c90b501d0832ae0330a0ca81d8b8e5aa50)

02dd055a Save hitObject in castSphere() just like in castRay()
0793d0bf Allow to override collision mask and group for castSphere() as for castRay()
2021-09-27 19:50:57 +00:00
Bo Svensson
01cc61087b
improves paging preloader (#3126)
* Return check for distance when we try to reuse data

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* cellpreloader.cpp

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* [ci skip]

* quadtreeworld.cpp

* chunkmanager.cpp

* chunkmanager.cpp

* cellpreloader.cpp

* jvoisin

* whitespace

* whitespace
2021-09-27 21:32:18 +02:00
psi29a
782e0710af Merge branch 'OpenCS-preserve-blocked' into 'master'
OpenCS - Preserve "blocked" record flags when saving. #6288

Closes #6288

See merge request OpenMW/openmw!1052
2021-09-27 19:21:20 +00:00
psi29a
908d196fee Merge branch 'master' into 'undead_intelligence'
# Conflicts:
#   CHANGELOG.md
2021-09-27 19:12:13 +00:00
psi29a
ade6cd0127 Merge branch 'editor_columns_filtering' into 'master'
Toggling table columns visibility. Partially implements #890

Closes #890

See merge request OpenMW/openmw!1232
2021-09-27 19:02:19 +00:00
psi29a
2cee222e73 Merge branch 'explosion_at_impact' into 'master'
Bring arrow behaviour in line with vanilla (#6233 and other change)

See merge request OpenMW/openmw!1188
2021-09-27 19:00:53 +00:00
Bo Svensson
c6f7137ee1
fixes bugs with share state (#3111)
* optimizer.cpp merge fix

* objectpaging.cpp

* optimizer.hpp setSharedStateManager

* optimizer.cpp shareState

* scenemanager.cpp shareState

* scenemanager.cpp

* optimizer.cpp

* optimizer.cpp

* scenemanager.cpp

* optimizer.cpp
2021-09-27 20:41:24 +02:00
Evil Eye
233bb287e1 Merge branch 'refactoring2' into 'master'
Minor refactoring: use Misc::normalizeAngle in worldimp.cpp

See merge request OpenMW/openmw!1242
2021-09-27 16:01:31 +00:00
Evil Eye
30c998f34e Merge branch 'test_cells' into 'master'
Use same logic for testing cell as for loading cell

See merge request OpenMW/openmw!1240
2021-09-27 15:24:00 +00:00
Evil Eye
34cf66139a Make GetCurrentAIPackage return -1 for non-actors and dead actors 2021-09-26 22:15:43 +02:00
Evil Eye
2f4df12b2e Merge branch 'Fix_ASCII' into 'master'
Fixed an issue where keyword search expected the text to be all ASCII characters

See merge request OpenMW/openmw!1227
2021-09-26 20:08:55 +00:00
Petr Mikheev
413ac067ec Allow creating omwaddons without a dependency on an omwgame 2021-09-26 17:44:28 +02:00
Petr Mikheev
83e0d9aeef Minor refactoring: use Misc::normalizeAngle in worldimp.cpp 2021-09-26 17:28:51 +02:00
psi29a
e2e5161d81 Merge branch 'optimizebrushdraw' into 'master'
Optimize terrain editing brush drawing performance

Closes #6285

See merge request OpenMW/openmw!1226
2021-09-26 15:14:55 +00:00
elsid
5878b1fce6
Use same logic for testing cell as for loading cell
Having different branches makes testing less useful. If something fails in
regular executing it should fail in testing. To make it possible there should
be none differences in the execution paths.
2021-09-24 22:24:07 +02:00
elsid
d36595e09e
Make sure PathFinder::getClosestPoint is not called with failing precondition
Pathgrid should be not nullptr and points should be not empty.
2021-09-23 01:48:54 +02:00
Pi03k
e641bea606 Toggling table columns visibility 2021-09-22 10:47:08 +02:00
Petr Mikheev
5893b88409 Ignore time to destination when giving way (#6296) 2021-09-22 01:46:04 +02:00
Bo Svensson
b22fb7a7bf
consolidate node mask checks (#3125)
* consolidate node mask checks

This PR simplifies a few checks against node masks in object paging by using the osg provided `setTraversalMask`.

* objectpaging.cpp
2021-09-21 22:39:31 +02:00
Evil Eye
786b6b7c9a Merge branch 'lua_util' into 'master'
Move LuaState::makeReadOnly(sol::table) out of the class

See merge request OpenMW/openmw!1229
2021-09-21 15:14:09 +00:00
florent.teppe
d9c3ba03f4 Uses limits instead of climits 2021-09-20 21:01:28 +02:00
Bo Svensson
99df1c695c
fixes wireframe is broken (#3123)
* renderingmanager.cpp [ci skip]

* groundcover.hpp [ci skip]

* groundcover.cpp

* renderingmanager.cpp [ci skip]

* renderingmanager.hpp
2021-09-20 20:17:55 +02:00
florent.teppe
2d32954888 Replaced Assert_true with expect_eq 2021-09-20 19:56:47 +02:00
psi29a
15bcbb5844 Merge branch 'getsquareroot' into 'master'
Remove duplicate GetSquareRoot implementation

See merge request OpenMW/openmw!1231
2021-09-19 19:49:55 +00:00
Evil Eye
831055f878 Merge branch 'OpenCS-fix-modify' into 'master'
OpenCS - Re-implement the fix for Issue #6067.

See merge request OpenMW/openmw!1173
2021-09-19 19:23:30 +00:00
florent.teppe
0e06e9b221 Removed useless comment and converted the file to UTF8 to keep special characters 2021-09-19 20:31:22 +02:00
Evil Eye
6d7cb38834 Remove duplicate GetSquareRoot implementation 2021-09-19 19:53:38 +02:00
florent.teppe
c1c501ca35 Added test to make sure keyword search works even with non ascii characters 2021-09-19 15:05:48 +02:00
florent.teppe
bcb0526268 Added climits, it compiled on VS2019, but not with g++ 2021-09-19 15:00:51 +02:00
Petr Mikheev
2f25257a3e Move LuaState::makeReadOnly(sol::table) out of the class because it doesn't need to access LuaState internals. 2021-09-19 14:38:27 +02:00
Petr Mikheev
f1e3c55ea3 Fix deadlock in Lua worker thread (#6286) 2021-09-19 11:32:52 +02:00
florent.teppe
76be2e91e5 Fixed an issue where keyword search expected the text to be all ASCII characters 2021-09-18 18:25:04 +02:00
psi29a
68db9869f5 Merge branch 'DistantTerrainDebugChunks' into 'master'
Debug terrain chunks

See merge request OpenMW/openmw!1169
2021-09-18 15:21:26 +00:00
psi29a
18f5762a76 Merge branch 'master' into 'OpenCS-preserve-blocked'
# Conflicts:
#   CHANGELOG.md
2021-09-18 15:20:26 +00:00
unelsson
70e210735a Optimize terrain editing brush drawing performance 2021-09-18 15:57:00 +03:00
Pi03k
4ff5a04e9b Remove redundant qt-related cmake macros 2021-09-17 14:41:04 +02:00
Bo Svensson
f62adab43a
Avoid the terrain sync completely in most cases (#3103)
We can take elsid's commit 605cb8d further by avoiding the terrain sync completely in most cases. Currently in changeCellGrid we wait for a new preloading task to ensure the getPagedRefnums for the new active cells have been filled in by object paging. This is usually not necessary because we have already completed a preload in the past containing these active cells. With this PR we remember what we preloaded and skip the terrain sync if it is not needed.
2021-09-16 22:11:19 +02:00
psi29a
2be3a76b6a Merge branch 'spin_me_right_round' into 'master'
Reset rotation when respawning actors

Closes #6273

See merge request OpenMW/openmw!1219
2021-09-15 08:27:25 +00:00
psi29a
24d1c2b5fa Merge branch 'recurse_directory_iterator' into 'master'
VFS manager refactoring

See merge request OpenMW/openmw!1218
2021-09-15 07:20:52 +00:00
Cédric Mocquillon
6817282097 Move getFileExtension to common header and use instead of repeating same code 2021-09-14 18:09:55 +02:00
Cédric Mocquillon
c2df0949e2 Change normalizeFilename signature 2021-09-14 18:09:55 +02:00
Cédric Mocquillon
d4e26746a3 Use recurse subdirectory iterator to iterate over the VFS without exposing internal details 2021-09-14 18:09:54 +02:00
Evil Eye
60298cd66d Reset rotation when respawning actors 2021-09-14 16:53:57 +02:00
pi03k
e4eeb9cce9 Remove 'no relevant classes' moc warning 2021-09-14 11:20:18 +02:00
Bo Svensson
b6f572578e
Groundcover optimisation (#3101)
* groundcover.cpp share state

* groundcover.hpp share state
2021-09-13 12:20:00 +02:00
psi29a
0ab8a7ddd7 Merge branch 'create-objects-menu' into 'master'
OpenMW-CS: Usability changes to the drop-down menu when creating a new object.

See merge request OpenMW/openmw!1210
2021-09-12 14:15:11 +00:00
psi29a
c40f921396 Revert "actoranimation.cpp faster getbonebyname (#3099)"
This reverts commit c284d0cf5c
2021-09-12 07:56:20 +00:00
Cédric Mocquillon
080c909c28 Merge the 'debug chunks' and 'object paging debug batches' settings into a single one 2021-09-11 21:53:05 +02:00
Bo Svensson
e2d0e86020
cellpreloader.cpp unused variable (#3102) 2021-09-11 20:58:42 +02:00
psi29a
f8c7664234 Merge branch 'copy_before_move' into 'master'
Maybe fix #6259

Closes #6259

See merge request OpenMW/openmw!1197
2021-09-11 09:32:50 +00:00
Bo Svensson
ac72f3d636
reduces virtual function calls in a hotspot of cache retrieval (#3100)
* chunkmanager.cpp static_cast [ci skip]

* groundcover.cpp static_cast [ci skip]

* Update objectpaging.cpp

objectpaging.cpp static_cast [ci skip]
2021-09-10 17:58:57 +02:00
Bret Curtis
1edeffbafc constify getBoneByName 2021-09-09 23:57:20 +02:00
Bo Svensson
9d661359a1
Groundcover consolidation (#3096)
* chunkmanager.hpp viewdistance

* chunkmanager.cpp viewdistance

* chunkmanager.hpp viewdistance

* quadtreeworld.cpp viewdistance

* quadtreeworld.cpp consolidate

* quadtreeworld.hpp consolidate

* renderingmanager.cpp groundcover consolidate

* renderingmanager.hpp groundcover consolidate

* renderingmanager.cpp updater move

* renderingmanager.hpp updater move

* groundcover.hpp activegrid consolidation

* groundcover.cpp activegrid consolidation

* settings-default.cfg dead settings remove

* viewdata.cpp revert

* wrong file paste mistake

* wrong file paste mistake

* wrong file paste mistake

* renderingmanager.cpp updatecallback fix

* renderingmanager.cpp namespace fix

* groundcover.hpp redefinition fix

* groundcover.cpp redefinition fix

* renderingmanager.cpp crash fix

* renderingmanager.cpp euclidean groundcover distance

* viewdata.hpp getreusedistance

* quadtreeworld.cpp reusedistance

* groundcover.rst [ci skip]
2021-09-09 23:10:22 +02:00
Bo Svensson
c284d0cf5c
actoranimation.cpp faster getbonebyname (#3099) 2021-09-09 23:04:38 +02:00
Bo Svensson
147ed39900
This PR solves a crash with Robert's bodies logged on your bugtracker. (#3095)
* attach.cpp [ci skip]

* attach.cpp [ci skip]

* attach.cpp [ci skip]

* npcanimation.cpp [ci skip]

* attach.hpp [ci skip]

* attach.cpp [ci skip]

* creatureanimation.cpp [ci skip]

* creatureanimation.cpp [ci skip]

* cellpreloader.cpp

* npcanimation.cpp

* attach.cpp

* make android adk happy

* make android adk happy

* changelog.md [ci skip]

* authors.md [ci skip]
2021-09-09 22:56:57 +02:00
Lamoot
6e6214bc43 In OpenMW-CS, when creating a new object, sort the entries in the drop-down menu alphabetically. Also have the menu be tall enough to show all of them at once (without scroll bars). 2021-09-09 20:46:27 +02:00
elsid
6b7434ca69
Pass std::string_view instead of const std::string&
* Starting with Actor::getBodyPartMesh and ending with
  Misc::StringUtils::ciEqual.
* Add tests for Misc::StringUtils::ciEqual.
2021-09-09 18:39:50 +02:00
psi29a
149241daae Merge branch 'dead_animation_code_removal' into 'master'
Dead animation code removal

Closes #6264

See merge request OpenMW/openmw!1198
2021-09-08 10:07:54 +00:00
JanuarySnow
bdbc6c0cba Dead animation code removal 2021-09-08 10:07:54 +00:00
psi29a
4bf22f3ca0 Merge branch 'fix_pathgrid_path' into 'master'
Use pathgrid path when destination is closer to different graph component node

See merge request OpenMW/openmw!1155
2021-09-08 09:55:42 +00:00
elsid
605cb8db7c
Make sync terrain preloading sleep free
This reduces average time spent on in. 5 milliseconds as a base precision is
quite a lot considering that for 60 FPS frame time is 1000/16 = ~16.67 ms
when it's a cell loading frame and there is more important work to do rather
than sleeping.
2021-09-07 14:52:42 +02:00
psi29a
aef6ec464c Merge branch 'optimize_add_item' into 'master'
Optimize ContainerStore::stacks (attempt #2)

See merge request OpenMW/openmw!1200
2021-09-07 08:40:02 +00:00
elsid
403f0a72f0
Do not copy RefId when need to compare
Makes ContainerStore::stacks ~4x times faster when adding 4k different items
in a single frame.
2021-09-06 22:52:09 +02:00
elsid
e910dd7a25
Rename CellRef::getRefIdPtr -> getRefIdRef and return reference
Return value can't be nullptr. Pointer complicates the code because has to be
dereferenced.

Also move function definition to hpp to make it easier for compiler to optimize
calls.
2021-09-06 22:52:08 +02:00
elsid
b0f772af40
Define dependency to OSG plugins in one place
Each binary depending on components library requires OSG plugins to be linked.
Duplicating dependecies for each binary does not give benefits and brings
problems when new binary is added.
2021-09-06 22:44:52 +02:00
Frederic Chardon
7b26058fa5 moveObject() has side effects that might invalidate iterators from mActors. Instead of iterating over mActors, make a copy of needed data and iterate over the copies. 2021-09-06 12:51:25 +02:00
psi29a
6170971ea3 Merge branch 'bettermoveinstance' into 'master'
Set instance movement based on camera zoom

See merge request OpenMW/openmw!1186
2021-09-06 09:48:30 +00:00
elsid
a8c16071dc
Fix -Wreturn-local-addr warning
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp: In member function ‘const string& CSMWorld::ActorAdapter::ActorData::getPart(ESM::PartReferenceType) const’:
/home/elsid/dev/openmw/apps/opencs/model/world/actoradapter.cpp:142:20: error: returning reference to temporary [-Werror=return-local-addr]
  142 |             return "";
      |                    ^~
2021-09-04 18:04:45 +02:00
Petr Mikheev
76320aae45 Merge branch 'const_ret_val' into 'master'
Don't use `const` for objects returned by value.

See merge request OpenMW/openmw!1183
2021-09-04 12:41:52 +00:00
psi29a
a57b5674e5 Merge branch 'hash_actors' into 'master'
Replace std::map with std::unordered_map and use constant Ptr.mRef as a key

See merge request OpenMW/openmw!1129
2021-09-03 15:16:14 +00:00
psi29a
a0201feb97 Merge branch 'lua_tostring' into 'master'
Function LuaUtil::toString

See merge request OpenMW/openmw!1187
2021-09-03 13:09:17 +00:00
fredzio
d20730458d Replace std::map with std::unordered_map for mActors and mObjects.
Use Ptr.mRef as a key instead of Ptr: it is constant for the lifetime of
the object.
2021-09-03 13:14:05 +02:00
fredzio
0bce6c09e1 Change projectile behaviour to be like in vanilla wrt. water plane:
- enchanted arrow explode upon hit the water plane
- non enchanted arrow disappear (or more accurately, they hit nothingness)
- enchanted arrow shot underwater explode immediately
- non enchanted arrow disappear immediately

Also, solve a bug that occured previously and could theoritically still happens where we use the last tested collision position for instead of the last registered hit:
Use the hit position as saved inside Projectile::hit() instead of the last position saved inside the callback.
If a projectile collides with several objects (bottom of the sea and water surface for instance), the last collision tested won't necessarily be the impact position as we have no control over the order in which the tests are performed.
2021-09-03 10:24:05 +02:00
jvoisin
d4e3575f1d Don't use const for objects returned by value.
This prevents the usage of std::move semantics,
and makes clang-tidy sad.
2021-09-01 22:23:50 +02:00
unelsson
f876ff2c14 Clear temporary movement data at the end of the drag 2021-09-01 02:04:04 +03:00
unelsson
53d315c862 XYZ-locking, mouse wheel move fix 2021-09-01 02:04:04 +03:00
unelsson
23fe3d74ab Use floats, not doubles 2021-09-01 02:04:04 +03:00
unelsson
840e7615f5 Store object origins and move difference 2021-09-01 02:04:04 +03:00
unelsson
0d511da615 Test of basic mouse-plane use 2021-09-01 02:04:04 +03:00
fredzio
d1a5bc207b Iterate over mInactiveCells when unloading cells in TestCells / TestInteriorCells. Otherwise we dereference an invalid iterator after deactiveCell(). 2021-08-31 16:53:52 +02:00
elsid
0daf6f5d0b Merge branch 'comma' into 'master'
Don't use comma where there is no need to.

See merge request OpenMW/openmw!1179
2021-08-31 12:33:15 +00:00
Petr Mikheev
33d4d88447 Function LuaUtil::toString 2021-08-31 09:41:58 +02:00
Evil Eye
18f51e1026 Merge branch 'nonull' into 'master'
Don't pass a nullptr to a std::string constructor

See merge request OpenMW/openmw!1178
2021-08-30 18:59:06 +00:00
Evil Eye
06e1b17cc1 Merge branch 'unnecessary_copy' into 'master'
Dont copy-construct from a const-ref when used only as a const-ref

See merge request OpenMW/openmw!1184
2021-08-29 19:39:51 +00:00
jvoisin
db4fe11a44 Don't pass a nullptr to a std::string constructor
This is undefined behaviour.
2021-08-29 20:41:15 +02:00
jvoisin
deb2af6acc Dont copy-construct from a const-ref when used only as a const-ref
This also makes clang-tiny a bit happier
2021-08-29 20:22:34 +02:00
jvoisin
a15cca5763 Use reserve on vectors for fixed loops
This is a bit useless, but has the merit of appeasing clang-tiday
2021-08-29 20:18:49 +02:00
jvoisin
a6b1e38eab Don't use comma where there is no need to. 2021-08-29 14:12:14 +02:00
cc9cii
0a5571f19e Disable editing for blocked records in both table and dialogue edit widget. 2021-08-29 15:27:59 +10:00
Evil Eye
b4486992f0 Allow Rieklings and Goblins to attack again 2021-08-28 10:45:00 +02:00
cc9cii
b0d5ca386d Update original cell column and do not modify the refnum when moving a reference to another cell with 3D editing. 2021-08-28 16:12:40 +10:00
cc9cii
2eb210f31a Partially undo commit 71be4cdd20 so that moved references retain the original refnum. This is consistent with vanilla CS's behaviour. 2021-08-28 16:12:40 +10:00
cc9cii
b2bd97f283 A different implementation to MR 1051 to fix Issue #6067.
This MR doesn't delete the original record, but instead the original record is updated with the moved record when loading.

Issue #4752 is no longer addressed in this MR.
2021-08-28 14:09:55 +10:00
cc9cii
7264a10c07 Partially revert commit dab1a9e7fb 2021-08-28 09:49:45 +10:00
cc9cii
7227a83e60 Preserve "blocked" record flags when saving with OpenCS. This will help outputs of OpenCS to be used with vanilla Morrowind.
Sample use case: users are using the Morrowind Code Patch feature that allows modders to enable this flag to differentiate editor-made potions from player crafted potions for tooltips.
2021-08-28 09:42:54 +10:00
psi29a
66f028c4a1 Merge branch 'correctcommandimplementation' into 'master'
Don't do storage in constructors of the commands

See merge request OpenMW/openmw!1126
2021-08-27 07:30:45 +00:00
psi29a
d852b10227 Merge branch 'Map-door-markers-flicker-in-some-cells' into 'master'
Do not update doors markers at each frame, only when needed

Closes #6214

See merge request OpenMW/openmw!1168
2021-08-26 15:06:38 +00:00
psi29a
fff35dcb03 Merge branch 'Ignore-empty-pgrd' into 'master'
Do not store empty PGRD records.  Should resolve Issue #6209.

See merge request OpenMW/openmw!1121
2021-08-26 14:29:49 +00:00
psi29a
e8057d9fd1 Merge branch 'aipursue_path' into 'master'
Make AiPursue path destination to be as close as possible to target (#6211)

Closes #6211

See merge request OpenMW/openmw!1154
2021-08-26 07:55:12 +00:00
psi29a
b585aad81e Merge branch 'offset-bullet-debug' into 'master'
glPolygonOffset for Bullet debug geometry

See merge request OpenMW/openmw!684
2021-08-25 07:26:21 +00:00
Thunderforge
42ce22f568 Adding saveSettingInt() and loadSettingInt()
Convenience methods for saving and loading integer settings. Versions for QSpinBox and QComboBox are included. Right now, only simple settings are used for it; we have some additional settings that include validation that aren't using these new methods.
2021-08-23 18:31:52 -05:00
unelsson
de3497d291 Fix undo-redo crash 2021-08-22 23:42:27 +03:00
unelsson
890ce1eefb Reverse action order for redo and undo 2021-08-22 23:42:27 +03:00
unelsson
0cfabd6f3b Move mapToSource back to constructor 2021-08-22 23:42:27 +03:00
unelsson
b2fe591590 Don't do any storing in the constructor 2021-08-22 23:42:27 +03:00
unelsson
45549da0f5 For most commands, set mOld in redo, not in constructor 2021-08-22 23:42:27 +03:00
psi29a
716eebe616 Merge branch 'terrainselectioncrashfix' into 'openmw-47'
Fix terrain selection crash

See merge request OpenMW/openmw!1165

(cherry picked from commit ec4e3b04a7)

b84e41bd Avoid storing ref, dynamic cast worldspacewidget for safety
d62ddc00 Use QPointer to detect object existence, less verbose debug messages
cb42b528 Remove friend, make getEditMode public to allow editmode testing.
4b148180 Restucture code
08f7c73e Fix text
2021-08-22 19:22:54 +00:00
psi29a
855f491196 Merge branch 'splintercell' into 'master'
Clean up text key extraction

See merge request OpenMW/openmw!1163
2021-08-22 14:51:54 +00:00
Alexei Dobrohotov
0922d0b105 Clean up text key extraction 2021-08-22 05:56:30 +03:00
Petr Mikheev
3771e523f1 More object bindings 2021-08-21 17:18:11 +02:00
Alexei Dobrohotov
31e70f2ecc Merge branch 'minor_factorisation' into 'master'
Minor factorisation in apps/openmw/mwmechanics/actors.cpp

See merge request OpenMW/openmw!1143
2021-08-21 06:22:17 +00:00
cc9cii
28ad139464 Check if deleted, just in case. 2021-08-21 07:20:10 +10:00
psi29a
d09c807a40 Merge branch 'fixbadcast' into 'master'
Fix std::bad_cast

Closes #6217

See merge request OpenMW/openmw!1130
2021-08-20 20:36:44 +00:00
unelsson
7801f42005 Don't do mapToSource at executeModify 2021-08-20 22:32:41 +03:00
psi29a
9751717b35 Merge branch 'components_qt' into 'master'
Do no link binaries with Qt where it's not used

See merge request OpenMW/openmw!1157
2021-08-20 19:29:42 +00:00
elsid
e9b8933b2f
Do no link binaries with Qt where it's not used
Define components_qt static library with all qt dependent components that also
depends on other components. Link only cs, wizard and launcher with qt
dependent components.
2021-08-20 19:02:09 +02:00
psi29a
77e58abf0d Merge branch 'lua_input' into 'master'
Lua package 'openmw.input'

See merge request OpenMW/openmw!1073
2021-08-20 11:44:42 +00:00
elsid
193be0d5d1 Merge branch 'some_small_changes' into 'master'
Fix coverity warning and build on some osg

See merge request OpenMW/openmw!1153
2021-08-19 23:40:14 +00:00
cc9cii
bd3ef506cd Empty Pathgrid record is considered as the modder's intention to delete any existing record. 2021-08-19 19:30:01 +10:00
cc9cii
802a202455 Remove warning log messages as they are more suitable for OpenCS. 2021-08-19 12:45:09 +10:00
cc9cii
8244ba8957 Erase old record instead (i.e. assume an empty Pathgrid record was placed in purpose) 2021-08-19 12:31:49 +10:00
cc9cii
1d925154f2 Do not store (or worse, overwrite) empty PGRD records. Should resolve Issue #6209. 2021-08-19 12:31:49 +10:00
glassmancody.info
a6c7fcd436 don't pingpong depth function on character preview update 2021-08-18 15:46:25 -07:00
elsid
fea4fb6e69
Make AiPursue path destination to be as close as possible to target
Even when target is not reachable actor will try to run there either because
target navmesh polygon is selected within extended area or because partial path
is built to the closest possible polygon.
2021-08-18 23:44:36 +02:00
elsid
9112c65afc
Use pathgrid path when destination is closer to different graph component node
Partially revert d863267d5c to restore 0.46
behaviour for pathgrid based pathfinding.
2021-08-18 19:52:10 +02:00
glassmancody.info
d63eb3325f fix coverity warning and build on some osg 2021-08-17 17:45:50 -07:00
psi29a
6595c731f7 Merge branch 'fix_rc_poly_mesh_flags_length' into 'master'
Fix flags length for rcPolyMesh

See merge request OpenMW/openmw!1134
2021-08-17 09:19:32 +00:00
psi29a
faa3e04494 Merge branch 'const_reff' into 'master'
Sprinkle some const-ref

See merge request OpenMW/openmw!1145
2021-08-17 08:20:13 +00:00
cc9cii
b1fb3e2313 Add missing includes. 2021-08-17 13:53:14 +10:00
cc9cii
47a841d3b7 Fix/workaround for Issue #3246
OpenMW save file assumes the presence of NPC/Creature data but the vanilla save file provides only the delta changes in most situations.  The base data are not available without loading all the relevant dependency content files.  Duplicating that code in the ESSImporter is not desirable.

Ideally a flag should be set but that will mean a change in the save file format.  For a minor change such as this doing so seems like an overkill.  So a temporary workaround is introduced where the gold carried by the NPC/Creature is used as an indicator as the lack of ACDT data.
2021-08-17 12:29:28 +10:00
jvoisin
39cd679ca9 Minor factorisation in apps/openmw/mwmechanics/actors.cpp 2021-08-16 13:13:44 +02:00
Alexei Dobrohotov
6c1ac9ed9f Merge branch 'init_sky' into 'master'
Use an initialization list in WrapAroundOperator's constructor

See merge request OpenMW/openmw!1146
2021-08-16 01:19:28 +00:00
Alexei Dobrohotov
7665ebfa67 Merge branch 'another_fix' into 'master'
Fix #6219

Closes #6219

See merge request OpenMW/openmw!1137
2021-08-16 01:15:52 +00:00
Alexei Dobrohotov
873e16ae93 Merge branch 'emp' into 'master'
Use an emplace instead of an insert

See merge request OpenMW/openmw!1144
2021-08-16 01:14:36 +00:00
elsid
f966fdb65e Merge branch 'noweak' into 'master'
use shared_ptr inside the physics simulation to simplify the code

See merge request OpenMW/openmw!1141
2021-08-15 21:59:47 +00:00
jvoisin
ff2a51a484 Use an initialization list in WrapAroundOperator's constructor 2021-08-15 19:57:20 +02:00
jvoisin
7a015d24c6 Sprinkle some const-ref 2021-08-15 19:50:28 +02:00
jvoisin
0792bb212a Use an emplace instead of an insert 2021-08-15 18:57:33 +02:00
glassmancody.info
ed72f3335b silence compiler warning 2021-08-15 08:02:00 -07:00
fredzio
ec871e6bf7 Use shared_ptr instead of weak_ptr for actors handle inside the
simulation

The purpose of weak_ptr is to avoid performing the simulation on deleted
Actor by promoting it to a shared_ptr via a lock() call. This clutter
the code with a lot of branches, whereas the overwhelmingly common case is for the call to succeed.
Since the simulation is decoupled from the engine state, we can use a shared_ptr instead of a weak_ptr.
This allow us to ignore (ie not handle) the rarer case where the actor is delete from the scene. This means that the simulation
will run for one frame more than before for each actor, whereas the rest of the engine
will be ignorant of this.
2021-08-15 16:21:16 +02:00
AnyOldName3
7400050b38 Merge branch 'character_preview_alpha_fix' into 'master'
Fix transparent objects being invisible in character doll

See merge request OpenMW/openmw!1140
2021-08-15 00:01:23 +00:00
glassmancody.info
6cc71745ac ensure character preview is using standard depth 2021-08-14 14:50:33 -07:00
Mads Buvik Sandvei
d40c18234a Double buffering the water's node position uniform 2021-08-14 17:41:58 +00:00
fredzio
713f612bdb Partially revert !1046: the player is added before the scene exists, so we need to check again the grounded state, as it correctly was. 2021-08-13 18:01:16 +02:00
jvoisin
b01ef2629c Fix two Wreorder clang warnings 2021-08-13 13:59:57 +02:00
Alexei Dobrohotov
839cf36bdd Merge branch 'hidden_markers' into 'master'
Use common implementation to filter hidden markers

See merge request OpenMW/openmw!1132
2021-08-12 22:29:20 +00:00
elsid
54a676f2e3
Add functions to get length of recast type arrays
To avoid duplicating same formulas in multiple places.
2021-08-12 22:43:01 +02:00
elsid
05258ed644
Remove redundant TileCachedRecastMeshManager::hasTile function
It's used only for tests. getMesh is a valid replacement.
2021-08-12 22:40:06 +02:00