Merge branch 'master' of github.com:highfidelity/hifi into friction

This commit is contained in:
RebeccaStankus 2019-09-30 09:19:15 -07:00
commit 68f52584cf
7 changed files with 42 additions and 20 deletions

View file

@ -20,7 +20,7 @@ macro(SETUP_HIFI_LIBRARY)
foreach(SRC ${AVX_SRCS}) foreach(SRC ${AVX_SRCS})
if (WIN32) if (WIN32)
set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS /arch:AVX) set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS /arch:AVX)
elseif (APPLE OR UNIX) elseif (APPLE OR (UNIX AND NOT ANDROID))
set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS -mavx) set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS -mavx)
endif() endif()
endforeach() endforeach()
@ -30,7 +30,7 @@ macro(SETUP_HIFI_LIBRARY)
foreach(SRC ${AVX2_SRCS}) foreach(SRC ${AVX2_SRCS})
if (WIN32) if (WIN32)
set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS /arch:AVX2) set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS /arch:AVX2)
elseif (APPLE OR UNIX) elseif (APPLE OR (UNIX AND NOT ANDROID))
set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS "-mavx2 -mfma") set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS "-mavx2 -mfma")
endif() endif()
endforeach() endforeach()
@ -44,7 +44,7 @@ macro(SETUP_HIFI_LIBRARY)
if (COMPILER_SUPPORTS_AVX512) if (COMPILER_SUPPORTS_AVX512)
set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS /arch:AVX512) set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS /arch:AVX512)
endif() endif()
elseif (APPLE OR UNIX) elseif (APPLE OR (UNIX AND NOT ANDROID))
check_cxx_compiler_flag("-mavx512f" COMPILER_SUPPORTS_AVX512) check_cxx_compiler_flag("-mavx512f" COMPILER_SUPPORTS_AVX512)
if (COMPILER_SUPPORTS_AVX512) if (COMPILER_SUPPORTS_AVX512)
set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS -mavx512f) set_source_files_properties(${SRC} PROPERTIES COMPILE_FLAGS -mavx512f)

View file

@ -4,7 +4,7 @@
{ "from": "Keyboard.A", "when": ["Keyboard.RightMouseButton", "!Keyboard.Control"], "to": "Actions.LATERAL_LEFT" }, { "from": "Keyboard.A", "when": ["Keyboard.RightMouseButton", "!Keyboard.Control"], "to": "Actions.LATERAL_LEFT" },
{ "from": "Keyboard.D", "when": ["Keyboard.RightMouseButton", "!Keyboard.Control"], "to": "Actions.LATERAL_RIGHT" }, { "from": "Keyboard.D", "when": ["Keyboard.RightMouseButton", "!Keyboard.Control"], "to": "Actions.LATERAL_RIGHT" },
{ "from": "Keyboard.E", "when": ["!Application.CameraSelfie", "!Application.CameraLookAt", "!Keyboard.Control"], "to": "Actions.LATERAL_RIGHT" }, { "from": "Keyboard.E", "when": ["!Application.CameraSelfie", "!Application.CameraLookAt", "!Keyboard.Control"], "to": "Actions.LATERAL_RIGHT" },
{ "from": "Keyboard.Q", "when": ["!Application.CameraSelfie"," !Application.CameraLookAt", "!Keyboard.Control"], "to": "Actions.LATERAL_LEFT" }, { "from": "Keyboard.Q", "when": ["!Application.CameraSelfie", "!Application.CameraLookAt", "!Keyboard.Control"], "to": "Actions.LATERAL_LEFT" },
{ "from": "Keyboard.T", "when": "!Keyboard.Control", "to": "Actions.TogglePushToTalk" }, { "from": "Keyboard.T", "when": "!Keyboard.Control", "to": "Actions.TogglePushToTalk" },
{ "comment" : "Mouse turn need to be small continuous increments", { "comment" : "Mouse turn need to be small continuous increments",
@ -198,7 +198,7 @@
"to": "Actions.DeltaPitch", "to": "Actions.DeltaPitch",
"filters": "filters":
[ [
{ "type": "scale", "scale": 0.3 } { "type": "scale", "scale": 0.2 }
] ]
}, },
@ -207,7 +207,7 @@
"to": "Actions.DeltaPitch", "to": "Actions.DeltaPitch",
"filters": "filters":
[ [
{ "type": "scale", "scale": 0.3 } { "type": "scale", "scale": 0.2 }
] ]
}, },

View file

@ -1,6 +1,6 @@
import QtQuick 2.0 import QtQuick 2.0
import QtWebEngine 1.5 import QtWebEngine 1.5
import "../../controls" as Controls import "../../../controls" as Controls
Controls.TabletWebView { Controls.TabletWebView {
profile: WebEngineProfile { httpUserAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36"} profile: WebEngineProfile { httpUserAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36"}

View file

@ -2709,7 +2709,11 @@ void MyAvatar::updateMotors() {
if (_motionBehaviors & AVATAR_MOTION_ACTION_MOTOR_ENABLED) { if (_motionBehaviors & AVATAR_MOTION_ACTION_MOTOR_ENABLED) {
if (_characterController.getState() == CharacterController::State::Hover || if (_characterController.getState() == CharacterController::State::Hover ||
_characterController.computeCollisionMask() == BULLET_COLLISION_MASK_COLLISIONLESS) { _characterController.computeCollisionMask() == BULLET_COLLISION_MASK_COLLISIONLESS) {
motorRotation = getMyHead()->getHeadOrientation(); if (qApp->getCamera().getMode() == CAMERA_MODE_LOOK_AT || qApp->getCamera().getMode() == CAMERA_MODE_SELFIE) {
motorRotation = getLookAtRotation();
} else {
motorRotation = getMyHead()->getHeadOrientation();
}
} else { } else {
// non-hovering = walking: follow camera twist about vertical but not lift // non-hovering = walking: follow camera twist about vertical but not lift
// we decompose camera's rotation and store the twist part in motorRotation // we decompose camera's rotation and store the twist part in motorRotation
@ -3632,8 +3636,7 @@ void MyAvatar::updateOrientation(float deltaTime) {
glm::vec3 targetPoint = eyesPosition + glm::normalize(cameraVector); glm::vec3 targetPoint = eyesPosition + glm::normalize(cameraVector);
const float LOOKAT_MIX_ALPHA = 0.25f; const float LOOKAT_MIX_ALPHA = 0.25f;
if (!isFlying() || !hasDriveInput()) {
if (getDriveKey(TRANSLATE_Y) == 0.0f) {
// Approximate the head's look at vector to the camera look at vector with some delay. // Approximate the head's look at vector to the camera look at vector with some delay.
float mixAlpha = LOOKAT_MIX_ALPHA * timeScale; float mixAlpha = LOOKAT_MIX_ALPHA * timeScale;
if (mixAlpha > 1.0f) { if (mixAlpha > 1.0f) {

View file

@ -239,15 +239,24 @@ qint64 Socket::writeDatagram(const QByteArray& datagram, const HifiSockAddr& soc
int pending = _udpSocket.bytesToWrite(); int pending = _udpSocket.bytesToWrite();
if (bytesWritten < 0 || pending) { if (bytesWritten < 0 || pending) {
int wsaError = 0; int wsaError = 0;
static std::atomic<int> previousWsaError (0);
#ifdef WIN32 #ifdef WIN32
wsaError = WSAGetLastError(); wsaError = WSAGetLastError();
#endif #endif
qCDebug(networking) << "udt::writeDatagram (" << _udpSocket.state() << sockAddr << ") error - " << wsaError << _udpSocket.error() << "(" << _udpSocket.errorString() << ")" QString errorString;
QDebug(&errorString) << "udt::writeDatagram (" << _udpSocket.state() << sockAddr << ") error - "
<< wsaError << _udpSocket.error() << "(" << _udpSocket.errorString() << ")"
<< (pending ? "pending bytes:" : "pending:") << pending; << (pending ? "pending bytes:" : "pending:") << pending;
if (previousWsaError.exchange(wsaError) != wsaError) {
qCDebug(networking).noquote() << errorString;
#ifdef DEBUG_EVENT_QUEUE #ifdef DEBUG_EVENT_QUEUE
int nodeListQueueSize = ::hifi::qt::getEventQueueSize(thread()); int nodeListQueueSize = ::hifi::qt::getEventQueueSize(thread());
qCDebug(networking) << "Networking queue size - " << nodeListQueueSize << "writing datagram to" << sockAddr; qCDebug(networking) << "Networking queue size - " << nodeListQueueSize << "writing datagram to" << sockAddr;
#endif // DEBUG_EVENT_QUEUE #endif // DEBUG_EVENT_QUEUE
} else {
HIFI_FCDEBUG(networking(), errorString.toLatin1().constData());
}
} }
return bytesWritten; return bytesWritten;
@ -525,16 +534,25 @@ std::vector<HifiSockAddr> Socket::getConnectionSockAddrs() {
void Socket::handleSocketError(QAbstractSocket::SocketError socketError) { void Socket::handleSocketError(QAbstractSocket::SocketError socketError) {
int wsaError = 0; int wsaError = 0;
static std::atomic<int> previousWsaError(0);
#ifdef WIN32 #ifdef WIN32
wsaError = WSAGetLastError(); wsaError = WSAGetLastError();
#endif #endif
int pending = _udpSocket.bytesToWrite(); int pending = _udpSocket.bytesToWrite();
qCDebug(networking) << "udt::Socket (" << _udpSocket.state() << ") error - " << wsaError << socketError << "(" << _udpSocket.errorString() << ")" QString errorString;
<< (pending ? "pending bytes:" : "pending:") << pending; QDebug(&errorString) << "udt::Socket (" << _udpSocket.state() << ") error - " << wsaError << socketError <<
"(" << _udpSocket.errorString() << ")" << (pending ? "pending bytes:" : "pending:")
<< pending;
if (previousWsaError.exchange(wsaError) != wsaError) {
qCDebug(networking).noquote() << errorString;
#ifdef DEBUG_EVENT_QUEUE #ifdef DEBUG_EVENT_QUEUE
int nodeListQueueSize = ::hifi::qt::getEventQueueSize(thread()); int nodeListQueueSize = ::hifi::qt::getEventQueueSize(thread());
qCDebug(networking) << "Networking queue size - " << nodeListQueueSize; qCDebug(networking) << "Networking queue size - " << nodeListQueueSize;
#endif // DEBUG_EVENT_QUEUE #endif // DEBUG_EVENT_QUEUE
} else {
HIFI_FCDEBUG(networking(), errorString.toLatin1().constData());
}
} }
void Socket::handleStateChanged(QAbstractSocket::SocketState socketState) { void Socket::handleStateChanged(QAbstractSocket::SocketState socketState) {

View file

@ -279,6 +279,7 @@ public:
* @param {string} [injectedJavaScriptUrl=""] - The URL of JavaScript to inject into the web page. * @param {string} [injectedJavaScriptUrl=""] - The URL of JavaScript to inject into the web page.
* @param {boolean} [loadOtherBase=false] - If <code>true</code>, the web page or app is displayed in a frame with "back" * @param {boolean} [loadOtherBase=false] - If <code>true</code>, the web page or app is displayed in a frame with "back"
* and "close" buttons. * and "close" buttons.
* <p class="important">Deprecated: This parameter is deprecated and will be removed.</p>
*/ */
Q_INVOKABLE void gotoWebScreen(const QString& url); Q_INVOKABLE void gotoWebScreen(const QString& url);
Q_INVOKABLE void gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl, bool loadOtherBase = false); Q_INVOKABLE void gotoWebScreen(const QString& url, const QString& injectedJavaScriptUrl, bool loadOtherBase = false);

View file

@ -35,7 +35,7 @@
function onClicked() { function onClicked() {
if (!shown) { if (!shown) {
tablet.gotoWebScreen(APP_URL, "", true); tablet.gotoWebScreen(APP_URL, "");
} else { } else {
tablet.gotoHomeScreen(); tablet.gotoHomeScreen();
} }