Includes:
MAINT-3541 (crash in std::vector >::reserve)
MAINT-3364 FIXED Call clearSelection() from root_folder
MAINT-3621 FIXED Set name to "Unnamed" if object's name consists of whitespaces.
MAINT-3412 add gpu_table line with distinct Intel Iris Pro OpenGL regex to match new MBP with forced Intel graphics
MAINT-3119 FIXED Return common chars for triggers that matches the prefix.
MAINT-3661 Fix for crash when uploading corrupt .dae file.
MAINT-3671 FIXED Rename title when new tab is added.
MAINT-3465 FIXED Add check mark to selected entry.
BUG-5537 FIX reverting breaking changes to pectorals and belly.
MAINT-535 FIXED The teleport SLAPP is changed to UNTRUSTED_THROTTLE. Confirmation dialog for teleporting via slapp is added.
This commit is contained in:
Inusaito Sayori
2014-07-11 09:31:51 -04:00
parent e7c506c6ec
commit bc8947289b
27 changed files with 237 additions and 88 deletions

View File

@@ -91,15 +91,17 @@ void LLTemplateMessageReader::getData(const char *blockname, const char *varname
}
LLMsgBlkData *msg_block_data = iter->second;
LLMsgVarData& vardata = msg_block_data->mMemberVarData[vnamep];
LLMsgBlkData::msg_var_data_map_t &var_data_map = msg_block_data->mMemberVarData;
if (!vardata.getName())
if (var_data_map.find(vnamep) == var_data_map.end())
{
llerrs << "Variable "<< vnamep << " not in message "
<< mCurrentRMessageData->mName<< " block " << bnamep << llendl;
return;
}
LLMsgVarData& vardata = msg_block_data->mMemberVarData[vnamep];
if (size && size != vardata.getSize())
{
llerrs << "Msg " << mCurrentRMessageData->mName

View File

@@ -172,6 +172,11 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa
return LLModel::BAD_ELEMENT;
}
if (!pos_source)
{
llwarns << "Unable to process mesh without position data; invalid model; invalid model." << llendl;
return LLModel::BAD_ELEMENT;
}
domPRef p = tri->getP();
domListOfUInts& idx = p->getValue();
@@ -181,19 +186,22 @@ LLModel::EModelStatus load_face_from_dom_triangles(std::vector<LLVolumeFace>& fa
domListOfFloats& tc = tc_source ? tc_source->getFloat_array()->getValue() : dummy ;
domListOfFloats& n = norm_source ? norm_source->getFloat_array()->getValue() : dummy ;
if (pos_source)
{
face.mExtents[0].set(v[0], v[1], v[2]);
face.mExtents[1].set(v[0], v[1], v[2]);
}
LLVolumeFace::VertexMapData::PointMap point_map;
U32 index_count = idx.getCount();
U32 vertex_count = pos_source ? v.getCount() : 0;
U32 tc_count = tc_source ? tc.getCount() : 0;
U32 norm_count = norm_source ? n.getCount() : 0;
if (vertex_count == 0)
{
llwarns << "Unable to process mesh with empty position array; invalid model." << llendl;
return LLModel::BAD_ELEMENT;
}
face.mExtents[0].set(v[0], v[1], v[2]);
face.mExtents[1].set(v[0], v[1], v[2]);
for (U32 i = 0; i < index_count; i += idx_stride)
{
LLVolumeFace::VertexData cv;

View File

@@ -3172,17 +3172,6 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key>
<integer>2</integer>
</map>
<key>AvatarRotateThresholdMouselook</key>
<map>
<key>Comment</key>
<string>Angle between avatar facing and camera facing at which avatar turns to face same direction as camera, when in mouselook (degrees)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>120</real>
</map>
<key>AvatarBakedTextureUploadTimeout</key>
<map>
<key>Comment</key>

View File

@@ -3563,7 +3563,7 @@
<volume_morph
name="BELLY"
scale="0.075 0.04 0.03"
pos="0.07 0 -0.02"/>
pos="0.07 0 -0.07"/>
<volume_morph
name="PELVIS"
scale="0.075 0.04 0.03"
@@ -4008,7 +4008,7 @@
label_min="Big Pectorals"
label_max="Sunken Chest"
value_default="0"
value_min="-1.0"
value_min="-0.5"
value_max="1.1"
camera_elevation=".3"
camera_distance="1.2">

View File

@@ -304,6 +304,10 @@ Intel HD Graphics 3000 .*Intel.*HD Graphics 3000.* 2 1
Intel HD Graphics 3000 .*Intel.*Sandybridge.* 2 1
Intel HD Graphics 4000 .*Intel.*HD Graphics 4000.* 2 1
Intel HD Graphics 4000 .*Intel.*Ivybridge.* 2 1
Intel Intel Iris Pro Graphics 5200 .*Intel.*Iris Pro Graphics 52.* 2 1
Intel Intel Iris Graphics 5100 .*Intel.*Iris Graphics 51.* 2 1
Intel Intel Iris OpenGL Engine .*Intel.*Iris OpenGL.* 2 1
Intel Intel Iris Pro OpenGL Engine .*Intel.*Iris Pro OpenGL.* 3 1
Intel HD Graphics 5000 .*Intel.*HD Graphics 5.* 2 1
Intel HD Graphics 5000 .*Intel.*Haswell.* 2 1
Intel HD Graphics .*Intel.*HD Graphics.* 2 1

View File

@@ -1178,7 +1178,7 @@ void LLAgentCamera::updateCamera()
validateFocusObject();
bool realistic_ml(gSavedSettings.getBOOL("UseRealisticMouselook"));
static const LLCachedControl<bool> realistic_ml("UseRealisticMouselook");
if (isAgentAvatarValid() &&
!realistic_ml &&
gAgentAvatarp->isSitting() &&
@@ -1492,16 +1492,14 @@ void LLAgentCamera::updateCamera()
if (realistic_ml)
{
LLQuaternion agent_rot(gAgent.getFrameAgent().getQuaternion());
if (isAgentAvatarValid())
if (static_cast<LLViewerObject*>(gAgentAvatarp->getRoot())->flagCameraDecoupled())
if (LLViewerObject* parent = static_cast<LLViewerObject*>(gAgentAvatarp->getParent()))
if (static_cast<LLViewerObject*>(gAgentAvatarp->getRoot())->flagCameraDecoupled())
agent_rot *= parent->getRenderRotation();
agent_rot *= parent->getRenderRotation();
LLViewerCamera::getInstance()->updateCameraLocation(head_pos, mCameraUpVector, gAgentAvatarp->mHeadp->getWorldPosition() + LLVector3(1.0, 0.0, 0.0) * agent_rot);
}
else
{
LLVector3 diff = mCameraPositionAgent - head_pos;
diff = diff * ~gAgentAvatarp->mRoot->getWorldRotation();
const LLVector3 diff = (mCameraPositionAgent - head_pos) * ~gAgentAvatarp->mRoot->getWorldRotation();
gAgentAvatarp->mPelvisp->setPosition(gAgentAvatarp->mPelvisp->getPosition() + diff);
}

View File

@@ -1358,6 +1358,7 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str)
{
S32 in_len = in_str.length();
//return whole trigger, if received text equals to it
item_map_t::iterator it;
for (it = mActive.begin(); it != mActive.end(); ++it)
{
@@ -1365,7 +1366,24 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str)
if (gesture)
{
const std::string& trigger = gesture->getTrigger();
if (!LLStringUtil::compareInsensitive(in_str, trigger))
{
*out_str = trigger;
return TRUE;
}
}
}
//return common chars, if more than one trigger matches the prefix
std::string rest_of_match = "";
std::string buf = "";
for (it = mActive.begin(); it != mActive.end(); ++it)
{
LLMultiGesture* gesture = (*it).second;
if (gesture)
{
const std::string& trigger = gesture->getTrigger();
if (in_len > (S32)trigger.length())
{
// too short, bail out
@@ -1376,8 +1394,39 @@ BOOL LLGestureMgr::matchPrefix(const std::string& in_str, std::string* out_str)
LLStringUtil::truncate(trigger_trunc, in_len);
if (!LLStringUtil::compareInsensitive(in_str, trigger_trunc))
{
*out_str = trigger;
return TRUE;
if (rest_of_match.compare("") == 0)
{
rest_of_match = trigger.substr(in_str.size());
}
std::string cur_rest_of_match = trigger.substr(in_str.size());
buf = "";
S32 i=0;
while (i<rest_of_match.length() && i<cur_rest_of_match.length())
{
if (rest_of_match[i]==cur_rest_of_match[i])
{
buf.push_back(rest_of_match[i]);
}
else
{
if (i==0)
{
rest_of_match = "";
}
break;
}
i++;
}
if (rest_of_match.compare("") == 0)
{
return FALSE;
}
if (buf.compare("") != 0)
{
rest_of_match = buf;
}
}
}
}

View File

@@ -609,6 +609,11 @@ void LLGroupMgrGroupData::recalcAgentPowers(const LLUUID& agent_id)
}
}
bool LLGroupMgrGroupData::isSingleMemberNotOwner()
{
return mMembers.size() == 1 && !mMembers.begin()->second->isOwner();
}
bool packRoleUpdateMessageBlock(LLMessageSystem* msg,
const LLUUID& group_id,
const LLUUID& role_id,

View File

@@ -254,6 +254,8 @@ public:
bool isRoleMemberDataComplete() { return mRoleMemberDataComplete; }
bool isGroupPropertiesDataComplete() { return mGroupPropertiesDataComplete; }
bool isSingleMemberNotOwner();
F32 getAccessTime() const { return mAccessTime; }
void setAccessed();

View File

@@ -1869,7 +1869,7 @@ void LLLiveLSLEditor::loadAsset()
mIsModifiable = item && gAgent.allowOperation(PERM_MODIFY,
item->getPermissions(),
GP_OBJECT_MANIPULATE);
refreshFromItem(item);
// This is commented out, because we don't completely
// handle script exports yet.
/*

View File

@@ -875,10 +875,7 @@ void LLIMSpeakerMgr::updateSpeakers(const LLSD& update)
}
}
}
/*prep#
virtual void errorWithContent(U32 status, const std::string& reason, const LLSD& content)
llwarns << "ModerationResponder error [status:" << status << "]: " << content << llendl;
*/
void LLIMSpeakerMgr::toggleAllowTextChat(const LLUUID& speaker_id)
{
LLPointer<LLSpeaker> speakerp = findSpeaker(speaker_id);

View File

@@ -291,7 +291,7 @@ void LLFloaterTexturePicker::setImageID(const LLUUID& image_id)
LLUUID item_id = findItemID(mImageAssetID, FALSE);
if (item_id.isNull())
{
mInventoryPanel->clearSelection();
mInventoryPanel->getRootFolder()->clearSelection();
}
else
{

View File

@@ -269,7 +269,7 @@ public:
// Teleport requests *must* come from a trusted browser
// inside the app, otherwise a malicious web page could
// cause a constant teleport loop. JC
LLTeleportHandler() : LLCommandHandler("teleport", UNTRUSTED_BLOCK) { }
LLTeleportHandler() : LLCommandHandler("teleport", UNTRUSTED_THROTTLE) { }
bool handle(const LLSD& tokens, const LLSD& query_map,
LLMediaCtrl* web)
@@ -285,19 +285,52 @@ public:
tokens[2].asReal(),
tokens[3].asReal());
}
LLSD args;
args["LOCATION"] = tokens[0];
// Region names may be %20 escaped.
std::string region_name = LLURI::unescape(tokens[0]);
LLSD payload;
payload["region_name"] = region_name;
payload["callback_url"] = LLSLURL(region_name, coords).getSLURLString();
LLNotificationsUtil::add("TeleportViaSLAPP", args, payload);
return true;
}
static void teleport_via_slapp(std::string region_name, std::string callback_url)
{
LLWorldMapMessage::getInstance()->sendNamedRegionRequest(region_name,
LLURLDispatcherImpl::regionHandleCallback,
LLSLURL(region_name, coords).getSLURLString(),
callback_url,
true); // teleport
return true;
}
static bool teleport_via_slapp_callback(const LLSD& notification, const LLSD& response)
{
S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
std::string region_name = notification["payload"]["region_name"].asString();
std::string callback_url = notification["payload"]["callback_url"].asString();
if (option == 0)
{
teleport_via_slapp(region_name, callback_url);
return true;
}
return false;
}
};
LLTeleportHandler gTeleportHandler;
static LLNotificationFunctorRegistration open_landmark_callback_reg("TeleportViaSLAPP", LLTeleportHandler::teleport_via_slapp_callback);
//---------------------------------------------------------------------------

View File

@@ -8762,6 +8762,44 @@ class LLWorldEnvSettings : public view_listener_t
}
};
class LLWorldEnableEnvSettings : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
bool result = false;
std::string tod = userdata.asString();
if (tod == "region")
{
return LLEnvManagerNew::instance().getUseRegionSettings();
}
if (LLEnvManagerNew::instance().getUseFixedSky())
{
if (tod == "sunrise")
{
result = (LLEnvManagerNew::instance().getSkyPresetName() == "Sunrise");
}
else if (tod == "noon")
{
result = (LLEnvManagerNew::instance().getSkyPresetName() == "Midday");
}
else if (tod == "sunset")
{
result = (LLEnvManagerNew::instance().getSkyPresetName() == "Sunset");
}
else if (tod == "midnight")
{
result = (LLEnvManagerNew::instance().getSkyPresetName() == "Midnight");
}
else
{
llwarns << "Unknown item" << llendl;
}
}
return result;
}
};
class SinguCloseAllDialogs : public view_listener_t
{
@@ -9292,6 +9330,7 @@ void initialize_menus()
addMenu(new LLWorldEnableTeleportHome(), "World.EnableTeleportHome");
addMenu(new LLWorldEnableBuyLand(), "World.EnableBuyLand");
(new LLWorldEnvSettings())->registerListener(gMenuHolder, "World.EnvSettings");
(new LLWorldEnableEnvSettings())->registerListener(gMenuHolder, "World.EnableEnvSettings");
// Tools menu

View File

@@ -3801,6 +3801,12 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data)
}
else
{
// make sure that we don't have an empty or all-whitespace name
LLStringUtil::trim(from_name);
if (from_name.empty())
{
from_name = LLTrans::getString("Unnamed");
}
chat.mFromName = from_name;
}

View File

@@ -4144,13 +4144,12 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)
static const LLCachedControl<F32> s_pelvis_rot_threshold_slow(gSavedSettings, "AvatarRotateThresholdSlow", 60.0);
static const LLCachedControl<F32> s_pelvis_rot_threshold_fast(gSavedSettings, "AvatarRotateThresholdFast", 2.0);
static const LLCachedControl<F32> s_pelvis_rot_threshold_ml(gSavedSettings, "AvatarRotateThresholdMouselook", 120.f);
F32 pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, s_pelvis_rot_threshold_slow, s_pelvis_rot_threshold_fast);
static const LLCachedControl<bool> useRealisticMouselook("UseRealisticMouselook");
F32 pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, useRealisticMouselook ? s_pelvis_rot_threshold_slow * 2 : s_pelvis_rot_threshold_slow, s_pelvis_rot_threshold_fast);
if (self_in_mouselook)
{
pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, s_pelvis_rot_threshold_ml, s_pelvis_rot_threshold_fast);
pelvis_rot_threshold *= MOUSELOOK_PELVIS_FOLLOW_FACTOR;
}
pelvis_rot_threshold *= DEG_TO_RAD;
@@ -5282,7 +5281,7 @@ void LLVOAvatar::addLocalTextureStats( ETextureIndex idx, LLViewerFetchedTexture
}
const S32 MAX_TEXTURE_UPDATE_INTERVAL = 64 ; //need to call updateTextures() at least every 32 frames.
const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL = S32_MAX ; //frames
const S32 MAX_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL = S32_MAX ; //frames
void LLVOAvatar::checkTextureLoading()
{
static const F32 MAX_INVISIBLE_WAITING_TIME = 15.f ; //seconds
@@ -5345,7 +5344,7 @@ const F32 ADDITIONAL_PRI = 0.5f;
void LLVOAvatar::addBakedTextureStats( LLViewerFetchedTexture* imagep, F32 pixel_area, F32 texel_area_ratio, S32 boost_level)
{
//Note:
//if this function is not called for the last MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL frames,
//if this function is not called for the last MAX_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL frames,
//the texture pipeline will stop fetching this texture.
imagep->resetTextureStats();
@@ -5353,7 +5352,7 @@ void LLVOAvatar::addBakedTextureStats( LLViewerFetchedTexture* imagep, F32 pixel
// Once server messaging is in place, we should call setCanUseHTTP(false) for old style
// appearance requests
imagep->setCanUseHTTP(true);
imagep->setMaxVirtualSizeResetInterval(MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL);
imagep->setMaxVirtualSizeResetInterval(MAX_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL);
imagep->resetMaxVirtualSizeResetCounter() ;
mMaxPixelArea = llmax(pixel_area, mMaxPixelArea);

View File

@@ -1076,6 +1076,6 @@ private:
}; // LLVOAvatar
extern const F32 SELF_ADDITIONAL_PRI;
extern const S32 MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL;
extern const S32 MAX_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL;
#endif // LL_VOAVATAR_H

View File

@@ -2662,7 +2662,7 @@ void LLVOAvatarSelf::addLocalTextureStats( ETextureIndex type, LLViewerFetchedTe
imagep->setAdditionalDecodePriority(SELF_ADDITIONAL_PRI) ;
}
imagep->resetTextureStats();
imagep->setMaxVirtualSizeResetInterval(MAX_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL);
imagep->setMaxVirtualSizeResetInterval(MAX_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL);
imagep->addTextureStats( desired_pixels / texel_area_ratio );
imagep->forceUpdateBindStats() ;
if (imagep->getDiscardLevel() < 0)

View File

@@ -332,9 +332,9 @@ U32 LLVOTree::processUpdateMessage(LLMessageSystem *mesgsys,
//
// Load Species-Specific data
//
static const S32 MAX_TREE_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL = 32 ; //frames.
static const S32 MAX_TREE_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL = 32 ; //frames.
mTreeImagep = LLViewerTextureManager::getFetchedTexture(sSpeciesTable[mSpecies]->mTextureID, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
mTreeImagep->setMaxVirtualSizeResetInterval(MAX_TREE_TEXTURE_VIRTURE_SIZE_RESET_INTERVAL); //allow to wait for at most 16 frames to reset virtual size.
mTreeImagep->setMaxVirtualSizeResetInterval(MAX_TREE_TEXTURE_VIRTUAL_SIZE_RESET_INTERVAL); //allow to wait for at most 16 frames to reset virtual size.
mBranchLength = sSpeciesTable[mSpecies]->mBranchLength;
mTrunkLength = sSpeciesTable[mSpecies]->mTrunkLength;

View File

@@ -161,11 +161,11 @@
<menu_item_separator label="-----------" name="separator6"/>
<menu label="Umgebungseinstellungen" name="Environment Settings">
<menu_item_call label="Sonnenaufgang" name="Sunrise"/>
<menu_item_call label="Mittag" name="Noon"/>
<menu_item_call label="Sonnenuntergang" name="Sunset"/>
<menu_item_call label="Mitternacht" name="Midnight"/>
<menu_item_call label="Auf Regionsstandard zurücksetzen" name="Revert to Region Default"/>
<menu_item_check label="Sonnenaufgang" name="Sunrise"/>
<menu_item_check label="Mittag" name="Noon"/>
<menu_item_check label="Sonnenuntergang" name="Sunset"/>
<menu_item_check label="Mitternacht" name="Midnight"/>
<menu_item_check label="Auf Regionsstandard zurücksetzen" name="Revert to Region Default"/>
<menu_item_separator label="-----------" name="separator"/>
<menu_item_call label="Umwelt-Editor" name="Environment Editor"/>
<menu_item_call label="Tageszyklus-Editor" name="Day Cycle Editor"/>

View File

@@ -614,31 +614,36 @@
<menu bottom="-554" create_jump_keys="true" drop_shadow="true" enabled="true"
height="117" label="Environment Settings" left="0" mouse_opaque="false"
name="Environment Settings" opaque="true" tear_off="true" width="169">
<menu_item_call bottom="-29" enabled="true" height="19" label="Sunrise" left="0"
<menu_item_check bottom="-29" enabled="true" height="19" label="Sunrise" left="0"
mouse_opaque="true" name="Sunrise" width="169">
<on_click function="World.EnvSettings" userdata="sunrise" />
<on_check function="World.EnableEnvSettings" userdata="sunrise" />
<on_enable function="RLV.EnableIfNot" userdata="setenv"/>
</menu_item_call>
<menu_item_call bottom="-48" enabled="true" height="19" label="Midday" left="0"
</menu_item_check>
<menu_item_check bottom="-48" enabled="true" height="19" label="Midday" left="0"
mouse_opaque="true" name="Noon" shortcut="control|shift|Y" width="169">
<on_click function="World.EnvSettings" userdata="noon" />
<on_check function="World.EnableEnvSettings" userdata="noon" />
<on_enable function="RLV.EnableIfNot" userdata="setenv"/>
</menu_item_call>
<menu_item_call bottom="-67" enabled="true" height="19" label="Sunset" left="0"
</menu_item_check>
<menu_item_check bottom="-67" enabled="true" height="19" label="Sunset" left="0"
mouse_opaque="true" name="Sunset" shortcut="control|shift|N" width="169">
<on_click function="World.EnvSettings" userdata="sunset" />
<on_check function="World.EnableEnvSettings" userdata="sunset" />
<on_enable function="RLV.EnableIfNot" userdata="setenv"/>
</menu_item_call>
<menu_item_call bottom="-86" enabled="true" height="19" label="Midnight" left="0"
</menu_item_check>
<menu_item_check bottom="-86" enabled="true" height="19" label="Midnight" left="0"
mouse_opaque="true" name="Midnight" width="169">
<on_click function="World.EnvSettings" userdata="midnight" />
<on_check function="World.EnableEnvSettings" userdata="midnight" />
<on_enable function="RLV.EnableIfNot" userdata="setenv"/>
</menu_item_call>
<menu_item_call bottom="-105" enabled="false" height="19" label="Revert to Region Default"
</menu_item_check>
<menu_item_check bottom="-105" enabled="false" height="19" label="Revert to Region Default"
left="0" mouse_opaque="true" name="Revert to Region Default" width="169">
<on_click function="World.EnvSettings" userdata="default" />
<on_check function="World.EnableEnvSettings" userdata="region" />
<on_enable function="RLV.EnableIfNot" userdata="setenv"/>
</menu_item_call>
</menu_item_check>
<menu_item_separator bottom="-113" enabled="true" height="8" label="-----------" left="0"
mouse_opaque="true" name="separator" width="169" />
<menu_item_call bottom="-132" enabled="false" height="19" label="Environment Editor" left="0"

View File

@@ -3744,6 +3744,18 @@ Are you sure you want to teleport?
yestext="Teleport"/>
</notification>
<notification
icon="alertmodal.tga"
name="TeleportViaSLAPP"
type="alertmodal">
Are you sure you want to teleport to [LOCATION]?
<usetemplate
ignoretext="Confirm that I want to teleport via SLAPP"
name="okcancelignore"
notext="Cancel"
yestext="Teleport"/>
</notification>
<notification
icon="alert.tga"
label="Message everyone in your Estate"

View File

@@ -31,6 +31,7 @@
left="205" name="terraform_help" width="18" />
<check_box bottom_delta="-20" follows="left|top" height="20" label="Block Fly" left="10"
name="block_fly_check" width="80" />
<check_box bottom_delta="-20" follows="left|top" height="20" label="Block Parcel Fly Over" tool_tip="Extend access checks upwards to prevent flying over a parcel" left="10" name="block_fly_over_check" width="90" />
<button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="18" label="?"
left="205" name="fly_help" width="18" />
<check_box bottom_delta="-20" follows="left|top" height="20" label="Allow Damage"

View File

@@ -126,11 +126,11 @@
<menu_item_call label="Comprar Terreno..." name="Buy Land..."/>
<menu_item_call label="Región/Estado..." name="Region/Estate..."/>
<menu label="Configuración del Entorno" name="Environment Settings">
<menu_item_call label="Amanecer" name="Sunrise"/>
<menu_item_call label="Mediodía" name="Noon"/>
<menu_item_call label="Atardecer" name="Sunset"/>
<menu_item_call label="Medianoche" name="Midnight"/>
<menu_item_call label="Volver a los valores de la Región" name="Revert to Region Default"/>
<menu_item_check label="Amanecer" name="Sunrise"/>
<menu_item_check label="Mediodía" name="Noon"/>
<menu_item_check label="Atardecer" name="Sunset"/>
<menu_item_check label="Medianoche" name="Midnight"/>
<menu_item_check label="Volver a los valores de la Región" name="Revert to Region Default"/>
<menu_item_call label="Editor del Entorno" name="Environment Editor"/>
<menu_item_call label="Editor del Ciclo Diario" name="Day Cycle Editor"/>
<menu_item_call label="Efectos de Post-Procesado" name="Post-Processing Effects"/>

View File

@@ -148,11 +148,11 @@
<menu_item_call label="Région et domaine" name="Region/Estate..."/>
<menu_item_separator label="-----------" name="separator6"/>
<menu label="Environnement" name="Environment Settings">
<menu_item_call label="Aube" name="Sunrise"/>
<menu_item_call label="Midi" name="Noon"/>
<menu_item_call label="Coucher de soleil" name="Sunset"/>
<menu_item_call label="Minuit" name="Midnight"/>
<menu_item_call label="Revenir aux options par défaut" name="Revert to Region Default"/>
<menu_item_check label="Aube" name="Sunrise"/>
<menu_item_check label="Midi" name="Noon"/>
<menu_item_check label="Coucher de soleil" name="Sunset"/>
<menu_item_check label="Minuit" name="Midnight"/>
<menu_item_check label="Revenir aux options par défaut" name="Revert to Region Default"/>
<menu_item_separator label="-----------" name="separator"/>
<menu_item_call label="Editeur d&apos;environnement" name="Environment Editor"/>
<menu_item_call label="Editeur du jour" name="Day Cycle Editor"/>

View File

@@ -129,11 +129,11 @@
<menu_item_call label="Regione/Proprietà Immobiliari..." name="Region/Estate..."/>
<menu_item_separator label="-----------" name="separator6"/>
<menu label="Impostazioni dell&apos;ambiente" name="Environment Settings">
<menu_item_call label="Alba" name="Sunrise"/>
<menu_item_call label="Mezzogiorno" name="Noon"/>
<menu_item_call label="Tramonto" name="Sunset"/>
<menu_item_call label="Mezzanotte" name="Midnight"/>
<menu_item_call label="Reimposta al default della regione" name="Revert to Region Default"/>
<menu_item_check label="Alba" name="Sunrise"/>
<menu_item_check label="Mezzogiorno" name="Noon"/>
<menu_item_check label="Tramonto" name="Sunset"/>
<menu_item_check label="Mezzanotte" name="Midnight"/>
<menu_item_check label="Reimposta al default della regione" name="Revert to Region Default"/>
<menu_item_separator label="-----------" name="separator"/>
<menu_item_call label="Editor dell&apos;ambiente" name="Environment Editor"/>
</menu>

View File

@@ -103,11 +103,11 @@
<menu_item_call label="Comprar terreno..." name="Buy Land..."/>
<menu_item_call label="Região/Propriedade..." name="Region/Estate..."/>
<menu label="Configurações de ambiente" name="Environment Settings">
<menu_item_call label="Amanhecer" name="Sunrise"/>
<menu_item_call label="Meio-dia" name="Noon"/>
<menu_item_call label="Pôr-do-Sol" name="Sunset"/>
<menu_item_call label="Meia-noite" name="Midnight"/>
<menu_item_call label="Reverter ao padrão da região" name="Revert to Region Default"/>
<menu_item_check label="Amanhecer" name="Sunrise"/>
<menu_item_check label="Meio-dia" name="Noon"/>
<menu_item_check label="Pôr-do-Sol" name="Sunset"/>
<menu_item_check label="Meia-noite" name="Midnight"/>
<menu_item_check label="Reverter ao padrão da região" name="Revert to Region Default"/>
<menu_item_call label="Editor de ambiente" name="Environment Editor"/>
</menu>
</menu>