const Reader = require("./reader"); module.exports = (path) => { let buf = new Reader(path); let data = {}; data.version = buf.read_i32(); data.num_tiles = buf.read_i32(); data.strings = []; for (let i = 0; i < data.num_tiles; i++) { data.strings[i] = buf.read_string(); } buf.read_u8(); data.lot_width = buf.read_i32(); data.lot_height = buf.read_i32(); data.levels = buf.read_i32(); data.num_rooms = buf.read_i32(); data.rooms = []; for (let i = 0; i < data.num_rooms; i++) { let room = {}; room.name = buf.read_string(); room.level = buf.read_i32(); room.num_rects = buf.read_i32(); room.rects = []; for (let j = 0; j < room.num_rects; j++) { room.rects[j] = { x: buf.read_i32(), y: buf.read_i32(), width: buf.read_i32(), height: buf.read_i32() }; } room.num_objects = buf.read_i32(); room.objects = []; for (let j = 0; j < room.num_objects; j++) { room.objects[j] = { type: buf.read_i32(), x: buf.read_i32(), y: buf.read_i32() } } data.rooms[i] = room; } data.num_buildings = buf.read_i32(); data.buildings = []; for (let i = 0; i < data.num_buildings; i++) { let building = {}; building.num_rooms = buf.read_i32(); building.room_indices = []; for (let j = 0; j < building.num_rooms; j++) { building.room_indices[j] = buf.read_i32(); } data.buildings[i] = building; } return data; }