Fixed several compile errors with VS2005

This commit is contained in:
Hazim Gazov
2010-04-23 02:08:56 -03:00
parent 4ecf6055ce
commit c32adc2304
24 changed files with 3680 additions and 3680 deletions

View File

@@ -221,9 +221,9 @@ else (STANDALONE)
)
endif (STANDALONE)
if($ENV{OPENSIM_RULES} EQUAL 1)
if(1 EQUAL 1)
add_definitions(-DOPENSIM_RULES=1)
endif($ENV{OPENSIM_RULES} EQUAL 1)
endif(1 EQUAL 1)
if(SERVER)
include_directories(${LIBS_PREBUILT_DIR}/include/havok)

View File

@@ -1,64 +1,64 @@
// <edit>
#include "linden_common.h"
#include "lldelayeduidelete.h"
#define DELETE_DELAY 0.1f
#define DELETES_PER_DELAY 512
std::list<LLDeleteJob*> LLDeleteScheduler::sJobs;
LLDeleteScheduler::LLDeleteScheduler() : LLEventTimer(DELETE_DELAY)
{
}
void LLDeleteScheduler::addViewDeleteJob(std::list<LLView*> views)
{
if(!views.empty())
{
LLViewDeleteJob* job = new LLViewDeleteJob(views);
sJobs.push_back(job);
}
}
BOOL LLDeleteScheduler::tick() // IMPORTANT: never return TRUE
{
if(!sJobs.empty())
{
U32 completed = 0;
do
{
LLDeleteJob* job = sJobs.front();
if(job->work(completed))
{
delete job;
sJobs.pop_front();
}
} while((completed < DELETES_PER_DELAY) && !sJobs.empty());
}
return FALSE; // EVER
}
BOOL LLDeleteJob::work(U32& completed)
{
llwarns << "THIS IS SPOSED TO BE OVERRIDDEN" << llendl;
return TRUE;
}
LLViewDeleteJob::LLViewDeleteJob(std::list<LLView*> views)
: mList(views)
{
}
LLViewDeleteJob::~LLViewDeleteJob()
{
}
BOOL LLViewDeleteJob::work(U32& completed)
{
do
{
if(!mList.empty())
{
LLView* view = mList.front();
delete view;
mList.pop_front();
}
else
{
return TRUE; // job done
}
} while(++completed < DELETES_PER_DELAY);
return FALSE;
}
// </edit>
// <edit>
#include "linden_common.h"
#include "lldelayeduidelete.h"
#define DELETE_DELAY 0.1f
#define DELETES_PER_DELAY 512
std::list<LLDeleteJob*> LLDeleteScheduler::sJobs;
LLDeleteScheduler::LLDeleteScheduler() : LLEventTimer(DELETE_DELAY)
{
}
void LLDeleteScheduler::addViewDeleteJob(std::list<LLView*> views)
{
if(!views.empty())
{
LLViewDeleteJob* job = new LLViewDeleteJob(views);
sJobs.push_back(job);
}
}
BOOL LLDeleteScheduler::tick() // IMPORTANT: never return TRUE
{
if(!sJobs.empty())
{
U32 completed = 0;
do
{
LLDeleteJob* job = sJobs.front();
if(job->work(completed))
{
delete job;
sJobs.pop_front();
}
} while((completed < DELETES_PER_DELAY) && !sJobs.empty());
}
return FALSE; // EVER
}
BOOL LLDeleteJob::work(U32& completed)
{
llwarns << "THIS IS SPOSED TO BE OVERRIDDEN" << llendl;
return TRUE;
}
LLViewDeleteJob::LLViewDeleteJob(std::list<LLView*> views)
: mList(views)
{
}
LLViewDeleteJob::~LLViewDeleteJob()
{
}
BOOL LLViewDeleteJob::work(U32& completed)
{
do
{
if(!mList.empty())
{
LLView* view = mList.front();
delete view;
mList.pop_front();
}
else
{
return TRUE; // job done
}
} while(++completed < DELETES_PER_DELAY);
return FALSE;
}
// </edit>

View File

@@ -1,31 +1,31 @@
// <edit>
#ifndef LL_LLDELAYEDUIDELETE_H
#define LL_LLDELAYEDUIDELETE_H
#include "lltimer.h"
#include "llview.h"
class LLDeleteJob
{
public:
virtual BOOL work(U32& completed);
};
class LLViewDeleteJob : public LLDeleteJob
{
public:
LLViewDeleteJob(std::list<LLView*> views);
virtual ~LLViewDeleteJob();
virtual BOOL work(U32& completed);
private:
std::list<LLView*> mList;
};
class LLDeleteScheduler : public LLEventTimer
{
public:
LLDeleteScheduler();
void addViewDeleteJob(std::list<LLView*> views);
BOOL tick();
private:
static std::list<LLDeleteJob*> sJobs;
};
static LLDeleteScheduler* gDeleteScheduler;
#endif
// </edit>
// <edit>
#ifndef LL_LLDELAYEDUIDELETE_H
#define LL_LLDELAYEDUIDELETE_H
#include "lltimer.h"
#include "llview.h"
class LLDeleteJob
{
public:
virtual BOOL work(U32& completed);
};
class LLViewDeleteJob : public LLDeleteJob
{
public:
LLViewDeleteJob(std::list<LLView*> views);
virtual ~LLViewDeleteJob();
virtual BOOL work(U32& completed);
private:
std::list<LLView*> mList;
};
class LLDeleteScheduler : public LLEventTimer
{
public:
LLDeleteScheduler();
void addViewDeleteJob(std::list<LLView*> views);
BOOL tick();
private:
static std::list<LLDeleteJob*> sJobs;
};
static LLDeleteScheduler* gDeleteScheduler;
#endif
// </edit>

View File

@@ -95,10 +95,10 @@
#include "lltexturefetch.h"
#include "llimageworker.h"
// <edit>
#include "lldelayeduidelete.h"
#include "llbuildnewviewsscheduler.h"
// </edit>
// <edit>
#include "lldelayeduidelete.h"
#include "llbuildnewviewsscheduler.h"
// </edit>
// The files below handle dependencies from cleanup.
#include "llkeyframemotion.h"
#include "llworldmap.h"
@@ -245,9 +245,9 @@ F32 gLogoutMaxTime = LOGOUT_REQUEST_TIME;
LLUUID gInventoryLibraryOwner;
LLUUID gInventoryLibraryRoot;
// <edit>
LLUUID gLocalInventoryRoot;
// </edit>
// <edit>
LLUUID gLocalInventoryRoot;
// </edit>
BOOL gDisconnected = FALSE;
@@ -291,9 +291,9 @@ const std::string ERROR_MARKER_FILE_NAME("SecondLife.error_marker");
const std::string LLERROR_MARKER_FILE_NAME("SecondLife.llerror_marker");
const std::string LOGOUT_MARKER_FILE_NAME("SecondLife.logout_marker");
static BOOL gDoDisconnect = FALSE;
// <edit>
//static BOOL gBusyDisconnect = FALSE;
// </edit>
// <edit>
//static BOOL gBusyDisconnect = FALSE;
// </edit>
static std::string gLaunchFileOnQuit;
// Used on Win32 for other apps to identify our window (eg, win_setup)
@@ -575,10 +575,10 @@ bool LLAppViewer::init()
initLogging();
// <edit>
gDeleteScheduler = new LLDeleteScheduler();
gBuildNewViewsScheduler = new LLBuildNewViewsScheduler();
// </edit>
// <edit>
gDeleteScheduler = new LLDeleteScheduler();
gBuildNewViewsScheduler = new LLBuildNewViewsScheduler();
// </edit>
//
// OK to write stuff to logs now, we've now crash reported if necessary
//
@@ -594,19 +594,19 @@ bool LLAppViewer::init()
writeSystemInfo();
// Build a string representing the current version number.
// <edit> meh
/*
// </edit>
// <edit> meh
/*
// </edit>
gCurrentVersion = llformat("%s %d.%d.%d.%d",
gSavedSettings.getString("VersionChannelName").c_str(),
LL_VERSION_MAJOR,
LL_VERSION_MINOR,
LL_VERSION_PATCH,
LL_VERSION_BUILD );
// <edit>
*/
gCurrentVersion = gSavedSettings.getString("SpecifiedChannel");
// </edit>
// <edit>
*/
gCurrentVersion = gSavedSettings.getString("SpecifiedChannel");
// </edit>
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
@@ -940,7 +940,7 @@ bool LLAppViewer::mainLoop()
pauseMainloopTimeout(); // *TODO: Remove. Messages shouldn't be stalling for 20+ seconds!
LLFastTimer t3(LLFastTimer::FTM_IDLE);
// <edit> bad_alloc!! </edit>
// <edit> bad_alloc!! </edit>
idle();
if (gAres != NULL && gAres->isInitialized())
@@ -1223,11 +1223,11 @@ bool LLAppViewer::cleanup()
// such that we can suck rectangle information out of
// it.
cleanupSavedSettings();
llinfos << "Settings patched up" << llendflush;
// <edit> moving this to below.
/*
// </edit>
llinfos << "Settings patched up" << llendflush;
// <edit> moving this to below.
/*
// </edit>
// delete some of the files left around in the cache.
removeCacheFiles("*.wav");
removeCacheFiles("*.tmp");
@@ -1236,9 +1236,9 @@ bool LLAppViewer::cleanup()
removeCacheFiles("*.dsf");
removeCacheFiles("*.bodypart");
removeCacheFiles("*.clothing");
// <edit>
*/
// </edit>
// <edit>
*/
// </edit>
llinfos << "Cache files removed" << llendflush;
@@ -1367,18 +1367,18 @@ bool LLAppViewer::cleanup()
}
removeMarkerFile(); // Any crashes from here on we'll just have to ignore
// <edit> moved this stuff from above to make it conditional here...
if(!anotherInstanceRunning())
{
removeCacheFiles("*.wav");
removeCacheFiles("*.tmp");
removeCacheFiles("*.lso");
removeCacheFiles("*.out");
removeCacheFiles("*.dsf");
removeCacheFiles("*.bodypart");
removeCacheFiles("*.clothing");
}
// </edit>
// <edit> moved this stuff from above to make it conditional here...
if(!anotherInstanceRunning())
{
removeCacheFiles("*.wav");
removeCacheFiles("*.tmp");
removeCacheFiles("*.lso");
removeCacheFiles("*.out");
removeCacheFiles("*.dsf");
removeCacheFiles("*.bodypart");
removeCacheFiles("*.clothing");
}
// </edit>
writeDebugInfo();
@@ -2188,9 +2188,9 @@ bool LLAppViewer::initWindow()
// always start windowed
BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth");
// <edit>
//gViewerWindow = new LLViewerWindow(gWindowTitle, "Second Life",
gViewerWindow = new LLViewerWindow("Inertia", "Second Life",
// <edit>
//gViewerWindow = new LLViewerWindow(gWindowTitle, "Second Life",
gViewerWindow = new LLViewerWindow("Inertia", "Second Life",
// </edit>
gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"),
gSavedSettings.getS32("WindowWidth"), gSavedSettings.getS32("WindowHeight"),
@@ -2320,10 +2320,10 @@ void LLAppViewer::writeSystemInfo()
{
gDebugInfo["SLLog"] = LLError::logFileName();
// <edit>
//gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("SpecifiedChannel");
// </edit>
// <edit>
//gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("SpecifiedChannel");
// </edit>
gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
@@ -2419,10 +2419,10 @@ void LLAppViewer::handleViewerCrash()
//We already do this in writeSystemInfo(), but we do it again here to make /sure/ we have a version
//to check against no matter what
// <edit>
//gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("SpecifiedChannel");
// </edit>
// <edit>
//gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("SpecifiedChannel");
// </edit>
gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
@@ -3123,9 +3123,9 @@ void LLAppViewer::badNetworkHandler()
// Flush all of our caches on exit in the case of disconnect due to
// invalid packets.
// <edit>
if(1) return;
// </edit>
// <edit>
if(1) return;
// </edit>
mPurgeOnExit = TRUE;
@@ -3342,10 +3342,10 @@ void LLAppViewer::idle()
// *FIX: (???) SAMANTHA
if (viewer_stats_timer.getElapsedTimeF32() >= SEND_STATS_PERIOD && !gDisconnected)
{
// <edit> we are not transmitting session stats
//llinfos << "Transmitting sessions stats" << llendl;
//send_stats();
// </edit>
// <edit> we are not transmitting session stats
//llinfos << "Transmitting sessions stats" << llendl;
//send_stats();
// </edit>
viewer_stats_timer.reset();
}
@@ -4083,10 +4083,10 @@ void LLAppViewer::handleLoginComplete()
initMainloopTimeout("Mainloop Init");
// Store some data to DebugInfo in case of a freeze.
// <edit>
//gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("SpecifiedChannel");
// </edit>
// <edit>
//gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("VersionChannelName");
gDebugInfo["ClientInfo"]["Name"] = gSavedSettings.getString("SpecifiedChannel");
// </edit>
gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;

View File

@@ -307,9 +307,9 @@ extern F32 gSimFrames;
extern LLUUID gInventoryLibraryOwner;
extern LLUUID gInventoryLibraryRoot;
// <edit>
extern LLUUID gLocalInventoryRoot;
// </edit>
// <edit>
extern LLUUID gLocalInventoryRoot;
// </edit>
extern BOOL gDisconnected;

View File

@@ -1,140 +1,140 @@
// <edit>
#include "llviewerprecompiledheaders.h"
#include "llbuildnewviewsscheduler.h"
#include "llinventorybridge.h"
#define BUILD_DELAY 0.1f
#define BUILD_PER_DELAY 512
std::list<LLBuildNewViewsScheduler::job> LLBuildNewViewsScheduler::sJobs;
LLBuildNewViewsScheduler::LLBuildNewViewsScheduler() : LLEventTimer(BUILD_DELAY)
{
}
void LLBuildNewViewsScheduler::addJob(LLInventoryPanel* inventory_panel, LLInventoryObject* inventory_object)
{
LLBuildNewViewsScheduler::job j;
j.mInventoryPanel = inventory_panel;
j.mInventoryObject = inventory_object;
sJobs.push_back(j);
}
void LLBuildNewViewsScheduler::cancel(LLInventoryPanel* inventory_panel)
{
for(std::list<LLBuildNewViewsScheduler::job>::iterator iter = sJobs.begin();
iter != sJobs.end(); )
{
LLInventoryPanel* job_panel = (*iter).mInventoryPanel;
if(job_panel == inventory_panel)
{
iter = sJobs.erase(iter);
}
else
{
++iter;
}
}
}
BOOL LLBuildNewViewsScheduler::tick()
{
U32 i = 0;
while(!sJobs.empty() && (i < BUILD_PER_DELAY))
{
LLBuildNewViewsScheduler::job j = sJobs.front();
buildNewViews(j.mInventoryPanel, j.mInventoryObject);
sJobs.pop_front();
++i;
}
return FALSE;
}
void LLBuildNewViewsScheduler::buildNewViews(LLInventoryPanel* panelp, LLInventoryObject* objectp)
{
LLFolderViewItem* itemp = NULL;
if (objectp)
{
if (objectp->getType() <= LLAssetType::AT_NONE ||
objectp->getType() >= LLAssetType::AT_COUNT)
{
llwarns << "called with objectp->mType == "
<< ((S32) objectp->getType())
<< " (shouldn't happen)" << llendl;
}
else if (objectp->getType() == LLAssetType::AT_CATEGORY) // build new view for category
{
LLInvFVBridge* new_listener = LLInvFVBridge::createBridge(objectp->getType(),
LLInventoryType::IT_CATEGORY,
panelp,
objectp->getUUID());
if (new_listener)
{
LLFolderViewFolder* folderp = new LLFolderViewFolder(new_listener->getDisplayName(),
new_listener->getIcon(),
panelp->getRootFolder(),
new_listener);
folderp->setItemSortOrder(panelp->getSortOrder());
itemp = folderp;
}
}
else // build new view for item
{
LLInventoryItem* item = (LLInventoryItem*)objectp;
LLInvFVBridge* new_listener = LLInvFVBridge::createBridge(
item->getType(),
item->getInventoryType(),
panelp,
item->getUUID(),
item->getFlags());
if (new_listener)
{
itemp = new LLFolderViewItem(new_listener->getDisplayName(),
new_listener->getIcon(),
new_listener->getCreationDate(),
panelp->getRootFolder(),
new_listener);
}
}
LLFolderViewFolder* parent_folder = (LLFolderViewFolder*)panelp->getRootFolder()->getItemByID(objectp->getParentUUID());
if (itemp)
{
itemp->mDelayedDelete = TRUE;
if (parent_folder)
{
itemp->addToFolder(parent_folder, panelp->getRootFolder());
}
else
{
llwarns << "Couldn't find parent folder for child " << itemp->getLabel() << llendl;
delete itemp;
}
}
}
if (!objectp || (objectp && (objectp->getType() == LLAssetType::AT_CATEGORY)))
{
LLViewerInventoryCategory::cat_array_t* categories;
LLViewerInventoryItem::item_array_t* items;
panelp->getModel()->lockDirectDescendentArrays((objectp != NULL) ? objectp->getUUID() : LLUUID::null, categories, items);
if(categories)
{
S32 count = categories->count();
for(S32 i = 0; i < count; ++i)
{
LLInventoryCategory* cat = categories->get(i);
addJob(panelp, cat);
}
}
if(items)
{
S32 count = items->count();
for(S32 i = 0; i < count; ++i)
{
LLInventoryItem* item = items->get(i);
addJob(panelp, item);
}
}
panelp->getModel()->unlockDirectDescendentArrays(objectp->getUUID());
}
}
// </edit>
// <edit>
#include "llviewerprecompiledheaders.h"
#include "llbuildnewviewsscheduler.h"
#include "llinventorybridge.h"
#define BUILD_DELAY 0.1f
#define BUILD_PER_DELAY 512
std::list<LLBuildNewViewsScheduler::job> LLBuildNewViewsScheduler::sJobs;
LLBuildNewViewsScheduler::LLBuildNewViewsScheduler() : LLEventTimer(BUILD_DELAY)
{
}
void LLBuildNewViewsScheduler::addJob(LLInventoryPanel* inventory_panel, LLInventoryObject* inventory_object)
{
LLBuildNewViewsScheduler::job j;
j.mInventoryPanel = inventory_panel;
j.mInventoryObject = inventory_object;
sJobs.push_back(j);
}
void LLBuildNewViewsScheduler::cancel(LLInventoryPanel* inventory_panel)
{
for(std::list<LLBuildNewViewsScheduler::job>::iterator iter = sJobs.begin();
iter != sJobs.end(); )
{
LLInventoryPanel* job_panel = (*iter).mInventoryPanel;
if(job_panel == inventory_panel)
{
iter = sJobs.erase(iter);
}
else
{
++iter;
}
}
}
BOOL LLBuildNewViewsScheduler::tick()
{
U32 i = 0;
while(!sJobs.empty() && (i < BUILD_PER_DELAY))
{
LLBuildNewViewsScheduler::job j = sJobs.front();
buildNewViews(j.mInventoryPanel, j.mInventoryObject);
sJobs.pop_front();
++i;
}
return FALSE;
}
void LLBuildNewViewsScheduler::buildNewViews(LLInventoryPanel* panelp, LLInventoryObject* objectp)
{
LLFolderViewItem* itemp = NULL;
if (objectp)
{
if (objectp->getType() <= LLAssetType::AT_NONE ||
objectp->getType() >= LLAssetType::AT_COUNT)
{
llwarns << "called with objectp->mType == "
<< ((S32) objectp->getType())
<< " (shouldn't happen)" << llendl;
}
else if (objectp->getType() == LLAssetType::AT_CATEGORY) // build new view for category
{
LLInvFVBridge* new_listener = LLInvFVBridge::createBridge(objectp->getType(),
LLInventoryType::IT_CATEGORY,
panelp,
objectp->getUUID());
if (new_listener)
{
LLFolderViewFolder* folderp = new LLFolderViewFolder(new_listener->getDisplayName(),
new_listener->getIcon(),
panelp->getRootFolder(),
new_listener);
folderp->setItemSortOrder(panelp->getSortOrder());
itemp = folderp;
}
}
else // build new view for item
{
LLInventoryItem* item = (LLInventoryItem*)objectp;
LLInvFVBridge* new_listener = LLInvFVBridge::createBridge(
item->getType(),
item->getInventoryType(),
panelp,
item->getUUID(),
item->getFlags());
if (new_listener)
{
itemp = new LLFolderViewItem(new_listener->getDisplayName(),
new_listener->getIcon(),
new_listener->getCreationDate(),
panelp->getRootFolder(),
new_listener);
}
}
LLFolderViewFolder* parent_folder = (LLFolderViewFolder*)panelp->getRootFolder()->getItemByID(objectp->getParentUUID());
if (itemp)
{
itemp->mDelayedDelete = TRUE;
if (parent_folder)
{
itemp->addToFolder(parent_folder, panelp->getRootFolder());
}
else
{
llwarns << "Couldn't find parent folder for child " << itemp->getLabel() << llendl;
delete itemp;
}
}
}
if (!objectp || (objectp && (objectp->getType() == LLAssetType::AT_CATEGORY)))
{
LLViewerInventoryCategory::cat_array_t* categories;
LLViewerInventoryItem::item_array_t* items;
panelp->getModel()->lockDirectDescendentArrays((objectp != NULL) ? objectp->getUUID() : LLUUID::null, categories, items);
if(categories)
{
S32 count = categories->count();
for(S32 i = 0; i < count; ++i)
{
LLInventoryCategory* cat = categories->get(i);
addJob(panelp, cat);
}
}
if(items)
{
S32 count = items->count();
for(S32 i = 0; i < count; ++i)
{
LLInventoryItem* item = items->get(i);
addJob(panelp, item);
}
}
panelp->getModel()->unlockDirectDescendentArrays(objectp->getUUID());
}
}
// </edit>

View File

@@ -1,21 +1,21 @@
// <edit>
#include "llinventoryview.h"
#include "llinventory.h"
class LLBuildNewViewsScheduler : public LLEventTimer
{
typedef struct
{
LLInventoryPanel* mInventoryPanel;
LLInventoryObject* mInventoryObject;
} job;
public:
LLBuildNewViewsScheduler();
void addJob(LLInventoryPanel* inventory_panel, LLInventoryObject* inventory_object);
void cancel(LLInventoryPanel* inventory_panel);
BOOL tick();
private:
static std::list<job> sJobs;
void buildNewViews(LLInventoryPanel* panelp, LLInventoryObject* objectp);
};
static LLBuildNewViewsScheduler* gBuildNewViewsScheduler;
// </edit>
// <edit>
#include "llinventoryview.h"
#include "llinventory.h"
class LLBuildNewViewsScheduler : public LLEventTimer
{
typedef struct
{
LLInventoryPanel* mInventoryPanel;
LLInventoryObject* mInventoryObject;
} job;
public:
LLBuildNewViewsScheduler();
void addJob(LLInventoryPanel* inventory_panel, LLInventoryObject* inventory_object);
void cancel(LLInventoryPanel* inventory_panel);
BOOL tick();
private:
static std::list<job> sJobs;
void buildNewViews(LLInventoryPanel* panelp, LLInventoryObject* objectp);
};
static LLBuildNewViewsScheduler* gBuildNewViewsScheduler;
// </edit>

View File

@@ -200,10 +200,12 @@ BOOL LLFilePicker::setupFilter(ELoadFilter filter)
mOFN.lpstrFilter = INVGZ_FILTER \
L"\0";
break;
/*
case FFLOAD_AO:
mOFN.lpstrFilter = AO_FILTER \
L"\0";
break;
*/
// </edit>
default:
res = FALSE;

View File

@@ -1,310 +1,310 @@
// <edit>
#include "llviewerprecompiledheaders.h"
#include "llfloaterexploreanimations.h"
#include "lluictrlfactory.h"
#include "llscrolllistctrl.h"
#include "llfloateranimpreview.h"
#include "llvoavatar.h"
#include "lllocalinventory.h"
// <stuff for jelly roll>
#include "llfloatertools.h"
#include "llselectmgr.h"
// </stuff for jelly roll>
std::map<LLUUID, std::list<LLAnimHistoryItem*>> LLFloaterExploreAnimations::animHistory;
LLFloaterExploreAnimations* LLFloaterExploreAnimations::sInstance;
LLAnimHistoryItem::LLAnimHistoryItem(LLUUID assetid)
{
mAssetID = assetid;
}
LLFloaterExploreAnimations::LLFloaterExploreAnimations(LLUUID avatarid)
: LLFloater()
{
LLFloaterExploreAnimations::sInstance = this;
mAvatarID = avatarid;
mAnimPreview = new LLPreviewAnimation(256, 256);
mAnimPreview->setZoom(2.0f);
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_explore_animations.xml");
}
void LLFloaterExploreAnimations::close(bool app_quitting)
{
LLFloater::close(app_quitting);
}
LLFloaterExploreAnimations::~LLFloaterExploreAnimations()
{
delete mAnimPreview;
LLFloaterExploreAnimations::sInstance = NULL;
}
BOOL LLFloaterExploreAnimations::postBuild(void)
{
childSetCommitCallback("anim_list", onSelectAnimation, this);
childSetAction("copy_uuid_btn", onClickCopyUUID, this);
childSetAction("open_btn", onClickOpen, this);
childSetAction("jelly_roll_btn", onClickJellyRoll, this);
update();
return TRUE;
}
void LLFloaterExploreAnimations::update()
{
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
list->clearRows(); // do this differently probably
std::list<LLAnimHistoryItem*> history = animHistory[mAvatarID];
std::list<LLAnimHistoryItem*>::iterator iter = history.begin();
std::list<LLAnimHistoryItem*>::iterator end = history.end();
for( ; iter != end; ++iter)
{
LLAnimHistoryItem* item = (*iter);
LLSD element;
element["id"] = item->mAssetID;
LLSD& name_column = element["columns"][0];
name_column["column"] = "name";
name_column["value"] = item->mAssetID.asString();
LLSD& info_column = element["columns"][1];
info_column["column"] = "info";
if(item->mPlaying)
info_column["value"] = "Playing";
else
info_column["value"] = llformat("%.1f min ago", (LLTimer::getElapsedSeconds() - item->mTimeStopped) / 60.f);
list->addElement(element, ADD_BOTTOM);
}
list->selectByID(selection);
}
void LLFloaterExploreAnimations::draw()
{
LLFloater::draw();
LLRect r = getRect();
gGL.color3f(1.f, 1.f, 1.f);
gGL.getTexUnit(0)->bind(mAnimPreview->getTexture());
gGL.begin( LLRender::QUADS );
{
gGL.texCoord2f(0.f, 1.f);
gGL.vertex2i(r.getWidth() - 266, r.getHeight() - 25);
gGL.texCoord2f(0.f, 0.f);
gGL.vertex2i(r.getWidth() - 266, r.getHeight() - 256);
gGL.texCoord2f(1.f, 0.f);
gGL.vertex2i(r.getWidth() - 10, r.getHeight() - 256);
gGL.texCoord2f(1.f, 1.f);
gGL.vertex2i(r.getWidth() - 10, r.getHeight() - 25);
}
gGL.end();
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
//LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar();
//if (!avatarp->areAnimationsPaused())
//{
// mAnimPreview->requestUpdate();
//}
}
// static
void LLFloaterExploreAnimations::startAnim(LLUUID avatarid, LLUUID assetid)
{
std::string asset_str = assetid.asString();
if(asset_str.find("17132261-c061") != std::string::npos) return; // dog1
else if(asset_str.find("fea558cb-8b9b") != std::string::npos) return; // dog2
else if(asset_str.find("50cb5750-0743") != std::string::npos) return; // dog3
else if(asset_str.find("-dead-") != std::string::npos) return; // emo
LLAnimHistoryItem* item = NULL;
std::list<LLAnimHistoryItem*> history = animHistory[avatarid];
std::list<LLAnimHistoryItem*>::iterator iter = history.begin();
std::list<LLAnimHistoryItem*>::iterator end = history.end();
for( ; iter != end; ++iter)
{
if((*iter)->mAssetID == assetid)
{
item = (*iter);
break;
}
}
if(!item)
{
item = new LLAnimHistoryItem(assetid);
item->mAvatarID = avatarid;
item->mTimeStarted = LLTimer::getElapsedSeconds();
}
item->mPlaying = true;
history.push_back(item);
animHistory[avatarid] = history; // is this really necessary?
handleHistoryChange();
}
// static
void LLFloaterExploreAnimations::stopAnim(LLUUID avatarid, LLUUID assetid)
{
std::string asset_str = assetid.asString();
if(asset_str.find("17132261-c061") != std::string::npos) return; // dog1
else if(asset_str.find("fea558cb-8b9b") != std::string::npos) return; // dog2
else if(asset_str.find("50cb5750-0743") != std::string::npos) return; // dog3
else if(asset_str.find("-dead-") != std::string::npos) return; // emo
LLAnimHistoryItem* item = NULL;
std::list<LLAnimHistoryItem*> history = animHistory[avatarid];
std::list<LLAnimHistoryItem*>::iterator iter = history.begin();
std::list<LLAnimHistoryItem*>::iterator end = history.end();
for( ; iter != end; ++iter)
{
if((*iter)->mAssetID == assetid)
{
item = (*iter);
break;
}
}
if(!item)
{
item = new LLAnimHistoryItem(assetid);
item->mAvatarID = avatarid;
item->mTimeStarted = LLTimer::getElapsedSeconds();
history.push_back(item);
}
item->mPlaying = false;
item->mTimeStopped = LLTimer::getElapsedSeconds();
handleHistoryChange();
}
class LLAnimHistoryItemCompare
{
public:
bool operator() (LLAnimHistoryItem* first, LLAnimHistoryItem* second)
{
if(first->mPlaying)
{
if(second->mPlaying)
{
return (first->mTimeStarted > second->mTimeStarted);
}
else
{
return true;
}
}
else if(second->mPlaying)
{
return false;
}
else
{
return (first->mTimeStopped > second->mTimeStopped);
}
}
};
// static
void LLFloaterExploreAnimations::handleHistoryChange()
{
std::map<LLUUID, std::list<LLAnimHistoryItem*>>::iterator av_iter = animHistory.begin();
std::map<LLUUID, std::list<LLAnimHistoryItem*>>::iterator av_end = animHistory.end();
for( ; av_iter != av_end; ++av_iter)
{
std::list<LLAnimHistoryItem*> history = (*av_iter).second;
// Sort it
LLAnimHistoryItemCompare c;
history.sort(c);
// Remove dupes
history.unique();
// Trim it
if(history.size() > 32)
{
history.resize(32);
}
animHistory[(*av_iter).first] = history;
}
// Update floater
if(LLFloaterExploreAnimations::sInstance)
LLFloaterExploreAnimations::sInstance->update();
}
// static
void LLFloaterExploreAnimations::onSelectAnimation(LLUICtrl* ctrl, void* user_data)
{
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)user_data;
LLPreviewAnimation* preview = (LLPreviewAnimation*)floater->mAnimPreview;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
preview->getDummyAvatar()->deactivateAllMotions();
preview->getDummyAvatar()->startMotion(selection, 0.f);
preview->setZoom(2.0f);
}
// static
void LLFloaterExploreAnimations::onClickCopyUUID(void* data)
{
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(selection.asString()));
}
void LLFloaterExploreAnimations::onClickOpen(void* data)
{
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
LLUUID item = LLLocalInventory::addItem(selection.asString(), LLAssetType::AT_ANIMATION, selection, true);
}
void LLFloaterExploreAnimations::onClickJellyRoll(void* data)
{
std::string hover_text;
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
LLObjectSelection::valid_iterator sel_it = selection->valid_begin();
LLObjectSelection::valid_iterator sel_end = selection->valid_end();
for( ; sel_it != sel_end; ++sel_it)
{
LLViewerObject* objectp = (*sel_it)->getObject();
hover_text = objectp->getDebugText();
if(hover_text != "")
{
break;
}
}
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID anim_id = list->getSelectedValue().asUUID();
LLFloaterNewLocalInventory* createy = new LLFloaterNewLocalInventory();
createy->childSetText("name_line", hover_text);
createy->childSetText("asset_id_line", anim_id.asString());
createy->childSetValue("type_combo", "animatn");
createy->childSetText("creator_id_line", LLFloaterNewLocalInventory::sLastCreatorId.asString());
}
// </edit>
// <edit>
#include "llviewerprecompiledheaders.h"
#include "llfloaterexploreanimations.h"
#include "lluictrlfactory.h"
#include "llscrolllistctrl.h"
#include "llfloateranimpreview.h"
#include "llvoavatar.h"
#include "lllocalinventory.h"
// <stuff for jelly roll>
#include "llfloatertools.h"
#include "llselectmgr.h"
// </stuff for jelly roll>
std::map<LLUUID, std::list<LLAnimHistoryItem*>> LLFloaterExploreAnimations::animHistory;
LLFloaterExploreAnimations* LLFloaterExploreAnimations::sInstance;
LLAnimHistoryItem::LLAnimHistoryItem(LLUUID assetid)
{
mAssetID = assetid;
}
LLFloaterExploreAnimations::LLFloaterExploreAnimations(LLUUID avatarid)
: LLFloater()
{
LLFloaterExploreAnimations::sInstance = this;
mAvatarID = avatarid;
mAnimPreview = new LLPreviewAnimation(256, 256);
mAnimPreview->setZoom(2.0f);
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_explore_animations.xml");
}
void LLFloaterExploreAnimations::close(bool app_quitting)
{
LLFloater::close(app_quitting);
}
LLFloaterExploreAnimations::~LLFloaterExploreAnimations()
{
delete mAnimPreview;
LLFloaterExploreAnimations::sInstance = NULL;
}
BOOL LLFloaterExploreAnimations::postBuild(void)
{
childSetCommitCallback("anim_list", onSelectAnimation, this);
childSetAction("copy_uuid_btn", onClickCopyUUID, this);
childSetAction("open_btn", onClickOpen, this);
childSetAction("jelly_roll_btn", onClickJellyRoll, this);
update();
return TRUE;
}
void LLFloaterExploreAnimations::update()
{
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
list->clearRows(); // do this differently probably
std::list<LLAnimHistoryItem*> history = animHistory[mAvatarID];
std::list<LLAnimHistoryItem*>::iterator iter = history.begin();
std::list<LLAnimHistoryItem*>::iterator end = history.end();
for( ; iter != end; ++iter)
{
LLAnimHistoryItem* item = (*iter);
LLSD element;
element["id"] = item->mAssetID;
LLSD& name_column = element["columns"][0];
name_column["column"] = "name";
name_column["value"] = item->mAssetID.asString();
LLSD& info_column = element["columns"][1];
info_column["column"] = "info";
if(item->mPlaying)
info_column["value"] = "Playing";
else
info_column["value"] = llformat("%.1f min ago", (LLTimer::getElapsedSeconds() - item->mTimeStopped) / 60.f);
list->addElement(element, ADD_BOTTOM);
}
list->selectByID(selection);
}
void LLFloaterExploreAnimations::draw()
{
LLFloater::draw();
LLRect r = getRect();
gGL.color3f(1.f, 1.f, 1.f);
gGL.getTexUnit(0)->bind(mAnimPreview->getTexture());
gGL.begin( LLRender::QUADS );
{
gGL.texCoord2f(0.f, 1.f);
gGL.vertex2i(r.getWidth() - 266, r.getHeight() - 25);
gGL.texCoord2f(0.f, 0.f);
gGL.vertex2i(r.getWidth() - 266, r.getHeight() - 256);
gGL.texCoord2f(1.f, 0.f);
gGL.vertex2i(r.getWidth() - 10, r.getHeight() - 256);
gGL.texCoord2f(1.f, 1.f);
gGL.vertex2i(r.getWidth() - 10, r.getHeight() - 25);
}
gGL.end();
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
//LLVOAvatar* avatarp = mAnimPreview->getDummyAvatar();
//if (!avatarp->areAnimationsPaused())
//{
// mAnimPreview->requestUpdate();
//}
}
// static
void LLFloaterExploreAnimations::startAnim(LLUUID avatarid, LLUUID assetid)
{
std::string asset_str = assetid.asString();
if(asset_str.find("17132261-c061") != std::string::npos) return; // dog1
else if(asset_str.find("fea558cb-8b9b") != std::string::npos) return; // dog2
else if(asset_str.find("50cb5750-0743") != std::string::npos) return; // dog3
else if(asset_str.find("-dead-") != std::string::npos) return; // emo
LLAnimHistoryItem* item = NULL;
std::list<LLAnimHistoryItem*> history = animHistory[avatarid];
std::list<LLAnimHistoryItem*>::iterator iter = history.begin();
std::list<LLAnimHistoryItem*>::iterator end = history.end();
for( ; iter != end; ++iter)
{
if((*iter)->mAssetID == assetid)
{
item = (*iter);
break;
}
}
if(!item)
{
item = new LLAnimHistoryItem(assetid);
item->mAvatarID = avatarid;
item->mTimeStarted = LLTimer::getElapsedSeconds();
}
item->mPlaying = true;
history.push_back(item);
animHistory[avatarid] = history; // is this really necessary?
handleHistoryChange();
}
// static
void LLFloaterExploreAnimations::stopAnim(LLUUID avatarid, LLUUID assetid)
{
std::string asset_str = assetid.asString();
if(asset_str.find("17132261-c061") != std::string::npos) return; // dog1
else if(asset_str.find("fea558cb-8b9b") != std::string::npos) return; // dog2
else if(asset_str.find("50cb5750-0743") != std::string::npos) return; // dog3
else if(asset_str.find("-dead-") != std::string::npos) return; // emo
LLAnimHistoryItem* item = NULL;
std::list<LLAnimHistoryItem*> history = animHistory[avatarid];
std::list<LLAnimHistoryItem*>::iterator iter = history.begin();
std::list<LLAnimHistoryItem*>::iterator end = history.end();
for( ; iter != end; ++iter)
{
if((*iter)->mAssetID == assetid)
{
item = (*iter);
break;
}
}
if(!item)
{
item = new LLAnimHistoryItem(assetid);
item->mAvatarID = avatarid;
item->mTimeStarted = LLTimer::getElapsedSeconds();
history.push_back(item);
}
item->mPlaying = false;
item->mTimeStopped = LLTimer::getElapsedSeconds();
handleHistoryChange();
}
class LLAnimHistoryItemCompare
{
public:
bool operator() (LLAnimHistoryItem* first, LLAnimHistoryItem* second)
{
if(first->mPlaying)
{
if(second->mPlaying)
{
return (first->mTimeStarted > second->mTimeStarted);
}
else
{
return true;
}
}
else if(second->mPlaying)
{
return false;
}
else
{
return (first->mTimeStopped > second->mTimeStopped);
}
}
};
// static
void LLFloaterExploreAnimations::handleHistoryChange()
{
std::map<LLUUID, std::list<LLAnimHistoryItem*>>::iterator av_iter = animHistory.begin();
std::map<LLUUID, std::list<LLAnimHistoryItem*>>::iterator av_end = animHistory.end();
for( ; av_iter != av_end; ++av_iter)
{
std::list<LLAnimHistoryItem*> history = (*av_iter).second;
// Sort it
LLAnimHistoryItemCompare c;
history.sort(c);
// Remove dupes
history.unique();
// Trim it
if(history.size() > 32)
{
history.resize(32);
}
animHistory[(*av_iter).first] = history;
}
// Update floater
if(LLFloaterExploreAnimations::sInstance)
LLFloaterExploreAnimations::sInstance->update();
}
// static
void LLFloaterExploreAnimations::onSelectAnimation(LLUICtrl* ctrl, void* user_data)
{
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)user_data;
LLPreviewAnimation* preview = (LLPreviewAnimation*)floater->mAnimPreview;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
preview->getDummyAvatar()->deactivateAllMotions();
preview->getDummyAvatar()->startMotion(selection, 0.f);
preview->setZoom(2.0f);
}
// static
void LLFloaterExploreAnimations::onClickCopyUUID(void* data)
{
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(selection.asString()));
}
void LLFloaterExploreAnimations::onClickOpen(void* data)
{
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID selection = list->getSelectedValue().asUUID();
LLUUID item = LLLocalInventory::addItem(selection.asString(), LLAssetType::AT_ANIMATION, selection, true);
}
void LLFloaterExploreAnimations::onClickJellyRoll(void* data)
{
std::string hover_text;
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();
LLObjectSelection::valid_iterator sel_it = selection->valid_begin();
LLObjectSelection::valid_iterator sel_end = selection->valid_end();
for( ; sel_it != sel_end; ++sel_it)
{
LLViewerObject* objectp = (*sel_it)->getObject();
hover_text = objectp->getDebugText();
if(hover_text != "")
{
break;
}
}
LLFloaterExploreAnimations* floater = (LLFloaterExploreAnimations*)data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("anim_list");
LLUUID anim_id = list->getSelectedValue().asUUID();
LLFloaterNewLocalInventory* createy = new LLFloaterNewLocalInventory();
createy->childSetText("name_line", hover_text);
createy->childSetText("asset_id_line", anim_id.asString());
createy->childSetValue("type_combo", "animatn");
createy->childSetText("creator_id_line", LLFloaterNewLocalInventory::sLastCreatorId.asString());
}
// </edit>

View File

@@ -1,58 +1,58 @@
// <edit>
#ifndef LL_LLFLOATEREXPLOREANIMATIONS_H
#define LL_LLFLOATEREXPLOREANIMATIONS_H
#include "llfloater.h"
#include "llfloateranimpreview.h"
#include "llviewerwindow.h" // gViewerWindow
class LLAnimHistoryItem
{
public:
LLAnimHistoryItem(LLUUID assetid);
LLUUID mAvatarID;
LLUUID mAssetID;
bool mPlaying;
F64 mTimeStarted;
F64 mTimeStopped;
};
class LLFloaterExploreAnimations
: public LLFloater
{
public:
LLFloaterExploreAnimations(LLUUID avatarid);
BOOL postBuild(void);
void close(bool app_quitting);
void update();
LLUUID mAvatarID;
LLPreviewAnimation* mAnimPreview;
private:
virtual ~LLFloaterExploreAnimations();
// static stuff!
public:
static void onSelectAnimation(LLUICtrl* ctrl, void* user_data);
static void onClickCopyUUID(void* data);
static void onClickOpen(void* data);
static void onClickJellyRoll(void* data);
static void startAnim(LLUUID avatarid, LLUUID assetid);
static void stopAnim(LLUUID avatarid, LLUUID assetid);
static std::map<LLUUID, std::list<LLAnimHistoryItem*>> animHistory;
static LLFloaterExploreAnimations* sInstance;
private:
static void handleHistoryChange();
protected:
void draw();
};
#endif
// </edit>
// <edit>
#ifndef LL_LLFLOATEREXPLOREANIMATIONS_H
#define LL_LLFLOATEREXPLOREANIMATIONS_H
#include "llfloater.h"
#include "llfloateranimpreview.h"
#include "llviewerwindow.h" // gViewerWindow
class LLAnimHistoryItem
{
public:
LLAnimHistoryItem(LLUUID assetid);
LLUUID mAvatarID;
LLUUID mAssetID;
bool mPlaying;
F64 mTimeStarted;
F64 mTimeStopped;
};
class LLFloaterExploreAnimations
: public LLFloater
{
public:
LLFloaterExploreAnimations(LLUUID avatarid);
BOOL postBuild(void);
void close(bool app_quitting);
void update();
LLUUID mAvatarID;
LLPreviewAnimation* mAnimPreview;
private:
virtual ~LLFloaterExploreAnimations();
// static stuff!
public:
static void onSelectAnimation(LLUICtrl* ctrl, void* user_data);
static void onClickCopyUUID(void* data);
static void onClickOpen(void* data);
static void onClickJellyRoll(void* data);
static void startAnim(LLUUID avatarid, LLUUID assetid);
static void stopAnim(LLUUID avatarid, LLUUID assetid);
static std::map<LLUUID, std::list<LLAnimHistoryItem*>> animHistory;
static LLFloaterExploreAnimations* sInstance;
private:
static void handleHistoryChange();
protected:
void draw();
};
#endif
// </edit>

File diff suppressed because it is too large Load Diff

View File

@@ -1,127 +1,127 @@
// <edit>
/**
* @file llimportobject.h
*/
#ifndef LL_LLIMPORTOBJECT_H
#define LL_LLIMPORTOBJECT_H
#include "llviewerobject.h"
#include "llfloater.h"
class BuildingSupply : public LLEventTimer
{
public:
BuildingSupply();
BOOL tick();
};
class LLImportWearable
{
public:
std::string mName;
int mType;
std::string mData;
LLImportWearable(LLSD sd);
};
class LLImportObject : public LLViewerObject
{
public:
//LLImportObject(std::string id, std::string parentId);
LLImportObject(std::string id, LLSD prim);
std::string mId;
std::string mParentId;
std::string mPrimName;
bool importIsAttachment;
U32 importAttachPoint;
LLVector3 importAttachPos;
LLQuaternion importAttachRot;
};
class LLXmlImportOptions
{
public:
LLXmlImportOptions(LLXmlImportOptions* options);
LLXmlImportOptions(std::string filename);
LLXmlImportOptions(LLSD llsd);
void init(LLSD llsd);
std::string mName;
//LLSD mLLSD;
std::vector<LLImportObject*> mRootObjects;
std::vector<LLImportObject*> mChildObjects;
std::vector<LLImportWearable*> mWearables;
BOOL mKeepPosition;
LLViewerObject* mSupplier;
};
class LLXmlImport
{
public:
static void import(LLXmlImportOptions* import_options);
static void onNewPrim(LLViewerObject* object);
static void onNewItem(LLViewerInventoryItem* item);
static void onNewAttachment(LLViewerObject* object);
static void Cancel(void* user_data);
static bool sImportInProgress;
static bool sImportHasAttachments;
static LLUUID sFolderID;
static LLViewerObject* sSupplyParams;
static int sPrimsNeeded;
static std::vector<LLImportObject*> sPrims; // all prims being imported
static std::map<U8, bool> sPt2watch; // attach points that need watching
static std::map<std::string, U8> sId2attachpt; // attach points of all attachables
static std::map<U8, LLVector3> sPt2attachpos; // positions of all attachables
static std::map<U8, LLQuaternion> sPt2attachrot; // rotations of all attachables
static int sPrimIndex;
static int sAttachmentsDone;
static std::map<std::string, U32> sId2localid;
static std::map<U32, LLVector3> sRootpositions;
static LLXmlImportOptions* sXmlImportOptions;
};
class LLFloaterImportProgress
: public LLFloater
{
public:
void close(bool app_quitting);
static LLFloaterImportProgress* sInstance;
static void show();
static void update();
private:
LLFloaterImportProgress();
virtual ~LLFloaterImportProgress();
};
class LLFloaterXmlImportOptions : public LLFloater
{
public:
LLFloaterXmlImportOptions(LLXmlImportOptions* default_options);
BOOL postBuild();
LLXmlImportOptions* mDefaultOptions;
std::map<LLUUID, LLImportWearable*> mImportWearableMap;
std::map<LLUUID, LLImportObject*> mImportObjectMap;
private:
enum LIST_COLUMN_ORDER
{
LIST_CHECKED,
LIST_TYPE,
LIST_NAME,
};
static void onClickSelectAll(void* user_data);
static void onClickSelectObjects(void* user_data);
static void onClickSelectWearables(void* user_data);
static void onClickOK(void* user_data);
static void onClickCancel(void* user_data);
};
#endif
// </edit>
// <edit>
/**
* @file llimportobject.h
*/
#ifndef LL_LLIMPORTOBJECT_H
#define LL_LLIMPORTOBJECT_H
#include "llviewerobject.h"
#include "llfloater.h"
class BuildingSupply : public LLEventTimer
{
public:
BuildingSupply();
BOOL tick();
};
class LLImportWearable
{
public:
std::string mName;
int mType;
std::string mData;
LLImportWearable(LLSD sd);
};
class LLImportObject : public LLViewerObject
{
public:
//LLImportObject(std::string id, std::string parentId);
LLImportObject(std::string id, LLSD prim);
std::string mId;
std::string mParentId;
std::string mPrimName;
bool importIsAttachment;
U32 importAttachPoint;
LLVector3 importAttachPos;
LLQuaternion importAttachRot;
};
class LLXmlImportOptions
{
public:
LLXmlImportOptions(LLXmlImportOptions* options);
LLXmlImportOptions(std::string filename);
LLXmlImportOptions(LLSD llsd);
void init(LLSD llsd);
std::string mName;
//LLSD mLLSD;
std::vector<LLImportObject*> mRootObjects;
std::vector<LLImportObject*> mChildObjects;
std::vector<LLImportWearable*> mWearables;
BOOL mKeepPosition;
LLViewerObject* mSupplier;
};
class LLXmlImport
{
public:
static void import(LLXmlImportOptions* import_options);
static void onNewPrim(LLViewerObject* object);
static void onNewItem(LLViewerInventoryItem* item);
static void onNewAttachment(LLViewerObject* object);
static void Cancel(void* user_data);
static bool sImportInProgress;
static bool sImportHasAttachments;
static LLUUID sFolderID;
static LLViewerObject* sSupplyParams;
static int sPrimsNeeded;
static std::vector<LLImportObject*> sPrims; // all prims being imported
static std::map<U8, bool> sPt2watch; // attach points that need watching
static std::map<std::string, U8> sId2attachpt; // attach points of all attachables
static std::map<U8, LLVector3> sPt2attachpos; // positions of all attachables
static std::map<U8, LLQuaternion> sPt2attachrot; // rotations of all attachables
static int sPrimIndex;
static int sAttachmentsDone;
static std::map<std::string, U32> sId2localid;
static std::map<U32, LLVector3> sRootpositions;
static LLXmlImportOptions* sXmlImportOptions;
};
class LLFloaterImportProgress
: public LLFloater
{
public:
void close(bool app_quitting);
static LLFloaterImportProgress* sInstance;
static void show();
static void update();
private:
LLFloaterImportProgress();
virtual ~LLFloaterImportProgress();
};
class LLFloaterXmlImportOptions : public LLFloater
{
public:
LLFloaterXmlImportOptions(LLXmlImportOptions* default_options);
BOOL postBuild();
LLXmlImportOptions* mDefaultOptions;
std::map<LLUUID, LLImportWearable*> mImportWearableMap;
std::map<LLUUID, LLImportObject*> mImportObjectMap;
private:
enum LIST_COLUMN_ORDER
{
LIST_CHECKED,
LIST_TYPE,
LIST_NAME,
};
static void onClickSelectAll(void* user_data);
static void onClickSelectObjects(void* user_data);
static void onClickSelectWearables(void* user_data);
static void onClickOK(void* user_data);
static void onClickCancel(void* user_data);
};
#endif
// </edit>

View File

@@ -3815,7 +3815,7 @@ bool confirm_replace_attachment_rez(const LLSD& notification, const LLSD& respon
}
return false;
}
static LLNotificationFunctorRegistration confirm_replace_attachment_rez_reg("ReplaceAttachment", confirm_replace_attachment_rez);
LLNotificationFunctorRegistration confirm_replace_attachment_rez_reg("ReplaceAttachment", confirm_replace_attachment_rez);
void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{

View File

@@ -59,10 +59,10 @@
#include "llviewercontrol.h"
#include "llvoavatar.h"
#include "llsdutil.h"
// <edit>
#include "llimportobject.h"
#include "llappviewer.h" // gLostItemsRoot
// </edit>
// <edit>
#include "llimportobject.h"
#include "llappviewer.h" // gLostItemsRoot
// </edit>
#include <deque>
//#define DIFF_INVENTORY_FILES
@@ -211,14 +211,14 @@ BOOL LLInventoryModel::isObjectDescendentOf(const LLUUID& obj_id,
while(obj)
{
const LLUUID& parent_id = obj->getParentUUID();
// <edit>
if(parent_id == obj->getUUID())
{
// infinite loop... same thing as having no parent, hopefully.
llwarns << "This shit has itself as parent! " << parent_id.asString() << ", " << obj->getName() << llendl;
return FALSE;
}
// </edit>
// <edit>
if(parent_id == obj->getUUID())
{
// infinite loop... same thing as having no parent, hopefully.
llwarns << "This shit has itself as parent! " << parent_id.asString() << ", " << obj->getName() << llendl;
return FALSE;
}
// </edit>
if( parent_id.isNull() )
{
return FALSE;
@@ -835,14 +835,14 @@ void LLInventoryModel::deleteObject(const LLUUID& id)
// folders, items, etc in a fairly efficient manner.
void LLInventoryModel::purgeDescendentsOf(const LLUUID& id)
{
// <edit> "Deliberately disobeying you" derf derf
//EHasChildren children = categoryHasChildren(id);
//if(children == CHILDREN_NO)
//{
// llinfos << "Not purging descendents of " << id << llendl;
// return;
//}
// </edit>
// <edit> "Deliberately disobeying you" derf derf
//EHasChildren children = categoryHasChildren(id);
//if(children == CHILDREN_NO)
//{
// llinfos << "Not purging descendents of " << id << llendl;
// return;
//}
// </edit>
LLPointer<LLViewerInventoryCategory> cat = getCategory(id);
if(cat.notNull())
{
@@ -1397,10 +1397,10 @@ void LLInventoryModel::bulkFetch(std::string url)
if (cat)
{
// <edit> Pre-emptive strike
if(!(gInventory.isObjectDescendentOf(cat->getUUID(), gLocalInventoryRoot)))
{
// </edit>
// <edit> Pre-emptive strike
if(!(gInventory.isObjectDescendentOf(cat->getUUID(), gLocalInventoryRoot)))
{
// </edit>
if ( LLViewerInventoryCategory::VERSION_UNKNOWN == cat->getVersion())
{
LLSD folder_sd;
@@ -1436,9 +1436,9 @@ void LLInventoryModel::bulkFetch(std::string url)
}
}
// <edit>
}
// </edit>
// <edit>
}
// </edit>
}
}
sFetchQueue.pop_front();
@@ -1739,10 +1739,10 @@ void LLInventoryModel::addItem(LLViewerInventoryItem* item)
if(item)
{
mItemMap[item->getUUID()] = item;
// <edit>
if(LLXmlImport::sImportInProgress)
LLXmlImport::onNewItem(item);
// </edit>
// <edit>
if(LLXmlImport::sImportInProgress)
LLXmlImport::onNewItem(item);
// </edit>
}
}
@@ -1928,8 +1928,8 @@ bool LLInventoryModel::isCategoryComplete(const LLUUID& cat_id) const
}
}
// <edit>
if((cat_id == gLocalInventoryRoot) || gInventory.isObjectDescendentOf(cat_id, gLocalInventoryRoot)) return true;
// <edit>
if((cat_id == gLocalInventoryRoot) || gInventory.isObjectDescendentOf(cat_id, gLocalInventoryRoot)) return true;
// </edit>
return false;
@@ -3485,11 +3485,11 @@ bool LLInventoryCollectFunctor::itemTransferCommonlyAllowed(LLInventoryItem* ite
LLVOAvatar* my_avatar = NULL;
switch(item->getType())
{
// <edit> I don't even think changing this did anything
//case LLAssetType::AT_CALLINGCARD:
// // not allowed
// break;
{
// <edit> I don't even think changing this did anything
//case LLAssetType::AT_CALLINGCARD:
// // not allowed
// break;
case LLAssetType::AT_OBJECT:
my_avatar = gAgent.getAvatarObject();

View File

@@ -385,14 +385,14 @@ protected:
// the internal data structures are consistent. These methods
// should be passed pointers of newly created objects, and the
// instance will take over the memory management from there.
// <edit>
public:
// </edit>
// <edit>
public:
// </edit>
void addCategory(LLViewerInventoryCategory* category);
void addItem(LLViewerInventoryItem* item);
// <edit>
protected:
// </edit>
// <edit>
protected:
// </edit>
// Internal method which looks for a category with the specified
// preferred type. Returns LLUUID::null if not found
@@ -408,18 +408,18 @@ protected:
//void recalculateCloneInformation();
// file import/export.
// <edit>
public:
// </edit>
// <edit>
public:
// </edit>
static bool loadFromFile(const std::string& filename,
cat_array_t& categories,
item_array_t& items);
static bool saveToFile(const std::string& filename,
const cat_array_t& categories,
const item_array_t& items);
// <edit>
protected:
// </edit>
// <edit>
protected:
// </edit>
// message handling functionality
//static void processUseCachedInventory(LLMessageSystem* msg, void**);

File diff suppressed because it is too large Load Diff

View File

@@ -1,45 +1,45 @@
// <edit>
#ifndef LL_LLLOCALINVENTORY_H
#define LL_LLLOCALINVENTORY_H
#include "llviewerinventory.h"
#include "llfloater.h"
#include "llfolderview.h"
#include "llinventorymodel.h" // cat_array_t, item_array_t
class LLLocalInventory
{
public:
static LLUUID addItem(std::string name, int type, LLUUID asset_id, bool open);
static LLUUID addItem(std::string name, int type, LLUUID asset_id);
static void addItem(LLViewerInventoryItem* item);
static void open(LLUUID item_id);
static void loadInvCache(std::string filename);
static void saveInvCache(std::string filename, LLFolderView* folder);
static void climb(LLInventoryCategory* cat,
LLInventoryModel::cat_array_t& cats,
LLInventoryModel::item_array_t& items);
};
class LLFloaterNewLocalInventory
: public LLFloater
{
public:
LLFloaterNewLocalInventory();
BOOL postBuild(void);
static void onClickOK(void* user_data);
static LLUUID sLastCreatorId;
private:
virtual ~LLFloaterNewLocalInventory();
};
#endif
// </edit>
// <edit>
#ifndef LL_LLLOCALINVENTORY_H
#define LL_LLLOCALINVENTORY_H
#include "llviewerinventory.h"
#include "llfloater.h"
#include "llfolderview.h"
#include "llinventorymodel.h" // cat_array_t, item_array_t
class LLLocalInventory
{
public:
static LLUUID addItem(std::string name, int type, LLUUID asset_id, bool open);
static LLUUID addItem(std::string name, int type, LLUUID asset_id);
static void addItem(LLViewerInventoryItem* item);
static void open(LLUUID item_id);
static void loadInvCache(std::string filename);
static void saveInvCache(std::string filename, LLFolderView* folder);
static void climb(LLInventoryCategory* cat,
LLInventoryModel::cat_array_t& cats,
LLInventoryModel::item_array_t& items);
};
class LLFloaterNewLocalInventory
: public LLFloater
{
public:
LLFloaterNewLocalInventory();
BOOL postBuild(void);
static void onClickOK(void* user_data);
static LLUUID sLastCreatorId;
private:
virtual ~LLFloaterNewLocalInventory();
};
#endif
// </edit>

View File

@@ -254,9 +254,9 @@ LLViewerObject::~LLViewerObject()
{
if(iter->second != NULL)
{
// <edit>
// There was a crash here
// </edit>
// <edit>
// There was a crash here
// </edit>
delete iter->second->data;
delete iter->second;
}
@@ -1880,11 +1880,11 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
if ( gShowObjectUpdates )
{
// <edit> We want to see updates from our own avatar
//if (!((mPrimitiveCode == LL_PCODE_LEGACY_AVATAR) && (((LLVOAvatar *) this)->mIsSelf))
// && mRegionp)
if(mRegionp)
// </edit>
// <edit> We want to see updates from our own avatar
//if (!((mPrimitiveCode == LL_PCODE_LEGACY_AVATAR) && (((LLVOAvatar *) this)->mIsSelf))
// && mRegionp)
if(mRegionp)
// </edit>
{
LLViewerObject* object = gObjectList.createObjectViewer(LL_PCODE_LEGACY_TEXT_BUBBLE, mRegionp);
LLVOTextBubble* bubble = (LLVOTextBubble*) object;
@@ -1935,11 +1935,11 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
if (needs_refresh)
{
// <edit>
if(isChanged(MOVED)) // Update "center" if this or children are selected,
// and translate, scale, or rotate occurred on this.
// Leave dialog refresh to happen always, as before.
// </edit>
// <edit>
if(isChanged(MOVED)) // Update "center" if this or children are selected,
// and translate, scale, or rotate occurred on this.
// Leave dialog refresh to happen always, as before.
// </edit>
LLSelectMgr::getInstance()->updateSelectionCenter();
dialog_refresh_all();
}
@@ -4087,14 +4087,14 @@ void LLViewerObject::setDebugText(const std::string &utf8text)
mText->setDoFade(FALSE);
updateText();
}
// <edit>
std::string LLViewerObject::getDebugText()
{
if(mText)
return mText->getStringUTF8();
return "";
}
// </edit>
// <edit>
std::string LLViewerObject::getDebugText()
{
if(mText)
return mText->getStringUTF8();
return "";
}
// </edit>
void LLViewerObject::setIcon(LLViewerImage* icon_image)
{
@@ -5161,19 +5161,19 @@ void LLViewerObject::resetChildrenPosition(const LLVector3& offset, BOOL simplif
}
// <edit>
S32 LLViewerObject::getAttachmentPoint()
{
return ((S32)((((U8)mState & AGENT_ATTACH_MASK) >> 4) | (((U8)mState & ~AGENT_ATTACH_MASK) << 4)));
}
std::string LLViewerObject::getAttachmentPointName()
{
S32 point = getAttachmentPoint();
if((point > 0) && (point < 39))
{
return gAgent.getAvatarObject()->mAttachmentPoints[point]->getName();
}
return llformat("unsupported point %d", point);
}
// </edit>
// <edit>
S32 LLViewerObject::getAttachmentPoint()
{
return ((S32)((((U8)mState & AGENT_ATTACH_MASK) >> 4) | (((U8)mState & ~AGENT_ATTACH_MASK) << 4)));
}
std::string LLViewerObject::getAttachmentPointName()
{
S32 point = getAttachmentPoint();
if((point > 0) && (point < 39))
{
return gAgent.getAvatarObject()->mAttachmentPoints[point]->getName();
}
return llformat("unsupported point %d", point);
}
// </edit>

View File

@@ -353,9 +353,9 @@ public:
void setCanSelect(BOOL canSelect);
void setDebugText(const std::string &utf8text);
// <edit>
std::string getDebugText();
// </edit>
// <edit>
std::string getDebugText();
// </edit>
void setIcon(LLViewerImage* icon_image);
void clearIcon();
@@ -662,11 +662,11 @@ protected:
private:
static S32 sNumObjects;
// <edit>
public:
S32 getAttachmentPoint();
std::string getAttachmentPointName();
// </edit>
// <edit>
public:
S32 getAttachmentPoint();
std::string getAttachmentPointName();
// </edit>
};
///////////////////

View File

@@ -83,9 +83,9 @@
#include "llvoiceclient.h"
#include "llvoicevisualizer.h" // Ventrella
// <edit>
#include "llfloaterexploreanimations.h"
//#include "llao.h"
// <edit>
#include "llfloaterexploreanimations.h"
//#include "llao.h"
// </edit>
#if LL_MSVC
@@ -754,12 +754,12 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
mUpdatePeriod(1),
mFullyLoadedInitialized(FALSE),
mHasBakedHair( FALSE )
// <edit>
// mNametagSaysIdle(false),
// mIdleForever(true),
// mIdleMinutes(0),
// mFocusObject(LLUUID::null),
// mFocusVector(LLVector3d::zero)
// <edit>
// mNametagSaysIdle(false),
// mIdleForever(true),
// mIdleMinutes(0),
// mFocusObject(LLUUID::null),
// mFocusVector(LLVector3d::zero)
// </edit>
{
LLMemType mt(LLMemType::MTYPE_AVATAR);
@@ -3072,11 +3072,11 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
mNameText->setUseBubble(TRUE);
sNumVisibleChatBubbles++;
new_name = TRUE;
}
// <edit>
//LLColor4 avatar_name_color = gColors.getColor( "AvatarNameColor" );
//avatar_name_color.setAlpha(alpha);
}
// <edit>
//LLColor4 avatar_name_color = gColors.getColor( "AvatarNameColor" );
//avatar_name_color.setAlpha(alpha);
LLQuaternion root_rot = mRoot.getWorldRotation();
mNameText->setUsePixelSize(TRUE);
@@ -3157,108 +3157,106 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
line += lastname->getString();
BOOL need_comma = FALSE;
BOOL need_comma = FALSE;
// <edit>
if(getTEImage(TEX_HEAD_BODYPAINT)->isMissingAsset())
{
mNameText->setColor(LLColor4(1.f, 1.0f, 1.0f));
strcat(line, " (Unknown viewer)");
}
else
{
std::string uuid_str = getTEImage(TEX_HEAD_BODYPAINT)->getID().asString();
if(uuid_str == "ccda2b3b-e72c-a112-e126-fee238b67218")
{
// textures other than head are 4934f1bf-3b1f-cf4f-dbdf-a72550d05bc6
mNameText->setColor(LLColor4(0.f, 1.0f, 0.0f));
strcat(line, " (Emerald)");
}
else if(uuid_str == "0bcd5f5d-a4ce-9ea4-f9e8-15132653b3d8")
{
mNameText->setColor(LLColor4(1.0f, 0.3f, 0.5f));
strcat(line, " (MoyMix)");
}
else if(uuid_str == "5855f37d-63e5-3918-1404-8ffa3820eb6d")
{
mNameText->setColor(LLColor4(1.0f, 0.3f, 0.5f));
strcat(line, " (MoyMix/B)");
}
else if(uuid_str == "9ba526b6-f43d-6b60-42de-ce62a25ee7fb")
{
mNameText->setColor(LLColor4(1.0f, 0.3f, 0.5f));
strcat(line, " (MoyMix/nolife)");
}
//else if(uuid_str == "abbca853-30ba-49c1-a1e7-2a5b9a70573f")
//{
// mNameText->setColor(LLColor4(0.5f, 0.75f, 1.0f));
// strcat(line, " (CryoLife/" + "A)");
//}
else if(uuid_str == "0f6723d2-5b23-6b58-08ab-308112b33786")
{
mNameText->setColor(LLColor4(0.5f, 0.75f, 1.0f));
strcat(line, " (CryoLife)");
}
else if(uuid_str == "2c9c1e0b-e5d1-263e-16b1-7fc6d169f3d6")
{
mNameText->setColor(LLColor4(0.5f, 0.75f, 1.0f));
strcat(line, " (Phoxy SL)");
}
else if(uuid_str == "c252d89d-6f7c-7d90-f430-d140d2e3fbbe")
{
mNameText->setColor(LLColor4(0.7f, 0.7f, 0.7f));
strcat(line, " (VLife)");
}
else if(uuid_str == "5aa5c70d-d787-571b-0495-4fc1bdef1500")
{
mNameText->setColor(LLColor4(1.f, 0.0f, 0.0f));
strcat(line, " (GridProxy/LordGregGreg)");
}
else if(uuid_str == "8183e823-c443-2142-6eb6-2ab763d4f81c")
{
mNameText->setColor(LLColor4(1.f, 1.f, 0.0f));
strcat(line, " (GridProxy/DayOh)");
}
else if(uuid_str == "f3fd74a6-fee7-4b2f-93ae-ddcb5991da04")
{
mNameText->setColor(LLColor4(1.0f, 0.0f, 1.0f));
strcat(line, " (PSL/A)");
}
else if(uuid_str == "77662f23-c77a-9b4d-5558-26b757b2144c")
{
mNameText->setColor(LLColor4(1.0f, 0.0f, 1.0f));
strcat(line, " (PSL/B)");
}
else if(uuid_str == "1c29480c-c608-df87-28bb-964fb64c5366")
{
mNameText->setColor(LLColor4(1.f, 1.0f, 1.0f));
strcat(line, " (Emerald/GEMINI)");
}
else if(uuid_str == "5262d71a-88f7-ef40-3b15-00ea148ab4b5")
{
mNameText->setColor(LLColor4(0.9f, 0.9f, 0.9f));
strcat(line, " (GEMINI Bot)");
}
else if(uuid_str == "adcbe893-7643-fd12-f61c-0b39717e2e32")
{
mNameText->setColor(LLColor4(1.0f, 0.5f, 0.4f));
strcat(line, " (tyk3n)");
}
else if(uuid_str == "f5a48821-9a98-d09e-8d6a-50cc08ba9a47")
{
mNameText->setColor(gColors.getColor( "AvatarNameColor" ));
strcat(line, " (NeilLife)");
}
else
{
LLColor4 avatar_name_color = gColors.getColor( "AvatarNameColor" );
avatar_name_color.setAlpha(1.f);
mNameText->setColor(avatar_name_color);
}
}
// </edit>
// <edit>
if(getTEImage(TEX_HEAD_BODYPAINT)->isMissingAsset())
{
mNameText->setColor(LLColor4(1.f, 1.0f, 1.0f));
line += " (Unknown viewer)";
}
else
{
std::string uuid_str = getTEImage(TEX_HEAD_BODYPAINT)->getID().asString();
if(uuid_str == "ccda2b3b-e72c-a112-e126-fee238b67218")
{
// textures other than head are 4934f1bf-3b1f-cf4f-dbdf-a72550d05bc6
mNameText->setColor(LLColor4(0.f, 1.0f, 0.0f));
line += " (Emerald)";
}
else if(uuid_str == "0bcd5f5d-a4ce-9ea4-f9e8-15132653b3d8")
{
mNameText->setColor(LLColor4(1.0f, 0.3f, 0.5f));
line += " (MoyMix)";
}
else if(uuid_str == "5855f37d-63e5-3918-1404-8ffa3820eb6d")
{
mNameText->setColor(LLColor4(1.0f, 0.3f, 0.5f));
line += " (MoyMix/B)";
}
else if(uuid_str == "9ba526b6-f43d-6b60-42de-ce62a25ee7fb")
{
mNameText->setColor(LLColor4(1.0f, 0.3f, 0.5f));
line += " (MoyMix/nolife)";
}
//else if(uuid_str == "abbca853-30ba-49c1-a1e7-2a5b9a70573f")
//{
// mNameText->setColor(LLColor4(0.5f, 0.75f, 1.0f));
// strcat(line, " (CryoLife/" + "A)");
//}
else if(uuid_str == "0f6723d2-5b23-6b58-08ab-308112b33786")
{
mNameText->setColor(LLColor4(0.5f, 0.75f, 1.0f));
line += " (CryoLife)";
}
else if(uuid_str == "2c9c1e0b-e5d1-263e-16b1-7fc6d169f3d6")
{
mNameText->setColor(LLColor4(0.5f, 0.75f, 1.0f));
line += " (Phoxy SL)";
}
else if(uuid_str == "c252d89d-6f7c-7d90-f430-d140d2e3fbbe")
{
mNameText->setColor(LLColor4(0.7f, 0.7f, 0.7f));
line += " (VLife)";
}
else if(uuid_str == "5aa5c70d-d787-571b-0495-4fc1bdef1500")
{
mNameText->setColor(LLColor4(1.f, 0.0f, 0.0f));
line += " (GridProxy/LordGregGreg)";
}
else if(uuid_str == "8183e823-c443-2142-6eb6-2ab763d4f81c")
{
mNameText->setColor(LLColor4(1.f, 1.f, 0.0f));
line += " (GridProxy/DayOh)";
}
else if(uuid_str == "f3fd74a6-fee7-4b2f-93ae-ddcb5991da04")
{
mNameText->setColor(LLColor4(1.0f, 0.0f, 1.0f));
line += " (PSL/A)";
}
else if(uuid_str == "77662f23-c77a-9b4d-5558-26b757b2144c")
{
mNameText->setColor(LLColor4(1.0f, 0.0f, 1.0f));
line += " (PSL/B)";
}
else if(uuid_str == "1c29480c-c608-df87-28bb-964fb64c5366")
{
mNameText->setColor(LLColor4(1.f, 1.0f, 1.0f));
line += " (Emerald/GEMINI)";
}
else if(uuid_str == "5262d71a-88f7-ef40-3b15-00ea148ab4b5")
{
mNameText->setColor(LLColor4(0.9f, 0.9f, 0.9f));
line += " (GEMINI Bot)";
}
else if(uuid_str == "adcbe893-7643-fd12-f61c-0b39717e2e32")
{
mNameText->setColor(LLColor4(1.0f, 0.5f, 0.4f));
line += " (tyk3n)";
}
else if(uuid_str == "f5a48821-9a98-d09e-8d6a-50cc08ba9a47")
{
mNameText->setColor(gColors.getColor( "AvatarNameColor" ));
line += " (NeilLife)";
}
else
{
LLColor4 avatar_name_color = gColors.getColor( "AvatarNameColor" );
avatar_name_color.setAlpha(1.f);
mNameText->setColor(avatar_name_color);
}
}
// </edit>
if (is_away || is_muted || is_busy)
{
line += " (";
@@ -3417,11 +3415,11 @@ void LLVOAvatar::idleUpdateTractorBeam()
return;
}
// <edit>
if(gSavedSettings.getBOOL("DisablePointAtAndBeam"))
{
return;
}
// <edit>
if(gSavedSettings.getBOOL("DisablePointAtAndBeam"))
{
return;
}
// </edit>
const LLPickInfo& pick = gViewerWindow->getLastPick();
@@ -4852,8 +4850,8 @@ void LLVOAvatar::processAnimationStateChanges()
if (found_anim == mSignaledAnimations.end())
{
processSingleAnimationStateChange(anim_it->first, FALSE);
// <edit>
LLFloaterExploreAnimations::stopAnim(getID(), anim_it->first);
// <edit>
LLFloaterExploreAnimations::stopAnim(getID(), anim_it->first);
// </edit>
mPlayingAnimations.erase(anim_it++);
continue;
@@ -4870,8 +4868,8 @@ void LLVOAvatar::processAnimationStateChanges()
// signaled but not playing, or different sequence id, start motion
if (found_anim == mPlayingAnimations.end() || found_anim->second != anim_it->second)
{
// <edit>
LLFloaterExploreAnimations::startAnim(getID(), anim_it->first);
// <edit>
LLFloaterExploreAnimations::startAnim(getID(), anim_it->first);
// </edit>
if (processSingleAnimationStateChange(anim_it->first, TRUE))
{
@@ -6112,43 +6110,43 @@ LLViewerJointAttachment* LLVOAvatar::getTargetAttachmentPoint(LLViewerObject* vi
// attachObject()
//-----------------------------------------------------------------------------
BOOL LLVOAvatar::attachObject(LLViewerObject *viewer_object)
{
LLViewerJointAttachment* attachment = getTargetAttachmentPoint(viewer_object);
// <edit> testzone attachpt
if(!attachment)
{
S32 attachmentID = ATTACHMENT_ID_FROM_STATE(viewer_object->getState());
LLUUID item_id;
LLNameValue* item_id_nv = viewer_object->getNVPair("AttachItemID");
if( item_id_nv )
{
const char* s = item_id_nv->getString();
if(s)
item_id.set(s);
}
if(!item_id.isNull())
{
mUnsupportedAttachmentPoints[attachmentID] = item_id;
if (viewer_object->isSelected())
{
LLSelectMgr::getInstance()->updateSelectionCenter();
LLSelectMgr::getInstance()->updatePointAt();
}
if (mIsSelf)
{
updateAttachmentVisibility(gAgent.getCameraMode());
// Then make sure the inventory is in sync with the avatar.
gInventory.addChangedMask( LLInventoryObserver::LABEL, item_id );
gInventory.notifyObservers();
}
}
else
llwarns << "No item ID" << llendl;
}
// </edit>
{
LLViewerJointAttachment* attachment = getTargetAttachmentPoint(viewer_object);
// <edit> testzone attachpt
if(!attachment)
{
S32 attachmentID = ATTACHMENT_ID_FROM_STATE(viewer_object->getState());
LLUUID item_id;
LLNameValue* item_id_nv = viewer_object->getNVPair("AttachItemID");
if( item_id_nv )
{
const char* s = item_id_nv->getString();
if(s)
item_id.set(s);
}
if(!item_id.isNull())
{
mUnsupportedAttachmentPoints[attachmentID] = item_id;
if (viewer_object->isSelected())
{
LLSelectMgr::getInstance()->updateSelectionCenter();
LLSelectMgr::getInstance()->updatePointAt();
}
if (mIsSelf)
{
updateAttachmentVisibility(gAgent.getCameraMode());
// Then make sure the inventory is in sync with the avatar.
gInventory.addChangedMask( LLInventoryObserver::LABEL, item_id );
gInventory.notifyObservers();
}
}
else
llwarns << "No item ID" << llendl;
}
// </edit>
if (!attachment || !attachment->addObject(viewer_object))
{
return FALSE;
@@ -6257,57 +6255,57 @@ BOOL LLVOAvatar::detachObject(LLViewerObject *viewer_object)
}
return TRUE;
}
}
// <edit> testzone attachpt
LLUUID item_id;
LLNameValue* item_id_nv = viewer_object->getNVPair("AttachItemID");
if( item_id_nv )
{
const char* s = item_id_nv->getString();
if(s)
item_id.set(s);
}
if(!item_id.isNull())
{
std::map<S32, LLUUID>::iterator iter = mUnsupportedAttachmentPoints.begin();
std::map<S32, LLUUID>::iterator end = mUnsupportedAttachmentPoints.end();
for( ; iter != end; ++iter)
{
if((*iter).second == item_id)
{
mUnsupportedAttachmentPoints.erase((*iter).first);
if (mIsSelf)
{
// the simulator should automatically handle
// permission revocation
stopMotionFromSource(viewer_object->getID());
LLFollowCamMgr::setCameraActive(viewer_object->getID(), FALSE);
LLViewerObject::const_child_list_t& child_list = viewer_object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
iter != child_list.end(); iter++)
{
LLViewerObject* child_objectp = *iter;
// the simulator should automatically handle
// permissions revocation
stopMotionFromSource(child_objectp->getID());
LLFollowCamMgr::setCameraActive(child_objectp->getID(), FALSE);
}
// Then make sure the inventory is in sync with the avatar.
gInventory.addChangedMask(LLInventoryObserver::LABEL, item_id);
gInventory.notifyObservers();
}
return TRUE;
}
}
llwarns << "Not found" << llendl;
}
else
llwarns << "No item ID" << llendl;
// </edit>
}
// <edit> testzone attachpt
LLUUID item_id;
LLNameValue* item_id_nv = viewer_object->getNVPair("AttachItemID");
if( item_id_nv )
{
const char* s = item_id_nv->getString();
if(s)
item_id.set(s);
}
if(!item_id.isNull())
{
std::map<S32, LLUUID>::iterator iter = mUnsupportedAttachmentPoints.begin();
std::map<S32, LLUUID>::iterator end = mUnsupportedAttachmentPoints.end();
for( ; iter != end; ++iter)
{
if((*iter).second == item_id)
{
mUnsupportedAttachmentPoints.erase((*iter).first);
if (mIsSelf)
{
// the simulator should automatically handle
// permission revocation
stopMotionFromSource(viewer_object->getID());
LLFollowCamMgr::setCameraActive(viewer_object->getID(), FALSE);
LLViewerObject::const_child_list_t& child_list = viewer_object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
iter != child_list.end(); iter++)
{
LLViewerObject* child_objectp = *iter;
// the simulator should automatically handle
// permissions revocation
stopMotionFromSource(child_objectp->getID());
LLFollowCamMgr::setCameraActive(child_objectp->getID(), FALSE);
}
// Then make sure the inventory is in sync with the avatar.
gInventory.addChangedMask(LLInventoryObserver::LABEL, item_id);
gInventory.notifyObservers();
}
return TRUE;
}
}
llwarns << "Not found" << llendl;
}
else
llwarns << "No item ID" << llendl;
// </edit>
return FALSE;
}
@@ -6469,21 +6467,21 @@ BOOL LLVOAvatar::isWearingAttachment( const LLUUID& inv_item_id )
}
}
return FALSE;
}
// <edit> testzone attachpt
BOOL LLVOAvatar::isWearingUnsupportedAttachment( const LLUUID& inv_item_id )
{
std::map<S32, LLUUID>::iterator end = mUnsupportedAttachmentPoints.end();
}
// <edit> testzone attachpt
BOOL LLVOAvatar::isWearingUnsupportedAttachment( const LLUUID& inv_item_id )
{
std::map<S32, LLUUID>::iterator end = mUnsupportedAttachmentPoints.end();
for(std::map<S32, LLUUID>::iterator iter = mUnsupportedAttachmentPoints.begin(); iter != end; ++iter)
{
{
if((*iter).second == inv_item_id)
{
{
return TRUE;
}
}
}
return FALSE;
}
}
//-----------------------------------------------------------------------------
// getWornAttachment()
//-----------------------------------------------------------------------------
@@ -8733,11 +8731,11 @@ void LLVOAvatar::dumpLocalTextures()
llinfos << "LocTex " << name << ": "
<< "Discard " << image->getDiscardLevel() << ", "
<< "(" << image->getWidth() << ", " << image->getHeight() << ") "
// <edit>
//#if !LL_RELEASE_FOR_DOWNLOAD
#if 1
// </edit>
<< "(" << image->getWidth() << ", " << image->getHeight() << ") "
// <edit>
//#if !LL_RELEASE_FOR_DOWNLOAD
#if 1
// </edit>
// End users don't get to trivially see avatar texture IDs,
// makes textures easier to steal
<< image->getID() << " "

View File

@@ -283,9 +283,9 @@ public:
void getOffObject();
BOOL isWearingAttachment( const LLUUID& inv_item_id );
// <edit> testzone attachpt
BOOL isWearingUnsupportedAttachment( const LLUUID& inv_item_id );
// </edit>
// <edit> testzone attachpt
BOOL isWearingUnsupportedAttachment( const LLUUID& inv_item_id );
// </edit>
LLViewerObject* getWornAttachment( const LLUUID& inv_item_id );
const std::string getAttachedPointName(const LLUUID& inv_item_id);
@@ -685,15 +685,15 @@ protected:
public:
static void updateFreezeCounter(S32 counter = 0 );
// <edit>
public:
//bool mNametagSaysIdle;
//bool mIdleForever;
//LLFrameTimer mIdleTimer;
//U32 mIdleMinutes;
LLUUID mFocusObject;
LLVector3d mFocusVector;
//void resetIdleTime();
public:
//bool mNametagSaysIdle;
//bool mIdleForever;
//LLFrameTimer mIdleTimer;
//U32 mIdleMinutes;
LLUUID mFocusObject;
LLVector3d mFocusVector;
//void resetIdleTime();
// </edit>
private:
@@ -722,7 +722,7 @@ private:
U32 mMaskTexName;
// Stores pointers to the joint meshes that this baked texture deals with
std::vector< LLViewerJointMesh * > mMeshes; // std::vector<LLViewerJointMesh> mJoints[i]->mMeshParts
};
typedef std::vector<BakedTextureData> bakedtexturedata_vec_t;
bakedtexturedata_vec_t mBakedTextureData;

View File

@@ -1,95 +1,95 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{96943E2D-1373-4617-A117-D0F997A94919}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>VSTool</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Exe</OutputType>
<RootNamespace>VSTool</RootNamespace>
<RunPostBuildEvent>Always</RunPostBuildEvent>
<StartupObject>VSTool.VSToolMain</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>.\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>.\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="main.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{96943E2D-1373-4617-A117-D0F997A94919}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>VSTool</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Exe</OutputType>
<RootNamespace>VSTool</RootNamespace>
<RunPostBuildEvent>Always</RunPostBuildEvent>
<StartupObject>VSTool.VSToolMain</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>.\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>.\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="main.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>

View File

@@ -1,19 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSTool", "VSTool.csproj", "{96943E2D-1373-4617-A117-D0F997A94919}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96943E2D-1373-4617-A117-D0F997A94919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96943E2D-1373-4617-A117-D0F997A94919}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96943E2D-1373-4617-A117-D0F997A94919}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96943E2D-1373-4617-A117-D0F997A94919}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VSTool", "VSTool.csproj", "{96943E2D-1373-4617-A117-D0F997A94919}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96943E2D-1373-4617-A117-D0F997A94919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96943E2D-1373-4617-A117-D0F997A94919}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96943E2D-1373-4617-A117-D0F997A94919}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96943E2D-1373-4617-A117-D0F997A94919}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff