History

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

Sam Gateau committed 7 years ago

Commit 5f062bb2 parents 9dd6c8d 7701be071 files · +745 −304Browse files

Showing the changes to interface/src/Application.cpp (1 of 71 files). Show all

Unified · Split

interface/src/Application.cpp+46−10
@@ -322,6 +322,8 @@ static const QString INFO_HELP_PATH = "html/tabletHelp.html"; · 321 unmodified lines
322 322
323static const unsigned int THROTTLED_SIM_FRAMERATE = 15;323static const unsigned int THROTTLED_SIM_FRAMERATE = 15;
324static const int THROTTLED_SIM_FRAME_PERIOD_MS = MSECS_PER_SECOND / THROTTLED_SIM_FRAMERATE;324static const int THROTTLED_SIM_FRAME_PERIOD_MS = MSECS_PER_SECOND / THROTTLED_SIM_FRAMERATE;
325static const int ENTITY_SERVER_ADDED_TIMEOUT = 5000;
326static const int ENTITY_SERVER_CONNECTION_TIMEOUT = 5000;
325 327
326static const uint32_t INVALID_FRAME = UINT32_MAX;328static const uint32_t INVALID_FRAME = UINT32_MAX;
327 329
@@ -1180,6 +1182,18 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo · 852 unmodified lines
1180 getOverlays().deleteOverlay(getTabletScreenID());1182 getOverlays().deleteOverlay(getTabletScreenID());
1181 getOverlays().deleteOverlay(getTabletHomeButtonID());1183 getOverlays().deleteOverlay(getTabletHomeButtonID());
1182 getOverlays().deleteOverlay(getTabletFrameID());1184 getOverlays().deleteOverlay(getTabletFrameID());
1185 _failedToConnectToEntityServer = false;
1186 });
1187
1188 _entityServerConnectionTimer.setSingleShot(true);
1189 connect(&_entityServerConnectionTimer, &QTimer::timeout, this, &Application::setFailedToConnectToEntityServer);
1190
1191 connect(&domainHandler, &DomainHandler::connectedToDomain, this, [this]() {
1192 if (!isServerlessMode()) {
1193 _entityServerConnectionTimer.setInterval(ENTITY_SERVER_ADDED_TIMEOUT);
1194 _entityServerConnectionTimer.start();
1195 _failedToConnectToEntityServer = false;
1196 }
1183 });1197 });
1184 connect(&domainHandler, &DomainHandler::domainConnectionRefused, this, &Application::domainConnectionRefused);1198 connect(&domainHandler, &DomainHandler::domainConnectionRefused, this, &Application::domainConnectionRefused);
1185 1199
@@ -3348,26 +3362,37 @@ void Application::showHelp() { · 2162 unmodified lines
3348 static const QString HAND_CONTROLLER_NAME_OCULUS_TOUCH = "oculus";3362 static const QString HAND_CONTROLLER_NAME_OCULUS_TOUCH = "oculus";
3349 static const QString HAND_CONTROLLER_NAME_WINDOWS_MR = "windowsMR";3363 static const QString HAND_CONTROLLER_NAME_WINDOWS_MR = "windowsMR";
3350 3364
3365 static const QString VIVE_PLUGIN_NAME = "HTC Vive";
3366 static const QString OCULUS_RIFT_PLUGIN_NAME = "Oculus Rift";
3367 static const QString WINDOWS_MR_PLUGIN_NAME = "WindowsMR";
3368
3351 static const QString TAB_KEYBOARD_MOUSE = "kbm";3369 static const QString TAB_KEYBOARD_MOUSE = "kbm";
3352 static const QString TAB_GAMEPAD = "gamepad";3370 static const QString TAB_GAMEPAD = "gamepad";
3353 static const QString TAB_HAND_CONTROLLERS = "handControllers";3371 static const QString TAB_HAND_CONTROLLERS = "handControllers";
3354 3372
3355 QString handControllerName = HAND_CONTROLLER_NAME_VIVE;3373 QString handControllerName;
3356 QString defaultTab = TAB_KEYBOARD_MOUSE;3374 QString defaultTab = TAB_KEYBOARD_MOUSE;
3357 3375
3358 if (PluginUtils::isViveControllerAvailable()) {3376 if (PluginUtils::isHMDAvailable(WINDOWS_MR_PLUGIN_NAME)) {
3359 defaultTab = TAB_HAND_CONTROLLERS;
3360 handControllerName = HAND_CONTROLLER_NAME_VIVE;
3361 } else if (PluginUtils::isOculusTouchControllerAvailable()) {
3362 defaultTab = TAB_HAND_CONTROLLERS;
3363 handControllerName = HAND_CONTROLLER_NAME_OCULUS_TOUCH;
3364 } else if (qApp->getActiveDisplayPlugin()->getName() == "WindowMS") {
3365 defaultTab = TAB_HAND_CONTROLLERS;3377 defaultTab = TAB_HAND_CONTROLLERS;
3366 handControllerName = HAND_CONTROLLER_NAME_WINDOWS_MR;3378 handControllerName = HAND_CONTROLLER_NAME_WINDOWS_MR;
3379 } else if (PluginUtils::isHMDAvailable(VIVE_PLUGIN_NAME)) {
3380 defaultTab = TAB_HAND_CONTROLLERS;
3381 handControllerName = HAND_CONTROLLER_NAME_VIVE;
3382 } else if (PluginUtils::isHMDAvailable(OCULUS_RIFT_PLUGIN_NAME)) {
3383 if (PluginUtils::isOculusTouchControllerAvailable()) {
3384 defaultTab = TAB_HAND_CONTROLLERS;
3385 handControllerName = HAND_CONTROLLER_NAME_OCULUS_TOUCH;
3386 } else if (PluginUtils::isXboxControllerAvailable()) {
3387 defaultTab = TAB_GAMEPAD;
3388 } else {
3389 defaultTab = TAB_KEYBOARD_MOUSE;
3390 }
3367 } else if (PluginUtils::isXboxControllerAvailable()) {3391 } else if (PluginUtils::isXboxControllerAvailable()) {
3368 defaultTab = TAB_GAMEPAD;3392 defaultTab = TAB_GAMEPAD;
3393 } else {
3394 defaultTab = TAB_KEYBOARD_MOUSE;
3369 }3395 }
3370 // TODO need some way to detect windowsMR to load controls reference default tab in Help > Controls Reference menu.
3371 3396
3372 QUrlQuery queryString;3397 QUrlQuery queryString;
3373 queryString.addQueryItem("handControllerName", handControllerName);3398 queryString.addQueryItem("handControllerName", handControllerName);
@@ -5630,6 +5655,7 @@ void Application::update(float deltaTime) { · 2256 unmodified lines
5630 quint64 now = usecTimestampNow();5655 quint64 now = usecTimestampNow();
5631 if (isServerlessMode() || _octreeProcessor.isLoadSequenceComplete()) {5656 if (isServerlessMode() || _octreeProcessor.isLoadSequenceComplete()) {
5632 bool enableInterstitial = DependencyManager::get<NodeList>()->getDomainHandler().getInterstitialModeEnabled();5657 bool enableInterstitial = DependencyManager::get<NodeList>()->getDomainHandler().getInterstitialModeEnabled();
5658
5633 if (gpuTextureMemSizeStable() || !enableInterstitial) {5659 if (gpuTextureMemSizeStable() || !enableInterstitial) {
5634 // we've received a new full-scene octree stats packet, or it's been long enough to try again anyway5660 // we've received a new full-scene octree stats packet, or it's been long enough to try again anyway
5635 _lastPhysicsCheckTime = now;5661 _lastPhysicsCheckTime = now;
@@ -6568,7 +6594,13 @@ void Application::resettingDomain() { · 932 unmodified lines
6568}6594}
6569 6595
6570void Application::nodeAdded(SharedNodePointer node) const {6596void Application::nodeAdded(SharedNodePointer node) const {
6571 // nothing to do here6597 if (node->getType() == NodeType::EntityServer) {
6598 if (!_failedToConnectToEntityServer) {
6599 _entityServerConnectionTimer.stop();
6600 _entityServerConnectionTimer.setInterval(ENTITY_SERVER_CONNECTION_TIMEOUT);
6601 _entityServerConnectionTimer.start();
6602 }
6603 }
6572}6604}
6573 6605
6574void Application::nodeActivated(SharedNodePointer node) {6606void Application::nodeActivated(SharedNodePointer node) {
@@ -6596,6 +6628,10 @@ void Application::nodeActivated(SharedNodePointer node) { · 21 unmodified lines
6596 if (node->getType() == NodeType::EntityServer) {6628 if (node->getType() == NodeType::EntityServer) {
6597 _queryExpiry = SteadyClock::now();6629 _queryExpiry = SteadyClock::now();
6598 _octreeQuery.incrementConnectionID();6630 _octreeQuery.incrementConnectionID();
6631
6632 if (!_failedToConnectToEntityServer) {
6633 _entityServerConnectionTimer.stop();
6634 }
6599 }6635 }
6600 6636
6601 if (node->getType() == NodeType::AudioMixer && !isInterstitialMode()) {6637 if (node->getType() == NodeType::AudioMixer && !isInterstitialMode()) {