/// <summary>
/// Load the map into a grid
/// </summary>
private bool LoadMap()
{
ushort collision;
ushort zone;
try
{
using(FileStream fs = new FileStream(Path.GetFullPath(Filename),FileMode.Open))
using(BinaryReader br = new BinaryReader(fs))
{
for(int y=255;y>=0;y--)
for(int x=0;x<256;x++)
{
collision = br.ReadUInt16();
zone = br.ReadUInt16();
switch((byte)zone)
{
case (byte)Map.Types.Town:
Grid[x,y] = new Map(collision,(byte)Map.Types.Town);
break;
case (byte)Map.Types.Castle:
Grid[x,y] = new Map(collision,(byte)Map.Types.Castle);
break;
case (byte)Map.Types.OneWayPortal:
Grid[x,y] = new Map(collision,(byte)Map.Types.OneWayPortal);
break;
case (byte)Map.Types.TwoWayPortal:
Grid[x,y] = new Map(collision,(byte)Map.Types.TwoWayPortal);
break;
case (byte)Map.Types.PKFree:
Grid[x,y] = new Map(collision,(byte)Map.Types.PKFree);
break;
case (byte)Map.Types.World:
Grid[x,y] = new Map(collision,(byte)Map.Types.World);
break;
default:
Grid[x,y] = new Map(collision,(byte)Map.Types.World);
break;
}
}
}
} catch(EndOfStreamException) {
MessageBox.Show("Invalid File");
return false;
}
return true;
}