ReSit added, channel in dialog messaged added, local teleports have no delay after teleporting, message log crash fixed, hopefully...

This commit is contained in:
phr0z3nt04st
2010-05-24 09:41:16 -05:00
parent 1350365769
commit 2e5dee57b4
8 changed files with 82 additions and 16 deletions

View File

@@ -217,7 +217,10 @@ const F64 CHAT_AGE_FAST_RATE = 3.0;
// The agent instance.
LLAgent gAgent;
// <edit>
LLUUID gReSitTargetID;
LLVector3 gReSitOffset;
// </edit>
//
// Statics
//
@@ -3033,7 +3036,9 @@ void LLAgent::endAnimationUpdateUI()
// freeze avatar
if (mAvatarObject.notNull())
{
mPauseRequest = mAvatarObject->requestPause();
// <edit>
//mPauseRequest = mAvatarObject->requestPause();
// </edit>
}
}
@@ -4244,7 +4249,9 @@ void LLAgent::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL camera_ani
return;
}
setControlFlags(AGENT_CONTROL_STAND_UP); // force stand up
// <edit>
//setControlFlags(AGENT_CONTROL_STAND_UP); // force stand up
// </edit>
gViewerWindow->getWindow()->resetBusyCount();
if (gFaceEditToolset)
@@ -4259,6 +4266,9 @@ void LLAgent::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL camera_ani
if (camera_animate)
{
// <edit>
if(gSavedSettings.getBOOL("AppearanceCameraMovement"))
// </edit>
startCameraAnimation();
}
@@ -4321,6 +4331,14 @@ void LLAgent::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL camera_ani
endAnimationUpdateUI();
}
// <edit>
if(!gSavedSettings.getBOOL("AppearanceCameraMovement"))
{
//hmm
mCameraAnimating = FALSE;
endAnimationUpdateUI();
}
}
@@ -6094,7 +6112,10 @@ bool LLAgent::teleportCore(bool is_local)
if(TELEPORT_NONE != mTeleportState)
{
llwarns << "Attempt to teleport when already teleporting." << llendl;
return false;
// <edit>
//return false;
teleportCancel();
// </edit>
}
#if 0
@@ -6132,6 +6153,9 @@ bool LLAgent::teleportCore(bool is_local)
// Close all pie menus, deselect land, etc.
// Don't change the camera until we know teleport succeeded. JC
// <edit>
if(gAgent.getFocusOnAvatar())
// </edit>
resetView(FALSE);
// local logic
@@ -6187,11 +6211,14 @@ void LLAgent::teleportRequest(
msg->nextBlockFast(_PREHASH_Info);
msg->addU64("RegionHandle", region_handle);
msg->addVector3("Position", pos_local);
LLVector3 look_at(0,1,0);
if (look_at_from_camera)
// <edit>
//LLVector3 look_at(0,1,0);
LLVector3 look_at = LLViewerCamera::getInstance()->getAtAxis();
/*if (look_at_from_camera)
{
look_at = LLViewerCamera::getInstance()->getAtAxis();
}
}*/
// </edit>
msg->addVector3("LookAt", look_at);
sendReliableMessage();
}
@@ -6298,7 +6325,11 @@ void LLAgent::teleportViaLocation(const LLVector3d& pos_global)
msg->addU64Fast(_PREHASH_RegionHandle, region_handle);
msg->addVector3Fast(_PREHASH_Position, pos);
pos.mV[VX] += 1;
msg->addVector3Fast(_PREHASH_LookAt, pos);
// <edit>
LLVector3 lookat = LLViewerCamera::getInstance()->getAtAxis();
//msg->addVector3Fast(_PREHASH_LookAt, pos);
msg->addVector3Fast(_PREHASH_LookAt, lookat);
// </edit>
sendReliableMessage();
}
}

View File

@@ -1016,5 +1016,8 @@ private:
};
extern LLAgent gAgent;
// <edit>
extern LLUUID gReSitTargetID;
extern LLVector3 gReSitOffset;
// </edit>
#endif

View File

@@ -120,6 +120,8 @@ LLFloaterMessageLogItem::LLFloaterMessageLogItem(LLMessageLogEntry entry)
for(S32 i = 0; i < mDataSize; i++)
mSummary.append(llformat("%02X ", mData[i]));
}
//lets play cleanup
memset(sDecodeBuffer, 0, mDataSize);
}
else // not template
{
@@ -262,13 +264,11 @@ std::string LLFloaterMessageLogItem::getString(LLTemplateMessageReader* readerp,
readerp->getS32(block_name, var_name, valueS32, block_num);
stream << valueS32;
break;
/*
case MVT_S64:
/*case MVT_S64:
S64 valueS64;
readerp->getS64(block_name, var_name, valueS64, block_num);
stream << valueS64;
break;
*/
break;*/
case MVT_F32:
F32 valueF32;
readerp->getF32(block_name, var_name, valueF32, block_num);

View File

@@ -384,6 +384,9 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
gAgent.setTeleportMessage(
LLAgent::sTeleportProgressMessages["arriving"]);
gImageList.mForceResetTextureStats = TRUE;
// <edit>
if(gAgent.getFocusOnAvatar())
// </edit>
gAgent.resetView(TRUE, TRUE);
break;
@@ -407,7 +410,10 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
// Short delay when teleporting in the same sim (progress screen active but not shown - did not
// fall-through from TELEPORT_START)
{
if( gTeleportDisplayTimer.getElapsedTimeF32() > TELEPORT_LOCAL_DELAY )
// <edit>
// is this really needed.... I say no.
//if( gTeleportDisplayTimer.getElapsedTimeF32() > TELEPORT_LOCAL_DELAY )
// </edit>
{
LLFirstUse::useTeleport();
gAgent.setTeleportState( LLAgent::TELEPORT_NONE );

View File

@@ -3209,6 +3209,10 @@ bool handle_sit_or_stand()
if (object && object->getPCode() == LL_PCODE_VOLUME)
{
// <edit>
gReSitTargetID = object->mID;
gReSitOffset = pick.mObjectOffset;
// </edit>
gMessageSystem->newMessageFast(_PREHASH_AgentRequestSit);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());

View File

@@ -5541,6 +5541,9 @@ void process_script_dialog(LLMessageSystem* msg, void**)
LLSD args;
args["TITLE"] = title;
args["MESSAGE"] = message;
// <edit>
args["CHANNEL"] = chat_channel;
// </edit>
LLNotificationPtr notification;
if (!first_name.empty())
{

View File

@@ -2478,7 +2478,26 @@ U32 LLVOAvatar::processUpdateMessage(LLMessageSystem *mesgsys,
//llinfos << getRotation() << llendl;
//llinfos << getPosition() << llendl;
// <edit>
if (update_type == OUT_FULL )
{
if(mIsSelf)
{
if(gSavedSettings.getBOOL("ReSit"))
{
gMessageSystem->newMessageFast(_PREHASH_AgentRequestSit);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_TargetObject);
gMessageSystem->addUUIDFast(_PREHASH_TargetID, gReSitTargetID);
gMessageSystem->addVector3Fast(_PREHASH_Offset, gReSitOffset);
gAgent.getRegion()->sendReliableMessage();
}
}
}
// </edit>
return retval;
}

View File

@@ -6046,7 +6046,7 @@ Grant this request?
icon="notify.tga"
name="ScriptDialog"
type="notify">
[FIRST] [LAST]&apos;s &apos;[TITLE]&apos;
[FIRST] [LAST]&apos;s &apos;[TITLE]&apos; (ch[CHANNEL])
[MESSAGE]
<form name="form">
<button