Work in progress on CHOP-609 / CHOP-624 build time improvements. Eliminated a bunch of unnecesary header dependencies.
parent
62b1791d7a
commit
dbc92691a6
|
|
@ -24,6 +24,10 @@
|
|||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include "linden_common.h"
|
||||
|
||||
#include "llapp.h"
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
#ifdef LL_DARWIN
|
||||
|
|
@ -32,9 +36,6 @@
|
|||
#include <sys/sysctl.h>
|
||||
#endif
|
||||
|
||||
#include "linden_common.h"
|
||||
#include "llapp.h"
|
||||
|
||||
#include "llcommon.h"
|
||||
#include "llapr.h"
|
||||
#include "llerrorcontrol.h"
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
#ifndef LL_LLBUTTON_H
|
||||
#define LL_LLBUTTON_H
|
||||
|
||||
#include "lluuid.h"
|
||||
#include "llcontrol.h"
|
||||
#include "lluictrl.h"
|
||||
#include "v4color.h"
|
||||
|
|
@ -53,6 +52,8 @@ S32 round_up(S32 grid, S32 value);
|
|||
|
||||
|
||||
class LLUICtrlFactory;
|
||||
class LLUIImage;
|
||||
class LLUUID;
|
||||
|
||||
//
|
||||
// Classes
|
||||
|
|
|
|||
|
|
@ -27,14 +27,9 @@
|
|||
#define LLFLOATERREG_H
|
||||
|
||||
/// llcommon
|
||||
#include "llboost.h"
|
||||
#include "llrect.h"
|
||||
#include "llstl.h"
|
||||
#include "llsd.h"
|
||||
|
||||
/// llui
|
||||
#include "lluictrl.h"
|
||||
|
||||
#include <boost/function.hpp>
|
||||
|
||||
//*******************************************************
|
||||
|
|
@ -43,6 +38,7 @@
|
|||
//
|
||||
|
||||
class LLFloater;
|
||||
class LLUICtrl;
|
||||
|
||||
typedef boost::function<LLFloater* (const LLSD& key)> LLFloaterBuildFunc;
|
||||
|
||||
|
|
|
|||
|
|
@ -113,6 +113,16 @@ boost::signals2::connection LLFocusableElement::setTopLostCallback(const focus_s
|
|||
|
||||
|
||||
|
||||
typedef std::list<LLHandle<LLView> > view_handle_list_t;
|
||||
typedef std::map<LLHandle<LLView>, LLHandle<LLView> > focus_history_map_t;
|
||||
struct LLFocusMgr::Impl
|
||||
{
|
||||
// caching list of keyboard focus ancestors for calling onFocusReceived and onFocusLost
|
||||
view_handle_list_t mCachedKeyboardFocusList;
|
||||
|
||||
focus_history_map_t mFocusHistory;
|
||||
};
|
||||
|
||||
LLFocusMgr gFocusMgr;
|
||||
|
||||
LLFocusMgr::LLFocusMgr()
|
||||
|
|
@ -123,10 +133,17 @@ LLFocusMgr::LLFocusMgr()
|
|||
mDefaultKeyboardFocus( NULL ),
|
||||
mKeystrokesOnly(FALSE),
|
||||
mTopCtrl( NULL ),
|
||||
mAppHasFocus(TRUE) // Macs don't seem to notify us that we've gotten focus, so default to true
|
||||
mAppHasFocus(TRUE), // Macs don't seem to notify us that we've gotten focus, so default to true
|
||||
mImpl(new LLFocusMgr::Impl)
|
||||
{
|
||||
}
|
||||
|
||||
LLFocusMgr::~LLFocusMgr()
|
||||
{
|
||||
mImpl->mFocusHistory.clear();
|
||||
delete mImpl;
|
||||
mImpl = NULL;
|
||||
}
|
||||
|
||||
void LLFocusMgr::releaseFocusIfNeeded( LLView* view )
|
||||
{
|
||||
|
|
@ -179,7 +196,7 @@ void LLFocusMgr::setKeyboardFocus(LLFocusableElement* new_focus, BOOL lock, BOOL
|
|||
mKeyboardFocus = new_focus;
|
||||
|
||||
// list of the focus and it's ancestors
|
||||
view_handle_list_t old_focus_list = mCachedKeyboardFocusList;
|
||||
view_handle_list_t old_focus_list = mImpl->mCachedKeyboardFocusList;
|
||||
view_handle_list_t new_focus_list;
|
||||
|
||||
// walk up the tree to root and add all views to the new_focus_list
|
||||
|
|
@ -206,7 +223,7 @@ void LLFocusMgr::setKeyboardFocus(LLFocusableElement* new_focus, BOOL lock, BOOL
|
|||
LLView* old_focus_view = old_focus_iter->get();
|
||||
if (old_focus_view)
|
||||
{
|
||||
mCachedKeyboardFocusList.pop_front();
|
||||
mImpl->mCachedKeyboardFocusList.pop_front();
|
||||
old_focus_view->onFocusLost();
|
||||
}
|
||||
}
|
||||
|
|
@ -219,7 +236,7 @@ void LLFocusMgr::setKeyboardFocus(LLFocusableElement* new_focus, BOOL lock, BOOL
|
|||
LLView* new_focus_view = new_focus_riter->get();
|
||||
if (new_focus_view)
|
||||
{
|
||||
mCachedKeyboardFocusList.push_front(new_focus_view->getHandle());
|
||||
mImpl->mCachedKeyboardFocusList.push_front(new_focus_view->getHandle());
|
||||
new_focus_view->onFocusReceived();
|
||||
}
|
||||
}
|
||||
|
|
@ -254,7 +271,7 @@ void LLFocusMgr::setKeyboardFocus(LLFocusableElement* new_focus, BOOL lock, BOOL
|
|||
if (focus_subtree)
|
||||
{
|
||||
LLView* focused_view = dynamic_cast<LLView*>(mKeyboardFocus);
|
||||
mFocusHistory[focus_subtree->getHandle()] = focused_view ? focused_view->getHandle() : LLHandle<LLView>();
|
||||
mImpl->mFocusHistory[focus_subtree->getHandle()] = focused_view ? focused_view->getHandle() : LLHandle<LLView>();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -456,8 +473,8 @@ LLUICtrl* LLFocusMgr::getLastFocusForGroup(LLView* subtree_root) const
|
|||
{
|
||||
if (subtree_root)
|
||||
{
|
||||
focus_history_map_t::const_iterator found_it = mFocusHistory.find(subtree_root->getHandle());
|
||||
if (found_it != mFocusHistory.end())
|
||||
focus_history_map_t::const_iterator found_it = mImpl->mFocusHistory.find(subtree_root->getHandle());
|
||||
if (found_it != mImpl->mFocusHistory.end())
|
||||
{
|
||||
// found last focus for this subtree
|
||||
return static_cast<LLUICtrl*>(found_it->second.get());
|
||||
|
|
@ -470,6 +487,6 @@ void LLFocusMgr::clearLastFocusForGroup(LLView* subtree_root)
|
|||
{
|
||||
if (subtree_root)
|
||||
{
|
||||
mFocusHistory.erase(subtree_root->getHandle());
|
||||
mImpl->mFocusHistory.erase(subtree_root->getHandle());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ class LLFocusMgr
|
|||
{
|
||||
public:
|
||||
LLFocusMgr();
|
||||
~LLFocusMgr() { mFocusHistory.clear(); }
|
||||
~LLFocusMgr();
|
||||
|
||||
// Mouse Captor
|
||||
void setMouseCapture(LLMouseHandler* new_captor); // new_captor = NULL to release the mouse.
|
||||
|
|
@ -120,6 +120,8 @@ public:
|
|||
|
||||
bool keyboardFocusHasAccelerators() const;
|
||||
|
||||
struct Impl;
|
||||
|
||||
private:
|
||||
LLUICtrl* mLockedView;
|
||||
|
||||
|
|
@ -132,10 +134,6 @@ private:
|
|||
LLFocusableElement* mDefaultKeyboardFocus;
|
||||
BOOL mKeystrokesOnly;
|
||||
|
||||
// caching list of keyboard focus ancestors for calling onFocusReceived and onFocusLost
|
||||
typedef std::list<LLHandle<LLView> > view_handle_list_t;
|
||||
view_handle_list_t mCachedKeyboardFocusList;
|
||||
|
||||
// Top View
|
||||
LLUICtrl* mTopCtrl;
|
||||
|
||||
|
|
@ -143,8 +141,7 @@ private:
|
|||
|
||||
BOOL mAppHasFocus;
|
||||
|
||||
typedef std::map<LLHandle<LLView>, LLHandle<LLView> > focus_history_map_t;
|
||||
focus_history_map_t mFocusHistory;
|
||||
Impl * mImpl;
|
||||
};
|
||||
|
||||
extern LLFocusMgr gFocusMgr;
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include "lluuid.h"
|
||||
#include "v4color.h"
|
||||
#include "lluictrl.h"
|
||||
#include "lluiimage.h"
|
||||
#include "stdenums.h"
|
||||
|
||||
class LLTextBox;
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
|
||||
#include "lleditmenuhandler.h"
|
||||
#include "lluictrl.h"
|
||||
#include "lluiimage.h"
|
||||
#include "lluistring.h"
|
||||
#include "llviewborder.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#define LL_LLLOADINGINDICATOR_H
|
||||
|
||||
#include "lluictrl.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// class LLLoadingIndicator
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@
|
|||
#include "llkeyboard.h" // for the MASK constants
|
||||
#include "llcontrol.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include "llcallbackmap.h"
|
||||
#include "lluictrl.h"
|
||||
#include "llviewborder.h"
|
||||
#include "lluiimage.h"
|
||||
#include "lluistring.h"
|
||||
#include "v4color.h"
|
||||
#include <list>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#include "llfocusmgr.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
static LLDefaultChildRegistry::Register<LLProgressBar> r("progress_bar");
|
||||
|
||||
|
|
|
|||
|
|
@ -27,8 +27,9 @@
|
|||
#ifndef LL_LLPROGRESSBAR_H
|
||||
#define LL_LLPROGRESSBAR_H
|
||||
|
||||
#include "lluictrl.h"
|
||||
#include "llframetimer.h"
|
||||
#include "lluictrl.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
class LLProgressBar
|
||||
: public LLUICtrl
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "llf32uictrl.h"
|
||||
#include "v4color.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
class LLSlider : public LLF32UICtrl
|
||||
{
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ void LLStyle::setVisible(BOOL is_visible)
|
|||
mVisible = is_visible;
|
||||
}
|
||||
|
||||
LLUIImagePtr LLStyle::getImage() const
|
||||
LLPointer<LLUIImage> LLStyle::getImage() const
|
||||
{
|
||||
return mImagep;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include "v4color.h"
|
||||
#include "llui.h"
|
||||
#include "llinitparam.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
class LLFontGL;
|
||||
|
||||
|
|
@ -72,7 +73,7 @@ public:
|
|||
void setLinkHREF(const std::string& href);
|
||||
BOOL isLink() const;
|
||||
|
||||
LLUIImagePtr getImage() const;
|
||||
LLPointer<LLUIImage> getImage() const;
|
||||
void setImage(const LLUUID& src);
|
||||
void setImage(const std::string& name);
|
||||
|
||||
|
|
@ -108,7 +109,7 @@ private:
|
|||
const LLFontGL* mFont;
|
||||
std::string mLink;
|
||||
bool mIsLink;
|
||||
LLUIImagePtr mImagep;
|
||||
LLPointer<LLUIImage> mImagep;
|
||||
};
|
||||
|
||||
typedef LLPointer<LLStyle> LLStyleSP;
|
||||
|
|
|
|||
|
|
@ -26,10 +26,11 @@
|
|||
|
||||
#include "linden_common.h"
|
||||
|
||||
#include "lltransutil.h"
|
||||
|
||||
#include "lltrans.h"
|
||||
#include "lluictrlfactory.h"
|
||||
|
||||
#include "lltransutil.h"
|
||||
#include "llxmlnode.h"
|
||||
|
||||
|
||||
bool LLTransUtil::parseStrings(const std::string& xml_filename, const std::set<std::string>& default_args)
|
||||
|
|
|
|||
|
|
@ -33,15 +33,12 @@
|
|||
#include "llrect.h"
|
||||
#include "llcontrol.h"
|
||||
#include "llcoord.h"
|
||||
#include "lluiimage.h" // *TODO: break this dependency, need to add #include "lluiimage.h" to all widgets that hold an Optional<LLUIImage*> in their paramblocks
|
||||
#include "llinitparam.h"
|
||||
#include "llregistry.h"
|
||||
#include "lluicolor.h"
|
||||
#include "lluicolortable.h"
|
||||
#include <boost/signals2.hpp>
|
||||
#include "lllazyvalue.h"
|
||||
#include "llhandle.h" // *TODO: remove this dependency, added as a
|
||||
// convenience when LLHandle moved to llhandle.h
|
||||
#include "llframetimer.h"
|
||||
|
||||
// LLUIFactory
|
||||
|
|
@ -265,8 +262,6 @@ private:
|
|||
|
||||
// Moved LLLocalClipRect to lllocalcliprect.h
|
||||
|
||||
// Moved all LLHandle-related code to llhandle.h
|
||||
|
||||
//RN: maybe this needs to moved elsewhere?
|
||||
class LLImageProviderInterface
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "stdtypes.h"
|
||||
#include "llcoord.h"
|
||||
#include "llfontgl.h"
|
||||
#include "llhandle.h"
|
||||
#include "llmortician.h"
|
||||
#include "llmousehandler.h"
|
||||
#include "llstring.h"
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "llrender.h"
|
||||
#include "llfocusmgr.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
static LLDefaultChildRegistry::Register<LLViewBorder> r("view_border");
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "lluictrl.h"
|
||||
#include "llnotifications.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
class LLWindowShade : public LLUICtrl
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
#include "llfasttimer.h" // for call count statistics
|
||||
#include "llxuiparser.h"
|
||||
#include "llxmlnode.h"
|
||||
|
||||
#include <map>
|
||||
|
||||
|
|
|
|||
|
|
@ -29,8 +29,10 @@
|
|||
|
||||
#include <map>
|
||||
|
||||
#include "llpointer.h"
|
||||
#include "llstring.h"
|
||||
#include "llxmlnode.h"
|
||||
|
||||
class LLXMLNode;
|
||||
|
||||
/**
|
||||
* @brief String template loaded from strings.xml
|
||||
|
|
@ -61,9 +63,9 @@ public:
|
|||
* @param default_args Set of strings (expected to be in the file) to use as default replacement args, e.g. "SECOND_LIFE"
|
||||
* @returns true if the file was parsed successfully, true if something went wrong
|
||||
*/
|
||||
static bool parseStrings(LLXMLNodePtr& root, const std::set<std::string>& default_args);
|
||||
static bool parseStrings(LLPointer<LLXMLNode> & root, const std::set<std::string>& default_args);
|
||||
|
||||
static bool parseLanguageStrings(LLXMLNodePtr &root);
|
||||
static bool parseLanguageStrings(LLPointer<LLXMLNode> & root);
|
||||
|
||||
/**
|
||||
* @brief Returns a translated string
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@
|
|||
#define LLXUIPARSER_H
|
||||
|
||||
#include "llinitparam.h"
|
||||
#include "llfasttimer.h"
|
||||
#include "llregistry.h"
|
||||
#include "llpointer.h"
|
||||
|
||||
|
|
@ -95,6 +94,7 @@ public:
|
|||
};
|
||||
|
||||
|
||||
class LLXUIParserImpl;
|
||||
|
||||
class LLXUIParser : public LLInitParam::Parser
|
||||
{
|
||||
|
|
@ -176,6 +176,7 @@ private:
|
|||
// ordering of child elements from base file to localized diff file. Then we can use a pair
|
||||
// of coroutines to perform matching of xml nodes during parsing. Not sure if the overhead
|
||||
// of coroutines would offset the gain from SAX parsing
|
||||
class LLSimpleXUIParserImpl;
|
||||
|
||||
class LLSimpleXUIParser : public LLInitParam::Parser
|
||||
{
|
||||
|
|
|
|||
|
|
@ -25,10 +25,12 @@
|
|||
*/
|
||||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
|
||||
#include "llagent.h"
|
||||
|
||||
#include "pipeline.h"
|
||||
|
||||
#include "llagentaccess.h"
|
||||
#include "llagentcamera.h"
|
||||
#include "llagentlistener.h"
|
||||
#include "llagentwearables.h"
|
||||
|
|
@ -36,6 +38,7 @@
|
|||
#include "llanimationstates.h"
|
||||
#include "llbottomtray.h"
|
||||
#include "llcallingcard.h"
|
||||
#include "llcapabilitylistener.h"
|
||||
#include "llchannelmanager.h"
|
||||
#include "llconsole.h"
|
||||
#include "llfirstuse.h"
|
||||
|
|
@ -55,8 +58,10 @@
|
|||
#include "llpaneltopinfobar.h"
|
||||
#include "llparcel.h"
|
||||
#include "llrendersphere.h"
|
||||
#include "llsdmessage.h"
|
||||
#include "llsdutil.h"
|
||||
#include "llsky.h"
|
||||
#include "llslurl.h"
|
||||
#include "llsmoothstep.h"
|
||||
#include "llstartup.h"
|
||||
#include "llstatusbar.h"
|
||||
|
|
@ -73,6 +78,7 @@
|
|||
#include "llviewerobjectlist.h"
|
||||
#include "llviewerparcelmgr.h"
|
||||
#include "llviewerstats.h"
|
||||
#include "llviewerwindow.h"
|
||||
#include "llvoavatarself.h"
|
||||
#include "llwindow.h"
|
||||
#include "llworld.h"
|
||||
|
|
@ -171,7 +177,8 @@ LLAgent::LLAgent() :
|
|||
mbRunning(false),
|
||||
mbTeleportKeepsLookAt(false),
|
||||
|
||||
mAgentAccess(gSavedSettings),
|
||||
mAgentAccess(new LLAgentAccess(gSavedSettings)),
|
||||
mTeleportSourceSLURL(new LLSLURL),
|
||||
mTeleportState( TELEPORT_NONE ),
|
||||
mRegionp(NULL),
|
||||
|
||||
|
|
@ -208,7 +215,7 @@ LLAgent::LLAgent() :
|
|||
mAutoPilotFinishedCallback(NULL),
|
||||
mAutoPilotCallbackData(NULL),
|
||||
|
||||
mEffectColor(LLColor4(0.f, 1.f, 1.f, 1.f)),
|
||||
mEffectColor(new LLUIColor(LLColor4(0.f, 1.f, 1.f, 1.f))),
|
||||
|
||||
mHaveHomePosition(FALSE),
|
||||
mHomeRegionHandle( 0 ),
|
||||
|
|
@ -250,7 +257,7 @@ void LLAgent::init()
|
|||
|
||||
setFlying( gSavedSettings.getBOOL("FlyingAtExit") );
|
||||
|
||||
mEffectColor = LLUIColorTable::instance().getColor("EffectColor");
|
||||
*mEffectColor = LLUIColorTable::instance().getColor("EffectColor");
|
||||
|
||||
gSavedSettings.getControl("PreferredMaturity")->getValidateSignal()->connect(boost::bind(&LLAgent::validateMaturity, this, _2));
|
||||
gSavedSettings.getControl("PreferredMaturity")->getSignal()->connect(boost::bind(&LLAgent::handleMaturity, this, _2));
|
||||
|
|
@ -274,9 +281,16 @@ LLAgent::~LLAgent()
|
|||
cleanup();
|
||||
|
||||
delete mMouselookModeInSignal;
|
||||
mMouselookModeInSignal = NULL;
|
||||
delete mMouselookModeOutSignal;
|
||||
mMouselookModeOutSignal = NULL;
|
||||
|
||||
// *Note: this is where LLViewerCamera::getInstance() used to be deleted.
|
||||
delete mAgentAccess;
|
||||
mAgentAccess = NULL;
|
||||
delete mEffectColor;
|
||||
mEffectColor = NULL;
|
||||
delete mTeleportSourceSLURL;
|
||||
mTeleportSourceSLURL = NULL;
|
||||
}
|
||||
|
||||
// Handle any actions that need to be performed when the main app gains focus
|
||||
|
|
@ -2139,32 +2153,32 @@ void LLAgent::onAnimStop(const LLUUID& id)
|
|||
|
||||
bool LLAgent::isGodlike() const
|
||||
{
|
||||
return mAgentAccess.isGodlike();
|
||||
return mAgentAccess->isGodlike();
|
||||
}
|
||||
|
||||
bool LLAgent::isGodlikeWithoutAdminMenuFakery() const
|
||||
{
|
||||
return mAgentAccess.isGodlikeWithoutAdminMenuFakery();
|
||||
return mAgentAccess->isGodlikeWithoutAdminMenuFakery();
|
||||
}
|
||||
|
||||
U8 LLAgent::getGodLevel() const
|
||||
{
|
||||
return mAgentAccess.getGodLevel();
|
||||
return mAgentAccess->getGodLevel();
|
||||
}
|
||||
|
||||
bool LLAgent::wantsPGOnly() const
|
||||
{
|
||||
return mAgentAccess.wantsPGOnly();
|
||||
return mAgentAccess->wantsPGOnly();
|
||||
}
|
||||
|
||||
bool LLAgent::canAccessMature() const
|
||||
{
|
||||
return mAgentAccess.canAccessMature();
|
||||
return mAgentAccess->canAccessMature();
|
||||
}
|
||||
|
||||
bool LLAgent::canAccessAdult() const
|
||||
{
|
||||
return mAgentAccess.canAccessAdult();
|
||||
return mAgentAccess->canAccessAdult();
|
||||
}
|
||||
|
||||
bool LLAgent::canAccessMaturityInRegion( U64 region_handle ) const
|
||||
|
|
@ -2199,37 +2213,37 @@ bool LLAgent::canAccessMaturityAtGlobal( LLVector3d pos_global ) const
|
|||
|
||||
bool LLAgent::prefersPG() const
|
||||
{
|
||||
return mAgentAccess.prefersPG();
|
||||
return mAgentAccess->prefersPG();
|
||||
}
|
||||
|
||||
bool LLAgent::prefersMature() const
|
||||
{
|
||||
return mAgentAccess.prefersMature();
|
||||
return mAgentAccess->prefersMature();
|
||||
}
|
||||
|
||||
bool LLAgent::prefersAdult() const
|
||||
{
|
||||
return mAgentAccess.prefersAdult();
|
||||
return mAgentAccess->prefersAdult();
|
||||
}
|
||||
|
||||
bool LLAgent::isTeen() const
|
||||
{
|
||||
return mAgentAccess.isTeen();
|
||||
return mAgentAccess->isTeen();
|
||||
}
|
||||
|
||||
bool LLAgent::isMature() const
|
||||
{
|
||||
return mAgentAccess.isMature();
|
||||
return mAgentAccess->isMature();
|
||||
}
|
||||
|
||||
bool LLAgent::isAdult() const
|
||||
{
|
||||
return mAgentAccess.isAdult();
|
||||
return mAgentAccess->isAdult();
|
||||
}
|
||||
|
||||
void LLAgent::setTeen(bool teen)
|
||||
{
|
||||
mAgentAccess.setTeen(teen);
|
||||
mAgentAccess->setTeen(teen);
|
||||
}
|
||||
|
||||
//static
|
||||
|
|
@ -2274,37 +2288,37 @@ bool LLAgent::sendMaturityPreferenceToServer(int preferredMaturity)
|
|||
|
||||
BOOL LLAgent::getAdminOverride() const
|
||||
{
|
||||
return mAgentAccess.getAdminOverride();
|
||||
return mAgentAccess->getAdminOverride();
|
||||
}
|
||||
|
||||
void LLAgent::setMaturity(char text)
|
||||
{
|
||||
mAgentAccess.setMaturity(text);
|
||||
mAgentAccess->setMaturity(text);
|
||||
}
|
||||
|
||||
void LLAgent::setAdminOverride(BOOL b)
|
||||
{
|
||||
mAgentAccess.setAdminOverride(b);
|
||||
mAgentAccess->setAdminOverride(b);
|
||||
}
|
||||
|
||||
void LLAgent::setGodLevel(U8 god_level)
|
||||
{
|
||||
mAgentAccess.setGodLevel(god_level);
|
||||
mAgentAccess->setGodLevel(god_level);
|
||||
}
|
||||
|
||||
void LLAgent::setAOTransition()
|
||||
{
|
||||
mAgentAccess.setTransition();
|
||||
mAgentAccess->setTransition();
|
||||
}
|
||||
|
||||
const LLAgentAccess& LLAgent::getAgentAccess()
|
||||
{
|
||||
return mAgentAccess;
|
||||
return *mAgentAccess;
|
||||
}
|
||||
|
||||
bool LLAgent::validateMaturity(const LLSD& newvalue)
|
||||
{
|
||||
return mAgentAccess.canSetMaturity(newvalue.asInteger());
|
||||
return mAgentAccess->canSetMaturity(newvalue.asInteger());
|
||||
}
|
||||
|
||||
void LLAgent::handleMaturity(const LLSD& newvalue)
|
||||
|
|
@ -2636,12 +2650,12 @@ BOOL LLAgent::allowOperation(PermissionBit op,
|
|||
|
||||
const LLColor4 &LLAgent::getEffectColor()
|
||||
{
|
||||
return mEffectColor;
|
||||
return *mEffectColor;
|
||||
}
|
||||
|
||||
void LLAgent::setEffectColor(const LLColor4 &color)
|
||||
{
|
||||
mEffectColor = color;
|
||||
*mEffectColor = color;
|
||||
}
|
||||
|
||||
void LLAgent::initOriginGlobal(const LLVector3d &origin_global)
|
||||
|
|
@ -3469,7 +3483,7 @@ void LLAgent::setTeleportState(ETeleportState state)
|
|||
|
||||
case TELEPORT_MOVING:
|
||||
// We're outa here. Save "back" slurl.
|
||||
LLAgentUI::buildSLURL(mTeleportSourceSLURL);
|
||||
LLAgentUI::buildSLURL(*mTeleportSourceSLURL);
|
||||
break;
|
||||
|
||||
case TELEPORT_ARRIVING:
|
||||
|
|
@ -3802,6 +3816,11 @@ void LLAgent::parseTeleportMessages(const std::string& xml_filename)
|
|||
}//end for (all message sets in xml file)
|
||||
}
|
||||
|
||||
const void LLAgent::getTeleportSourceSLURL(LLSLURL& slurl) const
|
||||
{
|
||||
slurl = *mTeleportSourceSLURL;
|
||||
}
|
||||
|
||||
void LLAgent::sendAgentUpdateUserInfo(bool im_via_email, const std::string& directory_visibility )
|
||||
{
|
||||
gMessageSystem->newMessageFast(_PREHASH_UpdateUserInfo);
|
||||
|
|
|
|||
|
|
@ -29,15 +29,11 @@
|
|||
|
||||
#include "indra_constants.h"
|
||||
#include "llevent.h" // LLObservable base class
|
||||
#include "llagentaccess.h"
|
||||
#include "llagentconstants.h"
|
||||
#include "llagentdata.h" // gAgentID, gAgentSessionID
|
||||
#include "llcharacter.h" // LLAnimPauseRequest
|
||||
#include "llcharacter.h"
|
||||
#include "llcoordframe.h" // for mFrameAgent
|
||||
#include "llpointer.h"
|
||||
#include "lluicolor.h"
|
||||
#include "llvoavatardefines.h"
|
||||
#include "llslurl.h"
|
||||
|
||||
#include <boost/signals2.hpp>
|
||||
|
||||
|
|
@ -56,6 +52,10 @@ class LLFriendObserver;
|
|||
class LLPickInfo;
|
||||
class LLViewerObject;
|
||||
class LLAgentDropGroupViewerNode;
|
||||
class LLAgentAccess;
|
||||
class LLSLURL;
|
||||
class LLPauseRequestHandle;
|
||||
class LLUIColor;
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// Types
|
||||
|
|
@ -80,6 +80,8 @@ struct LLGroupData
|
|||
|
||||
class LLAgentListener;
|
||||
|
||||
class LLAgentImpl;
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
// LLAgent
|
||||
//------------------------------------------------------------------------
|
||||
|
|
@ -420,7 +422,7 @@ private:
|
|||
camera_signal_t* mMouselookModeInSignal;
|
||||
camera_signal_t* mMouselookModeOutSignal;
|
||||
BOOL mCustomAnim; // Current animation is ANIM_AGENT_CUSTOMIZE ?
|
||||
LLAnimPauseRequest mPauseRequest;
|
||||
LLPointer<LLPauseRequestHandle> mPauseRequest;
|
||||
BOOL mViewsPushed; // Keep track of whether or not we have pushed views
|
||||
|
||||
/** Animation
|
||||
|
|
@ -515,13 +517,13 @@ public:
|
|||
|
||||
public:
|
||||
static void parseTeleportMessages(const std::string& xml_filename);
|
||||
const void getTeleportSourceSLURL(LLSLURL& slurl) const { slurl = mTeleportSourceSLURL; }
|
||||
const void getTeleportSourceSLURL(LLSLURL& slurl) const;
|
||||
public:
|
||||
// ! TODO ! Define ERROR and PROGRESS enums here instead of exposing the mappings.
|
||||
static std::map<std::string, std::string> sTeleportErrorMessages;
|
||||
static std::map<std::string, std::string> sTeleportProgressMessages;
|
||||
private:
|
||||
LLSLURL mTeleportSourceSLURL; // SLURL where last TP began
|
||||
LLSLURL * mTeleportSourceSLURL; // SLURL where last TP began
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// Teleport Actions
|
||||
|
|
@ -580,7 +582,7 @@ public:
|
|||
// ! BACKWARDS COMPATIBILITY ! This function can go away after the AO transition (see llstartup.cpp).
|
||||
void setAOTransition();
|
||||
private:
|
||||
LLAgentAccess mAgentAccess;
|
||||
LLAgentAccess * mAgentAccess;
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
// God
|
||||
|
|
@ -660,7 +662,7 @@ public:
|
|||
const LLColor4 &getEffectColor();
|
||||
void setEffectColor(const LLColor4 &color);
|
||||
private:
|
||||
LLUIColor mEffectColor;
|
||||
LLUIColor * mEffectColor;
|
||||
|
||||
/** Rendering
|
||||
** **
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
#include "lltextutil.h"
|
||||
#include "lllogininstance.h"
|
||||
#include "llprogressview.h"
|
||||
|
||||
#include "llvocache.h"
|
||||
#include "llweb.h"
|
||||
#include "llsecondlifeurls.h"
|
||||
#include "llupdaterservice.h"
|
||||
|
|
@ -132,7 +132,6 @@
|
|||
#include "lltoolmgr.h"
|
||||
#include "llassetstorage.h"
|
||||
#include "llpolymesh.h"
|
||||
#include "llcachename.h"
|
||||
#include "llaudioengine.h"
|
||||
#include "llstreamingaudio.h"
|
||||
#include "llviewermenu.h"
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include "v3dmath.h"
|
||||
|
||||
class LLEventNotification;
|
||||
class LLMessageSystem;
|
||||
|
||||
|
||||
class LLEventNotifier
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include "message.h"
|
||||
|
||||
#include "llagent.h"
|
||||
#include "llagentaccess.h"
|
||||
#include "llbutton.h"
|
||||
#include "llcheckboxctrl.h"
|
||||
#include "llcombobox.h"
|
||||
|
|
|
|||
|
|
@ -43,11 +43,12 @@ class LLButton;
|
|||
class LLCheckBoxCtrl;
|
||||
class LLRadioGroup;
|
||||
class LLComboBox;
|
||||
class LLNameListCtrl;
|
||||
class LLSpinCtrl;
|
||||
class LLLineEditor;
|
||||
class LLMessageSystem;
|
||||
class LLNameListCtrl;
|
||||
class LLRadioGroup;
|
||||
class LLParcelSelectionObserver;
|
||||
class LLSpinCtrl;
|
||||
class LLTabContainer;
|
||||
class LLTextBox;
|
||||
class LLTextEditor;
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@
|
|||
#include "llfloaterpostcard.h"
|
||||
#include "llcheckboxctrl.h"
|
||||
#include "llradiogroup.h"
|
||||
#include "llslurl.h"
|
||||
#include "lltoolfocus.h"
|
||||
#include "lltoolmgr.h"
|
||||
#include "llwebsharing.h"
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include "llview.h"
|
||||
#include "lldarray.h" // *TODO: Eliminate, forward declare
|
||||
#include "lluiimage.h"
|
||||
|
||||
class LLFontGL;
|
||||
class LLFolderView;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
#include <string>
|
||||
#include <map>
|
||||
#include <boost/function.hpp>
|
||||
#include <boost/signals2.hpp>
|
||||
|
||||
class LLSD;
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include "llview.h"
|
||||
#include "llmutelist.h"
|
||||
#include "llspeakingindicatormanager.h"
|
||||
#include "lluiimage.h"
|
||||
|
||||
class LLTextBox;
|
||||
class LLUICtrlFactory;
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
#include "llimview.h"
|
||||
#include "llmenubutton.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "llslurl.h"
|
||||
#include "lltexteditor.h"
|
||||
#include "lltexturectrl.h"
|
||||
#include "lltoggleablemenu.h"
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
#include "llnotificationsutil.h"
|
||||
#include "llscrolllistitem.h"
|
||||
#include "llspinctrl.h"
|
||||
#include "llslurl.h"
|
||||
#include "lltextbox.h"
|
||||
#include "lltexteditor.h"
|
||||
#include "lltexturectrl.h"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
#include "llscrolllistctrl.h"
|
||||
#include "llscrolllistitem.h"
|
||||
#include "llscrolllistcell.h"
|
||||
#include "llslurl.h"
|
||||
#include "lltabcontainer.h"
|
||||
#include "lltextbox.h"
|
||||
#include "lltexteditor.h"
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "llassetuploadresponders.h"
|
||||
#include "llcheckboxctrl.h"
|
||||
#include "llcombobox.h"
|
||||
#include "lldatapacker.h"
|
||||
#include "lldelayedgestureerror.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llgesturemgr.h"
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include "llinventoryobserver.h"
|
||||
#include "lllineeditor.h"
|
||||
#include "llradiogroup.h"
|
||||
#include "llslurl.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llviewerinventory.h"
|
||||
#include "llviewerobjectlist.h"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
#include "llagentwearables.h"
|
||||
#include "llappearancemgr.h"
|
||||
#include "lldictionary.h"
|
||||
//#include "llfirstuse.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "llfloatertools.h"
|
||||
#include "llgesturemgr.h"
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@
|
|||
|
||||
// newview includes
|
||||
#include "llagent.h" // gAgent
|
||||
#include "llslurl.h"
|
||||
#include "lluicolor.h"
|
||||
#include "lluicolortable.h"
|
||||
#include "llviewercontrol.h" // gSavedSettings
|
||||
#include "llviewerregion.h"
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#define LL_LLVIEWERKEYBOARD_H
|
||||
|
||||
#include "llkeyboard.h" // For EKeystate
|
||||
#include "llinitparam.h"
|
||||
|
||||
const S32 MAX_NAMED_FUNCTIONS = 100;
|
||||
const S32 MAX_KEY_BINDINGS = 128; // was 60
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
|
||||
// newview includes
|
||||
#include "llagent.h"
|
||||
#include "llagentaccess.h"
|
||||
#include "llagentcamera.h"
|
||||
#include "llagentwearables.h"
|
||||
#include "llagentpilot.h"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
|
||||
// Viewer includes
|
||||
#include "llagent.h"
|
||||
#include "llagentaccess.h"
|
||||
#include "llviewerwindow.h"
|
||||
#include "llviewercontrol.h"
|
||||
//#include "llfirstuse.h"
|
||||
|
|
@ -54,6 +55,7 @@
|
|||
#include "llresmgr.h"
|
||||
#include "llsdutil.h"
|
||||
#include "llsdutil_math.h"
|
||||
#include "llslurl.h"
|
||||
#include "llstatusbar.h"
|
||||
#include "llui.h"
|
||||
#include "llviewertexture.h"
|
||||
|
|
|
|||
|
|
@ -99,8 +99,6 @@
|
|||
#include "llcoord.h"
|
||||
#include "llcoordframe.h"
|
||||
#include "llcrc.h"
|
||||
#include "llinterp.h"
|
||||
#include "llperlin.h"
|
||||
#include "llplane.h"
|
||||
#include "llquantize.h"
|
||||
#include "llrand.h"
|
||||
|
|
@ -109,7 +107,6 @@
|
|||
#include "m3math.h"
|
||||
#include "m4math.h"
|
||||
#include "llquaternion.h"
|
||||
#include "raytrace.h"
|
||||
#include "v2math.h"
|
||||
#include "v3color.h"
|
||||
#include "v3dmath.h"
|
||||
|
|
@ -117,16 +114,12 @@
|
|||
#include "v4color.h"
|
||||
#include "v4coloru.h"
|
||||
#include "v4math.h"
|
||||
////#include "vmath.h"
|
||||
#include "xform.h"
|
||||
|
||||
// Library includes from llvfs
|
||||
#include "lldir.h"
|
||||
|
||||
// Library includes from llmessage project
|
||||
|
||||
// Library includes from llmessage project
|
||||
#include "llcachename.h"
|
||||
|
||||
// llxuixml
|
||||
#include "llinitparam.h"
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@
|
|||
#include "llagentcamera.h"
|
||||
#include "llcallingcard.h"
|
||||
#include "llcaphttpsender.h"
|
||||
#include "llcapabilitylistener.h"
|
||||
#include "llcommandhandler.h"
|
||||
#include "lldir.h"
|
||||
#include "lleventpoll.h"
|
||||
|
|
@ -76,6 +77,71 @@
|
|||
const F32 WATER_TEXTURE_SCALE = 8.f; // Number of times to repeat the water texture across a region
|
||||
const S16 MAX_MAP_DIST = 10;
|
||||
|
||||
typedef std::map<std::string, std::string> CapabilityMap;
|
||||
|
||||
class LLViewerRegionImpl {
|
||||
public:
|
||||
LLViewerRegionImpl(LLViewerRegion * region, LLHost const & host)
|
||||
: mHost(host),
|
||||
mCompositionp(NULL),
|
||||
mEventPoll(NULL),
|
||||
// I'd prefer to set the LLCapabilityListener name to match the region
|
||||
// name -- it's disappointing that's not available at construction time.
|
||||
// We could instead store an LLCapabilityListener*, making
|
||||
// setRegionNameAndZone() replace the instance. Would that pose
|
||||
// consistency problems? Can we even request a capability before calling
|
||||
// setRegionNameAndZone()?
|
||||
// For testability -- the new Michael Feathers paradigm --
|
||||
// LLCapabilityListener binds all the globals it expects to need at
|
||||
// construction time.
|
||||
mCapabilityListener(host.getString(), gMessageSystem, *region,
|
||||
gAgent.getID(), gAgent.getSessionID())
|
||||
{
|
||||
}
|
||||
|
||||
// The surfaces and other layers
|
||||
LLSurface* mLandp;
|
||||
|
||||
// Region geometry data
|
||||
LLVector3d mOriginGlobal; // Location of southwest corner of region (meters)
|
||||
LLVector3d mCenterGlobal; // Location of center in world space (meters)
|
||||
LLHost mHost;
|
||||
|
||||
// The unique ID for this region.
|
||||
LLUUID mRegionID;
|
||||
|
||||
// region/estate owner - usually null.
|
||||
LLUUID mOwnerID;
|
||||
|
||||
// Network statistics for the region's circuit...
|
||||
LLTimer mLastNetUpdate;
|
||||
|
||||
// Misc
|
||||
LLVLComposition *mCompositionp; // Composition layer for the surface
|
||||
|
||||
LLVOCacheEntry::vocache_entry_map_t mCacheMap;
|
||||
// time?
|
||||
// LRU info?
|
||||
|
||||
// Cache ID is unique per-region, across renames, moving locations,
|
||||
// etc.
|
||||
LLUUID mCacheID;
|
||||
|
||||
CapabilityMap mCapabilities;
|
||||
|
||||
LLEventPoll* mEventPoll;
|
||||
|
||||
/// Post an event to this LLCapabilityListener to invoke a capability message on
|
||||
/// this LLViewerRegion's server
|
||||
/// (https://wiki.lindenlab.com/wiki/Viewer:Messaging/Messaging_Notes#Capabilities)
|
||||
LLCapabilityListener mCapabilityListener;
|
||||
|
||||
//spatial partitions for objects in this region
|
||||
std::vector<LLSpatialPartition*> mObjectPartition;
|
||||
|
||||
LLHTTPClient::ResponderPtr mHttpResponderPtr ;
|
||||
};
|
||||
|
||||
// support for secondlife:///app/region/{REGION} SLapps
|
||||
// N.B. this is defined to work exactly like the classic secondlife://{REGION}
|
||||
// However, the later syntax cannot support spaces in the region name because
|
||||
|
|
@ -191,15 +257,12 @@ LLViewerRegion::LLViewerRegion(const U64 &handle,
|
|||
const U32 grids_per_region_edge,
|
||||
const U32 grids_per_patch_edge,
|
||||
const F32 region_width_meters)
|
||||
: mCenterGlobal(),
|
||||
: mImpl(new LLViewerRegionImpl(this, host)),
|
||||
mHandle(handle),
|
||||
mHost( host ),
|
||||
mTimeDilation(1.0f),
|
||||
mName(""),
|
||||
mZoning(""),
|
||||
mOwnerID(),
|
||||
mIsEstateManager(FALSE),
|
||||
mCompositionp(NULL),
|
||||
mRegionFlags( REGION_FLAGS_DEFAULT ),
|
||||
mSimAccess( SIM_ACCESS_MIN ),
|
||||
mBillableFactor(1.0),
|
||||
|
|
@ -212,37 +275,27 @@ LLViewerRegion::LLViewerRegion(const U64 &handle,
|
|||
mHttpUrl(""),
|
||||
mCacheLoaded(FALSE),
|
||||
mCacheDirty(FALSE),
|
||||
mCacheID(),
|
||||
mEventPoll(NULL),
|
||||
mReleaseNotesRequested(FALSE),
|
||||
// I'd prefer to set the LLCapabilityListener name to match the region
|
||||
// name -- it's disappointing that's not available at construction time.
|
||||
// We could instead store an LLCapabilityListener*, making
|
||||
// setRegionNameAndZone() replace the instance. Would that pose
|
||||
// consistency problems? Can we even request a capability before calling
|
||||
// setRegionNameAndZone()?
|
||||
// For testability -- the new Michael Feathers paradigm --
|
||||
// LLCapabilityListener binds all the globals it expects to need at
|
||||
// construction time.
|
||||
mCapabilityListener(host.getString(), gMessageSystem, *this,
|
||||
gAgent.getID(), gAgent.getSessionID()),
|
||||
mCapabilitiesReceived(false)
|
||||
{
|
||||
mWidth = region_width_meters;
|
||||
mOriginGlobal = from_region_handle(handle);
|
||||
mImpl->mOriginGlobal = from_region_handle(handle);
|
||||
updateRenderMatrix();
|
||||
|
||||
mLandp = new LLSurface('l', NULL);
|
||||
mImpl->mLandp = new LLSurface('l', NULL);
|
||||
|
||||
// Create the composition layer for the surface
|
||||
mCompositionp = new LLVLComposition(mLandp, grids_per_region_edge, region_width_meters/grids_per_region_edge);
|
||||
mCompositionp->setSurface(mLandp);
|
||||
mImpl->mCompositionp =
|
||||
new LLVLComposition(mImpl->mLandp,
|
||||
grids_per_region_edge,
|
||||
region_width_meters / grids_per_region_edge);
|
||||
mImpl->mCompositionp->setSurface(mImpl->mLandp);
|
||||
|
||||
// Create the surfaces
|
||||
mLandp->setRegion(this);
|
||||
mLandp->create(grids_per_region_edge,
|
||||
mImpl->mLandp->setRegion(this);
|
||||
mImpl->mLandp->create(grids_per_region_edge,
|
||||
grids_per_patch_edge,
|
||||
mOriginGlobal,
|
||||
mImpl->mOriginGlobal,
|
||||
mWidth);
|
||||
|
||||
mParcelOverlay = new LLViewerParcelOverlay(this, region_width_meters);
|
||||
|
|
@ -255,24 +308,24 @@ LLViewerRegion::LLViewerRegion(const U64 &handle,
|
|||
|
||||
//create object partitions
|
||||
//MUST MATCH declaration of eObjectPartitions
|
||||
mObjectPartition.push_back(new LLHUDPartition()); //PARTITION_HUD
|
||||
mObjectPartition.push_back(new LLTerrainPartition()); //PARTITION_TERRAIN
|
||||
mObjectPartition.push_back(new LLVoidWaterPartition()); //PARTITION_VOIDWATER
|
||||
mObjectPartition.push_back(new LLWaterPartition()); //PARTITION_WATER
|
||||
mObjectPartition.push_back(new LLTreePartition()); //PARTITION_TREE
|
||||
mObjectPartition.push_back(new LLParticlePartition()); //PARTITION_PARTICLE
|
||||
mObjectPartition.push_back(new LLCloudPartition()); //PARTITION_CLOUD
|
||||
mObjectPartition.push_back(new LLGrassPartition()); //PARTITION_GRASS
|
||||
mObjectPartition.push_back(new LLVolumePartition()); //PARTITION_VOLUME
|
||||
mObjectPartition.push_back(new LLBridgePartition()); //PARTITION_BRIDGE
|
||||
mObjectPartition.push_back(new LLHUDParticlePartition());//PARTITION_HUD_PARTICLE
|
||||
mObjectPartition.push_back(NULL); //PARTITION_NONE
|
||||
mImpl->mObjectPartition.push_back(new LLHUDPartition()); //PARTITION_HUD
|
||||
mImpl->mObjectPartition.push_back(new LLTerrainPartition()); //PARTITION_TERRAIN
|
||||
mImpl->mObjectPartition.push_back(new LLVoidWaterPartition()); //PARTITION_VOIDWATER
|
||||
mImpl->mObjectPartition.push_back(new LLWaterPartition()); //PARTITION_WATER
|
||||
mImpl->mObjectPartition.push_back(new LLTreePartition()); //PARTITION_TREE
|
||||
mImpl->mObjectPartition.push_back(new LLParticlePartition()); //PARTITION_PARTICLE
|
||||
mImpl->mObjectPartition.push_back(new LLCloudPartition()); //PARTITION_CLOUD
|
||||
mImpl->mObjectPartition.push_back(new LLGrassPartition()); //PARTITION_GRASS
|
||||
mImpl->mObjectPartition.push_back(new LLVolumePartition()); //PARTITION_VOLUME
|
||||
mImpl->mObjectPartition.push_back(new LLBridgePartition()); //PARTITION_BRIDGE
|
||||
mImpl->mObjectPartition.push_back(new LLHUDParticlePartition());//PARTITION_HUD_PARTICLE
|
||||
mImpl->mObjectPartition.push_back(NULL); //PARTITION_NONE
|
||||
}
|
||||
|
||||
|
||||
void LLViewerRegion::initStats()
|
||||
{
|
||||
mLastNetUpdate.reset();
|
||||
mImpl->mLastNetUpdate.reset();
|
||||
mPacketsIn = 0;
|
||||
mBitsIn = 0;
|
||||
mLastBitsIn = 0;
|
||||
|
|
@ -287,9 +340,9 @@ void LLViewerRegion::initStats()
|
|||
|
||||
LLViewerRegion::~LLViewerRegion()
|
||||
{
|
||||
if(mHttpResponderPtr)
|
||||
if(mImpl->mHttpResponderPtr)
|
||||
{
|
||||
(static_cast<BaseCapabilitiesComplete*>(mHttpResponderPtr.get()))->setRegion(NULL) ;
|
||||
(static_cast<BaseCapabilitiesComplete*>(mImpl->mHttpResponderPtr.get()))->setRegion(NULL) ;
|
||||
}
|
||||
|
||||
gVLManager.cleanupData(this);
|
||||
|
|
@ -301,21 +354,44 @@ LLViewerRegion::~LLViewerRegion()
|
|||
|
||||
gObjectList.killObjects(this);
|
||||
|
||||
delete mCompositionp;
|
||||
delete mImpl->mCompositionp;
|
||||
delete mParcelOverlay;
|
||||
delete mLandp;
|
||||
delete mEventPoll;
|
||||
LLHTTPSender::clearSender(mHost);
|
||||
delete mImpl->mLandp;
|
||||
delete mImpl->mEventPoll;
|
||||
LLHTTPSender::clearSender(mImpl->mHost);
|
||||
|
||||
saveObjectCache();
|
||||
|
||||
std::for_each(mObjectPartition.begin(), mObjectPartition.end(), DeletePointer());
|
||||
std::for_each(mImpl->mObjectPartition.begin(), mImpl->mObjectPartition.end(), DeletePointer());
|
||||
|
||||
delete mImpl;
|
||||
mImpl = NULL;
|
||||
}
|
||||
|
||||
LLEventPump& LLViewerRegion::getCapAPI() const
|
||||
{
|
||||
return mImpl->mCapabilityListener.getCapAPI();
|
||||
}
|
||||
|
||||
/*virtual*/
|
||||
const LLHost& LLViewerRegion::getHost() const
|
||||
{
|
||||
return mHost;
|
||||
return mImpl->mHost;
|
||||
}
|
||||
|
||||
LLSurface & LLViewerRegion::getLand() const
|
||||
{
|
||||
return *mImpl->mLandp;
|
||||
}
|
||||
|
||||
const LLUUID& LLViewerRegion::getRegionID() const
|
||||
{
|
||||
return mImpl->mRegionID;
|
||||
}
|
||||
|
||||
void LLViewerRegion::setRegionID(const LLUUID& region_id)
|
||||
{
|
||||
mImpl->mRegionID = region_id;
|
||||
}
|
||||
|
||||
void LLViewerRegion::loadObjectCache()
|
||||
|
|
@ -330,7 +406,7 @@ void LLViewerRegion::loadObjectCache()
|
|||
|
||||
if(LLVOCache::hasInstance())
|
||||
{
|
||||
LLVOCache::getInstance()->readFromCache(mHandle, mCacheID, mCacheMap) ;
|
||||
LLVOCache::getInstance()->readFromCache(mHandle, mImpl->mCacheID, mImpl->mCacheMap) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -342,32 +418,32 @@ void LLViewerRegion::saveObjectCache()
|
|||
return;
|
||||
}
|
||||
|
||||
if (mCacheMap.empty())
|
||||
if (mImpl->mCacheMap.empty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(LLVOCache::hasInstance())
|
||||
{
|
||||
LLVOCache::getInstance()->writeToCache(mHandle, mCacheID, mCacheMap, mCacheDirty) ;
|
||||
LLVOCache::getInstance()->writeToCache(mHandle, mImpl->mCacheID, mImpl->mCacheMap, mCacheDirty) ;
|
||||
mCacheDirty = FALSE;
|
||||
}
|
||||
|
||||
for(LLVOCacheEntry::vocache_entry_map_t::iterator iter = mCacheMap.begin(); iter != mCacheMap.end(); ++iter)
|
||||
for(LLVOCacheEntry::vocache_entry_map_t::iterator iter = mImpl->mCacheMap.begin(); iter != mImpl->mCacheMap.end(); ++iter)
|
||||
{
|
||||
delete iter->second;
|
||||
}
|
||||
mCacheMap.clear();
|
||||
mImpl->mCacheMap.clear();
|
||||
}
|
||||
|
||||
void LLViewerRegion::sendMessage()
|
||||
{
|
||||
gMessageSystem->sendMessage(mHost);
|
||||
gMessageSystem->sendMessage(mImpl->mHost);
|
||||
}
|
||||
|
||||
void LLViewerRegion::sendReliableMessage()
|
||||
{
|
||||
gMessageSystem->sendReliable(mHost);
|
||||
gMessageSystem->sendReliable(mImpl->mHost);
|
||||
}
|
||||
|
||||
void LLViewerRegion::setFlags(BOOL b, U32 flags)
|
||||
|
|
@ -384,12 +460,12 @@ void LLViewerRegion::setFlags(BOOL b, U32 flags)
|
|||
|
||||
void LLViewerRegion::setWaterHeight(F32 water_level)
|
||||
{
|
||||
mLandp->setWaterHeight(water_level);
|
||||
mImpl->mLandp->setWaterHeight(water_level);
|
||||
}
|
||||
|
||||
F32 LLViewerRegion::getWaterHeight() const
|
||||
{
|
||||
return mLandp->getWaterHeight();
|
||||
return mImpl->mLandp->getWaterHeight();
|
||||
}
|
||||
|
||||
BOOL LLViewerRegion::isVoiceEnabled() const
|
||||
|
|
@ -405,9 +481,9 @@ void LLViewerRegion::setRegionFlags(U32 flags)
|
|||
|
||||
void LLViewerRegion::setOriginGlobal(const LLVector3d &origin_global)
|
||||
{
|
||||
mOriginGlobal = origin_global;
|
||||
mImpl->mOriginGlobal = origin_global;
|
||||
updateRenderMatrix();
|
||||
mLandp->setOriginGlobal(origin_global);
|
||||
mImpl->mLandp->setOriginGlobal(origin_global);
|
||||
mWind.setOriginGlobal(origin_global);
|
||||
mCloudLayer.setOriginGlobal(origin_global);
|
||||
calculateCenterGlobal();
|
||||
|
|
@ -423,16 +499,34 @@ void LLViewerRegion::setTimeDilation(F32 time_dilation)
|
|||
mTimeDilation = time_dilation;
|
||||
}
|
||||
|
||||
const LLVector3d & LLViewerRegion::getOriginGlobal() const
|
||||
{
|
||||
return mImpl->mOriginGlobal;
|
||||
}
|
||||
|
||||
LLVector3 LLViewerRegion::getOriginAgent() const
|
||||
{
|
||||
return gAgent.getPosAgentFromGlobal(mOriginGlobal);
|
||||
return gAgent.getPosAgentFromGlobal(mImpl->mOriginGlobal);
|
||||
}
|
||||
|
||||
const LLVector3d & LLViewerRegion::getCenterGlobal() const
|
||||
{
|
||||
return mImpl->mCenterGlobal;
|
||||
}
|
||||
|
||||
LLVector3 LLViewerRegion::getCenterAgent() const
|
||||
{
|
||||
return gAgent.getPosAgentFromGlobal(mCenterGlobal);
|
||||
return gAgent.getPosAgentFromGlobal(mImpl->mCenterGlobal);
|
||||
}
|
||||
|
||||
void LLViewerRegion::setOwner(const LLUUID& owner_id)
|
||||
{
|
||||
mImpl->mOwnerID = owner_id;
|
||||
}
|
||||
|
||||
const LLUUID& LLViewerRegion::getOwner() const
|
||||
{
|
||||
return mImpl->mOwnerID;
|
||||
}
|
||||
|
||||
void LLViewerRegion::setRegionNameAndZone (const std::string& name_zone)
|
||||
|
|
@ -557,7 +651,10 @@ void LLViewerRegion::processRegionInfo(LLMessageSystem* msg, void**)
|
|||
LLFloaterReporter::processRegionInfo(msg);
|
||||
}
|
||||
|
||||
|
||||
void LLViewerRegion::setCacheID(const LLUUID& id)
|
||||
{
|
||||
mImpl->mCacheID = id;
|
||||
}
|
||||
|
||||
S32 LLViewerRegion::renderPropertyLines()
|
||||
{
|
||||
|
|
@ -585,7 +682,7 @@ BOOL LLViewerRegion::idleUpdate(F32 max_update_time)
|
|||
{
|
||||
LLMemType mt_ivr(LLMemType::MTYPE_IDLE_UPDATE_VIEWER_REGION);
|
||||
// did_update returns TRUE if we did at least one significant update
|
||||
BOOL did_update = mLandp->idleUpdate(max_update_time);
|
||||
BOOL did_update = mImpl->mLandp->idleUpdate(max_update_time);
|
||||
|
||||
if (mParcelOverlay)
|
||||
{
|
||||
|
|
@ -600,7 +697,7 @@ BOOL LLViewerRegion::idleUpdate(F32 max_update_time)
|
|||
// As above, but forcibly do the update.
|
||||
void LLViewerRegion::forceUpdate()
|
||||
{
|
||||
mLandp->idleUpdate(0.f);
|
||||
mImpl->mLandp->idleUpdate(0.f);
|
||||
|
||||
if (mParcelOverlay)
|
||||
{
|
||||
|
|
@ -610,17 +707,21 @@ void LLViewerRegion::forceUpdate()
|
|||
|
||||
void LLViewerRegion::connectNeighbor(LLViewerRegion *neighborp, U32 direction)
|
||||
{
|
||||
mLandp->connectNeighbor(neighborp->mLandp, direction);
|
||||
mImpl->mLandp->connectNeighbor(neighborp->mImpl->mLandp, direction);
|
||||
mCloudLayer.connectNeighbor(&(neighborp->mCloudLayer), direction);
|
||||
}
|
||||
|
||||
|
||||
void LLViewerRegion::disconnectAllNeighbors()
|
||||
{
|
||||
mLandp->disconnectAllNeighbors();
|
||||
mImpl->mLandp->disconnectAllNeighbors();
|
||||
mCloudLayer.disconnectAllNeighbors();
|
||||
}
|
||||
|
||||
LLVLComposition * LLViewerRegion::getComposition() const
|
||||
{
|
||||
return mImpl->mCompositionp;
|
||||
}
|
||||
|
||||
F32 LLViewerRegion::getCompositionXY(const S32 x, const S32 y) const
|
||||
{
|
||||
|
|
@ -714,10 +815,10 @@ F32 LLViewerRegion::getCompositionXY(const S32 x, const S32 y) const
|
|||
|
||||
void LLViewerRegion::calculateCenterGlobal()
|
||||
{
|
||||
mCenterGlobal = mOriginGlobal;
|
||||
mCenterGlobal.mdV[VX] += 0.5 * mWidth;
|
||||
mCenterGlobal.mdV[VY] += 0.5 * mWidth;
|
||||
mCenterGlobal.mdV[VZ] = 0.5*mLandp->getMinZ() + mLandp->getMaxZ();
|
||||
mImpl->mCenterGlobal = mImpl->mOriginGlobal;
|
||||
mImpl->mCenterGlobal.mdV[VX] += 0.5 * mWidth;
|
||||
mImpl->mCenterGlobal.mdV[VY] += 0.5 * mWidth;
|
||||
mImpl->mCenterGlobal.mdV[VZ] = 0.5 * mImpl->mLandp->getMinZ() + mImpl->mLandp->getMaxZ();
|
||||
}
|
||||
|
||||
void LLViewerRegion::calculateCameraDistance()
|
||||
|
|
@ -728,7 +829,7 @@ void LLViewerRegion::calculateCameraDistance()
|
|||
std::ostream& operator<<(std::ostream &s, const LLViewerRegion ®ion)
|
||||
{
|
||||
s << "{ ";
|
||||
s << region.mHost;
|
||||
s << region.mImpl->mHost;
|
||||
s << " mOriginGlobal = " << region.getOriginGlobal()<< "\n";
|
||||
std::string name(region.getName()), zone(region.getZoning());
|
||||
if (! name.empty())
|
||||
|
|
@ -748,9 +849,9 @@ std::ostream& operator<<(std::ostream &s, const LLViewerRegion ®ion)
|
|||
|
||||
void LLViewerRegion::updateNetStats()
|
||||
{
|
||||
F32 dt = mLastNetUpdate.getElapsedTimeAndResetF32();
|
||||
F32 dt = mImpl->mLastNetUpdate.getElapsedTimeAndResetF32();
|
||||
|
||||
LLCircuitData *cdp = gMessageSystem->mCircuitInfo.findCircuit(mHost);
|
||||
LLCircuitData *cdp = gMessageSystem->mCircuitInfo.findCircuit(mImpl->mHost);
|
||||
if (!cdp)
|
||||
{
|
||||
mAlive = false;
|
||||
|
|
@ -779,10 +880,10 @@ void LLViewerRegion::updateNetStats()
|
|||
|
||||
U32 LLViewerRegion::getPacketsLost() const
|
||||
{
|
||||
LLCircuitData *cdp = gMessageSystem->mCircuitInfo.findCircuit(mHost);
|
||||
LLCircuitData *cdp = gMessageSystem->mCircuitInfo.findCircuit(mImpl->mHost);
|
||||
if (!cdp)
|
||||
{
|
||||
llinfos << "LLViewerRegion::getPacketsLost couldn't find circuit for " << mHost << llendl;
|
||||
llinfos << "LLViewerRegion::getPacketsLost couldn't find circuit for " << mImpl->mHost << llendl;
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
|
|
@ -791,6 +892,16 @@ U32 LLViewerRegion::getPacketsLost() const
|
|||
}
|
||||
}
|
||||
|
||||
void LLViewerRegion::setHttpResponderPtrNULL()
|
||||
{
|
||||
mImpl->mHttpResponderPtr = NULL;
|
||||
}
|
||||
|
||||
const LLHTTPClient::ResponderPtr LLViewerRegion::getHttpResponderPtr() const
|
||||
{
|
||||
return mImpl->mHttpResponderPtr;
|
||||
}
|
||||
|
||||
BOOL LLViewerRegion::pointInRegionGlobal(const LLVector3d &point_global) const
|
||||
{
|
||||
LLVector3 pos_region = getPosRegionFromGlobal(point_global);
|
||||
|
|
@ -817,7 +928,7 @@ BOOL LLViewerRegion::pointInRegionGlobal(const LLVector3d &point_global) const
|
|||
LLVector3 LLViewerRegion::getPosRegionFromGlobal(const LLVector3d &point_global) const
|
||||
{
|
||||
LLVector3 pos_region;
|
||||
pos_region.setVec(point_global - mOriginGlobal);
|
||||
pos_region.setVec(point_global - mImpl->mOriginGlobal);
|
||||
return pos_region;
|
||||
}
|
||||
|
||||
|
|
@ -825,7 +936,7 @@ LLVector3d LLViewerRegion::getPosGlobalFromRegion(const LLVector3 &pos_region) c
|
|||
{
|
||||
LLVector3d pos_region_d;
|
||||
pos_region_d.setVec(pos_region);
|
||||
return pos_region_d + mOriginGlobal;
|
||||
return pos_region_d + mImpl->mOriginGlobal;
|
||||
}
|
||||
|
||||
LLVector3 LLViewerRegion::getPosAgentFromRegion(const LLVector3 &pos_region) const
|
||||
|
|
@ -842,7 +953,7 @@ LLVector3 LLViewerRegion::getPosRegionFromAgent(const LLVector3 &pos_agent) cons
|
|||
|
||||
F32 LLViewerRegion::getLandHeightRegion(const LLVector3& region_pos)
|
||||
{
|
||||
return mLandp->resolveHeightRegion( region_pos );
|
||||
return mImpl->mLandp->resolveHeightRegion( region_pos );
|
||||
}
|
||||
|
||||
bool LLViewerRegion::isAlive()
|
||||
|
|
@ -994,7 +1105,7 @@ void LLViewerRegion::updateCoarseLocations(LLMessageSystem* msg)
|
|||
// treat the target specially for the map
|
||||
if(i == target_index)
|
||||
{
|
||||
LLVector3d global_pos(mOriginGlobal);
|
||||
LLVector3d global_pos(mImpl->mOriginGlobal);
|
||||
global_pos.mdV[VX] += (F64)(x_pos);
|
||||
global_pos.mdV[VY] += (F64)(y_pos);
|
||||
global_pos.mdV[VZ] += (F64)(z_pos) * 4.0;
|
||||
|
|
@ -1034,7 +1145,7 @@ LLViewerRegion::eCacheUpdateResult LLViewerRegion::cacheFullUpdate(LLViewerObjec
|
|||
U32 local_id = objectp->getLocalID();
|
||||
U32 crc = objectp->getCRC();
|
||||
|
||||
LLVOCacheEntry* entry = get_if_there(mCacheMap, local_id, (LLVOCacheEntry*)NULL);
|
||||
LLVOCacheEntry* entry = get_if_there(mImpl->mCacheMap, local_id, (LLVOCacheEntry*)NULL);
|
||||
|
||||
if (entry)
|
||||
{
|
||||
|
|
@ -1047,10 +1158,10 @@ LLViewerRegion::eCacheUpdateResult LLViewerRegion::cacheFullUpdate(LLViewerObjec
|
|||
}
|
||||
|
||||
// Update the cache entry
|
||||
mCacheMap.erase(local_id);
|
||||
mImpl->mCacheMap.erase(local_id);
|
||||
delete entry;
|
||||
entry = new LLVOCacheEntry(local_id, crc, dp);
|
||||
mCacheMap[local_id] = entry;
|
||||
mImpl->mCacheMap[local_id] = entry;
|
||||
return CACHE_UPDATE_CHANGED;
|
||||
}
|
||||
|
||||
|
|
@ -1058,15 +1169,15 @@ LLViewerRegion::eCacheUpdateResult LLViewerRegion::cacheFullUpdate(LLViewerObjec
|
|||
|
||||
// Create new entry and add to map
|
||||
eCacheUpdateResult result = CACHE_UPDATE_ADDED;
|
||||
if (mCacheMap.size() > MAX_OBJECT_CACHE_ENTRIES)
|
||||
if (mImpl->mCacheMap.size() > MAX_OBJECT_CACHE_ENTRIES)
|
||||
{
|
||||
mCacheMap.erase(mCacheMap.begin());
|
||||
mImpl->mCacheMap.erase(mImpl->mCacheMap.begin());
|
||||
result = CACHE_UPDATE_REPLACED;
|
||||
|
||||
}
|
||||
entry = new LLVOCacheEntry(local_id, crc, dp);
|
||||
|
||||
mCacheMap[local_id] = entry;
|
||||
mImpl->mCacheMap[local_id] = entry;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
@ -1076,7 +1187,7 @@ LLDataPacker *LLViewerRegion::getDP(U32 local_id, U32 crc, U8 &cache_miss_type)
|
|||
{
|
||||
llassert(mCacheLoaded);
|
||||
|
||||
LLVOCacheEntry* entry = get_if_there(mCacheMap, local_id, (LLVOCacheEntry*)NULL);
|
||||
LLVOCacheEntry* entry = get_if_there(mImpl->mCacheMap, local_id, (LLVOCacheEntry*)NULL);
|
||||
|
||||
if (entry)
|
||||
{
|
||||
|
|
@ -1203,7 +1314,7 @@ void LLViewerRegion::dumpCache()
|
|||
}
|
||||
|
||||
LLVOCacheEntry *entry;
|
||||
for(LLVOCacheEntry::vocache_entry_map_t::iterator iter = mCacheMap.begin(); iter != mCacheMap.end(); ++iter)
|
||||
for(LLVOCacheEntry::vocache_entry_map_t::iterator iter = mImpl->mCacheMap.begin(); iter != mImpl->mCacheMap.end(); ++iter)
|
||||
{
|
||||
entry = iter->second ;
|
||||
|
||||
|
|
@ -1217,7 +1328,7 @@ void LLViewerRegion::dumpCache()
|
|||
change_bin[changes]++;
|
||||
}
|
||||
|
||||
llinfos << "Count " << mCacheMap.size() << llendl;
|
||||
llinfos << "Count " << mImpl->mCacheMap.size() << llendl;
|
||||
for (i = 0; i < BINS; i++)
|
||||
{
|
||||
llinfos << "Hits " << i << " " << hit_bin[i] << llendl;
|
||||
|
|
@ -1360,10 +1471,10 @@ void LLViewerRegion::setSeedCapability(const std::string& url)
|
|||
return;
|
||||
}
|
||||
|
||||
delete mEventPoll;
|
||||
mEventPoll = NULL;
|
||||
delete mImpl->mEventPoll;
|
||||
mImpl->mEventPoll = NULL;
|
||||
|
||||
mCapabilities.clear();
|
||||
mImpl->mCapabilities.clear();
|
||||
setCapability("Seed", url);
|
||||
|
||||
LLSD capabilityNames = LLSD::emptyArray();
|
||||
|
|
@ -1430,25 +1541,25 @@ void LLViewerRegion::setSeedCapability(const std::string& url)
|
|||
|
||||
llinfos << "posting to seed " << url << llendl;
|
||||
|
||||
mHttpResponderPtr = BaseCapabilitiesComplete::build(this) ;
|
||||
LLHTTPClient::post(url, capabilityNames, mHttpResponderPtr);
|
||||
mImpl->mHttpResponderPtr = BaseCapabilitiesComplete::build(this) ;
|
||||
LLHTTPClient::post(url, capabilityNames, mImpl->mHttpResponderPtr);
|
||||
}
|
||||
|
||||
void LLViewerRegion::setCapability(const std::string& name, const std::string& url)
|
||||
{
|
||||
if(name == "EventQueueGet")
|
||||
{
|
||||
delete mEventPoll;
|
||||
mEventPoll = NULL;
|
||||
mEventPoll = new LLEventPoll(url, getHost());
|
||||
delete mImpl->mEventPoll;
|
||||
mImpl->mEventPoll = NULL;
|
||||
mImpl->mEventPoll = new LLEventPoll(url, getHost());
|
||||
}
|
||||
else if(name == "UntrustedSimulatorMessage")
|
||||
{
|
||||
LLHTTPSender::setSender(mHost, new LLCapHTTPSender(url));
|
||||
LLHTTPSender::setSender(mImpl->mHost, new LLCapHTTPSender(url));
|
||||
}
|
||||
else
|
||||
{
|
||||
mCapabilities[name] = url;
|
||||
mImpl->mCapabilities[name] = url;
|
||||
if(name == "GetTexture")
|
||||
{
|
||||
mHttpUrl = url ;
|
||||
|
|
@ -1463,8 +1574,8 @@ bool LLViewerRegion::isSpecialCapabilityName(const std::string &name)
|
|||
|
||||
std::string LLViewerRegion::getCapability(const std::string& name) const
|
||||
{
|
||||
CapabilityMap::const_iterator iter = mCapabilities.find(name);
|
||||
if(iter == mCapabilities.end())
|
||||
CapabilityMap::const_iterator iter = mImpl->mCapabilities.find(name);
|
||||
if(iter == mImpl->mCapabilities.end())
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
|
@ -1485,7 +1596,7 @@ void LLViewerRegion::logActiveCapabilities() const
|
|||
{
|
||||
int count = 0;
|
||||
CapabilityMap::const_iterator iter;
|
||||
for (iter = mCapabilities.begin(); iter != mCapabilities.end(); iter++, count++)
|
||||
for (iter = mImpl->mCapabilities.begin(); iter != mImpl->mCapabilities.end(); ++iter, ++count)
|
||||
{
|
||||
if (!iter->second.empty())
|
||||
{
|
||||
|
|
@ -1497,9 +1608,9 @@ void LLViewerRegion::logActiveCapabilities() const
|
|||
|
||||
LLSpatialPartition* LLViewerRegion::getSpatialPartition(U32 type)
|
||||
{
|
||||
if (type < mObjectPartition.size())
|
||||
if (type < mImpl->mObjectPartition.size())
|
||||
{
|
||||
return mObjectPartition[type];
|
||||
return mImpl->mObjectPartition[type];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,20 +33,16 @@
|
|||
|
||||
#include "lldarray.h"
|
||||
#include "llwind.h"
|
||||
#include "llbbox.h"
|
||||
#include "llcloud.h"
|
||||
#include "llstat.h"
|
||||
#include "v3dmath.h"
|
||||
#include "llhost.h"
|
||||
#include "llstring.h"
|
||||
#include "llregionflags.h"
|
||||
#include "lluuid.h"
|
||||
#include "lldatapacker.h"
|
||||
#include "llvocache.h"
|
||||
#include "llweb.h"
|
||||
#include "llcapabilityprovider.h"
|
||||
#include "llcapabilitylistener.h"
|
||||
#include "m4math.h" // LLMatrix4
|
||||
#include "llhttpclient.h"
|
||||
|
||||
// Surface id's
|
||||
#define LAND 1
|
||||
|
|
@ -65,6 +61,13 @@ class LLVOCache;
|
|||
class LLVOCacheEntry;
|
||||
class LLSpatialPartition;
|
||||
class LLEventPump;
|
||||
class LLCapabilityListener;
|
||||
class LLDataPacker;
|
||||
class LLDataPackerBinaryBuffer;
|
||||
class LLHost;
|
||||
class LLBBox;
|
||||
|
||||
class LLViewerRegionImpl;
|
||||
|
||||
class LLViewerRegion: public LLCapabilityProvider // implements this interface
|
||||
{
|
||||
|
|
@ -159,19 +162,19 @@ public:
|
|||
F32 getTimeDilation() const { return mTimeDilation; }
|
||||
|
||||
// Origin height is at zero.
|
||||
const LLVector3d &getOriginGlobal() const { return mOriginGlobal; }
|
||||
const LLVector3d &getOriginGlobal() const;
|
||||
LLVector3 getOriginAgent() const;
|
||||
|
||||
// Center is at the height of the water table.
|
||||
const LLVector3d &getCenterGlobal() const { return mCenterGlobal; }
|
||||
const LLVector3d &getCenterGlobal() const;
|
||||
LLVector3 getCenterAgent() const;
|
||||
|
||||
void setRegionNameAndZone(const std::string& name_and_zone);
|
||||
const std::string& getName() const { return mName; }
|
||||
const std::string& getZoning() const { return mZoning; }
|
||||
|
||||
void setOwner(const LLUUID& owner_id) { mOwnerID = owner_id; }
|
||||
const LLUUID& getOwner() const { return mOwnerID; }
|
||||
void setOwner(const LLUUID& owner_id);
|
||||
const LLUUID& getOwner() const;
|
||||
|
||||
// Is the current agent on the estate manager list for this region?
|
||||
void setIsEstateManager(BOOL b) { mIsEstateManager = b; }
|
||||
|
|
@ -206,7 +209,7 @@ public:
|
|||
// can process the message.
|
||||
static void processRegionInfo(LLMessageSystem* msg, void**);
|
||||
|
||||
void setCacheID(const LLUUID& id) { mCacheID = id; }
|
||||
void setCacheID(const LLUUID& id);
|
||||
|
||||
F32 getWidth() const { return mWidth; }
|
||||
|
||||
|
|
@ -222,8 +225,8 @@ public:
|
|||
|
||||
U32 getPacketsLost() const;
|
||||
|
||||
void setHttpResponderPtrNULL() {mHttpResponderPtr = NULL ;}
|
||||
const LLHTTPClient::ResponderPtr getHttpResponderPtr() const {return mHttpResponderPtr ;}
|
||||
void setHttpResponderPtrNULL();
|
||||
const LLHTTPClient::ResponderPtr getHttpResponderPtr() const;
|
||||
|
||||
// Get/set named capability URLs for this region.
|
||||
void setSeedCapability(const std::string& url);
|
||||
|
|
@ -238,21 +241,19 @@ public:
|
|||
static bool isSpecialCapabilityName(const std::string &name);
|
||||
void logActiveCapabilities() const;
|
||||
|
||||
/// Capability-request exception
|
||||
typedef LLCapabilityListener::ArgError ArgError;
|
||||
/// Get LLEventPump on which we listen for capability requests
|
||||
/// (https://wiki.lindenlab.com/wiki/Viewer:Messaging/Messaging_Notes#Capabilities)
|
||||
LLEventPump& getCapAPI() { return mCapabilityListener.getCapAPI(); }
|
||||
LLEventPump& getCapAPI() const;
|
||||
|
||||
/// implements LLCapabilityProvider
|
||||
/*virtual*/ const LLHost& getHost() const;
|
||||
const U64 &getHandle() const { return mHandle; }
|
||||
|
||||
LLSurface &getLand() const { return *mLandp; }
|
||||
LLSurface &getLand() const;
|
||||
|
||||
// set and get the region id
|
||||
const LLUUID& getRegionID() const { return mRegionID; }
|
||||
void setRegionID(const LLUUID& region_id) { mRegionID = region_id; }
|
||||
const LLUUID& getRegionID() const;
|
||||
void setRegionID(const LLUUID& region_id);
|
||||
|
||||
BOOL pointInRegionGlobal(const LLVector3d &point_global) const;
|
||||
LLVector3 getPosRegionFromGlobal(const LLVector3d &point_global) const;
|
||||
|
|
@ -260,7 +261,7 @@ public:
|
|||
LLVector3 getPosAgentFromRegion(const LLVector3 ®ion_pos) const;
|
||||
LLVector3d getPosGlobalFromRegion(const LLVector3 &offset) const;
|
||||
|
||||
LLVLComposition *getComposition() const { return mCompositionp; }
|
||||
LLVLComposition *getComposition() const;
|
||||
F32 getCompositionXY(const S32 x, const S32 y) const;
|
||||
|
||||
BOOL isOwnedSelf(const LLVector3& pos);
|
||||
|
|
@ -347,34 +348,19 @@ public:
|
|||
LLDynamicArray<LLUUID> mMapAvatarIDs;
|
||||
|
||||
private:
|
||||
// The surfaces and other layers
|
||||
LLSurface* mLandp;
|
||||
LLViewerRegionImpl * mImpl;
|
||||
|
||||
// Region geometry data
|
||||
LLVector3d mOriginGlobal; // Location of southwest corner of region (meters)
|
||||
LLVector3d mCenterGlobal; // Location of center in world space (meters)
|
||||
F32 mWidth; // Width of region on a side (meters)
|
||||
|
||||
U64 mHandle;
|
||||
LLHost mHost;
|
||||
|
||||
// The unique ID for this region.
|
||||
LLUUID mRegionID;
|
||||
|
||||
F32 mTimeDilation; // time dilation of physics simulation on simulator
|
||||
|
||||
// simulator name
|
||||
std::string mName;
|
||||
std::string mZoning;
|
||||
|
||||
// region/estate owner - usually null.
|
||||
LLUUID mOwnerID;
|
||||
|
||||
// Is this agent on the estate managers list for this region?
|
||||
BOOL mIsEstateManager;
|
||||
|
||||
// Network statistics for the region's circuit...
|
||||
LLTimer mLastNetUpdate;
|
||||
U32 mPacketsIn;
|
||||
U32 mBitsIn;
|
||||
U32 mLastBitsIn;
|
||||
|
|
@ -386,9 +372,6 @@ private:
|
|||
U32 mPingDelay;
|
||||
F32 mDeltaTime; // Time since last measurement of lastPackets, Bits, etc
|
||||
|
||||
// Misc
|
||||
LLVLComposition *mCompositionp; // Composition layer for the surface
|
||||
|
||||
U32 mRegionFlags; // includes damage flags
|
||||
U8 mSimAccess;
|
||||
F32 mBillableFactor;
|
||||
|
|
@ -398,46 +381,24 @@ private:
|
|||
// Information for Homestead / CR-53
|
||||
S32 mClassID;
|
||||
S32 mCPURatio;
|
||||
|
||||
std::string mColoName;
|
||||
std::string mProductSKU;
|
||||
std::string mProductName;
|
||||
std::string mHttpUrl ;
|
||||
|
||||
|
||||
// Maps local ids to cache entries.
|
||||
// Regions can have order 10,000 objects, so assume
|
||||
// a structure of size 2^14 = 16,000
|
||||
BOOL mCacheLoaded;
|
||||
BOOL mCacheDirty;
|
||||
LLVOCacheEntry::vocache_entry_map_t mCacheMap;
|
||||
|
||||
LLDynamicArray<U32> mCacheMissFull;
|
||||
LLDynamicArray<U32> mCacheMissCRC;
|
||||
// time?
|
||||
// LRU info?
|
||||
|
||||
// Cache ID is unique per-region, across renames, moving locations,
|
||||
// etc.
|
||||
LLUUID mCacheID;
|
||||
|
||||
typedef std::map<std::string, std::string> CapabilityMap;
|
||||
CapabilityMap mCapabilities;
|
||||
|
||||
LLEventPoll* mEventPoll;
|
||||
|
||||
/// Post an event to this LLCapabilityListener to invoke a capability message on
|
||||
/// this LLViewerRegion's server
|
||||
/// (https://wiki.lindenlab.com/wiki/Viewer:Messaging/Messaging_Notes#Capabilities)
|
||||
LLCapabilityListener mCapabilityListener;
|
||||
|
||||
private:
|
||||
bool mAlive; // can become false if circuit disconnects
|
||||
bool mCapabilitiesReceived;
|
||||
|
||||
//spatial partitions for objects in this region
|
||||
std::vector<LLSpatialPartition*> mObjectPartition;
|
||||
|
||||
LLHTTPClient::ResponderPtr mHttpResponderPtr ;
|
||||
|
||||
BOOL mReleaseNotesRequested;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -212,24 +212,24 @@ class LLUIImageList : public LLImageProviderInterface, public LLSingleton<LLUIIm
|
|||
{
|
||||
public:
|
||||
// LLImageProviderInterface
|
||||
/*virtual*/ LLUIImagePtr getUIImageByID(const LLUUID& id, S32 priority);
|
||||
/*virtual*/ LLUIImagePtr getUIImage(const std::string& name, S32 priority);
|
||||
/*virtual*/ LLPointer<LLUIImage> getUIImageByID(const LLUUID& id, S32 priority);
|
||||
/*virtual*/ LLPointer<LLUIImage> getUIImage(const std::string& name, S32 priority);
|
||||
void cleanUp();
|
||||
|
||||
bool initFromFile();
|
||||
|
||||
LLUIImagePtr preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect);
|
||||
LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect);
|
||||
|
||||
static void onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata );
|
||||
private:
|
||||
LLUIImagePtr loadUIImageByName(const std::string& name, const std::string& filename,
|
||||
LLPointer<LLUIImage> loadUIImageByName(const std::string& name, const std::string& filename,
|
||||
BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null,
|
||||
LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI);
|
||||
LLUIImagePtr loadUIImageByID(const LLUUID& id,
|
||||
LLPointer<LLUIImage> loadUIImageByID(const LLUUID& id,
|
||||
BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null,
|
||||
LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI);
|
||||
|
||||
LLUIImagePtr loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null);
|
||||
LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null);
|
||||
|
||||
|
||||
struct LLUIImageLoadData
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@
|
|||
#include "lltooltip.h"
|
||||
#include "llmediaentry.h"
|
||||
#include "llurldispatcher.h"
|
||||
#include "raytrace.h"
|
||||
|
||||
// newview includes
|
||||
#include "llagent.h"
|
||||
|
|
@ -234,17 +235,12 @@ BOOL gDisplayCameraPos = FALSE;
|
|||
BOOL gDisplayFOV = FALSE;
|
||||
BOOL gDisplayBadge = FALSE;
|
||||
|
||||
S32 CHAT_BAR_HEIGHT = 28;
|
||||
S32 OVERLAY_BAR_HEIGHT = 20;
|
||||
|
||||
const U8 NO_FACE = 255;
|
||||
static const U8 NO_FACE = 255;
|
||||
BOOL gQuietSnapshot = FALSE;
|
||||
|
||||
const F32 MIN_AFK_TIME = 2.f; // minimum time after setting away state before coming back
|
||||
const F32 MAX_FAST_FRAME_TIME = 0.5f;
|
||||
const F32 FAST_FRAME_INCREMENT = 0.1f;
|
||||
|
||||
const F32 MIN_DISPLAY_SCALE = 0.75f;
|
||||
static const F32 MIN_DISPLAY_SCALE = 0.75f;
|
||||
|
||||
std::string LLViewerWindow::sSnapshotBaseName;
|
||||
std::string LLViewerWindow::sSnapshotDir;
|
||||
|
|
|
|||
|
|
@ -38,13 +38,12 @@
|
|||
|
||||
#include "v3dmath.h"
|
||||
#include "v2math.h"
|
||||
#include "llcursortypes.h"
|
||||
#include "llwindowcallbacks.h"
|
||||
#include "lltimer.h"
|
||||
#include "llstat.h"
|
||||
#include "llmousehandler.h"
|
||||
#include "llcursortypes.h"
|
||||
#include "llhandle.h"
|
||||
#include "llimage.h"
|
||||
|
||||
#include <boost/function.hpp>
|
||||
#include <boost/signals2.hpp>
|
||||
|
|
@ -59,6 +58,7 @@ class LLTool;
|
|||
class LLVelocityBar;
|
||||
class LLPanel;
|
||||
class LLImageRaw;
|
||||
class LLImageFormatted;
|
||||
class LLHUDIcon;
|
||||
class LLWindow;
|
||||
class LLRootView;
|
||||
|
|
@ -465,12 +465,6 @@ private:
|
|||
LLPointer<LLViewerObject> mDragHoveredObject;
|
||||
};
|
||||
|
||||
void toggle_flying(void*);
|
||||
void toggle_first_person();
|
||||
void toggle_build(void*);
|
||||
void reset_viewer_state_on_sim(void);
|
||||
void update_saved_window_size(const std::string& control,S32 delta_width, S32 delta_height);
|
||||
|
||||
//
|
||||
// Globals
|
||||
//
|
||||
|
|
@ -487,8 +481,6 @@ extern LLVector3 gDebugRaycastNormal;
|
|||
extern LLVector3 gDebugRaycastBinormal;
|
||||
extern S32 gDebugRaycastFaceHit;
|
||||
|
||||
extern S32 CHAT_BAR_HEIGHT;
|
||||
|
||||
extern BOOL gDisplayCameraPos;
|
||||
extern BOOL gDisplayWindInfo;
|
||||
extern BOOL gDisplayFOV;
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@
|
|||
#include <ctype.h>
|
||||
|
||||
#include "llaudioengine.h"
|
||||
#include "llcachename.h"
|
||||
#include "noise.h"
|
||||
#include "sound_ids.h"
|
||||
#include "raytrace.h"
|
||||
|
||||
#include "llagent.h" // Get state values from here
|
||||
#include "llagentcamera.h"
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
#include "pipeline.h"
|
||||
#include "llspatialpartition.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "raytrace.h"
|
||||
|
||||
extern LLPipeline gPipeline;
|
||||
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@
|
|||
#include "llmediadataclient.h"
|
||||
#include "llagent.h"
|
||||
#include "llviewermediafocus.h"
|
||||
#include "lldatapacker.h"
|
||||
#include "llvocache.h"
|
||||
|
||||
const S32 MIN_QUIET_FRAMES_COALESCE = 30;
|
||||
const F32 FORCE_SIMPLE_RENDER_AREA = 512.f;
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@
|
|||
#include "llviewerstats.h"
|
||||
#include "llvlcomposition.h"
|
||||
#include "llvoavatar.h"
|
||||
#include "llvocache.h"
|
||||
#include "llvowater.h"
|
||||
#include "message.h"
|
||||
#include "pipeline.h"
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
#include "llurlentry.h"
|
||||
|
||||
namespace {
|
||||
LLControlGroup s_saved_settings("dummy_settings");
|
||||
const LLUUID TEST_PARCEL_ID("11111111-1111-1111-1111-111111111111");
|
||||
}
|
||||
|
||||
|
|
@ -64,13 +63,12 @@ LLMessageSystem * gMessageSystem;
|
|||
char const* const _PREHASH_AgentID = 0; // never dereferenced during this test
|
||||
char const* const _PREHASH_AgentData = 0; // never dereferenced during this test
|
||||
LLAgent gAgent;
|
||||
LLAgent::LLAgent() : mAgentAccess(s_saved_settings) { }
|
||||
LLAgent::LLAgent() : mAgentAccess(NULL) { }
|
||||
LLAgent::~LLAgent() { }
|
||||
void LLAgent::sendReliableMessage(void) { }
|
||||
LLUUID gAgentSessionID;
|
||||
LLUUID gAgentID;
|
||||
LLUIColor::LLUIColor(void) { }
|
||||
LLAgentAccess::LLAgentAccess(LLControlGroup & settings) : mSavedSettings(settings) { }
|
||||
LLControlGroup::LLControlGroup(std::string const & name) : LLInstanceTracker<LLControlGroup, std::string>(name) { }
|
||||
LLControlGroup::~LLControlGroup(void) { }
|
||||
void LLUrlEntryParcel::processParcelInfo(const LLUrlEntryParcel::LLParcelData& parcel_data) { }
|
||||
|
|
|
|||
|
|
@ -73,11 +73,9 @@ static void substitute_string(std::string &input, const std::string &search, con
|
|||
}
|
||||
|
||||
#include "../llagent.h"
|
||||
LLAgent::LLAgent() : mAgentAccess(gSavedSettings) { }
|
||||
LLAgent::LLAgent() : mAgentAccess(NULL) { }
|
||||
LLAgent::~LLAgent() { }
|
||||
bool LLAgent::isGodlike() const { return FALSE; }
|
||||
LLAgentAccess::LLAgentAccess(LLControlGroup& settings) : mSavedSettings(settings) { }
|
||||
LLUIColor::LLUIColor() {}
|
||||
|
||||
LLAgent gAgent;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue