diff options
author | Justin Clarke Casey | 2008-02-13 16:35:42 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-02-13 16:35:42 +0000 |
commit | df21da6decff40793acb1f7667b7ea111faab7e3 (patch) | |
tree | 1a0fce58e139cbb623c69aaf3f457063d3f6fbc6 | |
parent | Added some locks on the cache Dictionary in AvatarFactoryModule. (diff) | |
download | opensim-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.cs | 4 | ||||
-rw-r--r-- | OpenSim/Region/Terrain.BasicTerrain/TerrainEngine.cs | 6 |
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 | } |