ID:139554
 
Code:
proc
MAPSAVE() //code grabbed off Jlx (I think)
var/list/L = new
for(var/area/save/A in world)
L += A.contents+A
var/savefile/F = new("server/world.save")
F << L

MAPLOAD()
var/savefile/F = new("server/world.save")
var/A

//load everything in the file
while(!F.eof)
F >> A


Problem description:
500x500 map. Randomly generated turf & objects. area/save is placed over everything that isn't the default /turf (water). The problem is, the above code works. Especially well for small areas (say, 10x10). The problem; it doesn't load the objects that are stored in the contents of the turf (but it does save the contents). The other problem, it is incredibly slow with the larger generated masses of turf and objects. I was thinking of saving the icon_state, density, opacity, etc. of each turf, then loop through the list in which they were saved in to rebuild the world. But, I would still have to save the objects.

Anyone have any suggestions for me?

Well this is just me and nothing related to the code itself but i say just let it regenerated each time without saving itself.

but thats just me i was never a fan of a recurring "saved" world especially if (people like me) want to drop enmasse of items to destroy them in a reboot. a world save would stop that.. thats no fun
That's more complicated than it should be. All you need to do to save is:

var/area/save/A = locate()
F << A


And all you need to do to load is:

var/area/save/A
F >> A