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; }
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); }