just adding what I have for now

This commit is contained in:
Hazim Gazov
2010-05-03 10:04:31 -03:00
parent b4d14ea59c
commit 9a7e50fe2e
2 changed files with 34 additions and 49 deletions

View File

@@ -384,7 +384,7 @@ LLImportObject::LLImportObject(std::string id, LLSD prim)
setFlags(FLAGS_USE_PHYSICS, prim["physical"].asInteger());
// Volume params
LLVolumeParams volume_params;
volume_params.fromLLSD(prim["volume"]);
setVolume(volume_params, 0, false);
// Extra params
if(prim.has("flexible"))
@@ -659,7 +659,9 @@ void LLXmlImport::import(LLXmlImportOptions* import_options)
// static
void LLXmlImport::onNewPrim(LLViewerObject* object)
{
if(sPrimIndex >= (int)sPrims.size())
int currPrimIndex = sPrimIndex++;
if(currPrimIndex >= (int)sPrims.size())
{
if(sAttachmentsDone >= (int)sPt2attachpos.size())
{
@@ -669,7 +671,7 @@ void LLXmlImport::onNewPrim(LLViewerObject* object)
}
}
LLImportObject* from = sPrims[sPrimIndex];
LLImportObject* from = sPrims[currPrimIndex];
// Flags
// trying this first in case it helps when supply is physical...
@@ -735,8 +737,7 @@ void LLXmlImport::onNewPrim(LLViewerObject* object)
// Extra params
if(from->isFlexible())
{
LLFlexibleObjectData* wat = (LLFlexibleObjectData*)from->getParameterEntry(LLNetworkData::PARAMS_FLEXIBLE);
LLFlexibleObjectData flex = *wat;
LLFlexibleObjectData flex = *((LLFlexibleObjectData*)from->getParameterEntry(LLNetworkData::PARAMS_FLEXIBLE));
object->setParameterEntry(LLNetworkData::PARAMS_FLEXIBLE, flex, true);
object->setParameterEntryInUse(LLNetworkData::PARAMS_FLEXIBLE, TRUE, true);
object->parameterChanged(LLNetworkData::PARAMS_FLEXIBLE, true);
@@ -749,8 +750,7 @@ void LLXmlImport::onNewPrim(LLViewerObject* object)
}
if (from->getParameterEntryInUse(LLNetworkData::PARAMS_LIGHT))
{
LLLightParams* wat = (LLLightParams*)from->getParameterEntry(LLNetworkData::PARAMS_LIGHT);
LLLightParams light = *wat;
LLLightParams light = *((LLLightParams*)from->getParameterEntry(LLNetworkData::PARAMS_LIGHT));
object->setParameterEntry(LLNetworkData::PARAMS_LIGHT, light, true);
object->setParameterEntryInUse(LLNetworkData::PARAMS_LIGHT, TRUE, true);
object->parameterChanged(LLNetworkData::PARAMS_LIGHT, true);
@@ -763,8 +763,7 @@ void LLXmlImport::onNewPrim(LLViewerObject* object)
}
if (from->getParameterEntryInUse(LLNetworkData::PARAMS_SCULPT))
{
LLSculptParams* wat = (LLSculptParams*)from->getParameterEntry(LLNetworkData::PARAMS_SCULPT);
LLSculptParams sculpt = *wat;
LLSculptParams sculpt = *((LLSculptParams*)from->getParameterEntry(LLNetworkData::PARAMS_SCULPT));
object->setParameterEntry(LLNetworkData::PARAMS_SCULPT, sculpt, true);
object->setParameterEntryInUse(LLNetworkData::PARAMS_SCULPT, TRUE, true);
object->parameterChanged(LLNetworkData::PARAMS_SCULPT, true);
@@ -828,28 +827,6 @@ void LLXmlImport::onNewPrim(LLViewerObject* object)
gMessageSystem->addBinaryDataFast(_PREHASH_Data, data, offset);
gMessageSystem->sendReliable(gAgent.getRegionHost());
// Test - Position, rotation, and scale, didn't work properly
/*
gMessageSystem->newMessageFast(_PREHASH_MultipleObjectUpdate);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object->getLocalID());
gMessageSystem->addU8Fast(_PREHASH_Type, 7);
htonmemcpy(&data[offset], &(object->getPosition().mV), MVT_LLVector3, 12);
offset += 12;
LLQuaternion quat = object->getRotation();
LLVector3 vec = quat.packToVector3();
htonmemcpy(&data[offset], &(vec.mV), MVT_LLQuaternion, 12);
offset += 12;
htonmemcpy(&data[offset], &(object->getScale().mV), MVT_LLVector3, 12);
offset += 12;
gMessageSystem->addBinaryDataFast(_PREHASH_Data, data, offset);
gMessageSystem->sendReliable(gAgent.getRegionHost());
// end test
*/
// Name
if(from->mPrimName != "")
{
@@ -862,9 +839,7 @@ void LLXmlImport::onNewPrim(LLViewerObject* object)
gMessageSystem->addStringFast(_PREHASH_Name, from->mPrimName);
gMessageSystem->sendReliable(gAgent.getRegionHost());
}
sPrimIndex++;
if(sPrimIndex >= (int)sPrims.size())
if(currPrimIndex + 1 >= (int)sPrims.size())
{
if(sId2attachpt.size() == 0)
{

View File

@@ -1451,7 +1451,6 @@ void LLSelectMgr::selectionSetImage(const LLUUID& imageid)
if (!mItem)
{
object->sendTEUpdate();
// 1 particle effect per object
// 1 particle effect per object
// <edit>
if(!gSavedSettings.getBOOL("DisablePointAtAndBeam"))
@@ -2800,7 +2799,10 @@ bool LLSelectMgr::confirmDelete(const LLSD& notification, const LLSD& response,
packObjectLocalID,
(void*)info,
SEND_ONLY_ROOTS);
// VEFFECT: Delete Object - one effect for all deletes
// VEFFECT: Delete Object - one effect for all deletes
// <edit>
if(!gSavedSettings.getBOOL("DisablePointAtAndBeam"))
// </edit>
if (LLSelectMgr::getInstance()->mSelectedObjects->mSelectType != SELECT_TYPE_HUD)
{
LLHUDEffectSpiral *effectp = (LLHUDEffectSpiral *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINT, TRUE);
@@ -4345,6 +4347,9 @@ void LLSelectMgr::processObjectProperties(LLMessageSystem* msg, void** user_data
}
}
// <edit> Send to export floaters
LLFloaterExport::receiveObjectProperties(id, name, desc);
// </edit>
// Iterate through nodes at end, since it can be on both the regular AND hover list
struct f : public LLSelectedNodeFunctor
@@ -4484,6 +4489,9 @@ void LLSelectMgr::processObjectPropertiesFamily(LLMessageSystem* msg, void** use
std::string desc;
msg->getStringFast(_PREHASH_ObjectData, _PREHASH_Description, desc);
// <edit> Send to export floaters
LLFloaterExport::receiveObjectProperties(id, name, desc);
// </edit>
// the reporter widget askes the server for info about picked objects
if (request_flags & (COMPLAINT_REPORT_REQUEST | BUG_REPORT_REQUEST))
{
@@ -4881,10 +4889,12 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
}
if (mSelectedObjects->getNumNodes())
{
LLUUID inspect_item_id = LLFloaterInspect::getSelectedUUID();
LLUUID focus_item_id = LLViewerMediaFocus::getInstance()->getSelectedUUID();
for (S32 pass = 0; pass < 2; pass++)
{
LLUUID inspect_item_id = LLFloaterInspect::getSelectedUUID();
// <edit>
//for (S32 pass = 0; pass < 2; pass++)
//{
// </edit>
for (LLObjectSelection::iterator iter = mSelectedObjects->begin();
iter != mSelectedObjects->end(); iter++)
{
@@ -4896,11 +4906,7 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
{
continue;
}
if (objectp->getID() == focus_item_id)
{
node->renderOneSilhouette(gFocusMgr.getFocusColor());
}
else if(objectp->getID() == inspect_item_id)
if(objectp->getID() == inspect_item_id)
{
node->renderOneSilhouette(sHighlightInspectColor);
}
@@ -4919,8 +4925,10 @@ void LLSelectMgr::renderSilhouettes(BOOL for_hud)
{
node->renderOneSilhouette(sSilhouetteChildColor);
}
}
}
}
// <edit>
//}
// </edit>
}
if (mHighlightedObjects->getNumNodes())
@@ -5800,8 +5808,10 @@ BOOL LLSelectMgr::canSelectObject(LLViewerObject* object)
// Can't select land
if (object->getPCode() == LLViewerObject::LL_VO_SURFACE_PATCH) return FALSE;
ESelectType selection_type = getSelectTypeForObject(object);
if (mSelectedObjects->getObjectCount() > 0 && mSelectedObjects->mSelectType != selection_type) return FALSE;
// <edit>
//ESelectType selection_type = getSelectTypeForObject(object);
//if (mSelectedObjects->getObjectCount() > 0 && mSelectedObjects->mSelectType != selection_type) return FALSE;
// </edit>
return TRUE;
}