Merge trish ml fix and neighboring region load

meow-7.2.2
livie 2025-12-21 00:18:48 +02:00
parent 8b8bba23e6
commit 94f09bb129
4 changed files with 68 additions and 0 deletions

View File

@ -2017,6 +2017,9 @@ void LLAudioEngine::markSoundCorrupt( LLUUID const &aId )
bool LLAudioEngine::isCorruptSound( LLUUID const &aId ) const bool LLAudioEngine::isCorruptSound( LLUUID const &aId ) const
{ {
if (this == nullptr)
return true;
std::map<LLUUID,U32>::const_iterator itr = mCorruptData.find( aId ); std::map<LLUUID,U32>::const_iterator itr = mCorruptData.find( aId );
if( mCorruptData.end() == itr ) if( mCorruptData.end() == itr )
return false; return false;

View File

@ -2,6 +2,28 @@
<llsd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <llsd xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="llsd.xsd"> xsi:noNamespaceSchemaLocation="llsd.xsd">
<map> <map>
<key>FSTrishMouseLookFix</key>
<map>
<key>Comment</key>
<string>Fixes touch in mouselook while cam is controlled. Can break some poorly scripted weapons.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>FSTrishNeighboringRegionLoadAdjacentsFix</key>
<map>
<key>Comment</key>
<string>Fixes crossing for the experimental blockage of neighboring sims by only loading adjacent sims - EXPERIMENTAL.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>FSLandmarkCreatedNotification</key> <key>FSLandmarkCreatedNotification</key>
<map> <map>
<key>Comment</key> <key>Comment</key>

View File

@ -4111,7 +4111,19 @@ void LLAgent::initOriginGlobal(const LLVector3d &origin_global)
bool LLAgent::leftButtonGrabbed() const bool LLAgent::leftButtonGrabbed() const
{ {
static LLCachedControl<bool> fsTrishMouseLookFix(gSavedSettings, "FSTristMouseLookFix");
const bool camera_mouse_look = gAgentCamera.cameraMouselook(); const bool camera_mouse_look = gAgentCamera.cameraMouselook();
if (fsTrishMouseLookFix)
{
if (camera_mouse_look)
{
return mControlsTakenCount[CONTROL_ML_LBUTTON_DOWN_INDEX] > 0;
}
return mControlsTakenCount[CONTROL_LBUTTON_DOWN_INDEX] > 0
}
return (!camera_mouse_look && mControlsTakenCount[CONTROL_LBUTTON_DOWN_INDEX] > 0) return (!camera_mouse_look && mControlsTakenCount[CONTROL_LBUTTON_DOWN_INDEX] > 0)
|| (camera_mouse_look && mControlsTakenCount[CONTROL_ML_LBUTTON_DOWN_INDEX] > 0) || (camera_mouse_look && mControlsTakenCount[CONTROL_ML_LBUTTON_DOWN_INDEX] > 0)
|| (!camera_mouse_look && mControlsTakenPassedOnCount[CONTROL_LBUTTON_DOWN_INDEX] > 0) || (!camera_mouse_look && mControlsTakenPassedOnCount[CONTROL_LBUTTON_DOWN_INDEX] > 0)

View File

@ -1642,6 +1642,37 @@ void process_enable_simulator(LLMessageSystem *msg, void **user_data)
LLWorld::getInstance()->addRegion(handle, sim, region_size_x, region_size_y); LLWorld::getInstance()->addRegion(handle, sim, region_size_x, region_size_y);
// </FS:CR> Aurora Sim // </FS:CR> Aurora Sim
// <FS:Trish> Remove region if it wasn't a neighbor
static LLCachedControl<bool> fsTrishNeighboringRegionLoadAdjacentsFix(gSavedSettings, "FSTrishNeighboringRegionLoadAdjacentsFix");
if (fsTrishNeighboringRegionLoadAdjacentsFix)
{
LLViewerRegion* current_region = gAgent.getRegion();
std::vector<LLViewerRegion*> uniqueRegions;
current_region->getNeighboringRegions(uniqueRegions);
bool found = false;
for (LLViewerRegion* r : uniqueRegions)
{
if (r && r->getHandle() == handle)
{
found = true;
break;
}
}
if (!found)
{
LLViewerRegion* pRegion = LLWorld::getInstance()->getRegionFromHandle(handle);
if (pRegion)
{
LLWorld::getInstance()->removeRegion(pRegion->getHost());
LL_INFOS() << "Region is not a neighbor, connection aborted." << LL_ENDL;
return;
}
}
}
// </FS:Trish> Remove region if it wasn't a neighbor
// give the simulator a message it can use to get ip and port // give the simulator a message it can use to get ip and port
LL_INFOS() << "simulator_enable() Enabling " << sim << " with code " << msg->getOurCircuitCode() << LL_ENDL; LL_INFOS() << "simulator_enable() Enabling " << sim << " with code " << msg->getOurCircuitCode() << LL_ENDL;
msg->newMessageFast(_PREHASH_UseCircuitCode); msg->newMessageFast(_PREHASH_UseCircuitCode);