diff --git a/source/platform/pdual.cpp b/source/platform/pdual.cpp index c04063d47..f76ecb229 100644 --- a/source/platform/pdual.cpp +++ b/source/platform/pdual.cpp @@ -185,6 +185,7 @@ void CNpcDualPlatform::processMovement( int _frames ) slaveMove.vy = -extensionChange; m_otherPlatform->setMovement( slaveMove ); + m_otherPlatform->think(_frames); m_otherPlatform->updateCollisionArea(); } } diff --git a/source/platform/platform.cpp b/source/platform/platform.cpp index 2c335b280..d49b34a46 100644 --- a/source/platform/platform.cpp +++ b/source/platform/platform.cpp @@ -477,7 +477,7 @@ void CNpcPlatform::reinit() void CNpcPlatform::postInit() { sBBox boundingBox = m_modelGfx->GetBBox(); - setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) ); + setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), 50 + ( boundingBox.YMax - boundingBox.YMin ) ); setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, boundingBox.YMin ); if ( m_type == NPC_LINEAR_PLATFORM ) @@ -698,7 +698,7 @@ void CNpcPlatform::calculateBoundingBoxSize() x2=+halfLength*mcos(angle&4095)>>12; y2=+halfLength*msin(angle&4095)>>12; - setCollisionSize(abs(x2-x1),abs(y2-y1)+PLATFORMCOLLISIONHEIGHT); + setCollisionSize(abs(x2-x1),50 + abs(y2-y1)+PLATFORMCOLLISIONHEIGHT); //sBBox boundingBox = m_modelGfx->GetBBox(); //setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) ); diff --git a/source/platform/praft.cpp b/source/platform/praft.cpp index ee048d4d4..73fc52f21 100644 --- a/source/platform/praft.cpp +++ b/source/platform/praft.cpp @@ -36,7 +36,7 @@ void CNpcRaftPlatform::postInit() m_isSinking = false; sBBox boundingBox = m_modelGfx->GetBBox(); - setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) ); + setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), 50 + ( boundingBox.YMax - boundingBox.YMin ) ); setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( ( boundingBox.YMax + boundingBox.YMin ) >> 1 ) - 16 ); } diff --git a/source/platform/psbarrel.cpp b/source/platform/psbarrel.cpp index 17d48524a..22abc2c8a 100644 --- a/source/platform/psbarrel.cpp +++ b/source/platform/psbarrel.cpp @@ -35,7 +35,7 @@ void CNpcSteerableBarrelPlatform::postInit() CNpcPlatform::postInit(); sBBox boundingBox = m_modelGfx->GetBBox(); - setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) ); + setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), 50 + ( boundingBox.YMax - boundingBox.YMin ) ); setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( ( boundingBox.YMax + boundingBox.YMin ) >> 1 ) - 32 ); }