summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-03-19 21:39:05 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2020-03-19 21:39:05 +0200
commit6b203f2ee4bbaf893b7256e35581403b18de68f3 (patch)
tree42182cc96aa21f84a28386ac6543960b872fac99 /indra
parentf5ec281b1b578dfee17353ecf6d469a29de86d25 (diff)
SL-12607 FMOD Logo
Diffstat (limited to 'indra')
-rw-r--r--indra/llcommon/indra_constants.cpp2
-rw-r--r--indra/llcommon/indra_constants.h2
-rw-r--r--indra/newview/llprogressview.cpp14
-rw-r--r--indra/newview/llprogressview.h3
-rw-r--r--indra/newview/llstartup.cpp1
-rw-r--r--indra/newview/llviewertexturelist.cpp29
-rw-r--r--indra/newview/llviewerwindow.cpp4
-rw-r--r--indra/newview/llviewerwindow.h1
-rw-r--r--indra/newview/skins/default/xui/en/panel_progress.xml22
-rwxr-xr-xindra/newview/viewer_manifest.py15
10 files changed, 93 insertions, 0 deletions
diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp
index e13176e8fa..53f98adbbf 100644
--- a/indra/llcommon/indra_constants.cpp
+++ b/indra/llcommon/indra_constants.cpp
@@ -84,3 +84,5 @@ const LLUUID IMG_USE_BAKED_AUX1 ("9742065b-19b5-297c-858a-29711d539043");
const LLUUID IMG_USE_BAKED_AUX2 ("03642e83-2bd1-4eb9-34b4-4c47ed586d2d");
const LLUUID IMG_USE_BAKED_AUX3 ("edd51b77-fc10-ce7a-4b3d-011dfc349e4f");
+const LLUUID IMG_LOGO_FMOD("876982f5-f5fd-4a68-b5e7-727f3ae3487b");
+
diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h
index 0fbf4b966b..7d20286ac9 100644
--- a/indra/llcommon/indra_constants.h
+++ b/indra/llcommon/indra_constants.h
@@ -218,6 +218,8 @@ LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX1;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX2;
LL_COMMON_API extern const LLUUID IMG_USE_BAKED_AUX3;
+LL_COMMON_API extern const LLUUID IMG_LOGO_FMOD;
+
LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL;
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp
index 083a913ef8..dfa6c97b26 100644
--- a/indra/newview/llprogressview.cpp
+++ b/indra/newview/llprogressview.cpp
@@ -42,6 +42,7 @@
#include "llbutton.h"
#include "llcallbacklist.h"
#include "llfocusmgr.h"
+#include "lliconctrl.h"
#include "llnotifications.h"
#include "llprogressbar.h"
#include "llstartup.h"
@@ -183,6 +184,7 @@ void LLProgressView::setVisible(BOOL visible)
if (getVisible() && !visible)
{
LLPanel::setVisible(FALSE);
+ setShowLogos(FALSE);
}
// showing progress view
else if (visible && (!getVisible() || mFadeToWorldTimer.getStarted()))
@@ -309,6 +311,18 @@ void LLProgressView::setMessage(const std::string& msg)
getChild<LLUICtrl>("message_text")->setValue(mMessage);
}
+void LLProgressView::setShowLogos(const BOOL logos_visible)
+{
+ LLIconCtrl* logo = getChild<LLIconCtrl>("fmod_logo");
+ if (logos_visible)
+ {
+ logo->setValue(IMG_LOGO_FMOD);
+ }
+ logo->setVisible(logos_visible);
+ getChild<LLUICtrl>("fmod_text")->setVisible(logos_visible);
+ getChild<LLUICtrl>("message_text")->setVisible(!logos_visible);
+}
+
void LLProgressView::setCancelButtonVisible(BOOL b, const std::string& label)
{
mCancelBtn->setVisible( b );
diff --git a/indra/newview/llprogressview.h b/indra/newview/llprogressview.h
index 813576b21d..1d4ae3a66f 100644
--- a/indra/newview/llprogressview.h
+++ b/indra/newview/llprogressview.h
@@ -70,6 +70,9 @@ public:
void setStartupComplete();
+ // turns on logos, hides message of the day
+ void setShowLogos(const BOOL logos_visible);
+
void setCancelButtonVisible(BOOL b, const std::string& label);
static void onCancelButtonClicked( void* );
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index fdf0ff3506..cb76ac6f74 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -734,6 +734,7 @@ bool idle_startup()
display_startup();
// LLViewerMedia::initBrowser();
LLStartUp::setStartupState( STATE_LOGIN_SHOW );
+ gViewerWindow->setShowLogos(TRUE);
return FALSE;
}
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 06524847d1..b29e65923b 100644
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -190,6 +190,35 @@ void LLViewerTextureList::doPreloadImages()
mImagePreloads.insert(image);
}
+ // Normally images are located in 'skins' folder in working directory,
+ // but 3p images were added from packages and had to stay in separate folder
+ // with path relative to exe.
+
+ std::string full_path = gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "3p_icons", "fmod.png");
+ if (full_path.empty())
+ {
+ LL_WARNS() << "Failed to find local image file fmod.png at " << full_path << LL_ENDL;
+ }
+ else if (gDirUtilp->fileExists(full_path))
+ {
+ image = LLViewerTextureManager::getFetchedTextureFromUrl("file://" + full_path, FTT_LOCAL_FILE, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE,
+ 0, 0, IMG_LOGO_FMOD);
+ if (image)
+ {
+ image->setAddressMode(LLTexUnit::TAM_WRAP);
+ mImagePreloads.insert(image);
+ // Speed up load (this texture will be used early)
+ image->setKnownDrawSize(364, 98);
+ image->processTextureStats();
+ image->setDecodePriority(LLViewerFetchedTexture::maxDecodePriority());
+ image->updateFetch();
+ // Fmod logo is only needed at startup, if we will get more logos
+ // for startup, might be good idea to save resources and do loading
+ // in scope of llprogressview and then unload everything once no
+ // longer needed
+ }
+ }
+
LLPointer<LLImageRaw> img_blak_square_tex(new LLImageRaw(2, 2, 3));
memset(img_blak_square_tex->getData(), 0, img_blak_square_tex->getDataSize());
LLPointer<LLViewerFetchedTexture> img_blak_square(new LLViewerFetchedTexture(img_blak_square_tex, FTT_DEFAULT, FALSE));
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index ff5dff1c9b..89f3b17021 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -5151,6 +5151,10 @@ void LLViewerWindow::setProgressCancelButtonVisible( BOOL b, const std::string&
}
}
+void LLViewerWindow::setShowLogos(const BOOL show_3p_logos)
+{
+ mProgressView->setShowLogos(show_3p_logos);
+}
LLProgressView *LLViewerWindow::getProgressView() const
{
diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h
index 385bbd57e5..9adfe7b5c5 100644
--- a/indra/newview/llviewerwindow.h
+++ b/indra/newview/llviewerwindow.h
@@ -309,6 +309,7 @@ public:
void setProgressPercent(const F32 percent);
void setProgressMessage(const std::string& msg);
void setProgressCancelButtonVisible( BOOL b, const std::string& label = LLStringUtil::null );
+ void setShowLogos(const BOOL show_3p_logos);
LLProgressView *getProgressView() const;
void revealIntroPanel();
void setStartupComplete();
diff --git a/indra/newview/skins/default/xui/en/panel_progress.xml b/indra/newview/skins/default/xui/en/panel_progress.xml
index 860caf2d21..03caf8e8ad 100644
--- a/indra/newview/skins/default/xui/en/panel_progress.xml
+++ b/indra/newview/skins/default/xui/en/panel_progress.xml
@@ -106,6 +106,28 @@
top="145"
right="-90"
word_wrap="true"/>
+ <icon
+ height="24"
+ width="91"
+ left="48"
+ top="190"
+ name="fmod_logo"
+ visible ="false"
+ />
+ <text
+ follows="left|right|top|bottom"
+ layout="topleft"
+ font_shadow="none"
+ halign="left"
+ height="16"
+ width="400"
+ top_delta="10"
+ left_pad="4"
+ line_spacing.pixels="2"
+ name="fmod_text"
+ text_color="LoginProgressBoxTextColor">
+ Made with FMOD Studio by Firelight Technologies Pty Ltd.
+ </text>
</layout_panel>
<layout_panel
height="200"
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index 572c84c396..b9e42139e6 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -497,6 +497,11 @@ class WindowsManifest(ViewerManifest):
self.path("*.png")
self.path("*.gif")
+ # Copy 3p icons
+ with self.prefix(src=os.path.join(pkgdir, "icons"), dst="3p_icons"):
+ if self.args['fmodstudio'] == 'ON':
+ self.path("fmod.png")
+
# Plugin host application
self.path2basename(os.path.join(os.pardir,
'llplugin', 'slplugin', self.args['configuration']),
@@ -966,6 +971,11 @@ class DarwinManifest(ViewerManifest):
with self.prefix(src=pkgdir,dst=""):
self.path("ca-bundle.crt")
+ # Copy 3p icons
+ with self.prefix(src=os.path.join(pkgdir, "icons"), dst="3p_icons"):
+ if self.args['fmodstudio'] == 'ON':
+ self.path("fmod.png")
+
# Translations
self.path("English.lproj/language.txt")
self.replace_in(src="English.lproj/InfoPlist.strings",
@@ -1466,6 +1476,11 @@ class Linux_i686_Manifest(LinuxManifest):
relpkgdir = os.path.join(pkgdir, "lib", "release")
debpkgdir = os.path.join(pkgdir, "lib", "debug")
+ # Copy 3p icons
+ with self.prefix(src=os.path.join(pkgdir, "icons"), dst="3p_icons"):
+ if self.args['fmodstudio'] == 'ON':
+ self.path("fmod.png")
+
with self.prefix(src=relpkgdir, dst="lib"):
self.path("libapr-1.so")
self.path("libapr-1.so.0")