Expand on Throw Param Flatbuffers

This commit is contained in:
Maurizio Vitale
2022-10-06 01:40:26 -04:00
committed by Jelle
parent 4963d8ca6c
commit f3bf97a110
12 changed files with 164 additions and 13 deletions

View File

@@ -220,6 +220,7 @@ internal void SaveAll()
new(GameFile.Resident , ContainerType.GFPack , "bin", "archive", "field", "resident_release.gfpak"),
new(GameFile.ThrowParam , ContainerType.SingleFile, "bin", "capture", "throw_param_table.bin"),
new(GameFile.ThrowPermissionSet , ContainerType.SingleFile, "bin", "capture", "throw_permissionset_dictionary.bin"),
new(GameFile.ThrowableParam , ContainerType.SingleFile, "bin", "capture", "throwable_param_table.bin"),
new(GameFile.ThrowableResource , ContainerType.SingleFile, "bin", "capture", "throwable_resource_dictionary.bin"),

View File

@@ -0,0 +1,21 @@
using FlatSharp.Attributes;
// ReSharper disable UnusedMember.Global
#pragma warning disable RCS1154 // Sort enum members.
namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum ThrowEffectHitType8a : ulong
{
EffectHit = 0xe81b7c1ecbec8a8, //ef_hit
EffectYukiHit = 0xec2bf01c23011916, //ef_yukihit
EffectStickyHit = 0xdf7f2703d7359ada, //ef_sticky_hit
EffectKemuriHit = 0xea16eea823e31e31, //ef_kemurihit
EffectBibiriHit = 0x87168142f28b42f7, //ef_bibirihit
EffectPippiHit = 0x474876e8e47215c8, //ef_pippihit
EffectUnk1Hit = 0x262b03b924121730,
EffectUnk2Hit = 0x7f5d5908e7deb625,
EffectUnk3Hit = 0x9fa86e9cc66822a,
EffectUnk4Hit = 0x69d10d3d31d81522,
}

View File

@@ -0,0 +1,13 @@
using FlatSharp.Attributes;
// ReSharper disable UnusedMember.Global
#pragma warning disable RCS1154 // Sort enum members.
namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum ThrowEffectTrajectoryType8a : ulong
{
EffectTrajectory = 0xe65f2a9cfd11ed0e, //ef_traj
EffectTrajectorySpeed = 0x772110bcb4b8f2ec, //ef_traj_spd
}

View File

@@ -0,0 +1,15 @@
using FlatSharp.Attributes;
// ReSharper disable UnusedMember.Global
#pragma warning disable RCS1154 // Sort enum members.
namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum ThrowItemCategoryType8a : ulong
{
ball = 0x5f89f09249c10944, //ball
bait = 0x5f9b0e9249cfaf71, //bait
pippidoll = 0xdbff893542f03b18, //pippidoll
None = 0xCBF29CE484222645, // ""
}

View File

@@ -0,0 +1,67 @@
using FlatSharp.Attributes;
// ReSharper disable UnusedMember.Global
#pragma warning disable RCS1154 // Sort enum members.
namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum ThrowItemType8a : ulong
{
himerinut = 0x3a494f9ac8a4b60, //himerinut
bait_mine = 0x993674192e7dca1, //bait_mine
nananut = 0xa75cf2ed0ae8464, //nananut
stickyball = 0x15cb1f582d2b05ab, //stickyball
uinut = 0x26086d918b32994e, //uinut
firanut = 0x35fb8f229be5c528, //firanut
pailunut = 0x3829c251cf4b8c61, //pailunut
pofnut = 0x3f19729fab15a1c5, //pofnut
wormbonguri = 0x40ec257af0380d3c, //wormbonguri
stealth_hyp_ball = 0x41f2a129ffc9e182, //stealth_hyp_ball
bait_mitsu_ball = 0x44a5dfe77d2ec320, //bait_mitsu_ball
magonut = 0x45ecb75b26716524, //magonut
chigonut = 0x4cbe270a98de29be, //chigonut
ianut = 0x5c32dc772e3fc542, //ianut
bait_mitsu = 0x5f794e6cbbddf684, //bait_mitsu
homeball = 0x60e0c53dcfe3cfff, //homeball
momonut = 0x684b9ea110e11568, //momonut
mudball = 0x68509395ab628fe8, //mudball
snowball = 0x686b6f1270673903, //snowball
bait_kinoko = 0x71f2e27bff5404f7, //bait_kinoko
originball = 0x752a00f35c76f1b2, //originball
kagonut = 0x7fdbf89a754927fa, //kagonut
monsterball = 0x85c7c5e7999fd550, //monsterball
orennut = 0x87b5396e14f994aa, //orennut
hyperball = 0x8cb625566b0d2638, //hyperball
wing_spr_ball = 0x8e2c531f1d0ae7f2, //wing_spr_ball
rumnut = 0x96356a7ad08d2a9a, //rumnut
calmball5 = 0x9f1386cc52adfd76, //calmball5
calmball4 = 0x9f1387cc52adff29, //calmball4
calmball3 = 0x9f1388cc52ae00dc, //calmball3
calmball2 = 0x9f1389cc52ae028f, //calmball2
calmball1 = 0x9f138acc52ae0442, //calmball1
calmballD = 0x9f1397cc52ae1a59, //calmballD
calmballA = 0x9f139acc52ae1f72, //calmballA
calmballP = 0x9f13abcc52ae3c55, //calmballP
wing_mon_ball = 0xa7ab3d4ef761fb15, //wing_mon_ball
zurinut = 0xb6217c3eebd332a8, //zurinut
bait_inaho_ball = 0xb6b0654a6247edd3, //bait_inaho_ball
superball = 0xb91523d77f25aa59, //superball
obonnut = 0xc02f2f86fafea280, //obonnut
nanashinut = 0xc15904d04224366c, //nanashinut
bibiridama = 0xc223aa6648ce415d, //bibiridama
stealth_mon_ball = 0xc2d7dde6638987ff, //stealth_mon_ball
bait_mame = 0xc4e70f416c2f3942, //bait_mame
bait_inaho = 0xc8fa365f7d9373c9, //bait_inaho
banzinut = 0xd1c543284a58f86a, //banzinut
bait_kinoko_ball = 0xe0d04e60f9a9fdbd, //bait_kinoko_ball
kurabonut = 0xe2915706c644348a, //kurabonut
bait_mame_ball = 0xe82b64341769252a, //bait_mame_ball
stealth_spr_ball = 0xe8773113bcf45f14, //stealth_spr_ball
bait_mine_ball = 0xf5092f5edec93cab, //bait_mine_ball
wing_hyp_ball = 0xf56bb5392163fd18, //wing_hyp_ball
kemuridama = 0xff794d85c532359f, //kemuridama
pippidoll = 0xdbff893542f03b18, //pippidoll
baitball = 0xad1ad9775119d630, //baitball
None = 0xCBF29CE484222645, // ""
}

View File

@@ -22,11 +22,11 @@ public class ThrowParamTable8a : IFlatBufferArchive<ThrowParam8a>
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class ThrowParam8a
{
[FlatBufferItem(00)] public ulong Hash { get; set; }
[FlatBufferItem(00)] public ThrowParamType8a ThrowParamType { get; set; }
[FlatBufferItem(01)] public float Velocity { get; set; } // more speed
[FlatBufferItem(02)] public float Arc { get; set; } // more arc
[FlatBufferItem(03)] public float GravityDirection { get; set; } // higher values make it fall less, and go less forward
[FlatBufferItem(04)] public float ThrowAngle { get; set; } // higher values go straight up?
public string Dump() => $"{Hash:X16}\t{Velocity}\t{Arc}\t{GravityDirection}\t{ThrowAngle}";
public string Dump() => $"{ThrowParamType:X16}\t{Velocity}\t{Arc}\t{GravityDirection}\t{ThrowAngle}";
}

View File

@@ -0,0 +1,17 @@
using FlatSharp.Attributes;
// ReSharper disable UnusedMember.Global
#pragma warning disable RCS1154 // Sort enum members.
namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum ThrowParamType8a : ulong
{
Wing = 0x6b9627ecf52625da, //wing
SnowCalm = 0xa086f61847441d29, //snowcalm
Default=0xafc4d6c05abef19e, //default
VolcanoCalm = 0xc82a786ba9e1c8ae, //volcanocalm
Stealth = 0xe9bdc448876b25dc, //stealth
None = 0xCBF29CE484222645, // ""
}

View File

@@ -22,7 +22,7 @@ public class ThrowPermissionSetDictionary8a : IFlatBufferArchive<ThrowPermission
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class ThrowPermissionSetEntry8a
{
[FlatBufferItem(00)] public ulong Hash_00 { get; set; }
[FlatBufferItem(00)] public ThrowPermissionSetType8a ThrowPermissionSet { get; set; }
[FlatBufferItem(01)] public int Field_01 { get; set; }
[FlatBufferItem(02)] public int Field_02 { get; set; }
[FlatBufferItem(03)] public int Field_03 { get; set; }

View File

@@ -0,0 +1,17 @@
using FlatSharp.Attributes;
// ReSharper disable UnusedMember.Global
#pragma warning disable RCS1154 // Sort enum members.
namespace pkNX.Structures.FlatBuffers;
[FlatBufferEnum(typeof(ulong))]
public enum ThrowPermissionSetType8a : ulong
{
Minigame = 0x2806e5fb21a98b98, //minigame
Ball = 0x5f89f09249c10944, //ball
FieldItem = 0xacab9dbb80de90a0, //fielditem
Calmball = 0xf02d16da37827587, //calmball
CantThrow = 0xfe62f8dd886f25f5, //cantthrow
None = 0xCBF29CE484222645, // ""
}

View File

@@ -28,9 +28,9 @@ public void AddEntry(int itemID)
public class ThrowableParam8a
{
[FlatBufferItem(00)] public int ItemID { get; set; }
[FlatBufferItem(01)] public ulong Hash_01 { get; set; }
[FlatBufferItem(02)] public ulong ThrowPermissionSet { get; set; }
[FlatBufferItem(03)] public ulong ThrowParam { get; set; }
[FlatBufferItem(01)] public ThrowItemType8a ItemType { get; set; }
[FlatBufferItem(02)] public ThrowPermissionSetType8a ThrowPermissionSet { get; set; }
[FlatBufferItem(03)] public ThrowParamType8a ThrowParam { get; set; }
[FlatBufferItem(04)] public ulong Hash_04 { get; set; }
[FlatBufferItem(05)] public int Field_05 { get; set; }
[FlatBufferItem(06)] public float Field_06 { get; set; }

View File

@@ -22,13 +22,13 @@ public class ThrowableResourceSetDictionary8a : IFlatBufferArchive<ThrowableReso
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
public class ThrowableResourceSetEntry8a
{
[FlatBufferItem(00)] public ulong Hash_00 { get; set; }
[FlatBufferItem(00)] public ThrowItemType8a ItemType { get; set; }
[FlatBufferItem(01)] public bool Flag { get; set; }
[FlatBufferItem(02)] public ulong Hash_02 { get; set; }
[FlatBufferItem(03)] public ulong Hash_03 { get; set; }
[FlatBufferItem(03)] public ThrowItemCategoryType8a ItemCategory { get; set; }
[FlatBufferItem(04)] public ulong Hash_04 { get; set; }
[FlatBufferItem(05)] public ulong Hash_05 { get; set; }
[FlatBufferItem(06)] public ulong Hash_06 { get; set; }
[FlatBufferItem(05)] public ulong HitTrajectoryType { get; set; }
[FlatBufferItem(06)] public ulong HitEffectType { get; set; }
[FlatBufferItem(07)] public string SoundDrop { get; set; } = string.Empty;
[FlatBufferItem(08)] public string SoundFly { get; set; } = string.Empty;
}

View File

@@ -536,13 +536,13 @@ public void EditPokemonResourceList()
[EditorCallable(EditorCategory.Items)]
public void EditThrowParam()
{
PopFlat<ThrowParamTable8a, ThrowParam8a>(GameFile.ThrowParam, "Throw Param Editor", (z, _) => z.Hash.ToString("X16"));
PopFlat<ThrowParamTable8a, ThrowParam8a>(GameFile.ThrowParam, "Throw Param Editor", (z, _) => z.ThrowParamType.ToString());
}
[EditorCallable(EditorCategory.Items)]
public void EditThrowPermissionSetParam()
{
PopFlat<ThrowPermissionSetDictionary8a, ThrowPermissionSetEntry8a>(GameFile.ThrowPermissionSet, "Throw Permission Editor", (z, _) => z.Hash_00.ToString("X16"));
PopFlat<ThrowPermissionSetDictionary8a, ThrowPermissionSetEntry8a>(GameFile.ThrowPermissionSet, "Throw Permission Editor", (z, _) => z.ThrowPermissionSet.ToString());
}
[EditorCallable(EditorCategory.Items)]
@@ -559,7 +559,7 @@ public void EditThrowResourceDictionary()
[EditorCallable(EditorCategory.Items)]
public void EditThrowResourceSetDictionary()
{
PopFlat<ThrowableResourceSetDictionary8a, ThrowableResourceSetEntry8a>(GameFile.ThrowableResourceSet, "Throwable Resource Set Dictionary Editor", (z, _) => z.Hash_00.ToString("X16"));
PopFlat<ThrowableResourceSetDictionary8a, ThrowableResourceSetEntry8a>(GameFile.ThrowableResourceSet, "Throwable Resource Set Dictionary Editor", (z, _) => z.ItemType.ToString());
}
[EditorCallable(EditorCategory.Items)]