diff options
author | Justin Clarke Casey | 2008-06-29 19:21:43 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-29 19:21:43 +0000 |
commit | 7d5a21ddbf738c51197a98bef11a52ceb85fe907 (patch) | |
tree | b45ce6542acb9b6d17824983fb8d135560e8d3f8 /OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/RAW32.cs | |
parent | * Fix for http://opensimulator.org/mantis/view.php?id=1512 (diff) | |
download | opensim-SC_OLD-7d5a21ddbf738c51197a98bef11a52ceb85fe907.zip opensim-SC_OLD-7d5a21ddbf738c51197a98bef11a52ceb85fe907.tar.gz opensim-SC_OLD-7d5a21ddbf738c51197a98bef11a52ceb85fe907.tar.bz2 opensim-SC_OLD-7d5a21ddbf738c51197a98bef11a52ceb85fe907.tar.xz |
* Allow terrains to be loaded and saved from streams as well as directly to and from files
* Should be making use of this in the next revisions
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/RAW32.cs | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/RAW32.cs b/OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/RAW32.cs index 689abcf..bb8b0f7 100644 --- a/OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/RAW32.cs +++ b/OpenSim/Region/Environment/Modules/World/Terrain/FileLoaders/RAW32.cs | |||
@@ -41,22 +41,10 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.FileLoaders | |||
41 | 41 | ||
42 | public ITerrainChannel LoadFile(string filename) | 42 | public ITerrainChannel LoadFile(string filename) |
43 | { | 43 | { |
44 | TerrainChannel retval = new TerrainChannel(); | ||
45 | |||
46 | FileInfo file = new FileInfo(filename); | 44 | FileInfo file = new FileInfo(filename); |
47 | FileStream s = file.Open(FileMode.Open, FileAccess.Read); | 45 | FileStream s = file.Open(FileMode.Open, FileAccess.Read); |
48 | BinaryReader bs = new BinaryReader(s); | 46 | ITerrainChannel retval = LoadStream(s); |
49 | int y; | ||
50 | for (y = 0; y < retval.Height; y++) | ||
51 | { | ||
52 | int x; | ||
53 | for (x = 0; x < retval.Width; x++) | ||
54 | { | ||
55 | retval[x, y] = bs.ReadSingle(); | ||
56 | } | ||
57 | } | ||
58 | 47 | ||
59 | bs.Close(); | ||
60 | s.Close(); | 48 | s.Close(); |
61 | 49 | ||
62 | return retval; | 50 | return retval; |
@@ -124,11 +112,38 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.FileLoaders | |||
124 | 112 | ||
125 | return retval; | 113 | return retval; |
126 | } | 114 | } |
115 | |||
116 | public ITerrainChannel LoadStream(Stream s) | ||
117 | { | ||
118 | TerrainChannel retval = new TerrainChannel(); | ||
119 | |||
120 | BinaryReader bs = new BinaryReader(s); | ||
121 | int y; | ||
122 | for (y = 0; y < retval.Height; y++) | ||
123 | { | ||
124 | int x; | ||
125 | for (x = 0; x < retval.Width; x++) | ||
126 | { | ||
127 | retval[x, y] = bs.ReadSingle(); | ||
128 | } | ||
129 | } | ||
127 | 130 | ||
131 | bs.Close(); | ||
132 | |||
133 | return retval; | ||
134 | } | ||
135 | |||
128 | public void SaveFile(string filename, ITerrainChannel map) | 136 | public void SaveFile(string filename, ITerrainChannel map) |
129 | { | 137 | { |
130 | FileInfo file = new FileInfo(filename); | 138 | FileInfo file = new FileInfo(filename); |
131 | FileStream s = file.Open(FileMode.Create, FileAccess.Write); | 139 | FileStream s = file.Open(FileMode.Create, FileAccess.Write); |
140 | SaveStream(s, map); | ||
141 | |||
142 | s.Close(); | ||
143 | } | ||
144 | |||
145 | public void SaveStream(Stream s, ITerrainChannel map) | ||
146 | { | ||
132 | BinaryWriter bs = new BinaryWriter(s); | 147 | BinaryWriter bs = new BinaryWriter(s); |
133 | 148 | ||
134 | int y; | 149 | int y; |
@@ -141,8 +156,7 @@ namespace OpenSim.Region.Environment.Modules.World.Terrain.FileLoaders | |||
141 | } | 156 | } |
142 | } | 157 | } |
143 | 158 | ||
144 | bs.Close(); | 159 | bs.Close(); |
145 | s.Close(); | ||
146 | } | 160 | } |
147 | 161 | ||
148 | #endregion | 162 | #endregion |