summaryrefslogtreecommitdiff
path: root/indra/appearance_utility
diff options
context:
space:
mode:
Diffstat (limited to 'indra/appearance_utility')
-rw-r--r--indra/appearance_utility/CMakeLists.txt21
-rw-r--r--indra/appearance_utility/llappappearanceutility.cpp27
-rw-r--r--indra/appearance_utility/llbakingavatar.h10
-rw-r--r--indra/appearance_utility/llprocessparams.cpp1
4 files changed, 40 insertions, 19 deletions
diff --git a/indra/appearance_utility/CMakeLists.txt b/indra/appearance_utility/CMakeLists.txt
index dec71feea2..92898fa48b 100644
--- a/indra/appearance_utility/CMakeLists.txt
+++ b/indra/appearance_utility/CMakeLists.txt
@@ -3,38 +3,27 @@
project(appearance_utility)
include(00-Common)
-include(CURL)
-include(CARes)
-include(OpenSSL)
-include(UI)
include(LLAppearance)
include(LLCharacter)
include(LLCommon)
include(LLImage)
include(LLInventory)
include(LLMath)
-include(LLKDU)
include(LLRender)
include(LLVFS)
include(LLXML)
-include(LLUI)
include(Linking)
+include(GooglePerfTools)
include_directories(
${LLCOMMON_INCLUDE_DIRS}
${LLVFS_INCLUDE_DIRS}
${LLXML_INCLUDE_DIRS}
- ${LLUI_INCLUDE_DIRS}
${LLCHARACTER_INCLUDE_DIRS}
- ${LLKDU_INCLUDE_DIRS}
${LLIMAGE_INCLUDE_DIRS}
${LLMATH_INCLUDE_DIRS}
${LLINVENTORY_INCLUDE_DIRS}
${LLRENDER_INCLUDE_DIRS}
- ${CURL_INCLUDE_DIRS}
- ${CARES_INCLUDE_DIRS}
- ${OPENSSL_INCLUDE_DIRS}
- ${UI_INCLUDE_DIRS}
${LLAPPEARANCE_INCLUDE_DIRS}
)
@@ -70,13 +59,7 @@ add_executable(appearance-utility-bin ${appearance_utility_SOURCE_FILES})
target_link_libraries(appearance-utility-bin
${LLAPPEARANCE_LIBRARIES}
- ${LLCHARACTER_LIBRARIES}
- ${LLRENDER_LIBRARIES}
- ${LLUI_LIBRARIES}
- ${UI_LIBRARIES}
- ${LLIMAGE_LIBRARIES}
- ${LLKDU_LIBRARIES}
- ${KDU_LIBRARY}
+ ${TCMALLOC_LIBRARIES}
)
add_custom_target(appearance-utility-bin-target ALL
diff --git a/indra/appearance_utility/llappappearanceutility.cpp b/indra/appearance_utility/llappappearanceutility.cpp
index b49e954830..66e59e1b89 100644
--- a/indra/appearance_utility/llappappearanceutility.cpp
+++ b/indra/appearance_utility/llappappearanceutility.cpp
@@ -37,6 +37,10 @@
#include "llsdserialize.h"
#include "llsdutil.h"
+// appearance includes
+#include "llavatarappearance.h"
+#include "llwearabletype.h"
+
// project includes
#include "llappappearanceutility.h"
#include "llbakingprocess.h"
@@ -375,20 +379,43 @@ void LLAppAppearanceUtility::initializeIO()
///// END INPUT PARSING ////
}
+class LLPassthroughTranslationBridge : public LLTranslationBridge
+{
+public:
+ virtual std::string getString(const std::string &xml_desc)
+ {
+ // Just pass back the input string.
+ return xml_desc;
+ }
+};
+
+
bool LLAppAppearanceUtility::init()
{
parseArguments();
+ bool log_to_stderr = true;
+ LLError::initForApplication("", log_to_stderr);
// *TODO: Add debug mode(s). Skip this in debug mode.
LLError::setDefaultLevel(LLError::LEVEL_WARN);
validateArguments();
initializeIO();
+
+ // Initialize classes.
+ LLWearableType::initClass(new LLPassthroughTranslationBridge());
+
+ // *TODO: Create a texture bridge?
+ LLAvatarAppearance::initClass();
+
return true;
}
bool LLAppAppearanceUtility::cleanup()
{
+ LLAvatarAppearance::cleanupClass();
+ LLWearableType::cleanupClass();
+
if (mProcess)
{
delete mProcess;
diff --git a/indra/appearance_utility/llbakingavatar.h b/indra/appearance_utility/llbakingavatar.h
index 65ff65521e..7f20d31674 100644
--- a/indra/appearance_utility/llbakingavatar.h
+++ b/indra/appearance_utility/llbakingavatar.h
@@ -38,6 +38,16 @@ class LLBakingAvatar : public LLAvatarAppearance
** INITIALIZATION
**/
public:
+ void* operator new(size_t size)
+ {
+ return ll_aligned_malloc_16(size);
+ }
+
+ void operator delete(void* ptr)
+ {
+ ll_aligned_free_16(ptr);
+ }
+
LLBakingAvatar(LLWearableData* wearable_data);
virtual ~LLBakingAvatar();
diff --git a/indra/appearance_utility/llprocessparams.cpp b/indra/appearance_utility/llprocessparams.cpp
index 439c403ded..723bae0dd6 100644
--- a/indra/appearance_utility/llprocessparams.cpp
+++ b/indra/appearance_utility/llprocessparams.cpp
@@ -43,6 +43,7 @@ void LLProcessParams::process(LLSD& input, std::ostream& output)
{
LLWearableData wearable_data;
LLBakingAvatar avatar(&wearable_data);
+ avatar.initInstance();
LLSD result;
result["success"] = true;