Regarding the first reply to this post - "I cannot believe that YOU wrote the code above or YOU wrote one piece of that stuff there... doesn't fit somehow..."
Although I guess this isnt the case here, I'm sure some of us have family members we are teaching to code, who use our blitz accounts for hte support forums. I know sometimes im posting as myself, proud owner, and sometimes my brother posts under this name as he is just learning (although he is doing really well for a HS freshman!)
Anyway, I wrote tile loading and saving code for a now-abandoned tile game. (Funny how all my projects seem abandoned now) I'll print it below:
[code]
Function SaveTileMap(map:TileMap, path:String, gPile:GraphicPile)
DeleteFile(path)
success = CreateFile(path)
If Not success RuntimeError ("couldnt create save file " + path)
File = OpenFile(path)
WriteLine File, "Level Creator File"
WriteLine File, "Tilemap:"
WriteLine File, "Tilemap X Tile Count"
WriteLine File, map.xtiles
WriteLine File, "Tilemap Y Tile Count"
WriteLine File, map.ytiles
WriteLine File, "Tilemap X Tile Size"
WriteLine File, map.tilewidth
WriteLine File, "Tilemap Y Tile Size"
WriteLine File, map.tileheight
WriteLine File, "Tile Information Follows:"
map.UpdateTilePositions()
WriteLine File, "Number of tile attributes:"
WriteLine File, TileAttributeCount
WriteLine File, "Tile Format is as Follows:"
WriteLine File, "Tile.xloc - int"
WriteLine File, "Tile.yloc - int"
WriteLine File, "Tile.mygraphic - int"
WriteLine File, "Tile.drawR - int"
WriteLine File, "Tile.drawG - int"
WriteLine File, "Tile.drawB - int"
WriteLine File, "Tile.Attributes[1] - int"
WriteLine File, "Tile.Attributes[2] - int"
WriteLine File, "Tile.Attributes[3] - int"
WriteLine File, "Tile.Attributes[...] - int"
WriteLine File, "Tile.Attributes[" + TileAttributeCount + "] - int"
WriteLine File, "starting with top left tile, working across each row"
For r = 0 To map.ytiles - 1
For i = 0 To map.xtiles -1
WriteLine File, map.Tiles[i,r].xloc
WriteLine File, map.Tiles[i,r].yloc
WriteLine File, gpile.names[map.Tiles[i,r].mygraphic]
WriteLine File, map.Tiles[i,r].drawR
WriteLine File, map.Tiles[i,r].drawG
WriteLine File, map.Tiles[i,r].drawB
For j = 0 To TileAttributeCount - 1
WriteLine File, map.Tiles[i,r].Attributes[j]
Next
Next
Next
WriteLine File, "End of Tilemap"
CloseStream File
End Function
Function LoadTileMap:TileMap(map:TileMap, gPile:graphicPile, path:String)
Local line:String
Local File:Int
file = ReadFile(path)
If Not file Return map
line = ReadLine(file)
If line <> "Level Creator File" Then
Return map
End If
line = ReadLine(File) 'WriteLine File, "Tilemap:"
line = ReadLine(File) 'WriteLine File, "Tilemap X Tile Count:"
xtiles:Int = Int(ReadLine(file)) 'WriteLine File, map.xtiles
line = ReadLine(File) 'WriteLine File, "Tilemap Y Tile Count:"
ytiles:Int = Int(ReadLine(file)) 'WriteLine File, map.ytiles
line = ReadLine(File) 'WriteLine File, "Tilemap X Tile Size"
tilewidth:Int = Int(ReadLine(file)) 'WriteLine File, map.tilewidth
line = ReadLine(File) 'WriteLine File, "Tilemap Y Tile Size"
tileheight:Int = Int(ReadLine(file)) 'WriteLine File, map.tileheight
line = ReadLine(File) 'WriteLine File, "Tile Information Follows:"
line = ReadLine(File) 'WriteLine File, "Number of tile attributes:"
TileAttributeCount = Int(ReadLine(file)) 'WriteLine File, TileAttributeCount
line = ReadLine(File) 'WriteLine File, "Tile Format is as Follows:"
line = ReadLine(File) 'WriteLine File, "Tile.xloc - int"
line = ReadLine(File) 'WriteLine File, "Tile.yloc - int"
line = ReadLine(File) 'WriteLine File, "Tile.mygraphic - int"
line = ReadLine(File) 'WriteLine File, "Tile.drawR - int"
line = ReadLine(File) 'WriteLine File, "Tile.drawG - int"
line = ReadLine(File) 'WriteLine File, "Tile.drawB - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[1] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[2] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[3] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[...] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[" + TileAttributeCount + "] - int"
line = ReadLine(File) 'WriteLine File, "starting with top left tile, working across each row"
map:tilemap = TileMap.create(xtiles, ytiles, tilewidth, tileheight)
CT:Tile = Tile.Create(0, gpile, 0, 0) 'CT stands for Current Tile (we load stats into one tile, and save copies of it into the tilemap
For r = 0 To map.ytiles - 1
For i = 0 To map.xtiles -1
CT.mygPile = gpile
CT.xloc = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].xloc
CT.yloc = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].yloc
CT.mygraphic = gPile.getIndex(ReadLine(file)) 'WriteLine File, gpile.names[map.Tiles[i,r].mygraphic]
CT.drawR = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].drawR
CT.drawG = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].drawG
CT.drawB = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].drawB
For j = 0 To TileAttributeCount - 1
CT.Attributes[j] = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].Attributes[j]
Next
map.Tiles[i,r] = CT.duplicate()
Next
Next
map.UpdateTilePositions()
line = ReadLine(File) 'WriteLine File, "End of Tilemap"
CloseStream File
Return map
End Function
Although I guess this isnt the case here, I'm sure some of us have family members we are teaching to code, who use our blitz accounts for hte support forums. I know sometimes im posting as myself, proud owner, and sometimes my brother posts under this name as he is just learning (although he is doing really well for a HS freshman!)
Anyway, I wrote tile loading and saving code for a now-abandoned tile game. (Funny how all my projects seem abandoned now) I'll print it below:
[code]
Function SaveTileMap(map:TileMap, path:String, gPile:GraphicPile)
DeleteFile(path)
success = CreateFile(path)
If Not success RuntimeError ("couldnt create save file " + path)
File = OpenFile(path)
WriteLine File, "Level Creator File"
WriteLine File, "Tilemap:"
WriteLine File, "Tilemap X Tile Count"
WriteLine File, map.xtiles
WriteLine File, "Tilemap Y Tile Count"
WriteLine File, map.ytiles
WriteLine File, "Tilemap X Tile Size"
WriteLine File, map.tilewidth
WriteLine File, "Tilemap Y Tile Size"
WriteLine File, map.tileheight
WriteLine File, "Tile Information Follows:"
map.UpdateTilePositions()
WriteLine File, "Number of tile attributes:"
WriteLine File, TileAttributeCount
WriteLine File, "Tile Format is as Follows:"
WriteLine File, "Tile.xloc - int"
WriteLine File, "Tile.yloc - int"
WriteLine File, "Tile.mygraphic - int"
WriteLine File, "Tile.drawR - int"
WriteLine File, "Tile.drawG - int"
WriteLine File, "Tile.drawB - int"
WriteLine File, "Tile.Attributes[1] - int"
WriteLine File, "Tile.Attributes[2] - int"
WriteLine File, "Tile.Attributes[3] - int"
WriteLine File, "Tile.Attributes[...] - int"
WriteLine File, "Tile.Attributes[" + TileAttributeCount + "] - int"
WriteLine File, "starting with top left tile, working across each row"
For r = 0 To map.ytiles - 1
For i = 0 To map.xtiles -1
WriteLine File, map.Tiles[i,r].xloc
WriteLine File, map.Tiles[i,r].yloc
WriteLine File, gpile.names[map.Tiles[i,r].mygraphic]
WriteLine File, map.Tiles[i,r].drawR
WriteLine File, map.Tiles[i,r].drawG
WriteLine File, map.Tiles[i,r].drawB
For j = 0 To TileAttributeCount - 1
WriteLine File, map.Tiles[i,r].Attributes[j]
Next
Next
Next
WriteLine File, "End of Tilemap"
CloseStream File
End Function
Function LoadTileMap:TileMap(map:TileMap, gPile:graphicPile, path:String)
Local line:String
Local File:Int
file = ReadFile(path)
If Not file Return map
line = ReadLine(file)
If line <> "Level Creator File" Then
Return map
End If
line = ReadLine(File) 'WriteLine File, "Tilemap:"
line = ReadLine(File) 'WriteLine File, "Tilemap X Tile Count:"
xtiles:Int = Int(ReadLine(file)) 'WriteLine File, map.xtiles
line = ReadLine(File) 'WriteLine File, "Tilemap Y Tile Count:"
ytiles:Int = Int(ReadLine(file)) 'WriteLine File, map.ytiles
line = ReadLine(File) 'WriteLine File, "Tilemap X Tile Size"
tilewidth:Int = Int(ReadLine(file)) 'WriteLine File, map.tilewidth
line = ReadLine(File) 'WriteLine File, "Tilemap Y Tile Size"
tileheight:Int = Int(ReadLine(file)) 'WriteLine File, map.tileheight
line = ReadLine(File) 'WriteLine File, "Tile Information Follows:"
line = ReadLine(File) 'WriteLine File, "Number of tile attributes:"
TileAttributeCount = Int(ReadLine(file)) 'WriteLine File, TileAttributeCount
line = ReadLine(File) 'WriteLine File, "Tile Format is as Follows:"
line = ReadLine(File) 'WriteLine File, "Tile.xloc - int"
line = ReadLine(File) 'WriteLine File, "Tile.yloc - int"
line = ReadLine(File) 'WriteLine File, "Tile.mygraphic - int"
line = ReadLine(File) 'WriteLine File, "Tile.drawR - int"
line = ReadLine(File) 'WriteLine File, "Tile.drawG - int"
line = ReadLine(File) 'WriteLine File, "Tile.drawB - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[1] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[2] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[3] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[...] - int"
line = ReadLine(File) 'WriteLine File, "Tile.Attributes[" + TileAttributeCount + "] - int"
line = ReadLine(File) 'WriteLine File, "starting with top left tile, working across each row"
map:tilemap = TileMap.create(xtiles, ytiles, tilewidth, tileheight)
CT:Tile = Tile.Create(0, gpile, 0, 0) 'CT stands for Current Tile (we load stats into one tile, and save copies of it into the tilemap
For r = 0 To map.ytiles - 1
For i = 0 To map.xtiles -1
CT.mygPile = gpile
CT.xloc = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].xloc
CT.yloc = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].yloc
CT.mygraphic = gPile.getIndex(ReadLine(file)) 'WriteLine File, gpile.names[map.Tiles[i,r].mygraphic]
CT.drawR = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].drawR
CT.drawG = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].drawG
CT.drawB = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].drawB
For j = 0 To TileAttributeCount - 1
CT.Attributes[j] = Int(ReadLine(file)) 'WriteLine File, map.Tiles[i,r].Attributes[j]
Next
map.Tiles[i,r] = CT.duplicate()
Next
Next
map.UpdateTilePositions()
line = ReadLine(File) 'WriteLine File, "End of Tilemap"
CloseStream File
Return map
End Function