Feature Request/Bug Fix: Restore the old behavior of allowing mapto region/x/y/z for specifying coordinates

Also swaps settings to be alphabetical, forgot to save that change before last commit.
This commit is contained in:
Lirusaito
2013-07-25 12:39:22 -04:00
parent fe65520794
commit b16072b640
2 changed files with 10 additions and 15 deletions

View File

@@ -696,10 +696,10 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>LiruLegacyOutfitStoreObjChanges</key>
<key>LiruLegacyLandmarks</key>
<map>
<key>Comment</key>
<string>While true, automatic detach is performed upon all copyable attachments just before legacy outfit creation to preserve any modifications to them. As a last resort, setting this false allows creating a legacy outfit that won't save changes made to copyable attachments since wearing them or login.</string>
<string>When creating a new landmark, the legacy format (parcel name, region name (x, y, z)) will be used.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -707,10 +707,10 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>LiruLegacyLandmarks</key>
<key>LiruLegacyOutfitStoreObjChanges</key>
<map>
<key>Comment</key>
<string>When creating a new landmark, the legacy format (parcel name, region name (x, y, z)) will be used.</string>
<string>While true, automatic detach is performed upon all copyable attachments just before legacy outfit creation to preserve any modifications to them. As a last resort, setting this false allows creating a legacy outfit that won't save changes made to copyable attachments since wearing them or login.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>

View File

@@ -371,21 +371,16 @@ bool cmd_line_chat(std::string revised_text, EChatType type)
{
if (revised_text.length() > command.length() + 1) //Typing this command with no argument was causing a crash. -Madgeek
{
LLVector3d agentPos = gAgent.getPositionGlobal();
S32 agent_x = llround( (F32)fmod( agentPos.mdV[VX], (F64)REGION_WIDTH_METERS ) );
S32 agent_y = llround( (F32)fmod( agentPos.mdV[VY], (F64)REGION_WIDTH_METERS ) );
S32 agent_z = llround( (F32)agentPos.mdV[VZ] );
std::string region_name = LLWeb::escapeURL(revised_text.substr(command.length()+1));
LLSLURL slurl(LLWeb::escapeURL(revised_text.substr(command.length()+1)));
if(!sAscentCmdLineMapToKeepPos)
// The user wants to keep their position between MapTos and they have not passed a position (position is defaulted)
if (sAscentCmdLineMapToKeepPos && slurl.getPosition() == LLVector3(REGION_WIDTH_METERS/2, REGION_WIDTH_METERS/2, 0))
{
agent_x = 128;
agent_y = 128;
agent_z = 0;
LLVector3d agentPos = gAgent.getPositionGlobal();
slurl = LLSLURL(slurl.getRegion(), LLVector3(fmod(agentPos.mdV[VX], (F64)REGION_WIDTH_METERS), fmod(agentPos.mdV[VY], (F64)REGION_WIDTH_METERS), agentPos.mdV[VZ]));
}
LLSLURL slurl(region_name,LLVector3(agent_x,agent_y,agent_z));
LLUrlAction::teleportToLocation(std::string("secondlife:///app/teleport/")+slurl.getLocationString());
LLUrlAction::teleportToLocation(LLWeb::escapeURL(std::string("secondlife:///app/teleport/")+slurl.getLocationString()));
}
return false;
}