Add New Huge configs

This commit is contained in:
Kurt
2022-02-27 09:45:58 -08:00
parent 0b7c6e6b54
commit 32eca7eb9f
7 changed files with 173 additions and 3 deletions

View File

@@ -215,5 +215,9 @@ public enum GameFile
AppConfigList,
HaShop,
NewHugeGroup,
NewHugeGroupLottery,
NewHugeLottery,
NewHugeTimeLimit,
}
}

View File

@@ -252,6 +252,11 @@ internal void SaveAll()
new(GameFile.SizeScaleConfig, ContainerType.SingleFile, "bin", "misc", "app_config", "pokemon_size_category_adjust_scale_config.bin"),
new(GameFile.SymbolBehave, ContainerType.SingleFile, "bin", "pokemon", "data", "poke_ai.bin"),
new(GameFile.NewHugeGroup, ContainerType.SingleFile, "bin", "field", "encount", "new_huge_outbreak_group.bin"),
new(GameFile.NewHugeGroupLottery, ContainerType.SingleFile, "bin", "field", "encount", "new_huge_outbreak_group_lottery.bin"),
new(GameFile.NewHugeLottery, ContainerType.SingleFile, "bin", "field", "encount", "new_huge_outbreak_lottery.bin"),
new(GameFile.NewHugeTimeLimit, ContainerType.SingleFile, "bin", "field", "encount", "new_huge_outbreak_time_limit.bin"),
// Cutscenes bin\demo
// Models bin\archive\pokemon
// pretty much everything is obviously named :)

View File

@@ -0,0 +1,37 @@
using System;
using System.ComponentModel;
using FlatSharp.Attributes;
// ReSharper disable UnusedAutoPropertyAccessor.Global
// ReSharper disable ClassNeverInstantiated.Global
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedType.Global
// ReSharper disable UnusedMember.Global
// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
namespace pkNX.Structures.FlatBuffers;
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakGroupLotteryArchive8a : IFlatBufferArchive<NewHugeOutbreakGroupLottery8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(0)] public NewHugeOutbreakGroupLottery8a[] Table { get; set; } = Array.Empty<NewHugeOutbreakGroupLottery8a>();
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakGroupLottery8a
{
[FlatBufferItem(00)] public ulong Field_00 { get; set; }
[FlatBufferItem(01)] public NewHugeOutbreakGroupLotteryDetail8a[] Table1 { get; set; } = Array.Empty<NewHugeOutbreakGroupLotteryDetail8a>();
[FlatBufferItem(02)] public NewHugeOutbreakGroupLotteryDetail8a[] Table2 { get; set; } = Array.Empty<NewHugeOutbreakGroupLotteryDetail8a>();
[FlatBufferItem(03)] public NewHugeOutbreakGroupLotteryDetail8a[] Table3 { get; set; } = Array.Empty<NewHugeOutbreakGroupLotteryDetail8a>();
[FlatBufferItem(04)] public ulong Field_02 { get; set; }
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakGroupLotteryDetail8a
{
[FlatBufferItem(00)] public ulong Field_00 { get; set; }
[FlatBufferItem(01)] public int Field_01 { get; set; }
}

View File

@@ -0,0 +1,42 @@
using System;
using System.ComponentModel;
using FlatSharp.Attributes;
// ReSharper disable UnusedAutoPropertyAccessor.Global
// ReSharper disable ClassNeverInstantiated.Global
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedType.Global
// ReSharper disable UnusedMember.Global
// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
namespace pkNX.Structures.FlatBuffers;
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakGroupArchive8a : IFlatBufferArchive<NewHugeOutbreakGroup8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(0)] public NewHugeOutbreakGroup8a[] Table { get; set; } = Array.Empty<NewHugeOutbreakGroup8a>();
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakGroup8a : IFlatBufferArchive<NewHugeOutbreakDetail8a>
{
[FlatBufferItem(00)] public ulong Field_00 { get; set; }
[FlatBufferItem(01)] public NewHugeOutbreakDetail8a[] Table { get; set; } = Array.Empty<NewHugeOutbreakDetail8a>();
[FlatBufferItem(02)] public ulong Field_02 { get; set; }
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakDetail8a : IHasCondition8a
{
[FlatBufferItem(0)] public ConditionType8a ConditionTypeID { get; set; }
[FlatBufferItem(1)] public Condition8a ConditionID { get; set; }
[FlatBufferItem(2)] public string ConditionArg1 { get; set; } = string.Empty;
[FlatBufferItem(3)] public string ConditionArg2 { get; set; } = string.Empty;
[FlatBufferItem(4)] public string ConditionArg3 { get; set; } = string.Empty;
[FlatBufferItem(5)] public string ConditionArg4 { get; set; } = string.Empty;
[FlatBufferItem(6)] public string ConditionArg5 { get; set; } = string.Empty;
[FlatBufferItem(7)] public ulong Field_07 { get; set; }
[FlatBufferItem(8)] public int Rate { get; set; }
}

View File

@@ -0,0 +1,43 @@
using System;
using System.ComponentModel;
using FlatSharp.Attributes;
// ReSharper disable UnusedAutoPropertyAccessor.Global
// ReSharper disable ClassNeverInstantiated.Global
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedType.Global
// ReSharper disable UnusedMember.Global
// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
namespace pkNX.Structures.FlatBuffers;
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakLotteryArchive8a : IFlatBufferArchive<NewHugeOutbreakLottery8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(0)] public NewHugeOutbreakLottery8a[] Table { get; set; } = Array.Empty<NewHugeOutbreakLottery8a>();
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakLottery8a
{
[FlatBufferItem(00)] public ulong Hash { get; set; }
[FlatBufferItem(01)] public string Field_01 { get; set; } = string.Empty;
[FlatBufferItem(02)] public int Field_02 { get; set; }
[FlatBufferItem(03)] public int Field_03 { get; set; }
[FlatBufferItem(04)] public int Field_04 { get; set; }
[FlatBufferItem(05)] public int Field_05 { get; set; }
[FlatBufferItem(06)] public int Field_06 { get; set; }
[FlatBufferItem(07)] public int Field_07 { get; set; }
[FlatBufferItem(08)] public int Field_08 { get; set; }
[FlatBufferItem(09)] public int Field_09 { get; set; }
[FlatBufferItem(10)] public int Field_10 { get; set; }
[FlatBufferItem(11)] public int Field_11 { get; set; }
[FlatBufferItem(12)] public int Field_12 { get; set; }
[FlatBufferItem(13)] public int Field_13 { get; set; }
[FlatBufferItem(14)] public int Field_14 { get; set; }
[FlatBufferItem(15)] public string[] Field_15 { get; set; } = Array.Empty<string>();
[FlatBufferItem(16)] public int[] Field_16 { get; set; } = Array.Empty<int>();
[FlatBufferItem(17)] public int[] Field_17 { get; set; } = Array.Empty<int>();
}

View File

@@ -0,0 +1,29 @@
using System;
using System.ComponentModel;
using FlatSharp.Attributes;
// ReSharper disable UnusedAutoPropertyAccessor.Global
// ReSharper disable ClassNeverInstantiated.Global
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedType.Global
// ReSharper disable UnusedMember.Global
// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
namespace pkNX.Structures.FlatBuffers;
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakTimeLimitArchive8a : IFlatBufferArchive<NewHugeOutbreakTimeLimit8a>
{
public byte[] Write() => FlatBufferConverter.SerializeFrom(this);
[FlatBufferItem(0)] public NewHugeOutbreakTimeLimit8a[] Table { get; set; } = Array.Empty<NewHugeOutbreakTimeLimit8a>();
}
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class NewHugeOutbreakTimeLimit8a
{
[FlatBufferItem(00)] public int Field_00 { get; set; } // not sure, is this instead pointing to 0x10 bytes 0-F?
[FlatBufferItem(01)] public int Field_01 { get; set; }
[FlatBufferItem(02)] public int[] Field_02 { get; set; } = Array.Empty<int>();
[FlatBufferItem(03)] public int[] Field_03 { get; set; } = Array.Empty<int>();
}

View File

@@ -407,9 +407,19 @@ public void PopFlatConfig(GameFile file, string title)
public void EditSize_Scale_Config() => PopFlatConfig(GameFile.SizeScaleConfig, "Size Scale Config Editor");
public void EditOutbreakDetail()
{
PopFlat<MassOutbreakTable8a, MassOutbreak8a>(GameFile.Outbreak, "Outbreak Proc Editor", z => z.WorkValueName);
}
=> PopFlat<MassOutbreakTable8a, MassOutbreak8a>(GameFile.Outbreak, "Outbreak Proc Editor", z => z.WorkValueName);
public void EditNewOutbreak_Group()
=> PopFlat<NewHugeOutbreakGroupArchive8a, NewHugeOutbreakGroup8a>(GameFile.NewHugeGroup, "New Outbreak Group Editor", z => z.Field_00.ToString("X16"));
public void EditNewOutbreak_GroupLottery()
=> PopFlat<NewHugeOutbreakGroupLotteryArchive8a, NewHugeOutbreakGroupLottery8a>(GameFile.NewHugeGroupLottery, "New Outbreak Group Lottery Editor", z => z.Field_00.ToString("X16"));
public void EditNewOutbreak_Lottery()
=> PopFlat<NewHugeOutbreakLotteryArchive8a, NewHugeOutbreakLottery8a>(GameFile.NewHugeLottery, "New Outbreak Lottery Editor", z => z.Hash.ToString("X16"));
public void EditNewOutbreak_TimeLimit()
=> PopFlat<NewHugeOutbreakTimeLimitArchive8a, NewHugeOutbreakTimeLimit8a>(GameFile.NewHugeTimeLimit, "New Outbreak Time Limit Editor", z => z.Field_00.ToString());
public void EditSymbolBehave()
{