* Apply the other patch from http://opensimulator.org/mantis/view.php?id=2315
* This means that LL RAW terrains (one source being the upload/download buttons on the estate dialog in the viewer) are now imported the 'right' way around rather than being flipped on the y axis * Existing RAW terrains before this patch will need to be flipped with the "terrain flip y" command from the console after import * More details on the mailing lists soon. -This line, and those below, will be ignored-- M OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/LLRAW.cs M OpenSim/Framework/Communications/Cache/CachedUserInfo.cs M OpenSim/Framework/Communications/Cache/UserProfileCacheService.cs0.6.1-post-fixes
parent
e8a43b136b
commit
9e02a639e5
|
@ -329,10 +329,11 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a folder in this agent's inventory.
|
/// Create a folder in this agent's inventory.
|
||||||
|
/// </summary>
|
||||||
///
|
///
|
||||||
/// If the inventory service has not yet delievered the inventory
|
/// If the inventory service has not yet delievered the inventory
|
||||||
/// for this user then the request will be queued.
|
/// for this user then the request will be queued.
|
||||||
/// </summary>
|
///
|
||||||
/// <param name="parentID"></param>
|
/// <param name="parentID"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public bool CreateFolder(string folderName, UUID folderID, ushort folderType, UUID parentID)
|
public bool CreateFolder(string folderName, UUID folderID, ushort folderType, UUID parentID)
|
||||||
|
|
|
@ -224,11 +224,12 @@ namespace OpenSim.Framework.Communications.Cache
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handle a client request to update the inventory folder
|
/// Handle a client request to update the inventory folder
|
||||||
|
/// </summary>
|
||||||
///
|
///
|
||||||
/// FIXME: We call add new inventory folder because in the data layer, we happen to use an SQL REPLACE
|
/// FIXME: We call add new inventory folder because in the data layer, we happen to use an SQL REPLACE
|
||||||
/// so this will work to rename an existing folder. Needless to say, to rely on this is very confusing,
|
/// so this will work to rename an existing folder. Needless to say, to rely on this is very confusing,
|
||||||
/// and needs to be changed.
|
/// and needs to be changed.
|
||||||
/// </summary>
|
///
|
||||||
/// <param name="remoteClient"></param>
|
/// <param name="remoteClient"></param>
|
||||||
/// <param name="folderID"></param>
|
/// <param name="folderID"></param>
|
||||||
/// <param name="type"></param>
|
/// <param name="type"></param>
|
||||||
|
|
|
@ -88,23 +88,23 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.FileLoaders
|
||||||
FileStream s = file.Open(FileMode.Open, FileAccess.Read);
|
FileStream s = file.Open(FileMode.Open, FileAccess.Read);
|
||||||
BinaryReader bs = new BinaryReader(s);
|
BinaryReader bs = new BinaryReader(s);
|
||||||
|
|
||||||
int currFileYOffset = 0;
|
int currFileYOffset = fileHeight - 1;
|
||||||
|
|
||||||
// if our region isn't on the first Y section of the areas to be landscaped, then
|
// if our region isn't on the first Y section of the areas to be landscaped, then
|
||||||
// advance to our section of the file
|
// advance to our section of the file
|
||||||
while (currFileYOffset < offsetY)
|
while (currFileYOffset > offsetY)
|
||||||
{
|
{
|
||||||
// read a whole strip of regions
|
// read a whole strip of regions
|
||||||
int heightsToRead = sectionHeight * (fileWidth * sectionWidth);
|
int heightsToRead = sectionHeight * (fileWidth * sectionWidth);
|
||||||
bs.ReadBytes(heightsToRead * 13); // because there are 13 fun channels
|
bs.ReadBytes(heightsToRead * 13); // because there are 13 fun channels
|
||||||
currFileYOffset++;
|
currFileYOffset--;
|
||||||
}
|
}
|
||||||
|
|
||||||
// got to the Y start offset within the file of our region
|
// got to the Y start offset within the file of our region
|
||||||
// so read the file bits associated with our region
|
// so read the file bits associated with our region
|
||||||
int y;
|
int y;
|
||||||
// for each Y within our Y offset
|
// for each Y within our Y offset
|
||||||
for (y = 0; y < sectionHeight; y++)
|
for (y = sectionHeight - 1; y >= 0; y--)
|
||||||
{
|
{
|
||||||
int currFileXOffset = 0;
|
int currFileXOffset = 0;
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.FileLoaders
|
||||||
int x;
|
int x;
|
||||||
for (x = 0; x < retval.Width; x++)
|
for (x = 0; x < retval.Width; x++)
|
||||||
{
|
{
|
||||||
retval[x, y] = bs.ReadByte() * (bs.ReadByte() / 128.0);
|
retval[x, (retval.Height - 1) - y] = bs.ReadByte() * (bs.ReadByte() / 128.0);
|
||||||
bs.ReadBytes(11); // Advance the stream to next bytes.
|
bs.ReadBytes(11); // Advance the stream to next bytes.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.FileLoaders
|
||||||
{
|
{
|
||||||
for (int x = 0; x < map.Width; x++)
|
for (int x = 0; x < map.Width; x++)
|
||||||
{
|
{
|
||||||
double t = map[x, y];
|
double t = map[x, (map.Height - 1) - y];
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
// The lookup table is pre-sorted, so we either find an exact match or
|
// The lookup table is pre-sorted, so we either find an exact match or
|
||||||
|
|
Loading…
Reference in New Issue