From d2cdbebc94795923e1277c9eed7e7df122f3d8d1 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Sat, 30 Jan 2016 12:26:50 +1300 Subject: [PATCH] Store avatar location after a teleport --- interface/src/Application.cpp | 4 ++++ interface/src/avatar/MyAvatar.cpp | 1 + interface/src/avatar/MyAvatar.h | 1 + 3 files changed, 6 insertions(+) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index ef63021709..6010433376 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -588,6 +588,10 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer) : connect(addressManager.data(), &AddressManager::hostChanged, this, &Application::updateWindowTitle); connect(this, &QCoreApplication::aboutToQuit, addressManager.data(), &AddressManager::storeCurrentAddress); + + // Save avatar location immediately after a teleport. + connect(getMyAvatar(), &MyAvatar::positionGoneTo, + DependencyManager::get().data(), &AddressManager::storeCurrentAddress); auto scriptEngines = DependencyManager::get().data(); scriptEngines->registerScriptInitializer([this](ScriptEngine* engine){ diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 3e54ba99b9..1fcd1305d4 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -285,6 +285,7 @@ void MyAvatar::update(float deltaTime) { // However, render/MyAvatar::update/Application::update don't always match (e.g., when using the separate avatar update thread), // so we update now. It's ok if it updates again in the normal way. updateSensorToWorldMatrix(); + emit positionGoneTo(); } Head* head = getHead(); diff --git a/interface/src/avatar/MyAvatar.h b/interface/src/avatar/MyAvatar.h index ed6c3cb883..ba4422705c 100644 --- a/interface/src/avatar/MyAvatar.h +++ b/interface/src/avatar/MyAvatar.h @@ -272,6 +272,7 @@ signals: void transformChanged(); void newCollisionSoundURL(const QUrl& url); void collisionWithEntity(const Collision& collision); + void positionGoneTo(); private: