From 37928dcd6d83276b1b70d6cfbd90c86df06155eb Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Fri, 24 Apr 2015 11:30:18 -0700 Subject: [PATCH] fix default avatars on first run --- interface/src/avatar/MyAvatar.cpp | 33 +++++++++++++++++++----------- libraries/avatars/src/AvatarData.h | 4 ++++ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/interface/src/avatar/MyAvatar.cpp b/interface/src/avatar/MyAvatar.cpp index 5adc818258..17f361e6a8 100644 --- a/interface/src/avatar/MyAvatar.cpp +++ b/interface/src/avatar/MyAvatar.cpp @@ -683,12 +683,12 @@ void MyAvatar::loadData() { _useFullAvatar = settings.value("useFullAvatar").toBool(); _headURLFromPreferences = settings.value("faceModelURL", DEFAULT_HEAD_MODEL_URL).toUrl(); - _fullAvatarURLFromPreferences = settings.value("fullAvatarURL").toUrl(); - _skeletonURLFromPreferences = settings.value("skeletonModelURL").toUrl(); - _headModelName = settings.value("headModelName").toString(); - _bodyModelName = settings.value("bodyModelName").toString(); - _fullAvatarModelName = settings.value("fullAvatarModelName").toString();; - + _fullAvatarURLFromPreferences = settings.value("fullAvatarURL", DEFAULT_FULL_AVATAR_MODEL_URL).toUrl(); + _skeletonURLFromPreferences = settings.value("skeletonModelURL", DEFAULT_BODY_MODEL_URL).toUrl(); + _headModelName = settings.value("headModelName", DEFAULT_HEAD_MODEL_NAME).toString(); + _bodyModelName = settings.value("bodyModelName", DEFAULT_BODY_MODEL_NAME).toString(); + _fullAvatarModelName = settings.value("fullAvatarModelName", DEFAULT_FULL_AVATAR_MODEL_NAME).toString(); + if (isOldSettings) { bool assumeFullAvatar = _headURLFromPreferences.isEmpty(); _useFullAvatar = assumeFullAvatar; @@ -706,13 +706,22 @@ void MyAvatar::loadData() { } else { _fullAvatarURLFromPreferences = DEFAULT_FULL_AVATAR_MODEL_URL; - _skeletonURLFromPreferences = settings.value("skeletonModelURL").toUrl(); + _skeletonURLFromPreferences = settings.value("skeletonModelURL", DEFAULT_BODY_MODEL_URL).toUrl(); - QVariantHash headFST = FSTReader::downloadMapping(_headURLFromPreferences.toString()); - QVariantHash bodyFST = FSTReader::downloadMapping(_skeletonURLFromPreferences.toString()); - - _headModelName = headFST["name"].toString(); - _bodyModelName = bodyFST["name"].toString(); + if (_skeletonURLFromPreferences == DEFAULT_BODY_MODEL_URL) { + _bodyModelName = DEFAULT_BODY_MODEL_NAME; + } else { + QVariantHash bodyFST = FSTReader::downloadMapping(_skeletonURLFromPreferences.toString()); + _bodyModelName = bodyFST["name"].toString(); + } + + if (_headURLFromPreferences == DEFAULT_HEAD_MODEL_URL) { + _headModelName = DEFAULT_HEAD_MODEL_NAME; + } else { + QVariantHash headFST = FSTReader::downloadMapping(_headURLFromPreferences.toString()); + _headModelName = headFST["name"].toString(); + } + _fullAvatarModelName = "Default"; } } diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 410b945f1d..58e9c42c3c 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -105,6 +105,10 @@ const QUrl DEFAULT_HEAD_MODEL_URL = QUrl("http://public.highfidelity.io/models/h const QUrl DEFAULT_BODY_MODEL_URL = QUrl("http://public.highfidelity.io/models/skeletons/defaultAvatar_body.fst"); const QUrl DEFAULT_FULL_AVATAR_MODEL_URL = QUrl("http://public.highfidelity.io/marketplace/contents/029db3d4-da2c-4cb2-9c08-b9612ba576f5/02949063e7c4aed42ad9d1a58461f56d.fst"); +const QString DEFAULT_HEAD_MODEL_NAME = QString("Robot"); +const QString DEFAULT_BODY_MODEL_NAME = QString("Robot"); +const QString DEFAULT_FULL_AVATAR_MODEL_NAME = QString("Default"); + // Where one's own Avatar begins in the world (will be overwritten if avatar data file is found). // This is the start location in the Sandbox (xyz: 6270, 211, 6000).