//================================================================================================// void Engine::SaveMap() { CFileIO fIO; char sz[256]; sprintf(sz,"Data/Maps/Stage%i.stg",iStage); if(!fIO.GetFile(sz,"wb")) return; int x,y; //write block data for(x=0;x<400;x++) { for(y=0;y<15;y++) { fIO.WriteBinary(&mTilesLayer1[x][y].ID,1); fIO.WriteBinary(&mTilesLayer1[x][y].properties,1); fIO.WriteBinary(&mTilesLayer2[x][y].ID,1); fIO.WriteBinary(&mTilesLayer2[x][y].properties,1); fIO.WriteBinary(&mTilesLayer3[x][y].ID,1); fIO.WriteBinary(&mTilesLayer3[x][y].properties,1); } } //write generators int n = (int)mGenerators.size(); fIO.WriteBinary(&n,1); if(n>0) { list<Generator>::iterator g; for(g = mGenerators.begin(); g != mGenerators.end(); g++) { (*g).WriteToFile(fIO); } } n = (int)mAnimGenerators.size(); fIO.WriteBinary(&n,1); if(n>0) { list<AnimGenerator>::iterator g; for(g = mAnimGenerators.begin(); g != mAnimGenerators.end(); g++) { (*g).WriteToFile(fIO); } } fIO.ReleaseFile(); }