Fix a new game crash, reset camera

actorid
scrawl 12 years ago
parent 53d1c3939c
commit 60563afc10

@ -37,6 +37,14 @@ namespace MWRender
{
}
void Camera::reset()
{
togglePreviewMode(false);
toggleVanityMode(false);
if (!mFirstPersonView)
toggleViewMode();
}
void Camera::rotateCamera(const Ogre::Vector3 &rot, bool adjust)
{
if (adjust) {

@ -52,6 +52,9 @@ namespace MWRender
Camera(Ogre::Camera *camera);
~Camera();
/// Reset to defaults
void reset();
/// Set where the camera is looking at. Uses Morrowind (euler) angles
/// \param rot Rotation angles in radians
void rotateCamera(const Ogre::Vector3 &rot, bool adjust);

@ -950,4 +950,9 @@ void RenderingManager::frameStarted(float dt)
mWater->frameStarted(dt);
}
void RenderingManager::resetCamera()
{
mCamera->reset();
}
} // namespace

@ -83,6 +83,8 @@ public:
mCamera->setCameraDistance(-factor/120.f*10, true, true);
}
void resetCamera();
bool vanityRotateCamera(const float *rot);
void getCameraData(Ogre::Vector3 &eyepos, float &pitch, float &yaw);

@ -236,6 +236,8 @@ namespace MWWorld
setupPlayer();
const ESM::NPC* playerNpc = mStore.get<ESM::NPC>().find("player");
MWWorld::Ptr player = mPlayer->getPlayer();
renderPlayer();
mRendering->resetCamera();
// removes NpcStats, ContainerStore etc
player.getRefData().setCustomData(NULL);

Loading…
Cancel
Save