summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatergodtools.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloatergodtools.cpp')
-rwxr-xr-x[-rw-r--r--]indra/newview/llfloatergodtools.cpp56
1 files changed, 31 insertions, 25 deletions
diff --git a/indra/newview/llfloatergodtools.cpp b/indra/newview/llfloatergodtools.cpp
index 38abdcc830..37774fbc5c 100644..100755
--- a/indra/newview/llfloatergodtools.cpp
+++ b/indra/newview/llfloatergodtools.cpp
@@ -164,9 +164,9 @@ LLFloaterGodTools::~LLFloaterGodTools()
}
-U32 LLFloaterGodTools::computeRegionFlags() const
+U64 LLFloaterGodTools::computeRegionFlags() const
{
- U32 flags = gAgent.getRegion()->getRegionFlags();
+ U64 flags = gAgent.getRegion()->getRegionFlags();
if (mPanelRegionTools) flags = mPanelRegionTools->computeRegionFlags(flags);
if (mPanelObjectTools) flags = mPanelObjectTools->computeRegionFlags(flags);
return flags;
@@ -210,7 +210,7 @@ void LLFloaterGodTools::processRegionInfo(LLMessageSystem* msg)
if (!msg) return;
//const S32 SIM_NAME_BUF = 256;
- U32 region_flags;
+ U64 region_flags;
U8 sim_access;
U8 agent_limit;
std::string sim_name;
@@ -231,13 +231,23 @@ void LLFloaterGodTools::processRegionInfo(LLMessageSystem* msg)
msg->getStringFast(_PREHASH_RegionInfo, _PREHASH_SimName, sim_name);
msg->getU32Fast(_PREHASH_RegionInfo, _PREHASH_EstateID, estate_id);
msg->getU32Fast(_PREHASH_RegionInfo, _PREHASH_ParentEstateID, parent_estate_id);
- msg->getU32Fast(_PREHASH_RegionInfo, _PREHASH_RegionFlags, region_flags);
msg->getU8Fast(_PREHASH_RegionInfo, _PREHASH_SimAccess, sim_access);
msg->getU8Fast(_PREHASH_RegionInfo, _PREHASH_MaxAgents, agent_limit);
msg->getF32Fast(_PREHASH_RegionInfo, _PREHASH_ObjectBonusFactor, object_bonus_factor);
msg->getF32Fast(_PREHASH_RegionInfo, _PREHASH_BillableFactor, billable_factor);
msg->getF32Fast(_PREHASH_RegionInfo, _PREHASH_WaterHeight, water_height);
+ if (msg->has(_PREHASH_RegionInfo3))
+ {
+ msg->getU64Fast(_PREHASH_RegionInfo3, _PREHASH_RegionFlagsExtended, region_flags);
+ }
+ else
+ {
+ U32 flags = 0;
+ msg->getU32Fast(_PREHASH_RegionInfo, _PREHASH_RegionFlags, flags);
+ region_flags = flags;
+ }
+
if (host != gAgent.getRegionHost())
{
// Update is for a different region than the one we're in.
@@ -341,6 +351,7 @@ void LLFloaterGodTools::sendGodUpdateRegionInfo()
LLMessageSystem *msg = gMessageSystem;
LLPanelRegionTools *rtool = god_tools->mPanelRegionTools;
+ U64 region_flags = computeRegionFlags();
msg->newMessage("GodUpdateRegionInfo");
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
@@ -349,11 +360,14 @@ void LLFloaterGodTools::sendGodUpdateRegionInfo()
msg->addStringFast(_PREHASH_SimName, rtool->getSimName());
msg->addU32Fast(_PREHASH_EstateID, rtool->getEstateID());
msg->addU32Fast(_PREHASH_ParentEstateID, rtool->getParentEstateID());
- msg->addU32Fast(_PREHASH_RegionFlags, computeRegionFlags());
+ // Legacy flags
+ msg->addU32Fast(_PREHASH_RegionFlags, U32(region_flags));
msg->addF32Fast(_PREHASH_BillableFactor, rtool->getBillableFactor());
msg->addS32Fast(_PREHASH_PricePerMeter, rtool->getPricePerMeter());
msg->addS32Fast(_PREHASH_RedirectGridX, rtool->getRedirectGridX());
msg->addS32Fast(_PREHASH_RedirectGridY, rtool->getRedirectGridY());
+ msg->nextBlockFast(_PREHASH_RegionInfo2);
+ msg->addU64Fast(_PREHASH_RegionFlagsExtended, region_flags);
gAgent.sendReliableMessage();
}
@@ -387,14 +401,9 @@ void LLFloaterGodTools::sendGodUpdateRegionInfo()
// Floats because spinners only support floats. JC
const F32 BILLABLE_FACTOR_DEFAULT = 1;
-const F32 BILLABLE_FACTOR_MIN = 0.0f;
-const F32 BILLABLE_FACTOR_MAX = 4.f;
// floats because spinners only understand floats. JC
const F32 PRICE_PER_METER_DEFAULT = 1.f;
-const F32 PRICE_PER_METER_MIN = 0.f;
-const F32 PRICE_PER_METER_MAX = 100.f;
-
LLPanelRegionTools::LLPanelRegionTools()
: LLPanel()
@@ -434,7 +443,7 @@ LLPanelRegionTools::~LLPanelRegionTools()
// base class will take care of everything
}
-U32 LLPanelRegionTools::computeRegionFlags(U32 flags) const
+U64 LLPanelRegionTools::computeRegionFlags(U64 flags) const
{
flags &= getRegionFlagsMask();
flags |= getRegionFlags();
@@ -562,9 +571,9 @@ S32 LLPanelRegionTools::getGridPosY() const
return getChild<LLUICtrl>("gridposy")->getValue().asInteger();
}
-U32 LLPanelRegionTools::getRegionFlags() const
+U64 LLPanelRegionTools::getRegionFlags() const
{
- U32 flags = 0x0;
+ U64 flags = 0x0;
flags = getChild<LLUICtrl>("check prelude")->getValue().asBoolean()
? set_prelude_flags(flags)
: unset_prelude_flags(flags);
@@ -601,9 +610,9 @@ U32 LLPanelRegionTools::getRegionFlags() const
return flags;
}
-U32 LLPanelRegionTools::getRegionFlagsMask() const
+U64 LLPanelRegionTools::getRegionFlagsMask() const
{
- U32 flags = 0xffffffff;
+ U64 flags = 0xFFFFFFFFFFFFFFFFULL;
flags = getChild<LLUICtrl>("check prelude")->getValue().asBoolean()
? set_prelude_flags(flags)
: unset_prelude_flags(flags);
@@ -684,7 +693,7 @@ void LLPanelRegionTools::setParentEstateID(U32 id)
getChild<LLUICtrl>("parentestate")->setValue((S32)id);
}
-void LLPanelRegionTools::setCheckFlags(U32 flags)
+void LLPanelRegionTools::setCheckFlags(U64 flags)
{
getChild<LLUICtrl>("check prelude")->setValue(is_prelude(flags) ? TRUE : FALSE);
getChild<LLUICtrl>("check fixed sun")->setValue(flags & REGION_FLAGS_SUN_FIXED ? TRUE : FALSE);
@@ -782,7 +791,7 @@ void LLPanelRegionTools::onSwapTerrain()
void LLPanelRegionTools::onSelectRegion()
{
- llinfos << "LLPanelRegionTools::onSelectRegion" << llendl;
+ LL_INFOS() << "LLPanelRegionTools::onSelectRegion" << LL_ENDL;
LLViewerRegion *regionp = LLWorld::getInstance()->getRegionFromPosGlobal(gAgent.getPositionGlobal());
if (!regionp)
@@ -819,9 +828,6 @@ void LLPanelRegionTools::onSelectRegion()
// ^ ^ ^
// LEFT R2 RIGHT
-const F32 HOURS_TO_RADIANS = (2.f*F_PI)/24.f;
-
-
LLPanelGridTools::LLPanelGridTools() :
LLPanel()
{
@@ -943,7 +949,7 @@ void LLPanelObjectTools::refresh()
}
-U32 LLPanelObjectTools::computeRegionFlags(U32 flags) const
+U64 LLPanelObjectTools::computeRegionFlags(U64 flags) const
{
if (getChild<LLUICtrl>("disable scripts")->getValue().asBoolean())
{
@@ -973,7 +979,7 @@ U32 LLPanelObjectTools::computeRegionFlags(U32 flags) const
}
-void LLPanelObjectTools::setCheckFlags(U32 flags)
+void LLPanelObjectTools::setCheckFlags(U64 flags)
{
getChild<LLUICtrl>("disable scripts")->setValue(flags & REGION_FLAGS_SKIP_SCRIPTS ? TRUE : FALSE);
getChild<LLUICtrl>("disable collisions")->setValue(flags & REGION_FLAGS_SKIP_COLLISIONS ? TRUE : FALSE);
@@ -1248,8 +1254,8 @@ void LLPanelRequestTools::sendRequest(const std::string& request,
const std::string& parameter,
const LLHost& host)
{
- llinfos << "Sending request '" << request << "', '"
- << parameter << "' to " << host << llendl;
+ LL_INFOS() << "Sending request '" << request << "', '"
+ << parameter << "' to " << host << LL_ENDL;
LLMessageSystem* msg = gMessageSystem;
msg->newMessage("GodlikeMessage");
msg->nextBlockFast(_PREHASH_AgentData);
@@ -1302,7 +1308,7 @@ void terrain_download_done(void** data, S32 status, LLExtStat ext_status)
void test_callback(const LLTSCode status)
{
- llinfos << "Test transfer callback returned!" << llendl;
+ LL_INFOS() << "Test transfer callback returned!" << LL_ENDL;
}