fix setup of find parcel by fakeID at load

This commit is contained in:
UbitUmarov
2026-01-29 04:55:21 +00:00
parent bd1e32546f
commit 4f8147696a
3 changed files with 15 additions and 4 deletions

View File

@@ -2546,7 +2546,9 @@ namespace OpenSim.Framework
(byte)regionHandle, (byte)(regionHandle >> 8), (byte)(regionHandle >> 16), (byte)(regionHandle >> 24),
(byte)(regionHandle >> 32), (byte)(regionHandle >> 40), (byte)(regionHandle >> 48), (byte)(regionHandle >> 56),
(byte)x, (byte)(x >> 8), 0, 0,
(byte)y, (byte)(y >> 8), 0, 0 };
(byte)y, (byte)(y >> 8), 0, 0
};
return new UUID(bytes, 0);
}
@@ -2557,7 +2559,8 @@ namespace OpenSim.Framework
(byte)regionHandle, (byte)(regionHandle >> 8), (byte)(regionHandle >> 16), (byte)(regionHandle >> 24),
(byte)(regionHandle >> 32), (byte)(regionHandle >> 40), (byte)(regionHandle >> 48), (byte)(regionHandle >> 56),
(byte)x, (byte)(x >> 8), (byte)z, (byte)(z >> 8),
(byte)y, (byte)(y >> 8), 0, 0 };
(byte)y, (byte)(y >> 8), 0, 0
};
return new UUID(bytes, 0);
}

View File

@@ -795,14 +795,20 @@ namespace OpenSim.Region.CoreModules.World.Land
}
}
}
m_landList.Add(newLandLocalID, new_land);
m_landGlobalIDs[new_land.LandData.GlobalID] = newLandLocalID;
m_landFakeIDs[new_land.LandData.FakeID] = newLandLocalID;
if(new_land.LandData.FakeID.IsNotZero())
m_landFakeIDs[new_land.LandData.FakeID] = newLandLocalID;
m_lastLandLocalID++;
}
new_land.ForceUpdateLandInfo();
lock (m_landList)
{
m_landFakeIDs[new_land.LandData.FakeID] = new_land.LandData.LocalID;
}
m_scene.EventManager.TriggerLandObjectAdded(new_land);
return new_land;

View File

@@ -69,6 +69,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
{
obj.ResetIDs();
}
else
obj.SetPartsInventoryChanged(false);
//if we want this to be a import method then we need new uuids for the object to avoid any clashes
//obj.RegenerateFullIDs();