namespace Kmap; table Map { header: MapHeader; data: MapData; } table MapHeader { width: ushort; height: ushort; version: ushort; monster_spawn_file: string; npc_spawn_file: string; house_file: string; description: string; } table MapData { areas: [Area]; towns: [Town]; waypoints: [Waypoint]; } table Area { tiles: [Tile]; position: Position; } table Tile { items: [Item]; ground: Item; x: ubyte; y: ubyte; flags: uint32; house_id: uint32; } table Item { id: ushort; details: ItemDetails; attributes: ItemAttributes; } table ItemAttributes { count: ubyte; text: string; description: string; action: Action; } table ItemDetails { container_items: [Item]; depot_id: ushort; door_id: ushort; teleport: Position; } table Action { action_id: ushort; unique_id: ushort; } table Town { id: ubyte; name: string; position: Position; } table Waypoint { name: string; position: Position; } table Position { x: ushort; y: ushort; z: ubyte; } root_type Map;