| 266 | } |
| 267 | |
| 268 | bool TerrainFile::save( const char *filename ) |
| 269 | { |
| 270 | FileStream stream; |
| 271 | stream.open( filename, Torque::FS::File::Write ); |
| 272 | if ( stream.getStatus() != Stream::Ok ) |
| 273 | return false; |
| 274 | |
| 275 | stream.write( (U8)FILE_VERSION ); |
| 276 | |
| 277 | stream.write( mSize ); |
| 278 | |
| 279 | // Write out the height map. |
| 280 | for ( U32 i=0; i < mHeightMap.size(); i++) |
| 281 | stream.write( mHeightMap[i] ); |
| 282 | |
| 283 | // Write out the layer map. |
| 284 | for ( U32 i=0; i < mLayerMap.size(); i++) |
| 285 | stream.write( mLayerMap[i] ); |
| 286 | |
| 287 | // Write out the material names. |
| 288 | stream.write( (U32)mMaterials.size() ); |
| 289 | for ( U32 i=0; i < mMaterials.size(); i++ ) |
| 290 | stream.write( String( mMaterials[i]->getInternalName() ) ); |
| 291 | |
| 292 | return stream.getStatus() == FileStream::Ok; |
| 293 | } |
| 294 | |
| 295 | TerrainFile* TerrainFile::load( const Torque::Path &path ) |
| 296 | { |