summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Kotov <alexdobrohotov@yandex.ru>2024-01-08 20:04:20 +0000
committerAlexei Kotov <alexdobrohotov@yandex.ru>2024-01-08 20:04:20 +0000
commitcaf5859fbe25661550ce70707dec496614cc9879 (patch)
treefea285051d0c85e0001a351eb35230790cae2b87
parent97dee0026359429829cd3006c0dbd00fdb1ceaf7 (diff)
Revert "Merge branch 'sceneleak' into 'master'"revert-c3c8fa1e
This reverts merge request !3715
-rw-r--r--apps/openmw/mwphysics/actor.cpp6
-rw-r--r--apps/openmw/mwphysics/object.cpp3
-rw-r--r--apps/openmw/mwworld/scene.cpp4
3 files changed, 4 insertions, 9 deletions
diff --git a/apps/openmw/mwphysics/actor.cpp b/apps/openmw/mwphysics/actor.cpp
index e1efe6d242..dec055d68f 100644
--- a/apps/openmw/mwphysics/actor.cpp
+++ b/apps/openmw/mwphysics/actor.cpp
@@ -102,11 +102,7 @@ namespace MWPhysics
updateScaleUnsafe();
if (!mRotationallyInvariant)
- {
- const SceneUtil::PositionAttitudeTransform* baseNode = mPtr.getRefData().getBaseNode();
- if (baseNode)
- mRotation = baseNode->getAttitude();
- }
+ mRotation = mPtr.getRefData().getBaseNode()->getAttitude();
addCollisionMask(getCollisionMask());
updateCollisionObjectPositionUnsafe();
diff --git a/apps/openmw/mwphysics/object.cpp b/apps/openmw/mwphysics/object.cpp
index 9c97ac7c32..53529ec729 100644
--- a/apps/openmw/mwphysics/object.cpp
+++ b/apps/openmw/mwphysics/object.cpp
@@ -110,9 +110,6 @@ namespace MWPhysics
if (mShapeInstance->mAnimatedShapes.empty())
return false;
- if (!mPtr.getRefData().getBaseNode())
- return false;
-
assert(mShapeInstance->mCollisionShape->isCompound());
btCompoundShape* compound = static_cast<btCompoundShape*>(mShapeInstance->mCollisionShape.get());
diff --git a/apps/openmw/mwworld/scene.cpp b/apps/openmw/mwworld/scene.cpp
index 72b2dc3022..d8875b513e 100644
--- a/apps/openmw/mwworld/scene.cpp
+++ b/apps/openmw/mwworld/scene.cpp
@@ -115,7 +115,9 @@ namespace
if (!refnum.hasContentFile() || !std::binary_search(pagedRefs.begin(), pagedRefs.end(), refnum))
ptr.getClass().insertObjectRendering(ptr, model, rendering);
else
- ptr.getRefData().setBaseNode(nullptr);
+ ptr.getRefData().setBaseNode(
+ new SceneUtil::PositionAttitudeTransform); // FIXME remove this when physics code is fixed not to depend
+ // on basenode
setNodeRotation(ptr, rendering, rotation);
if (ptr.getClass().useAnim())