mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 18:50:00 +02:00
Merge branch 'master' of github.com:highfidelity/hifi into friction
This commit is contained in:
commit
68f52584cf
7 changed files with 42 additions and 20 deletions
|
@ -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)
|
||||||
|
|
|
@ -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 }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -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"}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue