mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 08:29:33 +02:00
handle running of non .svo.json JSON files from mp CDN
This commit is contained in:
parent
5bce924eda
commit
43967dc9a6
2 changed files with 24 additions and 6 deletions
|
@ -170,7 +170,8 @@ static QTimer pingTimer;
|
||||||
|
|
||||||
static const QString SNAPSHOT_EXTENSION = ".jpg";
|
static const QString SNAPSHOT_EXTENSION = ".jpg";
|
||||||
static const QString SVO_EXTENSION = ".svo";
|
static const QString SVO_EXTENSION = ".svo";
|
||||||
static const QString SVO_JSON_EXTENSION = ".svo.json";
|
static const QString SVO_JSON_EXTENSION = ".svo.json";
|
||||||
|
static const QString JSON_EXTENSION = ".json";
|
||||||
static const QString JS_EXTENSION = ".js";
|
static const QString JS_EXTENSION = ".js";
|
||||||
static const QString FST_EXTENSION = ".fst";
|
static const QString FST_EXTENSION = ".fst";
|
||||||
static const QString FBX_EXTENSION = ".fbx";
|
static const QString FBX_EXTENSION = ".fbx";
|
||||||
|
@ -202,13 +203,16 @@ static const QString DESKTOP_LOCATION = QStandardPaths::writableLocation(QStanda
|
||||||
|
|
||||||
Setting::Handle<int> maxOctreePacketsPerSecond("maxOctreePPS", DEFAULT_MAX_OCTREE_PPS);
|
Setting::Handle<int> maxOctreePacketsPerSecond("maxOctreePPS", DEFAULT_MAX_OCTREE_PPS);
|
||||||
|
|
||||||
|
static const QString MARKETPLACE_CDN_HOSTNAME = "mpassets.highfidelity.com";
|
||||||
|
|
||||||
const QHash<QString, Application::AcceptURLMethod> Application::_acceptedExtensions {
|
const QHash<QString, Application::AcceptURLMethod> Application::_acceptedExtensions {
|
||||||
{ SNAPSHOT_EXTENSION, &Application::acceptSnapshot },
|
{ SNAPSHOT_EXTENSION, &Application::acceptSnapshot },
|
||||||
{ SVO_EXTENSION, &Application::importSVOFromURL },
|
{ SVO_EXTENSION, &Application::importSVOFromURL },
|
||||||
{ SVO_JSON_EXTENSION, &Application::importSVOFromURL },
|
{ SVO_JSON_EXTENSION, &Application::importSVOFromURL },
|
||||||
|
{ AVA_JSON_EXTENSION, &Application::askToWearAvatarAttachmentUrl },
|
||||||
|
{ JSON_EXTENSION, &Application::importJSONFromURL },
|
||||||
{ JS_EXTENSION, &Application::askToLoadScript },
|
{ JS_EXTENSION, &Application::askToLoadScript },
|
||||||
{ FST_EXTENSION, &Application::askToSetAvatarUrl },
|
{ FST_EXTENSION, &Application::askToSetAvatarUrl }
|
||||||
{ AVA_JSON_EXTENSION, &Application::askToWearAvatarAttachmentUrl }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class DeadlockWatchdogThread : public QThread {
|
class DeadlockWatchdogThread : public QThread {
|
||||||
|
@ -1969,7 +1973,22 @@ void Application::resizeGL() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Application::importJSONFromURL(const QString& urlString) {
|
||||||
|
// we only load files that terminate in just .json (not .svo.json and not .ava.json)
|
||||||
|
// if they come from the High Fidelity Marketplace Assets CDN
|
||||||
|
|
||||||
|
QUrl jsonURL { urlString };
|
||||||
|
|
||||||
|
if (jsonURL.host().endsWith(MARKETPLACE_CDN_HOSTNAME)) {
|
||||||
|
emit svoImportRequested(urlString);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool Application::importSVOFromURL(const QString& urlString) {
|
bool Application::importSVOFromURL(const QString& urlString) {
|
||||||
|
|
||||||
emit svoImportRequested(urlString);
|
emit svoImportRequested(urlString);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -4807,10 +4826,8 @@ bool Application::askToSetAvatarUrl(const QString& url) {
|
||||||
bool Application::askToLoadScript(const QString& scriptFilenameOrURL) {
|
bool Application::askToLoadScript(const QString& scriptFilenameOrURL) {
|
||||||
QMessageBox::StandardButton reply;
|
QMessageBox::StandardButton reply;
|
||||||
|
|
||||||
static const QString MARKETPLACE_SCRIPT_URL_HOSTNAME_SUFFIX = "mpassets.highfidelity.com";
|
|
||||||
|
|
||||||
QString shortName = scriptFilenameOrURL;
|
QString shortName = scriptFilenameOrURL;
|
||||||
if (shortName.contains(MARKETPLACE_SCRIPT_URL_HOSTNAME_SUFFIX)) {
|
if (shortName.contains(MARKETPLACE_CDN_HOSTNAME)) {
|
||||||
shortName = shortName.mid(shortName.lastIndexOf('/') + 1);
|
shortName = shortName.mid(shortName.lastIndexOf('/') + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -380,6 +380,7 @@ private:
|
||||||
|
|
||||||
void displaySide(RenderArgs* renderArgs, Camera& whichCamera, bool selfAvatarOnly = false);
|
void displaySide(RenderArgs* renderArgs, Camera& whichCamera, bool selfAvatarOnly = false);
|
||||||
|
|
||||||
|
bool importJSONFromURL(const QString& urlString);
|
||||||
bool importSVOFromURL(const QString& urlString);
|
bool importSVOFromURL(const QString& urlString);
|
||||||
|
|
||||||
bool nearbyEntitiesAreReadyForPhysics();
|
bool nearbyEntitiesAreReadyForPhysics();
|
||||||
|
|
Loading…
Reference in a new issue