Tällä functiolla ladataan kartta muistiin:
Code: Select all
Function LoadMTMMap(mapf$,tileset$)
Errors OFF
file=OpenToRead(mapf$)
If file=0 Then MakeError "Can't load MTM map.Can't open map:"+Chr(13)+Chr(10)+mapf$
Errors ON
w=ReadInt(file)
h=ReadInt(file)
tw=ReadShort(file)
th=ReadShort(file)
Print w
Print h
Print tw
Print th
map=MakeMap(w,h,tw,th)
For l=0 To 3
For y=1 To h
For x=1 To w
EditMap map,l,x,y,ReadByte(file)
Next x
Next y
Next l
PaintObject map,LoadImage(tileset$)
CloseFile file
Return map
EndFunction
mapf$=MTM kartta
tileset$=Tilesetti.Merkkijono.Ei kuvamuuttuja.
Ja tällä se tallennetaan:
Code: Select all
Function SaveMTMMap(map,mapfile$)
file=OpenToWrite(mapfile$)
WriteInt file,MapWidth()
WriteInt file,MapHeight()
WriteShort file,ObjectSizeX(map)/MapWidth()
WriteShort file,ObjectSizeY(map)/MapHeight()
For l=0 To 3
For y=1 To MapHeight()
For x=1 To MapWidth()
WriteByte file,GetMap2(l,x,y)
Next x
Next y
Next l
CloseFile file
EndFunction
map=Kartta muuttuja.Voi olla myös LoadMap functiolta saatu.
mapfile$=Tiedosto mihin kartta tallennetaan.
Tallenna jokin .til kartta .mtm formaattiin functiolla SaveMTMMap ja kokeilkaa ja kommentoikaa.
Lähiaikoina on tulossa MTM2 formaatti joka sisältä myös 4 Extra Data-Kerrosta.