void LLFloaterLandHoldings::buttonCore(S32 which)
{
	LLScrollListCtrl *list = getChild<LLScrollListCtrl>("parcel list");
	if (!list) return;

	S32 index = list->getFirstSelectedIndex();
	if (index < 0) return;

	// hidden is always last column
	std::string location = list->getSelectedItemLabel(list->getNumColumns()-1);

	F32 global_x = 0.f;
	F32 global_y = 0.f;
	sscanf(location.c_str(), "%f %f", &global_x, &global_y);

	// Hack: Use the agent's z-height
	F64 global_z = gAgent.getPositionGlobal().mdV[VZ];

	LLVector3d pos_global(global_x, global_y, global_z);

	switch(which)
	{
	case 0:
		gAgent.teleportViaLocation(pos_global);
		gFloaterWorldMap->trackLocation(pos_global);
		break;
	case 1:
		gFloaterWorldMap->trackLocation(pos_global);
		LLFloaterWorldMap::show(NULL, TRUE);
		break;
	default:
		break;
	}
}
static LLVector3d unpackLocalToGlobalPosition(U32 compact_local, const LLVector3d& region_origin)
{
    LLVector3d pos_global(region_origin);
    LLVector3d pos_local;

    pos_local.mdV[VZ] = (compact_local & 0xFFU) * 4;
    pos_local.mdV[VY] = (compact_local >> 8) & 0xFFU;
    pos_local.mdV[VX] = (compact_local >> 16) & 0xFFU;

    pos_global += pos_local;
    return pos_global;
}
Exemple #3
0
static LLVector3d unpackLocalToGlobalPosition(U32 compact_local, const LLVector3d& region_origin)
{
    LLVector3d pos_global(region_origin);
    LLVector3d pos_local;

    pos_local.mdV[VZ] = (compact_local & 0xFFU) * 4;
    pos_local.mdV[VY] = (compact_local >> 8) & 0xFFU;
    pos_local.mdV[VX] = (compact_local >> 16) & 0xFFU;

    pos_global += pos_local;
	// comment out one line below add in one after should help with tps sams voodoo test
	//return pos_global;
	return region_origin + pos_local;
}
void LLPanelGroupLandMoney::impl::onMapButton()
{
	LLScrollListItem* itemp;
	itemp = mGroupParcelsp->getFirstSelected();
	if (!itemp) return;

	const LLScrollListCell* cellp;
	cellp = itemp->getColumn(itemp->getNumColumns() - 1);	// hidden column is last

	F32 global_x = 0.f;
	F32 global_y = 0.f;
	sscanf(cellp->getValue().asString().c_str(), "%f %f", &global_x, &global_y);

	// Hack: Use the agent's z-height
	F64 global_z = gAgent.getPositionGlobal().mdV[VZ];

	LLVector3d pos_global(global_x, global_y, global_z);
	gFloaterWorldMap->trackLocation(pos_global);

	LLFloaterWorldMap::show(true);
}