summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorDon Kjer <don@lindenlab.com>2012-09-14 11:27:04 +0000
committerDon Kjer <don@lindenlab.com>2012-09-14 11:27:04 +0000
commit8808325ced4d380d937c9be1cc81e20a5ebb5f62 (patch)
tree0b867667865f13339399ed85b1cde04c2200f33c /indra
parent9307810e7e8edcf18f7c27abda5d0b94ed13bcf7 (diff)
Removed appearance utility from viewer source. Added appearance utility autobuild package.
Diffstat (limited to 'indra')
-rw-r--r--indra/CMakeLists.txt5
-rw-r--r--indra/appearance_utility/CMakeLists.txt66
-rw-r--r--indra/appearance_utility/appearance_utility.cpp66
-rw-r--r--indra/appearance_utility/llappappearanceutility.cpp445
-rw-r--r--indra/appearance_utility/llappappearanceutility.h97
-rw-r--r--indra/appearance_utility/llbakingavatar.cpp159
-rw-r--r--indra/appearance_utility/llbakingavatar.h125
-rw-r--r--indra/appearance_utility/llbakingjoint.cpp54
-rw-r--r--indra/appearance_utility/llbakingjoint.h44
-rw-r--r--indra/appearance_utility/llbakingjointmesh.cpp43
-rw-r--r--indra/appearance_utility/llbakingjointmesh.h43
-rw-r--r--indra/appearance_utility/llbakingprocess.h55
-rw-r--r--indra/appearance_utility/llbakingshadermgr.cpp226
-rw-r--r--indra/appearance_utility/llbakingshadermgr.h137
-rw-r--r--indra/appearance_utility/llbakingtexlayer.cpp51
-rw-r--r--indra/appearance_utility/llbakingtexlayer.h43
-rw-r--r--indra/appearance_utility/llprocessparams.cpp53
-rw-r--r--indra/appearance_utility/llprocessparams.h42
-rwxr-xr-xindra/appearance_utility/wrapper.sh25
-rw-r--r--indra/cmake/LLAppearanceUtility.cmake12
-rw-r--r--indra/llcommon/llversionserver.h2
-rw-r--r--indra/llcommon/llversionviewer.h2
-rw-r--r--indra/newview/English.lproj/InfoPlist.strings4
-rw-r--r--indra/newview/Info-SecondLife.plist2
-rw-r--r--indra/newview/res/viewerRes.rc8
25 files changed, 25 insertions, 1784 deletions
diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt
index 4e209ff75a..f5ed9632fa 100644
--- a/indra/CMakeLists.txt
+++ b/indra/CMakeLists.txt
@@ -83,7 +83,10 @@ if (VIEWER)
if (LINUX)
add_subdirectory(${VIEWER_PREFIX}linux_crash_logger)
add_subdirectory(${VIEWER_PREFIX}linux_updater)
- add_subdirectory(${VIEWER_PREFIX}appearance_utility)
+ if (INSTALL_PROPRIETARY)
+ include(LLAppearanceUtility)
+ add_subdirectory(${LLAPPEARANCEUTILITY_SRC_DIR} ${LLAPPEARANCEUTILITY_BIN_DIR})
+ endif (INSTALL_PROPRIETARY)
add_dependencies(viewer linux-crash-logger-strip-target linux-updater)
elseif (DARWIN)
add_subdirectory(${VIEWER_PREFIX}mac_crash_logger)
diff --git a/indra/appearance_utility/CMakeLists.txt b/indra/appearance_utility/CMakeLists.txt
deleted file mode 100644
index 92898fa48b..0000000000
--- a/indra/appearance_utility/CMakeLists.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-# -*- cmake -*-
-
-project(appearance_utility)
-
-include(00-Common)
-include(LLAppearance)
-include(LLCharacter)
-include(LLCommon)
-include(LLImage)
-include(LLInventory)
-include(LLMath)
-include(LLRender)
-include(LLVFS)
-include(LLXML)
-include(Linking)
-include(GooglePerfTools)
-
-include_directories(
- ${LLCOMMON_INCLUDE_DIRS}
- ${LLVFS_INCLUDE_DIRS}
- ${LLXML_INCLUDE_DIRS}
- ${LLCHARACTER_INCLUDE_DIRS}
- ${LLIMAGE_INCLUDE_DIRS}
- ${LLMATH_INCLUDE_DIRS}
- ${LLINVENTORY_INCLUDE_DIRS}
- ${LLRENDER_INCLUDE_DIRS}
- ${LLAPPEARANCE_INCLUDE_DIRS}
- )
-
-set(appearance_utility_SOURCE_FILES
- appearance_utility.cpp
- llappappearanceutility.cpp
- llbakingavatar.cpp
- llbakingjoint.cpp
- llbakingjointmesh.cpp
- llbakingshadermgr.cpp
- llbakingtexlayer.cpp
- llprocessparams.cpp
- )
-
-set(appearance_utility_HEADER_FILES
- CMakeLists.txt
- llappappearanceutility.h
- llbakingavatar.h
- llbakingjoint.h
- llbakingjointmesh.h
- llbakingprocess.h
- llbakingshadermgr.h
- llbakingtexlayer.h
- llprocessparams.h
- )
-
-set_source_files_properties(${appearance_utility_HEADER_FILES}
- PROPERTIES HEADER_FILES_ONLY TRUE)
-
-list(APPEND appearance_utility_SOURCE_FILES ${appearance_utility_HEADER_FILES})
-
-add_executable(appearance-utility-bin ${appearance_utility_SOURCE_FILES})
-
-target_link_libraries(appearance-utility-bin
- ${LLAPPEARANCE_LIBRARIES}
- ${TCMALLOC_LIBRARIES}
- )
-
-add_custom_target(appearance-utility-bin-target ALL
- DEPENDS appearance-utility-bin)
diff --git a/indra/appearance_utility/appearance_utility.cpp b/indra/appearance_utility/appearance_utility.cpp
deleted file mode 100644
index 098c3550de..0000000000
--- a/indra/appearance_utility/appearance_utility.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * @file appearance_utility.cpp
- * @author Don Kjer <don@lindenlab.com>, Nyx Linden
- * @brief Utility for processing avatar appearance without a full viewer implementation.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-// linden includes
-#include "linden_common.h"
-#include "llapr.h"
-
-// project includes
-#include "llappappearanceutility.h"
-
-int main(int argc, char** argv)
-{
- // Create an application instance.
- ll_init_apr();
- LLAppAppearanceUtility* app = new LLAppAppearanceUtility(argc, argv);
-
- // Assume success, unless exception is thrown.
- EResult rv = RV_SUCCESS;
- try
- {
- // Process command line and initialize system.
- if (app->init())
- {
- // Run process.
- app->mainLoop();
- }
- }
- catch (LLAppException& e)
- {
- // Deal with errors.
- rv = e.getStatusCode();
- }
-
- // Clean up application instance.
- app->cleanup();
- delete app;
- ll_cleanup_apr();
-
- return (int) rv;
-}
-
-
diff --git a/indra/appearance_utility/llappappearanceutility.cpp b/indra/appearance_utility/llappappearanceutility.cpp
deleted file mode 100644
index 66e59e1b89..0000000000
--- a/indra/appearance_utility/llappappearanceutility.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-/**
- * @file llappappearanceutility.cpp
- * @brief Implementation of LLAppAppearanceUtility class.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#include <iostream>
-#include <sstream>
-#include <string>
-
-// linden includes
-#include "linden_common.h"
-
-#include "llapr.h"
-#include "llerrorcontrol.h"
-#include "llsd.h"
-#include "llsdserialize.h"
-#include "llsdutil.h"
-
-// appearance includes
-#include "llavatarappearance.h"
-#include "llwearabletype.h"
-
-// project includes
-#include "llappappearanceutility.h"
-#include "llbakingprocess.h"
-#include "llprocessparams.h"
-
-const std::string NOTHING_EXTRA("");
-
-////////////////////////////////////////////
-// LLAppException
-////////////////////////////////////////////
-
-static const std::string MESSAGE_RV_UNKNOWN("Unknown error.");
-static const std::string MESSAGE_RV_ARGUMENTS
-("Invalid arguments: ");
-static const std::string MESSAGE_RV_UNABLE_OPEN("Unable to open file: ");
-static const std::string MESSAGE_RV_UNABLE_TO_PARSE("Unable to parse input LLSD.");
-static const std::string MESSAGE_DUPLICATE_MODES = "Cannot specify more than one process mode.";
-
-
-LLAppException::LLAppException(EResult status_code, const std::string& extra) :
- mStatusCode(status_code)
-{
- switch(status_code)
- {
- case RV_UNKNOWN_ERROR:
- printErrorLLSD("unknown", MESSAGE_RV_UNKNOWN);
- case RV_BAD_ARGUMENTS:
- printErrorLLSD("arguments", MESSAGE_RV_ARGUMENTS + extra);
- break;
- case RV_UNABLE_OPEN:
- printErrorLLSD("file", MESSAGE_RV_UNABLE_OPEN + extra);
- break;
- case RV_UNABLE_TO_PARSE:
- printErrorLLSD("input", MESSAGE_RV_UNABLE_TO_PARSE);
- break;
- default:
- printErrorLLSD("arguments", "Unknown exception.");
- break;
- }
-}
-
-void LLAppException::printErrorLLSD(const std::string& key, const std::string& message)
-{
- LLSD error_llsd;
- error_llsd["success"] = false;
- error_llsd["error"]["key"] = key;
- error_llsd["error"]["message"] = message;
-
- std::cerr << LLSDOStreamer<LLSDXMLFormatter>(error_llsd);
-}
-
-
-
-////////////////////////////////////////////
-// LLAppAppearanceUtility
-////////////////////////////////////////////
-
-///////// Option Parsing /////////
-
-// Simple usage command.
-class LLProcessUsage : public LLBakingProcess
-{
-public:
- LLProcessUsage(LLAppAppearanceUtility* app) :
- LLBakingProcess(app) {}
- /*virtual*/ void process(LLSD& input, std::ostream& output)
- {
- mApp->usage(output);
- }
-};
-
-
-static const apr_getopt_option_t APPEARANCE_UTILITY_OPTIONS[] =
-{
- {"params", 'p', 0, "Generate appearance parameters for an agent."},
- {"output", 'o', 1, "The output file to write to. Default is stdout"},
- {"agent-id", 'a', 1, "The agent-id of the user."},
- //{"grid", 'g', 1, "The grid."},
- {"help", 'h', 0, "Print the help message."},
- {0, 0, 0, 0}
-};
-
-void LLAppAppearanceUtility::usage(std::ostream& ostr)
-{
- ostr << "Utilities for processing agent appearance data."
- << std::endl << std::endl
- << "Usage:" << std::endl
- << "\t" << mAppName << " [options] filename" << std::endl << std::endl
- << "Will read from stdin if filename is set to '-'." << std::endl << std::endl
- << "Options:" << std::endl;
- const apr_getopt_option_t* option = &APPEARANCE_UTILITY_OPTIONS[0];
- while(option->name)
- {
- ostr << "\t--" << option->name << "\t\t"
- << option->description << std::endl;
- ++option;
- }
- ostr << std::endl << "Return Values:" << std::endl
- << "\t0\t\tSuccess." << std::endl
- << "\t1\t\tUnknown error." << std::endl
- << "\t2\t\tBad arguments." << std::endl
- << "\t3\t\tUnable to open file. Possibly wrong filename"
- << " or bad permissions." << std::endl
- << "\t4\t\tUnable to parse input LLSD." << std::endl
- << std::endl
- << "Output:" << std::endl
- << "If a non-zero status code is returned, additional error information"
- << " will be returned on stderr." << std::endl
- << "* This will be in the form of an LLSD document." << std::endl
- << "* Check ['error']['message'] to get a human readable message." << std::endl
- << "If a zero status code is returned, processed output will be written"
- << " to the file specified by --out (or stdout, if not specified)." << std::endl
- << std::endl
- << std::endl;
-}
-
-
-/////// LLApp Interface ////////
-
-LLAppAppearanceUtility::LLAppAppearanceUtility(int argc, char** argv) :
- LLApp(),
- mArgc(argc),
- mArgv(argv),
- mProcess(NULL),
- mInput(NULL),
- mOutput(NULL),
- mAppName(argv[0])
-{
-}
-
-// virtual
-LLAppAppearanceUtility::~LLAppAppearanceUtility()
-{
-}
-
-void LLAppAppearanceUtility::verifyNoProcess()
-{
- if (mProcess)
- {
- std::cerr << "Invalid arguments. " << MESSAGE_DUPLICATE_MODES << std::endl;
- usage(std::cerr);
- throw LLAppException(RV_BAD_ARGUMENTS, MESSAGE_DUPLICATE_MODES);
- }
-}
-
-void LLAppAppearanceUtility::parseArguments()
-{
- ////// BEGIN OPTION PARSING //////
- // Check for '-' as last option, since apr doesn't seem to like that.
- if (std::string(mArgv[mArgc-1]) == "-")
- {
- mInputFilename.assign("-");
- mArgc--;
- }
-
- apr_status_t apr_err;
- const char* opt_arg = NULL;
- int opt_id = 0;
- apr_getopt_t* os = NULL;
- if(APR_SUCCESS != apr_getopt_init(&os, gAPRPoolp, mArgc, mArgv))
- {
- std::cerr << "Unable to initialize apr" << std::endl;
- throw LLAppException(RV_UNKNOWN_ERROR);
- }
-
- //std::string grid;
- while(true)
- {
- apr_err = apr_getopt_long(os, APPEARANCE_UTILITY_OPTIONS, &opt_id, &opt_arg);
- if(APR_STATUS_IS_EOF(apr_err)) break;
- if(apr_err)
- {
- char buf[MAX_STRING]; /* Flawfinder: ignore */
- std::cerr << "Error parsing options: "
- << apr_strerror(apr_err, buf, MAX_STRING) << std::endl;
- usage(std::cerr);
- throw LLAppException(RV_BAD_ARGUMENTS, buf);
- }
- switch (opt_id)
- {
- case 'h':
- verifyNoProcess();
- mProcess = new LLProcessUsage(this);
- break;
- case 'p':
- verifyNoProcess();
- mProcess = new LLProcessParams(this);
- break;
- case 'o':
- mOutputFilename.assign(opt_arg);
- break;
- case 'a':
- mAgentID.set(opt_arg);
- if (mAgentID.isNull())
- {
- const char* INVALID_AGENT_ID="agent-id must be a valid uuid.";
- std::cerr << "Invalid arguments. " << INVALID_AGENT_ID << std::endl;
- usage(std::cerr);
- throw LLAppException(RV_BAD_ARGUMENTS, INVALID_AGENT_ID);
- }
- break;
- //case 'g':
- // grid = opt_arg;
- // break;
- default:
- usage(std::cerr);
- throw LLAppException(RV_BAD_ARGUMENTS, "Unknown option.");
- }
- }
-
- if ("-" != mInputFilename)
- {
- bool valid_input_filename = false;
- // Try to grab the input filename.
- if (os->argv && os->argv[os->ind])
- {
- mInputFilename.assign(os->argv[os->ind]);
- if (! mInputFilename.empty() )
- {
- valid_input_filename = true;
- }
- }
- if (!valid_input_filename)
- {
- const char* INVALID_FILENAME="Must specify input file.";
- std::cerr << "Invalid arguments. " << INVALID_FILENAME << std::endl;
- usage(std::cerr);
- throw LLAppException(RV_BAD_ARGUMENTS, INVALID_FILENAME);
- }
- }
-
- ////// END OPTION PARSING //////
-}
-
-void LLAppAppearanceUtility::validateArguments()
-{
- ///// BEGIN ARGUMENT VALIDATION /////
-
- // Make sure we have a command specified.
- if (!mProcess)
- {
- const char* INVALID_MODE="No process mode specified.";
- std::cerr << "Invalid arguments. " << INVALID_MODE
- << std::endl;
- usage(std::cerr);
- throw LLAppException(RV_BAD_ARGUMENTS, INVALID_MODE);
- }
-
- ///// END ARGUMENT VALIDATION /////
-}
-
-void LLAppAppearanceUtility::initializeIO()
-{
- ///// BEGIN OPEN INPUT FILE ////
-
- if ( "-" == mInputFilename )
- {
- // Read unformated data from stdin in to memory.
- std::stringstream* data = new std::stringstream();
- const S32 BUFFER_SIZE = BUFSIZ;
- char buffer[BUFFER_SIZE];
- while (true)
- {
- std::cin.read(buffer, BUFFER_SIZE);
- // Check if anything out of the ordinary happened.
- if (!std::cin)
- {
- // See if something 'really bad' happened, or if we just
- // used up all of our buffer.
- if (std::cin.bad())
- {
- std::cerr << "Problem reading standard input." << std::endl;
- delete data;
- throw (RV_UNKNOWN_ERROR);
- }
- else
- {
- // Output normally.
- data->write(buffer, std::cin.gcount());
- if (std::cin.eof()) break;
-
- // Clear this problem. We have handled it.
- std::cin.clear();
- }
- }
- else
- {
- data->write(buffer, std::cin.gcount());
- if (std::cin.eof()) break;
- }
- }
- mInput = data;
- }
- else
- {
- // Make sure we can open the input file.
- std::ifstream* input_file = new std::ifstream();
- input_file->open( mInputFilename.c_str(), std::fstream::in );
- if ( input_file->fail())
- {
- std::cerr << "Couldn't open input file '" << mInputFilename << "'." << std::endl;
- delete input_file;
- throw LLAppException(RV_UNABLE_OPEN, mInputFilename);
- }
- mInput = input_file;
- }
- ///// END OPEN INPUT FILE ////
-
- ///// BEGIN OPEN OUTPUT FILE ////
-
- if ("" == mOutputFilename)
- {
- mOutput = &std::cout;
- }
- else
- {
- // Make sure we can open the output file.
- std::fstream* output_file = new std::fstream();
- output_file->open( mOutputFilename.c_str(), std::fstream::out );
- if ( output_file->fail() )
- {
- std::cerr << "Couldn't open output file '" << mOutputFilename << "'." << std::endl;
- delete output_file;
- throw LLAppException(RV_UNABLE_OPEN, mOutputFilename);
- }
- mOutput = output_file;
- }
- ///// END OPEN OUTPUT FILE ////
-
- ///// BEGIN INPUT PARSING ////
- LLSDSerialize::fromXML( mInputData, *mInput );
- if (mInputData.isUndefined())
- {
- throw LLAppException(RV_UNABLE_TO_PARSE);
- }
- ///// 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;
- mProcess = NULL;
- }
- if ("-" != mInputFilename && mInput)
- {
- static_cast<std::ifstream*>(mInput)->close();
- }
- if ("" != mOutputFilename && mOutput)
- {
- static_cast<std::ofstream*>(mOutput)->close();
- delete mOutput;
- mOutput = NULL;
- }
- delete mInput;
- mInput = NULL;
- return true;
-}
-
-bool LLAppAppearanceUtility::mainLoop()
-{
- // This isn't really a loop, for this application. We just execute the requested command.
- mProcess->process(mInputData, *mOutput);
- return true;
-}
-
diff --git a/indra/appearance_utility/llappappearanceutility.h b/indra/appearance_utility/llappappearanceutility.h
deleted file mode 100644
index 2a5b8232eb..0000000000
--- a/indra/appearance_utility/llappappearanceutility.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * @file llappappearanceutility.h
- * @brief Declaration of LLAppAppearanceUtility class.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLAPPAPPEARANCEUTILITY_H
-#define LL_LLAPPAPPEARANCEUTILITY_H
-
-#include <exception>
-
-#include "llapp.h"
-
-enum EResult
-{
- RV_SUCCESS = 0,
- RV_UNKNOWN_ERROR,
- RV_BAD_ARGUMENTS,
- RV_UNABLE_OPEN,
- RV_UNABLE_TO_PARSE,
-};
-
-extern const std::string NOTHING_EXTRA;
-
-class LLAppAppearanceUtility;
-class LLBakingProcess;
-
-// Translate error status into error messages.
-class LLAppException : public std::exception
-{
-public:
- LLAppException(EResult status_code, const std::string& extra = NOTHING_EXTRA);
- EResult getStatusCode() { return mStatusCode; }
-
-private:
- void printErrorLLSD(const std::string& key, const std::string& message);
- EResult mStatusCode;
-};
-
-
-class LLAppAppearanceUtility : public LLApp
-{
-public:
- LLAppAppearanceUtility(int argc, char** argv);
- virtual ~LLAppAppearanceUtility();
-
- // LLApp interface.
- /*virtual*/ bool init();
- /*virtual*/ bool cleanup();
- /*virtual*/ bool mainLoop();
-
-private:
- // Option parsing.
- void verifyNoProcess();
- void parseArguments();
- void validateArguments();
- void initializeIO();
-public:
- void usage(std::ostream& ostr);
-
-
-private:
- int mArgc;
- char** mArgv;
- LLBakingProcess* mProcess;
- std::istream* mInput;
- std::ostream* mOutput;
- std::string mAppName;
- std::string mInputFilename;
- std::string mOutputFilename;
- LLUUID mAgentID;
- LLSD mInputData;
-};
-
-
-#endif /* LL_LLAPPAPPEARANCEUTILITY_H */
-
diff --git a/indra/appearance_utility/llbakingavatar.cpp b/indra/appearance_utility/llbakingavatar.cpp
deleted file mode 100644
index 0424e8134b..0000000000
--- a/indra/appearance_utility/llbakingavatar.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * @File llbakingavatar.cpp
- * @brief Implementation of LLBakingAvatar class which is a derivation of LLAvatarAppearance
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-// linden includes
-#include "linden_common.h"
-#include "v3dmath.h"
-
-// project includes
-#include "llbakingavatar.h"
-#include "llbakingjoint.h"
-#include "llbakingjointmesh.h"
-#include "llbakingtexlayer.h"
-
-LLBakingAvatar::LLBakingAvatar(LLWearableData* wearable_data) :
- LLAvatarAppearance(wearable_data)
-{
-}
-
-// virtual
-LLBakingAvatar::~LLBakingAvatar()
-{
-}
-
-//-----------------------------------------------------------------------------
-// Implemented methods
-//-----------------------------------------------------------------------------
-
-LLAvatarJoint* LLBakingAvatar::createAvatarJoint()
-{
- return new LLBakingJoint();
-}
-
-LLAvatarJoint* LLBakingAvatar::createAvatarJoint(S32 joint_num)
-{
- return new LLBakingJoint(joint_num);
-}
-
-LLAvatarJointMesh* LLBakingAvatar::createAvatarJointMesh()
-{
- return new LLBakingJointMesh();
-}
-
-LLTexLayerSet* LLBakingAvatar::createTexLayerSet()
-{
- return new LLBakingTexLayerSet(this);
-}
-
-//-----------------------------------------------------------------------------
-// (Ignored) Non-implemented methods.
-//-----------------------------------------------------------------------------
-
-void LLBakingAvatar::bodySizeChanged() {}
-void LLBakingAvatar::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_components,
- LLAvatarAppearanceDefines::EBakedTextureIndex index) {}
-void LLBakingAvatar::invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result) {}
-void LLBakingAvatar::updateMeshTextures() {}
-void LLBakingAvatar::dirtyMesh() {}
-void LLBakingAvatar::dirtyMesh(S32 priority) {}
-void LLBakingAvatar::onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake) {}
-
-BOOL LLBakingAvatar::isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const
-{
- return TRUE;
-}
-
-
-//-----------------------------------------------------------------------------
-// (LLERR) Non-implemented methods.
-//-----------------------------------------------------------------------------
-
-LLVector3 LLBakingAvatar::getCharacterPosition()
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLVector3::zero;
-}
-
-LLQuaternion LLBakingAvatar::getCharacterRotation()
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLQuaternion::DEFAULT;
-}
-
-LLVector3 LLBakingAvatar::getCharacterVelocity()
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLVector3::zero;
-}
-
-LLVector3 LLBakingAvatar::getCharacterAngularVelocity()
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLVector3::zero;
-}
-
-const LLUUID& LLBakingAvatar::getID() const
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLUUID::null;
-}
-
-void LLBakingAvatar::addDebugText(const std::string& text)
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
-}
-
-F32 LLBakingAvatar::getTimeDilation()
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return 0.0f;
-}
-
-void LLBakingAvatar::getGround(const LLVector3 &inPos, LLVector3 &outPos, LLVector3 &outNorm)
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
-}
-
-F32 LLBakingAvatar::getPixelArea() const
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return 0.0f;
-}
-
-LLVector3d LLBakingAvatar::getPosGlobalFromAgent(const LLVector3 &position)
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLVector3d::zero;
-}
-
-LLVector3 LLBakingAvatar::getPosAgentFromGlobal(const LLVector3d &position)
-{
- LL_ERRS("AppearanceUtility") << "Not implemented." << LL_ENDL;
- return LLVector3::zero;
-}
-
-
-
diff --git a/indra/appearance_utility/llbakingavatar.h b/indra/appearance_utility/llbakingavatar.h
deleted file mode 100644
index 7f20d31674..0000000000
--- a/indra/appearance_utility/llbakingavatar.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * @file llbakingavatar.h
- * @brief Declaration of LLBakingAvatar class which is a derivation of LLAvatarAppearance
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLBAKINGAVATAR_H
-#define LL_LLBAKINGAVATAR_H
-
-#include "llavatarappearance.h"
-
-class LLBakingAvatar : public LLAvatarAppearance
-{
- LOG_CLASS(LLBakingAvatar);
-
-/********************************************************************************
- ** **
- ** 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();
-
- static void initClass(); // initializes static members
-
-/** Initialization
- ** **
- *******************************************************************************/
-
-/********************************************************************************
- ** **
- ** INHERITED
- **/
-
- //--------------------------------------------------------------------
- // LLCharacter interface
- //--------------------------------------------------------------------
-public:
- /*virtual*/ LLVector3 getCharacterPosition();
- /*virtual*/ LLQuaternion getCharacterRotation();
- /*virtual*/ LLVector3 getCharacterVelocity();
- /*virtual*/ LLVector3 getCharacterAngularVelocity();
-
- /*virtual*/ const LLUUID& getID() const;
- /*virtual*/ void addDebugText(const std::string& text);
- /*virtual*/ F32 getTimeDilation();
- /*virtual*/ void getGround(const LLVector3 &inPos, LLVector3 &outPos, LLVector3 &outNorm);
- /*virtual*/ F32 getPixelArea() const;
- /*virtual*/ LLVector3d getPosGlobalFromAgent(const LLVector3 &position);
- /*virtual*/ LLVector3 getPosAgentFromGlobal(const LLVector3d &position);
-
- //--------------------------------------------------------------------
- // LLAvatarAppearance interface
- //--------------------------------------------------------------------
-public:
- /*virtual*/ void bodySizeChanged();
- /*virtual*/ void applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_components,
- LLAvatarAppearanceDefines::EBakedTextureIndex index);
- /*virtual*/ void invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result);
- /*virtual*/ void updateMeshTextures();
- /*virtual*/ void dirtyMesh(); // Dirty the avatar mesh
- /*virtual*/ void onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake);
- /*virtual*/ BOOL isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex type, U32 index = 0) const;
-private:
- /*virtual*/ void dirtyMesh(S32 priority); // Dirty the avatar mesh, with priority
-
- // LLAvatarAppearance instance factories:
-protected:
- /*virtual*/ LLAvatarJoint* createAvatarJoint();
- /*virtual*/ LLAvatarJoint* createAvatarJoint(S32 joint_num);
- /*virtual*/ LLAvatarJointMesh* createAvatarJointMesh();
- /*virtual*/ LLTexLayerSet* createTexLayerSet();
-
-
-/** Inherited
- ** **
- *******************************************************************************/
-
-/********************************************************************************
- ** **
- ** STATE
- **/
-public:
- /*virtual*/ bool isSelf() const { return true; }
- /*virtual*/ BOOL isValid() const { return TRUE; }
- /*virtual*/ BOOL isUsingBakedTextures() const { return TRUE; }
-
-/** State
- ** **
- *******************************************************************************/
-
-};
-
-#endif /* LL_LLBAKINGAVATAR_H */
-
diff --git a/indra/appearance_utility/llbakingjoint.cpp b/indra/appearance_utility/llbakingjoint.cpp
deleted file mode 100644
index 96f7b686b2..0000000000
--- a/indra/appearance_utility/llbakingjoint.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @file llbakingjoint.cpp
- * @brief Implementation of LLBakingJoint class
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-
-#include "linden_common.h"
-
-#include "llbakingjoint.h"
-
-
-LLBakingJoint::LLBakingJoint() :
- LLAvatarJoint()
-{
-}
-
-LLBakingJoint::LLBakingJoint(S32 joint_num) :
- LLAvatarJoint(joint_num)
-{
-}
-
-// virtual
-LLBakingJoint::~LLBakingJoint()
-{
-}
-
-// virtual
-U32 LLBakingJoint::render( F32 pixelArea, BOOL first_pass, BOOL is_dummy)
-{
- llerrs << "LLBakingJoint::render() should never be called!" << llendl;
- return 0;
-}
-
diff --git a/indra/appearance_utility/llbakingjoint.h b/indra/appearance_utility/llbakingjoint.h
deleted file mode 100644
index 5247eb7510..0000000000
--- a/indra/appearance_utility/llbakingjoint.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * @file llbakingjoint.h
- * @brief Implementation of LLBakingJoint class
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLBAKINGJOINT_H
-#define LL_LLBAKINGJOINT_H
-
-#include "llavatarjoint.h"
-
-class LLBakingJoint : public virtual LLAvatarJoint
-{
-public:
- LLBakingJoint();
- LLBakingJoint(S32 joint_num);
- virtual ~LLBakingJoint();
-
- // LLViewerJoint interface
- virtual U32 render( F32 pixelArea, BOOL first_pass = TRUE, BOOL is_dummy = FALSE );
-};
-
-#endif /* LL_LLBAKINGJOINT_H */
-
diff --git a/indra/appearance_utility/llbakingjointmesh.cpp b/indra/appearance_utility/llbakingjointmesh.cpp
deleted file mode 100644
index 877317deb8..0000000000
--- a/indra/appearance_utility/llbakingjointmesh.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @file llbakingjointmesh.cpp
- * @brief Implementation of LLBakingJointMesh class
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-
-#include "linden_common.h"
-
-#include "llbakingjointmesh.h"
-
-
-LLBakingJointMesh::LLBakingJointMesh() :
- LLAvatarJointMesh()
-{
-}
-
-// virtual
-LLBakingJointMesh::~LLBakingJointMesh()
-{
-}
-
-
diff --git a/indra/appearance_utility/llbakingjointmesh.h b/indra/appearance_utility/llbakingjointmesh.h
deleted file mode 100644
index 6252f6cee3..0000000000
--- a/indra/appearance_utility/llbakingjointmesh.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @file llbakingjoint.h
- * @brief Implementation of LLBakingJointMesh class
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLBAKINGJOINTMESH_H
-#define LL_LLBAKINGJOINTMESH_H
-
-#include "llavatarjointmesh.h"
-#include "llbakingjoint.h"
-
-class LLBakingJointMesh : public LLAvatarJointMesh, public LLBakingJoint
-{
-public:
- LLBakingJointMesh();
- LLBakingJointMesh(S32 joint_num);
- virtual ~LLBakingJointMesh();
-
-};
-
-#endif /* LL_LLBAKINGJOINTMESH_H */
-
diff --git a/indra/appearance_utility/llbakingprocess.h b/indra/appearance_utility/llbakingprocess.h
deleted file mode 100644
index a32eae6443..0000000000
--- a/indra/appearance_utility/llbakingprocess.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * @file llbakingprocess.h
- * @brief Declaration of LLBakingProcess interface.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLBAKINGPROCESS_H
-#define LL_LLBAKINGPROCESS_H
-
-#include <ostream>
-
-class LLAppAppearanceUtility;
-class LLSD;
-
-// Simple wrapper for various process modes.
-class LLBakingProcess
-{
-private:
- // Hide default constructor.
- LLBakingProcess() {}
-public:
- LLBakingProcess(LLAppAppearanceUtility* app) :
- mApp(app) {}
- virtual ~LLBakingProcess() {}
-
- //virtual std::string getProcessName() const = 0;
- virtual void process(LLSD& input, std::ostream& output) = 0;
-
-protected:
- LLAppAppearanceUtility* mApp;
-};
-
-
-#endif /* LL_LLBAKINGPROCESS_H */
-
diff --git a/indra/appearance_utility/llbakingshadermgr.cpp b/indra/appearance_utility/llbakingshadermgr.cpp
deleted file mode 100644
index a858fc760f..0000000000
--- a/indra/appearance_utility/llbakingshadermgr.cpp
+++ /dev/null
@@ -1,226 +0,0 @@
-
-/**
- * @file LLBakingShaderMgr.cpp
- * @brief Viewer shader manager implementation.
- *
- * $LicenseInfo:firstyear=2005&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-
-#include "linden_common.h"
-
-#include "llbakingshadermgr.h"
-
-#include "lldir.h"
-#include "llfile.h"
-#include "llrender.h"
-#include "llvertexbuffer.h"
-
-#if LL_DARWIN
-#include "OpenGL/OpenGL.h"
-#endif
-
-#ifdef LL_RELEASE_FOR_DOWNLOAD
-#define UNIFORM_ERRS LL_WARNS_ONCE("Shader")
-#else
-#define UNIFORM_ERRS LL_ERRS("Shader")
-#endif
-
-// Lots of STL stuff in here, using namespace std to keep things more readable
-using std::vector;
-using std::pair;
-using std::make_pair;
-using std::string;
-
-BOOL LLBakingShaderMgr::sInitialized = FALSE;
-bool LLBakingShaderMgr::sSkipReload = false;
-
-//utility shaders
-LLGLSLShader gAlphaMaskProgram;
-
-
-LLBakingShaderMgr::LLBakingShaderMgr() :
- mVertexShaderLevel(SHADER_COUNT, 0),
- mMaxAvatarShaderLevel(0)
-{
-}
-
-LLBakingShaderMgr::~LLBakingShaderMgr()
-{
- mVertexShaderLevel.clear();
- mShaderList.clear();
-}
-
-// static
-LLBakingShaderMgr * LLBakingShaderMgr::instance()
-{
- if(NULL == sInstance)
- {
- sInstance = new LLBakingShaderMgr();
- }
-
- return static_cast<LLBakingShaderMgr*>(sInstance);
-}
-
-void LLBakingShaderMgr::initAttribsAndUniforms(void)
-{
- if (mReservedAttribs.empty())
- {
- LLShaderMgr::initAttribsAndUniforms();
- }
-}
-
-
-//============================================================================
-// Set Levels
-
-S32 LLBakingShaderMgr::getVertexShaderLevel(S32 type)
-{
- return mVertexShaderLevel[type];
-}
-
-//============================================================================
-// Shader Management
-
-void LLBakingShaderMgr::setShaders()
-{
- //setShaders might be called redundantly by gSavedSettings, so return on reentrance
- static bool reentrance = false;
-
- if (!sInitialized || reentrance || sSkipReload)
- {
- return;
- }
-
- LLGLSLShader::sIndexedTextureChannels = llmax(gGLManager.mNumTextureImageUnits, 1);
-
- //NEVER use more than 16 texture channels (work around for prevalent driver bug)
- LLGLSLShader::sIndexedTextureChannels = llmin(LLGLSLShader::sIndexedTextureChannels, 16);
-
- if (gGLManager.mGLSLVersionMajor < 1 ||
- (gGLManager.mGLSLVersionMajor == 1 && gGLManager.mGLSLVersionMinor <= 20))
- { //NEVER use indexed texture rendering when GLSL version is 1.20 or earlier
- LLGLSLShader::sIndexedTextureChannels = 1;
- }
-
- reentrance = true;
-
- //setup preprocessor definitions
- LLShaderMgr::instance()->mDefinitions["NUM_TEX_UNITS"] = llformat("%d", gGLManager.mNumTextureImageUnits);
-
- // Make sure the compiled shader map is cleared before we recompile shaders.
- mShaderObjects.clear();
-
- initAttribsAndUniforms();
-
- // Shaders
- LL_INFOS("ShaderLoading") << "\n~~~~~~~~~~~~~~~~~~\n Loading Shaders:\n~~~~~~~~~~~~~~~~~~" << LL_ENDL;
- LL_INFOS("ShaderLoading") << llformat("Using GLSL %d.%d", gGLManager.mGLSLVersionMajor, gGLManager.mGLSLVersionMinor) << llendl;
-
- for (S32 i = 0; i < SHADER_COUNT; i++)
- {
- mVertexShaderLevel[i] = 0;
- }
- mMaxAvatarShaderLevel = 0;
-
- LLGLSLShader::sNoFixedFunction = false;
- LLVertexBuffer::unbind();
- if (gGLManager.mGLSLVersionMajor > 1 || gGLManager.mGLSLVersionMinor >= 10)
- {
- //using shaders, disable fixed function
- LLGLSLShader::sNoFixedFunction = true;
-
- //gPipeline.mVertexShadersEnabled = TRUE;
- //gPipeline.mVertexShadersLoaded = 1;
-
- loadShadersInterface();
- }
- else
- {
- LLGLSLShader::sNoFixedFunction = false;
- //gPipeline.mVertexShadersEnabled = FALSE;
- //gPipeline.mVertexShadersLoaded = 0;
- mVertexShaderLevel[SHADER_LIGHTING] = 0;
- mVertexShaderLevel[SHADER_INTERFACE] = 0;
- mVertexShaderLevel[SHADER_ENVIRONMENT] = 0;
- mVertexShaderLevel[SHADER_WATER] = 0;
- mVertexShaderLevel[SHADER_OBJECT] = 0;
- mVertexShaderLevel[SHADER_EFFECT] = 0;
- mVertexShaderLevel[SHADER_WINDLIGHT] = 0;
- mVertexShaderLevel[SHADER_AVATAR] = 0;
- }
-
- //gPipeline.createGLBuffers();
-
- reentrance = false;
-}
-
-void LLBakingShaderMgr::unloadShaders()
-{
- gAlphaMaskProgram.unload();
-
- mVertexShaderLevel[SHADER_INTERFACE] = 0;
-
- //gPipeline.mVertexShadersLoaded = 0;
-}
-
-BOOL LLBakingShaderMgr::loadShadersInterface()
-{
- BOOL success = TRUE;
-
- if (success)
- {
- gAlphaMaskProgram.mName = "Alpha Mask Shader";
- gAlphaMaskProgram.mShaderFiles.clear();
- gAlphaMaskProgram.mShaderFiles.push_back(make_pair("interface/alphamaskV.glsl", GL_VERTEX_SHADER_ARB));
- gAlphaMaskProgram.mShaderFiles.push_back(make_pair("interface/alphamaskF.glsl", GL_FRAGMENT_SHADER_ARB));
- gAlphaMaskProgram.mShaderLevel = mVertexShaderLevel[SHADER_INTERFACE];
- success = gAlphaMaskProgram.createShader(NULL, NULL);
- }
-
- if( !success )
- {
- mVertexShaderLevel[SHADER_INTERFACE] = 0;
- return FALSE;
- }
-
- return TRUE;
-}
-
-std::string LLBakingShaderMgr::getShaderDirPrefix(void)
-{
- return gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "shaders/class");
-}
-
-void LLBakingShaderMgr::updateShaderUniforms(LLGLSLShader * shader)
-{
-}
-
-LLBakingShaderMgr::shader_iter LLBakingShaderMgr::beginShaders() const
-{
- return mShaderList.begin();
-}
-
-LLBakingShaderMgr::shader_iter LLBakingShaderMgr::endShaders() const
-{
- return mShaderList.end();
-}
diff --git a/indra/appearance_utility/llbakingshadermgr.h b/indra/appearance_utility/llbakingshadermgr.h
deleted file mode 100644
index 88d43ab769..0000000000
--- a/indra/appearance_utility/llbakingshadermgr.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/**
- * @file llbakingshadermgr.h
- * @brief Texture Baking Shader Manager
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_BAKING_SHADER_MGR_H
-#define LL_BAKING_SHADER_MGR_H
-
-#include "llshadermgr.h"
-
-class LLBakingShaderMgr: public LLShaderMgr
-{
-public:
- static BOOL sInitialized;
- static bool sSkipReload;
-
- LLBakingShaderMgr();
- /* virtual */ ~LLBakingShaderMgr();
-
- // singleton pattern implementation
- static LLBakingShaderMgr * instance();
-
- void initAttribsAndUniforms(void);
- void setShaders();
- void unloadShaders();
- S32 getVertexShaderLevel(S32 type);
- BOOL loadShadersInterface();
-
- std::vector<S32> mVertexShaderLevel;
- S32 mMaxAvatarShaderLevel;
-
- enum EShaderClass
- {
- SHADER_LIGHTING,
- SHADER_OBJECT,
- SHADER_AVATAR,
- SHADER_ENVIRONMENT,
- SHADER_INTERFACE,
- SHADER_EFFECT,
- SHADER_WINDLIGHT,
- SHADER_WATER,
- SHADER_DEFERRED,
- SHADER_TRANSFORM,
- SHADER_COUNT
- };
-
- // simple model of forward iterator
- // http://www.sgi.com/tech/stl/ForwardIterator.html
- class shader_iter
- {
- private:
- friend bool operator == (shader_iter const & a, shader_iter const & b);
- friend bool operator != (shader_iter const & a, shader_iter const & b);
-
- typedef std::vector<LLGLSLShader *>::const_iterator base_iter_t;
- public:
- shader_iter()
- {
- }
-
- shader_iter(base_iter_t iter) : mIter(iter)
- {
- }
-
- LLGLSLShader & operator * () const
- {
- return **mIter;
- }
-
- LLGLSLShader * operator -> () const
- {
- return *mIter;
- }
-
- shader_iter & operator++ ()
- {
- ++mIter;
- return *this;
- }
-
- shader_iter operator++ (int)
- {
- return mIter++;
- }
-
- private:
- base_iter_t mIter;
- };
-
- shader_iter beginShaders() const;
- shader_iter endShaders() const;
-
- /* virtual */ std::string getShaderDirPrefix(void);
-
- /* virtual */ void updateShaderUniforms(LLGLSLShader * shader);
-
-private:
-
- // the list of shaders we need to propagate parameters to.
- std::vector<LLGLSLShader *> mShaderList;
-
-}; //LLBakingShaderMgr
-
-inline bool operator == (LLBakingShaderMgr::shader_iter const & a, LLBakingShaderMgr::shader_iter const & b)
-{
- return a.mIter == b.mIter;
-}
-
-inline bool operator != (LLBakingShaderMgr::shader_iter const & a, LLBakingShaderMgr::shader_iter const & b)
-{
- return a.mIter != b.mIter;
-}
-
-extern LLVector4 gShinyOrigin;
-
-#endif // LL_BAKING_SHADER_MGR_H
diff --git a/indra/appearance_utility/llbakingtexlayer.cpp b/indra/appearance_utility/llbakingtexlayer.cpp
deleted file mode 100644
index 38fbd7c557..0000000000
--- a/indra/appearance_utility/llbakingtexlayer.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * @file llbakingtexlayer.cpp
- * @brief Implementation of LLBakingTexLayer class
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#include "linden_common.h"
-
-#include "llbakingtexlayer.h"
-
-LLBakingTexLayerSet::LLBakingTexLayerSet(LLAvatarAppearance* const appearance) :
- LLTexLayerSet(appearance)
-{
-}
-
-// virtual
-LLBakingTexLayerSet::~LLBakingTexLayerSet()
-{
-}
-
-// Ignored.
-void LLBakingTexLayerSet::requestUpdate()
-{
-}
-
-void LLBakingTexLayerSet::createComposite()
-{
- llerrs << "TODO: Create a composite." << llendl;
-}
-
-
diff --git a/indra/appearance_utility/llbakingtexlayer.h b/indra/appearance_utility/llbakingtexlayer.h
deleted file mode 100644
index 2ed9863d4a..0000000000
--- a/indra/appearance_utility/llbakingtexlayer.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * @file llbakingtexlayer.h
- * @brief Declaration of LLBakingTexLayerSet.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLBAKINGTEXLAYER_H
-#define LL_LLBAKINGTEXLAYER_H
-
-#include "lltexlayer.h"
-
-class LLBakingTexLayerSet : public LLTexLayerSet
-{
-public:
- LLBakingTexLayerSet(LLAvatarAppearance* const appearance);
- virtual ~LLBakingTexLayerSet();
-
- /*virtual*/void requestUpdate();
- /*virtual*/void createComposite();
-};
-
-#endif /* LL_LLBAKINGTEXLAYER_H */
-
diff --git a/indra/appearance_utility/llprocessparams.cpp b/indra/appearance_utility/llprocessparams.cpp
deleted file mode 100644
index 723bae0dd6..0000000000
--- a/indra/appearance_utility/llprocessparams.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * @file llprocessparams.cpp
- * @brief Implementation of LLProcessParams class.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-// linden includes
-#include "linden_common.h"
-
-#include "llsd.h"
-#include "llsdserialize.h"
-#include "llsdutil.h"
-
-// appearance includes
-#include "llwearabledata.h"
-
-// project includes
-#include "llappappearanceutility.h"
-#include "llbakingavatar.h"
-#include "llprocessparams.h"
-
-void LLProcessParams::process(LLSD& input, std::ostream& output)
-{
- LLWearableData wearable_data;
- LLBakingAvatar avatar(&wearable_data);
- avatar.initInstance();
-
- LLSD result;
- result["success"] = true;
- result["input"] = input;
- output << LLSDOStreamer<LLSDXMLFormatter>(result);
-}
-
diff --git a/indra/appearance_utility/llprocessparams.h b/indra/appearance_utility/llprocessparams.h
deleted file mode 100644
index d1e64cb4f0..0000000000
--- a/indra/appearance_utility/llprocessparams.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * @file llprocessparams.h
- * @brief Declaration of LLProcessParams class.
- *
- * $LicenseInfo:firstyear=2012&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2012, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLPROCESSPARAMS_H
-#define LL_LLPROCESSPARAMS_H
-
-#include "llbakingprocess.h"
-
-class LLProcessParams : public LLBakingProcess
-{
-public:
- LLProcessParams(LLAppAppearanceUtility* app) :
- LLBakingProcess(app) {}
-
- /*virtual*/ void process(LLSD& intput, std::ostream& output);
-};
-
-#endif /* LL_LLPROCESSPARAMS_H */
-
diff --git a/indra/appearance_utility/wrapper.sh b/indra/appearance_utility/wrapper.sh
deleted file mode 100755
index 87d2179a13..0000000000
--- a/indra/appearance_utility/wrapper.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-
-# Simple wrapper for secondlife utilities.
-
-## - Avoids an often-buggy X feature that doesn't really benefit us anyway.
-export SDL_VIDEO_X11_DGAMOUSE=0
-
-## - Works around a problem with misconfigured 64-bit systems not finding GL
-export LIBGL_DRIVERS_PATH="${LIBGL_DRIVERS_PATH}":/usr/lib64/dri:/usr/lib32/dri:/usr/lib/dri
-
-## - The 'scim' GTK IM module widely crashes the viewer. Avoid it.
-if [ "$GTK_IM_MODULE" = "scim" ]; then
- export GTK_IM_MODULE=xim
-fi
-
-EXECUTABLE="$(basename "$0")-bin"
-SCRIPTSRC="$(readlink -f "$0" || echo "$0")"
-RUN_PATH="$(dirname "${SCRIPTSRC}" || echo .)"
-cd "${RUN_PATH}"
-
-export LD_LIBRARY_PATH="$PWD/lib:${LD_LIBRARY_PATH}"
-
-# Run the program.
-"./$EXECUTABLE" "$@"
-exit $?
diff --git a/indra/cmake/LLAppearanceUtility.cmake b/indra/cmake/LLAppearanceUtility.cmake
new file mode 100644
index 0000000000..bea45543de
--- /dev/null
+++ b/indra/cmake/LLAppearanceUtility.cmake
@@ -0,0 +1,12 @@
+# -*- cmake -*-
+include(Prebuilt)
+
+# Linux proprietary build only
+if (INSTALL_PROPRIETARY)
+ if(LINUX)
+ use_prebuilt_binary(llappearanceutility-source)
+ set(LLAPPEARANCEUTILITY_SRC_DIR ${LIBS_PREBUILT_DIR}/llappearanceutility/src)
+ set(LLAPPEARANCEUTILITY_BIN_DIR ${CMAKE_BINARY_DIR}/llappearanceutility)
+ endif (LINUX)
+endif (INSTALL_PROPRIETARY)
+
diff --git a/indra/llcommon/llversionserver.h b/indra/llcommon/llversionserver.h
index b19ba3bf74..ef68a0eaf5 100644
--- a/indra/llcommon/llversionserver.h
+++ b/indra/llcommon/llversionserver.h
@@ -30,7 +30,7 @@
const S32 LL_VERSION_MAJOR = 2;
const S32 LL_VERSION_MINOR = 1;
const S32 LL_VERSION_PATCH = 0;
-const S32 LL_VERSION_BUILD = 13828;
+const S32 LL_VERSION_BUILD = 264760;
const char * const LL_CHANNEL = "Second Life Server";
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index bcc661a920..295fed3c4b 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -30,7 +30,7 @@
const S32 LL_VERSION_MAJOR = 3;
const S32 LL_VERSION_MINOR = 4;
const S32 LL_VERSION_PATCH = 1;
-const S32 LL_VERSION_BUILD = 0;
+const S32 LL_VERSION_BUILD = 264760;
const char * const LL_CHANNEL = "Second Life Developer";
diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings
index 5c7cacedec..1802e14703 100644
--- a/indra/newview/English.lproj/InfoPlist.strings
+++ b/indra/newview/English.lproj/InfoPlist.strings
@@ -2,6 +2,6 @@
CFBundleName = "Second Life";
-CFBundleShortVersionString = "Second Life version 2.1.0.13828";
-CFBundleGetInfoString = "Second Life version 2.1.0.13828, Copyright 2004-2009 Linden Research, Inc.";
+CFBundleShortVersionString = "Second Life version 3.4.1.264760";
+CFBundleGetInfoString = "Second Life version 3.4.1.264760, Copyright 2004-2009 Linden Research, Inc.";
diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist
index f7b11b217c..035d6cbe6c 100644
--- a/indra/newview/Info-SecondLife.plist
+++ b/indra/newview/Info-SecondLife.plist
@@ -60,7 +60,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
- <string>2.1.0.13828</string>
+ <string>3.4.1.264760</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
diff --git a/indra/newview/res/viewerRes.rc b/indra/newview/res/viewerRes.rc
index df75f3f697..471a896019 100644
--- a/indra/newview/res/viewerRes.rc
+++ b/indra/newview/res/viewerRes.rc
@@ -135,8 +135,8 @@ TOOLNO CURSOR "llno.cur"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,1,1,0
- PRODUCTVERSION 2,1,1,0
+ FILEVERSION 3,4,1,264760
+ PRODUCTVERSION 3,4,1,264760
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -153,12 +153,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Linden Lab"
VALUE "FileDescription", "Second Life"
- VALUE "FileVersion", "2.1.1.0"
+ VALUE "FileVersion", "3.4.1.264760"
VALUE "InternalName", "Second Life"
VALUE "LegalCopyright", "Copyright � 2001-2010, Linden Research, Inc."
VALUE "OriginalFilename", "SecondLife.exe"
VALUE "ProductName", "Second Life"
- VALUE "ProductVersion", "2.1.1.0"
+ VALUE "ProductVersion", "3.4.1.264760"
END
END
BLOCK "VarFileInfo"