diff options
Diffstat (limited to 'indra/appearance_utility')
-rw-r--r-- | indra/appearance_utility/CMakeLists.txt | 21 | ||||
-rw-r--r-- | indra/appearance_utility/llappappearanceutility.cpp | 27 | ||||
-rw-r--r-- | indra/appearance_utility/llbakingavatar.h | 10 | ||||
-rw-r--r-- | indra/appearance_utility/llprocessparams.cpp | 1 |
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; |