aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-02-13 16:35:42 +0000
committerJustin Clarke Casey2008-02-13 16:35:42 +0000
commitdf21da6decff40793acb1f7667b7ea111faab7e3 (patch)
tree1a0fce58e139cbb623c69aaf3f457063d3f6fbc6
parentAdded some locks on the cache Dictionary in AvatarFactoryModule. (diff)
downloadopensim-SC-df21da6decff40793acb1f7667b7ea111faab7e3.zip
opensim-SC-df21da6decff40793acb1f7667b7ea111faab7e3.tar.gz
opensim-SC-df21da6decff40793acb1f7667b7ea111faab7e3.tar.bz2
opensim-SC-df21da6decff40793acb1f7667b7ea111faab7e3.tar.xz
* Patch from Dr Schofld's (IBM). In his own words
all TerrainEngine.LoadFromFileX(string filename) methods don't set the dirty bits in heightmap.diff[,] in contrast to the TerrainEngine.LoadFromFileX(string filename, int dimensionX, int dimensionY, int lowerboundX, int lowerboundY) cousins. this has the unpleasant drawback that the Scene.SendTerrainUpdate(bool) will not send layer data to the client. the attached patch fixes all LoadFromFileX(.) methods. Thanks! * Also small build fix for AvatarFactoryModule
-rw-r--r--OpenSim/Region/Environment/Modules/AvatarFactoryModule.cs4
-rw-r--r--OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs6
2 files changed, 6 insertions, 4 deletions
diff --git a/OpenSim/Region/Environment/Modules/AvatarFactoryModule.cs b/OpenSim/Region/Environment/Modules/AvatarFactoryModule.cs
index b8b6be8..6042a54 100644
--- a/OpenSim/Region/Environment/Modules/AvatarFactoryModule.cs
+++ b/OpenSim/Region/Environment/Modules/AvatarFactoryModule.cs
@@ -178,9 +178,11 @@ namespace OpenSim.Region.Environment.Modules
178 178
179 if (m_avatarsAppearance.ContainsKey(clientView.AgentId)) 179 if (m_avatarsAppearance.ContainsKey(clientView.AgentId))
180 { 180 {
181 AvatarAppearance avatAppearance = null;
182
181 lock (m_avatarsAppearance) 183 lock (m_avatarsAppearance)
182 { 184 {
183 AvatarAppearance avatAppearance = m_avatarsAppearance[clientView.AgentId]; 185 avatAppearance = m_avatarsAppearance[clientView.AgentId];
184 } 186 }
185 avatAppearance.Wearables[wear.Type].AssetID = assetId; 187 avatAppearance.Wearables[wear.Type].AssetID = assetId;
186 avatAppearance.Wearables[wear.Type].ItemID = wear.ItemID; 188 avatAppearance.Wearables[wear.Type].ItemID = wear.ItemID;
diff --git a/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs b/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs
index d4f4948..82969d9 100644
--- a/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs
+++ b/OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs
@@ -817,7 +817,7 @@ namespace OpenSim.Region.Terrain
817 { 817 {
818 for (x = 0; x < h; x++) 818 for (x = 0; x < h; x++)
819 { 819 {
820 heightmap.map[x, y] = bs.ReadDouble(); 820 heightmap.Set(x, y, (double) bs.ReadSingle());
821 } 821 }
822 } 822 }
823 823
@@ -842,7 +842,7 @@ namespace OpenSim.Region.Terrain
842 { 842 {
843 for (x = 0; x < w; x++) 843 for (x = 0; x < w; x++)
844 { 844 {
845 heightmap.map[x, y] = (double) bs.ReadSingle(); 845 heightmap.Set(x, y, (double) bs.ReadSingle());
846 } 846 }
847 } 847 }
848 848
@@ -954,7 +954,7 @@ namespace OpenSim.Region.Terrain
954 { 954 {
955 for (x = 0; x < w; x++) 955 for (x = 0; x < w; x++)
956 { 956 {
957 heightmap.map[x, y] = (double) bs.ReadByte()*((double) bs.ReadByte()/127.0); 957 heightmap.Set(x, y, (double) bs.ReadByte()*((double) bs.ReadByte()/127.0));
958 bs.ReadBytes(11); // Advance the stream to next bytes. 958 bs.ReadBytes(11); // Advance the stream to next bytes.
959 } 959 }
960 } 960 }