public static void ImportDesignTiles(MainSave sav, byte[] result) { var tiles = sav.GetMapDesignTiles(); Buffer.BlockCopy(result, 0, tiles, 0, result.Length); sav.SetMapDesignTiles(tiles); }
/// <summary> /// Dumps all designs to the requested <see cref="path"/>. /// </summary> /// <param name="sav">Save Data to dump from</param> /// <param name="path">Path to dump to</param> public static void DumpDesignsPRO(this MainSave sav, string path) { for (int i = 0; i < MainSaveOffsets.PatternCount; i++) { sav.GetDesignPRO(i).Dump(path); } }
public MapTerrainStructure(MainSave sav) { Terrain = new TerrainLayer(sav.GetTerrainTiles(), sav.GetAcreBytes()); Buildings = sav.Buildings; PlazaX = sav.EventPlazaLeftUpX; PlazaY = sav.EventPlazaLeftUpZ; }
/// <summary> /// Dumps all designs to the requested <see cref="path"/>. /// </summary> /// <param name="sav">Save Data to dump from</param> /// <param name="path">Path to dump to</param> public static void DumpDesignsPRO(this MainSave sav, string path) { for (int i = 0; i < sav.Offsets.PatternCount; i++) { var dp = sav.GetDesignPRO(i); dp.Dump(path, i); } }
public static byte[] ExportDesignTiles(MainSave sav) { var tiles = sav.GetMapDesignTiles(); var result = new byte[tiles.Length * 2]; Buffer.BlockCopy(tiles, 0, result, 0, result.Length); return(result); }
/// <summary> /// Dumps all designs to the requested <see cref="path"/>. /// </summary> /// <param name="sav">Save Data to dump from</param> /// <param name="path">Path to dump to</param> /// <param name="indexed">Export file names prepended with design index</param> public static void DumpDesigns(this MainSave sav, string path, bool indexed) { for (int i = 0; i < sav.Offsets.PatternCount; i++) { var dp = sav.GetDesign(i); dp.Dump(path, i, indexed); } }
/// <summary> /// Dumps all villager houses to the requested <see cref="path"/>. /// </summary> /// <param name="sav">Save Data to dump from</param> /// <param name="path">Path to dump to</param> public static void DumpVillagerHouses(this MainSave sav, string path) { for (int i = 0; i < MainSaveOffsets.VillagerCount; i++) { var v = sav.GetVillager(i); var h = sav.GetVillagerHouse(i); h.Dump(path, v); } }
/// <summary> /// Dumps all villagers in their decrypted state to the requested <see cref="path"/>. /// </summary> /// <param name="sav">Save Data to dump from</param> /// <param name="path">Path to dump to</param> public static void DumpVillagers(this MainSave sav, string path) { for (int i = 0; i < 10; i++) { var v = sav.GetVillager(i); var name = GameInfo.Strings.GetVillager(v.InternalName); var dest = Path.Combine(path, $"{name}.nhv"); File.WriteAllBytes(dest, v.Data); } }
public static void ClearDesignTiles(MainSave sav) { var tiles = sav.GetMapDesignTiles(); for (int i = 0; i < tiles.Length; i++) { tiles[i] = MainSave.MapDesignNone; } sav.SetMapDesignTiles(tiles); }
/// <summary> /// Dumps all designs to the requested <see cref="path"/>. /// </summary> /// <param name="sav">Save Data to dump from</param> /// <param name="path">Path to dump to</param> public static void DumpDesigns(this MainSave sav, string path) { for (int i = 0; i < 50; i++) { var dp = sav.GetDesign(i); var name = dp.DesignName; var fn = StringUtil.CleanFileName($"{name}.nhd"); var dest = Path.Combine(path, fn); File.WriteAllBytes(dest, dp.Data); } }
public HorizonSave(string folder) { Main = new MainSave(folder); Players = Player.ReadMany(folder); }
} // 0 or 1 public MapManager(MainSave sav) : base(sav) { Items = new FieldItemManager(sav); }
public FieldItemManager(MainSave sav) { Layer1 = new FieldItemLayer(sav.GetFieldItemLayer1()); Layer2 = new FieldItemLayer(sav.GetFieldItemLayer2()); SAV = sav; }