Expose all 100 patterns in editors/dumps (1.9.0)

Closes #471
This commit is contained in:
Kurt 2021-03-31 22:37:48 -07:00
parent 2b87990faf
commit d1932a6651
4 changed files with 12 additions and 9 deletions

View File

@ -107,7 +107,7 @@ public void SetPlayerHouses(IReadOnlyList<PlayerHouse> houses)
public DesignPattern[] GetDesigns()
{
var result = new DesignPattern[MainSaveOffsets.PatternCount];
var result = new DesignPattern[Offsets.PatternCount];
for (int i = 0; i <result.Length; i++)
result[i] = GetDesign(i);
return result;
@ -115,14 +115,14 @@ public DesignPattern[] GetDesigns()
public void SetDesigns(IReadOnlyList<DesignPattern> value)
{
var count = Math.Min(MainSaveOffsets.PatternCount, value.Count);
var count = Math.Min(Offsets.PatternCount, value.Count);
for (int i = 0; i < count; i++)
SetDesign(value[i], i);
}
public DesignPatternPRO[] GetDesignsPRO()
{
var result = new DesignPatternPRO[MainSaveOffsets.PatternCount];
var result = new DesignPatternPRO[Offsets.PatternCount];
for (int i = 0; i < result.Length; i++)
result[i] = GetDesignPRO(i);
return result;
@ -130,7 +130,7 @@ public DesignPatternPRO[] GetDesignsPRO()
public void SetDesignsPRO(IReadOnlyList<DesignPatternPRO> value)
{
var count = Math.Min(MainSaveOffsets.PatternCount, value.Count);
var count = Math.Min(Offsets.PatternCount, value.Count);
for (int i = 0; i < count; i++)
SetDesignPRO(value[i], i);
}
@ -151,7 +151,7 @@ public DesignPatternPRO[] GetDesignsTailor()
public void SetDesignsTailor(IReadOnlyList<DesignPatternPRO> value)
{
var count = Math.Min(MainSaveOffsets.PatternCount, value.Count);
var count = Math.Min(Offsets.PatternCount, value.Count);
for (int i = 0; i < count; i++)
value[i].Data.CopyTo(Data, Offsets.PatternTailor + (i * DesignPatternPRO.SIZE));
}

View File

@ -9,8 +9,9 @@ public abstract class MainSaveOffsets
{
public const int PlayerCount = 8;
public const int VillagerCount = 10;
public const int PatternCount = 50;
public const int PatternCount2 = 100;
public virtual int PatternCount => PatternCount1;
protected const int PatternCount1 = 50;
protected const int PatternCount2 = 100;
public const int PatternTailorCount = 8;
public const int BuildingCount = 46;
public const int RecycleBinCount = 40;

View File

@ -5,6 +5,8 @@
/// </summary>
public class MainSaveOffsets19 : MainSaveOffsets
{
public override int PatternCount => PatternCount2;
#region GSaveLand
public const int GSaveLandStart = 0x110;
public override int Animal => GSaveLandStart + 0x10;

View File

@ -141,7 +141,7 @@ private static void Dump(this IVillager v, string path)
/// <param name="path">Path to dump to</param>
public static void DumpDesigns(this MainSave sav, string path)
{
for (int i = 0; i < MainSaveOffsets.PatternCount; i++)
for (int i = 0; i < sav.Offsets.PatternCount; i++)
{
var dp = sav.GetDesign(i);
dp.Dump(path, i);
@ -210,7 +210,7 @@ public static void Load(this DesignPattern[] patterns, string path)
/// <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++)
for (int i = 0; i < sav.Offsets.PatternCount; i++)
{
var dp = sav.GetDesignPRO(i);
dp.Dump(path, i);