public static bool ImportAreas(string fullPath) { var sLevels = new Areas.Serialized[510]; for (int i = 0; i < sLevels.Length; i++) { sLevels[i] = new Areas.Serialized(); } try { Do.Import(sLevels, fullPath + "\\" + "area", "AREA", true); } catch { MessageBox.Show("One or more files not an area data file.", "LAZY SHELL", MessageBoxButtons.OK, MessageBoxIcon.Stop); return(false); } for (int i = 0; i < sLevels.Length; i++) { Areas[i].Layering = sLevels[i].Layering; Areas[i].Layering.Index = i; Areas[i].Map = sLevels[i].MapNum; var map = sLevels[i].Map; Maps[Areas[i].Map] = map; Tilesets[map.TilesetL1 + 0x20] = sLevels[i].TilesetL1; Tilesets[map.TilesetL2 + 0x20] = sLevels[i].TilesetL2; Tilesets[map.TilesetL3] = sLevels[i].TilesetL3; Modify_Tilesets[map.TilesetL1 + 0x20] = true; Modify_Tilesets[map.TilesetL2 + 0x20] = true; Modify_Tilesets[map.TilesetL3] = true; Tilemaps[map.TilemapL1 + 0x40] = sLevels[i].TilemapL1; Tilemaps[map.TilemapL2 + 0x40] = sLevels[i].TilemapL2; Tilemaps[map.TilemapL3] = sLevels[i].TilemapL3; Modify_Tilemaps[map.TilemapL1 + 0x40] = true; Modify_Tilemaps[map.TilemapL2 + 0x40] = true; Modify_Tilemaps[map.TilemapL3] = true; CollisionMaps[map.CollisionMap] = sLevels[i].CollisionMap; Modify_CollisionMaps[map.CollisionMap] = true; Areas[i].NPCObjects = sLevels[i].NPCs; Areas[i].ExitTriggers = sLevels[i].Exits; Areas[i].EventTriggers = sLevels[i].Events; Areas[i].Overlaps = sLevels[i].Overlaps; Areas[i].NPCObjects.AreaIndex = i; Areas[i].ExitTriggers.AreaIndex = i; Areas[i].EventTriggers.AreaIndex = i; Areas[i].Overlaps.AreaIndex = i; } return(true); }
public static bool ImportArea(int index, string fullPath) { var sLevel = new Areas.Serialized(); try { sLevel = (Areas.Serialized)Do.Import(sLevel, fullPath); } catch { MessageBox.Show("File not an area data file.", "LAZY SHELL", MessageBoxButtons.OK, MessageBoxIcon.Stop); return(false); } Areas[index].Layering = sLevel.Layering; Areas[index].Layering.Index = index; Areas[index].Map = sLevel.MapNum; var map = sLevel.Map; Maps[Areas[index].Map] = map; Tilesets[map.TilesetL1 + 0x20] = sLevel.TilesetL1; Tilesets[map.TilesetL2 + 0x20] = sLevel.TilesetL2; Tilesets[map.TilesetL3] = sLevel.TilesetL3; Modify_Tilesets[map.TilesetL1 + 0x20] = true; Modify_Tilesets[map.TilesetL2 + 0x20] = true; Modify_Tilesets[map.TilesetL3] = true; Tilemaps[map.TilemapL1 + 0x40] = sLevel.TilemapL1; Tilemaps[map.TilemapL2 + 0x40] = sLevel.TilemapL2; Tilemaps[map.TilemapL3] = sLevel.TilemapL3; Modify_Tilemaps[map.TilemapL1 + 0x40] = true; Modify_Tilemaps[map.TilemapL2 + 0x40] = true; Modify_Tilemaps[map.TilemapL3] = true; CollisionMaps[map.CollisionMap] = sLevel.CollisionMap; Modify_CollisionMaps[map.CollisionMap] = true; Areas[index].NPCObjects = sLevel.NPCs; Areas[index].ExitTriggers = sLevel.Exits; Areas[index].EventTriggers = sLevel.Events; Areas[index].Overlaps = sLevel.Overlaps; Areas[index].NPCObjects.AreaIndex = index; Areas[index].ExitTriggers.AreaIndex = index; Areas[index].EventTriggers.AreaIndex = index; Areas[index].Overlaps.AreaIndex = index; // return(true); }