Force view change when using Force1stPerson and Force3rdPerson commands (bug #5168)

pull/2530/head
Andrei Kortunov 5 years ago
parent 13a0b3bf5a
commit a4d196f33f

@ -145,6 +145,7 @@
Bug #5161: Creature companions can't be activated when they are knocked down
Bug #5164: Faction owned items handling is incorrect
Bug #5166: Scripts still should be executed after player's death
Bug #5168: Force1stPerson and Force3rdPerson commands are not really force view change
Feature #1774: Handle AvoidNode
Feature #2229: Improve pathfinding AI
Feature #3025: Analogue gamepad movement controls

@ -403,7 +403,7 @@ namespace MWBase
virtual osg::Matrixf getActorHeadTransform(const MWWorld::ConstPtr& actor) const = 0;
virtual void togglePOV() = 0;
virtual void togglePOV(bool force = false) = 0;
virtual bool isFirstPerson() const = 0;
virtual void togglePreviewMode(bool enable) = 0;
virtual bool toggleVanityMode(bool enable) = 0;

@ -1333,9 +1333,9 @@ namespace MWRender
return mCurrentCameraPos;
}
void RenderingManager::togglePOV()
void RenderingManager::togglePOV(bool force)
{
mCamera->toggleViewMode();
mCamera->toggleViewMode(force);
}
void RenderingManager::togglePreviewMode(bool enable)

@ -204,7 +204,7 @@ namespace MWRender
float getCameraDistance() const;
Camera* getCamera();
const osg::Vec3f& getCameraPosition() const;
void togglePOV();
void togglePOV(bool force = false);
void togglePreviewMode(bool enable);
bool toggleVanityMode(bool enable);
void allowVanityMode(bool allow);

@ -358,7 +358,7 @@ namespace MWScript
virtual void execute (Interpreter::Runtime& runtime)
{
if (!MWBase::Environment::get().getWorld()->isFirstPerson())
MWBase::Environment::get().getWorld()->togglePOV();
MWBase::Environment::get().getWorld()->togglePOV(true);
}
};
@ -367,7 +367,7 @@ namespace MWScript
virtual void execute (Interpreter::Runtime& runtime)
{
if (MWBase::Environment::get().getWorld()->isFirstPerson())
MWBase::Environment::get().getWorld()->togglePOV();
MWBase::Environment::get().getWorld()->togglePOV(true);
}
};

@ -2395,9 +2395,9 @@ namespace MWWorld
return mPhysics->isOnGround(ptr);
}
void World::togglePOV()
void World::togglePOV(bool force)
{
mRendering->togglePOV();
mRendering->togglePOV(force);
}
bool World::isFirstPerson() const

@ -518,7 +518,7 @@ namespace MWWorld
osg::Matrixf getActorHeadTransform(const MWWorld::ConstPtr& actor) const override;
void togglePOV() override;
void togglePOV(bool force = false) override;
bool isFirstPerson() const override;

Loading…
Cancel
Save