14-06-2006, 09:30 AM
IF you know how to code it's kinda simple;
( taken from MS source )
you also need old map and new map rec, once again if you know how to code..
( taken from MS source )
Code:
Sub ConvertOldMapsToNew()
Dim FileName As String
Dim i As Long
Dim F As Long
Dim X As Long, Y As Long
Dim OldMap As OldMapRec
Dim NewMap As MapRec
For i = 1 To MAX_MAPS
FileName = App.Path & "\maps\map" & i & ".dat"
' Get the old file
F = FreeFile
Open FileName For Binary As #F
Get #F, , OldMap
Close #F
' Delete the old file
Call Kill(FileName)
' Convert
NewMap.Name = OldMap.Name
NewMap.Revision = OldMap.Revision + 1
NewMap.Moral = OldMap.Moral
NewMap.Up = OldMap.Up
NewMap.Down = OldMap.Down
NewMap.Left = OldMap.Left
NewMap.Right = OldMap.Right
NewMap.Music = OldMap.Music
NewMap.BootMap = OldMap.BootMap
NewMap.BootX = OldMap.BootX
NewMap.BootY = OldMap.BootY
NewMap.Shop = OldMap.Shop
For Y = 0 To MAX_MAPY
For X = 0 To MAX_MAPX
NewMap.Tile(X, Y).Ground = OldMap.Tile(X, Y).Ground
NewMap.Tile(X, Y).Mask = OldMap.Tile(X, Y).Mask
NewMap.Tile(X, Y).Anim = OldMap.Tile(X, Y).Anim
NewMap.Tile(X, Y).Fringe = OldMap.Tile(X, Y).Fringe
NewMap.Tile(X, Y).Type = OldMap.Tile(X, Y).Type
NewMap.Tile(X, Y).Data1 = OldMap.Tile(X, Y).Data1
NewMap.Tile(X, Y).Data2 = OldMap.Tile(X, Y).Data2
NewMap.Tile(X, Y).Data3 = OldMap.Tile(X, Y).Data3
Next X
Next Y
For X = 1 To MAX_MAP_NPCS
NewMap.Npc(X) = OldMap.Npc(X)
Next X
' Set new values to 0 or null
NewMap.Indoors = NO
' Save the new map
F = FreeFile
Open FileName For Binary As #F
Put #F, , NewMap
Close #F
Next i
End Sub
you also need old map and new map rec, once again if you know how to code..