diff options
Diffstat (limited to 'linden/indra/newview/llviewermessage.cpp')
-rwxr-xr-x | linden/indra/newview/llviewermessage.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 0a27e0a..504c193 100755 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -3531,6 +3531,17 @@ void process_teleport_finish(LLMessageSystem* msg, void**) | |||
3531 | U32 teleport_flags; | 3531 | U32 teleport_flags; |
3532 | msg->getU32Fast(_PREHASH_Info, _PREHASH_TeleportFlags, teleport_flags); | 3532 | msg->getU32Fast(_PREHASH_Info, _PREHASH_TeleportFlags, teleport_flags); |
3533 | 3533 | ||
3534 | U32 region_size_x = 256; | ||
3535 | msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeX, region_size_x); | ||
3536 | U32 region_size_y = 256; | ||
3537 | msg->getU32Fast(_PREHASH_Info, _PREHASH_RegionSizeY, region_size_y); | ||
3538 | |||
3539 | //and a little hack for Second Life compatibility | ||
3540 | if (region_size_y == 0 || region_size_x == 0) | ||
3541 | { | ||
3542 | region_size_x = 256; | ||
3543 | region_size_y = 256; | ||
3544 | } | ||
3534 | 3545 | ||
3535 | std::string seedCap; | 3546 | std::string seedCap; |
3536 | msg->getStringFast(_PREHASH_Info, _PREHASH_SeedCapability, seedCap); | 3547 | msg->getStringFast(_PREHASH_Info, _PREHASH_SeedCapability, seedCap); |
@@ -3550,7 +3561,7 @@ void process_teleport_finish(LLMessageSystem* msg, void**) | |||
3550 | 3561 | ||
3551 | // Viewer trusts the simulator. | 3562 | // Viewer trusts the simulator. |
3552 | gMessageSystem->enableCircuit(sim_host, TRUE); | 3563 | gMessageSystem->enableCircuit(sim_host, TRUE); |
3553 | LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host); | 3564 | LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host, region_size_x, region_size_y); |
3554 | 3565 | ||
3555 | /* | 3566 | /* |
3556 | // send camera update to new region | 3567 | // send camera update to new region |
@@ -3866,9 +3877,21 @@ void process_crossed_region(LLMessageSystem* msg, void**) | |||
3866 | std::string seedCap; | 3877 | std::string seedCap; |
3867 | msg->getStringFast(_PREHASH_RegionData, _PREHASH_SeedCapability, seedCap); | 3878 | msg->getStringFast(_PREHASH_RegionData, _PREHASH_SeedCapability, seedCap); |
3868 | 3879 | ||
3880 | U32 region_size_x = 256; | ||
3881 | msg->getU32(_PREHASH_RegionData, _PREHASH_RegionSizeX, region_size_x); | ||
3882 | U32 region_size_y = 256; | ||
3883 | msg->getU32(_PREHASH_RegionData, _PREHASH_RegionSizeY, region_size_y); | ||
3884 | |||
3885 | //and a little hack for Second Life compatibility | ||
3886 | if (region_size_y == 0 || region_size_x == 0) | ||
3887 | { | ||
3888 | region_size_x = 256; | ||
3889 | region_size_y = 256; | ||
3890 | } | ||
3891 | |||
3869 | send_complete_agent_movement(sim_host); | 3892 | send_complete_agent_movement(sim_host); |
3870 | 3893 | ||
3871 | LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host); | 3894 | LLViewerRegion* regionp = LLWorld::getInstance()->addRegion(region_handle, sim_host, region_size_x, region_size_y); |
3872 | regionp->setSeedCapability(seedCap); | 3895 | regionp->setSeedCapability(seedCap); |
3873 | 3896 | ||
3874 | // Tell the LightShare handler that we have changed regions. | 3897 | // Tell the LightShare handler that we have changed regions. |