mirror of
https://github.com/kwsch/pkNX.git
synced 2026-10-01 05:37:29 -05:00
Enhance FlatSharp generated code with Attributes, TypeConverter (#391)
Fixes #390 Fixes #382 Fixes #381 Fixes #370 Fixes #355
This commit is contained in:
@@ -45,6 +45,23 @@ dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:sug
|
||||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:suggest
|
||||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:suggest
|
||||
dotnet_style_parentheses_in_other_operators = always_for_clarity:suggest
|
||||
csharp_using_directive_placement = outside_namespace:silent
|
||||
csharp_prefer_simple_using_statement = true:suggestion
|
||||
csharp_style_namespace_declarations = block_scoped:silent
|
||||
csharp_style_prefer_method_group_conversion = true:silent
|
||||
csharp_style_prefer_top_level_statements = true:silent
|
||||
csharp_style_prefer_primary_constructors = true:suggestion
|
||||
csharp_prefer_system_threading_lock = true:suggestion
|
||||
csharp_style_expression_bodied_methods = false:silent
|
||||
csharp_style_expression_bodied_constructors = false:silent
|
||||
csharp_style_expression_bodied_operators = false:silent
|
||||
csharp_style_expression_bodied_properties = true:silent
|
||||
csharp_style_expression_bodied_indexers = true:silent
|
||||
csharp_style_expression_bodied_accessors = true:silent
|
||||
csharp_style_expression_bodied_lambdas = true:silent
|
||||
csharp_style_expression_bodied_local_functions = false:silent
|
||||
csharp_indent_labels = one_less_than_current
|
||||
dotnet_diagnostic.WFO1000.severity = none
|
||||
|
||||
# Generated Code
|
||||
[**/obj/**.cs]
|
||||
@@ -64,4 +81,54 @@ dotnet_analyzer_diagnostic.severity = none
|
||||
# Naming rules
|
||||
|
||||
dotnet_naming_style.begins_with_i.required_prefix = I
|
||||
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|
||||
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|
||||
[*.{cs,vb}]
|
||||
#### Naming styles ####
|
||||
|
||||
# Naming rules
|
||||
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
|
||||
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i
|
||||
|
||||
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
|
||||
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case
|
||||
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
|
||||
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
|
||||
|
||||
# Symbol specifications
|
||||
|
||||
dotnet_naming_symbols.interface.applicable_kinds = interface
|
||||
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.interface.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
|
||||
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.types.required_modifiers =
|
||||
|
||||
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
|
||||
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
|
||||
dotnet_naming_symbols.non_field_members.required_modifiers =
|
||||
|
||||
# Naming styles
|
||||
|
||||
dotnet_naming_style.begins_with_i.required_prefix = I
|
||||
dotnet_naming_style.begins_with_i.required_suffix =
|
||||
dotnet_naming_style.begins_with_i.word_separator =
|
||||
dotnet_naming_style.begins_with_i.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
|
||||
dotnet_naming_style.pascal_case.required_prefix =
|
||||
dotnet_naming_style.pascal_case.required_suffix =
|
||||
dotnet_naming_style.pascal_case.word_separator =
|
||||
dotnet_naming_style.pascal_case.capitalization = pascal_case
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_operator_placement_when_wrapping = beginning_of_line
|
||||
tab_width = 4
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<LangVersion>12</LangVersion>
|
||||
<LangVersion>13</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<NeutralLanguage>en</NeutralLanguage>
|
||||
<Product>pkNX</Product>
|
||||
<Company>Project Pokémon</Company>
|
||||
|
||||
10
FlatBuffers/Arceus/Arceus/Config/ConfigureTable.cs
Normal file
10
FlatBuffers/Arceus/Arceus/Config/ConfigureTable.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class ConfigEntry
|
||||
{
|
||||
public string ConfiguredValue
|
||||
{
|
||||
get => Parameters[0];
|
||||
set => Parameters[0] = value;
|
||||
}
|
||||
}
|
||||
8
FlatBuffers/Arceus/Arceus/Event/Trigger.cs
Normal file
8
FlatBuffers/Arceus/Arceus/Event/Trigger.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class TriggerCondition : IHasCondition
|
||||
{
|
||||
// For interface compat
|
||||
public string ConditionArg4 { get; set; } = string.Empty;
|
||||
public string ConditionArg5 { get; set; } = string.Empty;
|
||||
}
|
||||
@@ -1,21 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using pkNX.Containers;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LandmarkItemSpawnTable;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LandmarkItemSpawn
|
||||
{
|
||||
public bool UsesTable(ulong table) => EncounterTableID == table;
|
||||
@@ -90,6 +74,3 @@ public string NameSummary
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LandmarkItemSpawn_F03;
|
||||
@@ -1,18 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LandmarkItemTable;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LandmarkItem : ISlotTableConsumer
|
||||
{
|
||||
public PlacementParameters Parameters
|
||||
3
FlatBuffers/Arceus/Arceus/Field/MassOutbreakTable.cs
Normal file
3
FlatBuffers/Arceus/Arceus/Field/MassOutbreakTable.cs
Normal file
@@ -0,0 +1,3 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class MassOutbreakCondition : IHasCondition;
|
||||
@@ -1,18 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class NewHugeOutbreakGroupArchive;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class NewHugeOutbreakGroup
|
||||
{
|
||||
public int SumTable => Table.Sum(z => z.Rate);
|
||||
@@ -26,7 +13,6 @@ public bool UsesTable(ulong tableID)
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class NewHugeOutbreakDetail : IHasCondition
|
||||
{
|
||||
public override string ToString() => $"PlacementParameters(/* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {EncounterTableID:X16}, {Rate})";
|
||||
@@ -1,17 +1,5 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class NewHugeOutbreakGroupLotteryArchive
|
||||
{
|
||||
public bool IsAreaGroup(PlacementSpawner spawner, NewHugeOutbreakGroupArchive groups, ulong tableID)
|
||||
@@ -25,7 +13,6 @@ public bool IsAreaGroup(PlacementSpawner spawner, NewHugeOutbreakGroupArchive gr
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class NewHugeOutbreakGroupLottery
|
||||
{
|
||||
public int SumTableCommon => TableCommon.Sum(z => z.Rate);
|
||||
@@ -53,7 +40,6 @@ public bool IsUseTable(NewHugeOutbreakGroupArchive groups, ulong tableID)
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class NewHugeOutbreakGroupLotteryDetail
|
||||
{
|
||||
public override string ToString() => $"{Group:X16}|{Rate}";
|
||||
@@ -1,16 +1,7 @@
|
||||
using System.ComponentModel;
|
||||
using System.Numerics;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementLocation
|
||||
{
|
||||
public const ulong ShapeIdSphere = 0x645FB59E96A6F998;
|
||||
@@ -1,18 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementMkrgTable;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementMkrgEntry
|
||||
{
|
||||
public PlacementParameters Parameters
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class PlacementParameters : IHasCondition
|
||||
{
|
||||
public override string ToString() => $"PlacementParameters(/* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {Coordinates}, {Rotation}, {Scale})";
|
||||
}
|
||||
@@ -1,21 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementSearchItemTable;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementSearchItem
|
||||
{
|
||||
public PlacementParameters Parameters
|
||||
@@ -1,15 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementSpawner : ISlotTableConsumer
|
||||
{
|
||||
public PlacementParameters Parameters
|
||||
@@ -1,15 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementSpawnerF20 : IHasCondition
|
||||
{
|
||||
public override string ToString() => $"Spawn_20(/* EncounterTableId = */ {EncounterTable.GetTableName(EncounterTableID)}, /* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {BonusLevelMin}, {BonusLevelMax})";
|
||||
@@ -1,15 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementSpawnerF21
|
||||
{
|
||||
public string SlotSummary
|
||||
@@ -1,18 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementUnnnTable;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PlacementUnnnEntry
|
||||
{
|
||||
public PlacementParameters Parameters
|
||||
@@ -0,0 +1,25 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class AreaSettingsTable
|
||||
{
|
||||
public AreaSettings Find(string name) => Table.First(z => z.Name == name);
|
||||
}
|
||||
|
||||
public partial class AreaSettings
|
||||
{
|
||||
// Get the in game name of the area
|
||||
public string FriendlyAreaName
|
||||
{
|
||||
get => Name switch
|
||||
{
|
||||
"ha_area00" => "Jubilife Village",
|
||||
"ha_area01" => "Obsidian Fieldlands",
|
||||
"ha_area02" => "Crimson Mirelands",
|
||||
"ha_area03" => "Cobalt Coastlands",
|
||||
"ha_area04" => "Coronet Highlands",
|
||||
"ha_area05" => "Alabaster Icelands",
|
||||
"ha_area06" => "Ancient Retreat",
|
||||
_ => $"Unknown Area ({Name})",
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class AreaWeather
|
||||
{
|
||||
public int WeightTotal => WeightSunny + WeightCloudy + WeightRain + WeightSnow + WeightDrought + WeightFog + WeightRainstorm + WeightSnowstorm;
|
||||
}
|
||||
@@ -1,6 +1,3 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
/// <summary>
|
||||
@@ -1,27 +1,12 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterDataArchive;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterEligiblityTraits : IHasCondition, ISlotModifierTime, ISlotModifierWeather;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterOybnTraits
|
||||
{
|
||||
public bool IsOybnAny => Oybn1 || Oybn2 || Field02 || Field03;
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterTable
|
||||
{
|
||||
// lazy init
|
||||
@@ -95,7 +80,6 @@ public static string GetTableName(ulong tableId)
|
||||
public override string ToString() => $"{TableName} (Lv. {MinLevel}-{MaxLevel})";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterSlot
|
||||
{
|
||||
public override string ToString() => $"{(Species)Species}{(Form == 0 ? "" : $"-{Form}")}{(Oybn.IsOybnAny ? "*" : "")} - {BaseProbability}={ShinyLock}";
|
||||
@@ -1,16 +1,7 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterMultiplier : ISlotModifierTime, ISlotModifierWeather
|
||||
{
|
||||
public float GetTimeMultiplier(int index) => index switch
|
||||
@@ -40,7 +31,6 @@ public partial class EncounterMultiplier : ISlotModifierTime, ISlotModifierWeath
|
||||
public bool HasWeatherModifier(int index) => index != 0 && GetWeatherMultiplier(index) != -1.0f;
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EncounterMultiplierArchive
|
||||
{
|
||||
public EncounterMultiplier GetEncounterMultiplier(EncounterSlot slot)
|
||||
@@ -1,13 +1,11 @@
|
||||
using System;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public interface ISlotModifierTime
|
||||
{
|
||||
float TimeOfDayMultiplier0 {get;set;}
|
||||
float TimeOfDayMultiplier1 {get;set;}
|
||||
float TimeOfDayMultiplier2 {get;set;}
|
||||
float TimeOfDayMultiplier3 {get;set;}
|
||||
float TimeOfDayMultiplier0 { get; set; }
|
||||
float TimeOfDayMultiplier1 { get; set; }
|
||||
float TimeOfDayMultiplier2 { get; set; }
|
||||
float TimeOfDayMultiplier3 { get; set; }
|
||||
}
|
||||
|
||||
public static class SlotModifierTimeExtensions
|
||||
@@ -1,17 +1,15 @@
|
||||
using System;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public interface ISlotModifierWeather
|
||||
{
|
||||
float WeatherMultiplier1 {get; set;}
|
||||
float WeatherMultiplier2 {get; set;}
|
||||
float WeatherMultiplier3 {get; set;}
|
||||
float WeatherMultiplier4 {get; set;}
|
||||
float WeatherMultiplier5 {get; set;}
|
||||
float WeatherMultiplier6 {get; set;}
|
||||
float WeatherMultiplier7 {get; set;}
|
||||
float WeatherMultiplier8 {get; set;}
|
||||
float WeatherMultiplier1 { get; set; }
|
||||
float WeatherMultiplier2 { get; set; }
|
||||
float WeatherMultiplier3 { get; set; }
|
||||
float WeatherMultiplier4 { get; set; }
|
||||
float WeatherMultiplier5 { get; set; }
|
||||
float WeatherMultiplier6 { get; set; }
|
||||
float WeatherMultiplier7 { get; set; }
|
||||
float WeatherMultiplier8 { get; set; }
|
||||
}
|
||||
|
||||
public static class SlotModifierWeatherExtensions
|
||||
@@ -1,22 +1,5 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EventEncount;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EventEncountArchive;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EventEncountPoke
|
||||
{
|
||||
public bool HasMoveset => Move1 != 0;
|
||||
@@ -1,21 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EvolutionTable;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EvolutionEntry;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class EvolutionSet
|
||||
{
|
||||
public byte[] Write()
|
||||
@@ -1,10 +1,8 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// resident_release.bin -> bin/field/param/placement/common/pokemon_model_set.bin
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeModelSet
|
||||
{
|
||||
public PokeModelSetEntry GetEntry(ushort species)
|
||||
@@ -39,6 +37,3 @@ public PokeModelSetEntry AddEntry(ushort species, ushort form)
|
||||
return entry;
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeModelSetEntry;
|
||||
@@ -1,14 +1,7 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// *.trmtr
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class SamplerState;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class Float4Parameter
|
||||
{
|
||||
public Float4Parameter(string shaderPropertyBinding, Color4f value)
|
||||
@@ -20,7 +13,6 @@ public Float4Parameter(string shaderPropertyBinding, Color4f value)
|
||||
public override string ToString() => $"{{ {PropertyBinding}: {ColorValue} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class FloatParameter
|
||||
{
|
||||
public FloatParameter(string shaderPropertyBinding, float value)
|
||||
@@ -32,7 +24,6 @@ public FloatParameter(string shaderPropertyBinding, float value)
|
||||
public override string ToString() => $"{{ {PropertyBinding}: {FloatValue} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class IntParameter
|
||||
{
|
||||
public IntParameter(string shaderPropertyBinding, int value)
|
||||
@@ -44,7 +35,6 @@ public IntParameter(string shaderPropertyBinding, int value)
|
||||
public override string ToString() => $"{{ {PropertyBinding}: {IntValue} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class StringParameter
|
||||
{
|
||||
public StringParameter(string shaderPropertyBinding, string value)
|
||||
@@ -56,13 +46,11 @@ public StringParameter(string shaderPropertyBinding, string value)
|
||||
public override string ToString() => $"{{ {PropertyBinding}: {StringValue} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class ShaderBinding
|
||||
{
|
||||
public override string ToString() => $"{{ {ShaderName} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class TextureParameter
|
||||
{
|
||||
public TextureParameter(string shaderPropertyBinding, uint slot, string textureFile)
|
||||
@@ -75,14 +63,3 @@ public TextureParameter(string shaderPropertyBinding, uint slot, string textureF
|
||||
public override string ToString() => $"{{ {TextureFile}, Bound to: {PropertyBinding}, t{TextureSlot} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class WriteMaskData;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class IntExtraData;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class MaterialPass;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class Material;
|
||||
18
FlatBuffers/Arceus/Arceus/Poke/Model/Mesh.cs
Normal file
18
FlatBuffers/Arceus/Arceus/Poke/Model/Mesh.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// *.trmsh
|
||||
|
||||
public partial class BoneWeight
|
||||
{
|
||||
public override string ToString() => $"{{ [{RigIndex}]: {Weight} }}";
|
||||
}
|
||||
|
||||
public partial class InputLayoutElement
|
||||
{
|
||||
public override string ToString() => $"{{ {SemanticName}{SemanticIndex:#} ({Format}) @ {Offset:00} }}";
|
||||
}
|
||||
|
||||
public partial class VertexSize
|
||||
{
|
||||
public override string ToString() => $"{{ {Size} }}";
|
||||
}
|
||||
@@ -1,10 +1,3 @@
|
||||
using pkNX.Containers;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Xml.Linq;
|
||||
using static System.Buffers.Binary.BinaryPrimitives;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
@@ -19,7 +12,6 @@ public class VertexWrapper(InputLayoutElement layoutElement, object data)
|
||||
public override string ToString() => $"{{ {LayoutElement.SemanticName}{LayoutElement.SemanticIndex:#}, {Data} }}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class ByteBuffer
|
||||
{
|
||||
public VertexAttributeLayout? Debug_InputLayout { get; set; }
|
||||
@@ -55,8 +47,3 @@ public VertexWrapper[][] FromInputLayout(VertexAttributeLayout inputLayout)
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class MeshBuffer;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class MeshBufferTable;
|
||||
@@ -1,12 +1,7 @@
|
||||
using FlatSharp.Attributes;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// *.trmdl
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class FileReference
|
||||
{
|
||||
public override string ToString() => $"{{ {Filename} }}";
|
||||
@@ -14,13 +9,6 @@ public partial class FileReference
|
||||
public static FileReference Empty => new() { Filename = string.Empty };
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LODIndex;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LOD;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class Model
|
||||
{
|
||||
public static Model Empty => new()
|
||||
11
FlatBuffers/Arceus/Arceus/Poke/Model/MultiMaterialTable.cs
Normal file
11
FlatBuffers/Arceus/Arceus/Poke/Model/MultiMaterialTable.cs
Normal file
@@ -0,0 +1,11 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// *.trmmt
|
||||
|
||||
public partial class MultiMaterialTable
|
||||
{
|
||||
public static MultiMaterialTable Empty => new()
|
||||
{
|
||||
Material = [],
|
||||
};
|
||||
}
|
||||
@@ -1,17 +1,14 @@
|
||||
using pkNX.Containers;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using FlatSharp.Attributes;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
// ReSharper disable once PartialTypeWithSinglePart
|
||||
#pragma warning disable RCS1043
|
||||
[FlatBufferTable]
|
||||
public partial class MeshMaterialWrapper
|
||||
#pragma warning restore RCS1043
|
||||
{
|
||||
[FlatBufferItem(0)] public string Name { get; set; } = string.Empty;
|
||||
[FlatBufferItem(1)] public Material[] Materials { get; set; } = [];
|
||||
@@ -37,12 +34,12 @@ public PokemonModelArchive(GFPack sourceArchive)
|
||||
{
|
||||
SourceArchive = sourceArchive;
|
||||
|
||||
string FileName = Path.GetFileNameWithoutExtension(sourceArchive.FilePath);
|
||||
string FileName = Path.GetFileNameWithoutExtension(sourceArchive.FilePath)!;
|
||||
int SpeciesId = int.Parse(FileName.Substring(2, 4));
|
||||
|
||||
string BasePath = $"bin/pokemon/pm{SpeciesId:0000}/{FileName}/";
|
||||
string ModelPath = BasePath + "mdl/";
|
||||
string AnimationsPath = BasePath + "anm/";
|
||||
//string AnimationsPath = BasePath + "anm/";
|
||||
|
||||
Config = FlatBufferConverter.DeserializeFrom<PokeConfig>(SourceArchive.GetDataFullPath(BasePath + $"{FileName}.trpokecfg"));
|
||||
TRMMT = FlatBufferConverter.DeserializeFrom<MultiMaterialTable>(SourceArchive.GetDataFullPath(ModelPath + $"{FileName}.trmmt"));
|
||||
@@ -62,7 +59,7 @@ public PokemonModelArchive(GFPack sourceArchive)
|
||||
MeshMaterials = TRMMT.Material.Select(
|
||||
x => new MeshMaterialWrapper
|
||||
{
|
||||
Name = x.Name,
|
||||
Name = x.Name!,
|
||||
Materials = x.FileNames.Select(
|
||||
fileName => FlatBufferConverter.DeserializeFrom<Material>(SourceArchive.GetDataFullPath(ModelPath + $"{fileName}"))
|
||||
).ToArray(),
|
||||
@@ -1,7 +1,3 @@
|
||||
using FlatSharp.Attributes;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// *.trsha
|
||||
@@ -1,23 +1,5 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class Learnset;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LearnsetEntry;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class LearnsetMeta
|
||||
{
|
||||
public byte[] WriteLearnsetAsLearn6()
|
||||
@@ -1,16 +1,7 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAIArchive
|
||||
{
|
||||
public PokeAI GetEntry(ushort species, ushort form)
|
||||
@@ -37,7 +28,6 @@ public PokeAI AddEntry(ushort species, ushort form, bool isAlpha)
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAI
|
||||
{
|
||||
public static PokeAI GetNew(ushort species = 0, ushort form = 0, bool isAlpha = false) => new()
|
||||
@@ -65,13 +55,6 @@ public static PokeAI GetNew(ushort species = 0, ushort form = 0, bool isAlpha =
|
||||
};
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAI_F24;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAI_F18;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAI_F09
|
||||
{
|
||||
public static readonly PokeAI_F09 DefaultBehaviour02 = new()
|
||||
@@ -127,7 +110,6 @@ public partial class PokeAI_F09
|
||||
};
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAIBehaviour
|
||||
{
|
||||
public static readonly PokeAIBehaviour DefaultBehaviour02 = new() { BehaviourHash = 9252365659083253459, Parameters = ["0.2", "35"] };
|
||||
@@ -1,19 +1,5 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAddArchive;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeAdd
|
||||
{
|
||||
public string Dump(string[] speciesNames)
|
||||
@@ -1,22 +1,7 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeCaptureCollision;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeCaptureCollider;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeCaptureCollisionArchive
|
||||
{
|
||||
public PokeCaptureCollision GetEntry(ushort species, ushort form)
|
||||
13
FlatBuffers/Arceus/Arceus/Poke/PokeDropItemArchive.cs
Normal file
13
FlatBuffers/Arceus/Arceus/Poke/PokeDropItemArchive.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class PokeDropItem
|
||||
{
|
||||
public string Dump(string[] itemNames) => $"{Hash:X16}\t{itemNames[RegularItem]}\t{RegularItemProbability}\t{itemNames[RareItem]}\t{RareItemProbability}";
|
||||
|
||||
public override string ToString() =>
|
||||
$"Hash: {Hash:X16}, " +
|
||||
$"RegularItem: {RegularItem}, " +
|
||||
$"RegularItemProbability: {RegularItemProbability}, " +
|
||||
$"RareItem: {RareItem}, " +
|
||||
$"RareItemProbability: {RareItemProbability}";
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class PokeDropItemBattle
|
||||
{
|
||||
public string Dump(string[] n) => $"{RateItem1}\t{n[IndexItem1]}\t{RateItem2}\t{n[IndexItem2]}\t{RateItem3}\t{n[IndexItem3]}\t{RateItem4}\t{n[IndexItem4]}\t{RateItem5}\t{n[IndexItem5]}";
|
||||
}
|
||||
@@ -1,16 +1,7 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeMisc
|
||||
{
|
||||
// lazy set reference for remembering the fetched object
|
||||
@@ -18,7 +9,6 @@ public partial class PokeMisc
|
||||
public PokeDropItem? AlphaDropTable { get; set; }
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeMiscTable
|
||||
{
|
||||
public PokeMisc GetEntry(ushort species, ushort form)
|
||||
@@ -1,18 +1,9 @@
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
// bin/appli/res_pokemon/list/pokemon_info_list.bin
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfoList
|
||||
{
|
||||
public PokeInfo GetEntry(ushort species)
|
||||
@@ -131,21 +122,3 @@ public IEnumerable<int> GetDexFormEntries()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfo;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfoDetail;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfoDetail_2;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfoDetail_3;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfoDetail_5;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeInfoGender;
|
||||
@@ -1,33 +1,10 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
|
||||
// ReSharper disable UnusedAutoPropertyAccessor.Global
|
||||
// ReSharper disable ClassNeverInstantiated.Global
|
||||
// ReSharper disable MemberCanBePrivate.Global
|
||||
// ReSharper disable UnusedType.Global
|
||||
// ReSharper disable UnusedMember.Global
|
||||
// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global
|
||||
|
||||
// poke_resource_table.trpmcatalog
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeResourceMeta;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeModelConfig;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeModelSpeciesInfo;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class FileNamePathPair;
|
||||
|
||||
/// <summary> <see cref="PokeResourceTable"/> for Legends: Arceus, adding <see cref="PokeModelConfig.ArceusType"/></summary>
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class PokeResourceTable
|
||||
{
|
||||
public PokeModelConfig GetEntry(ushort species, ushort form, byte gender)
|
||||
22
FlatBuffers/Arceus/Arceus/Pokedex/PokedexResearchTable.cs
Normal file
22
FlatBuffers/Arceus/Arceus/Pokedex/PokedexResearchTable.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class PokedexResearchTable
|
||||
{
|
||||
public PokedexResearchTask[] GetEntries(int species)
|
||||
{
|
||||
return Table.Where(z => z.Species == species).ToArray();
|
||||
}
|
||||
|
||||
public PokedexResearchTask AddTask(int species)
|
||||
{
|
||||
var task = new PokedexResearchTask { Species = species };
|
||||
AddTask(task);
|
||||
return task;
|
||||
}
|
||||
|
||||
public void AddTask(PokedexResearchTask task) => Table = Table.Append(task).ToArray();
|
||||
public bool RemoveTask(PokedexResearchTask taskToRemove)
|
||||
{
|
||||
return Table.Remove(taskToRemove);
|
||||
}
|
||||
}
|
||||
6
FlatBuffers/Arceus/Arceus/Throw/ThrowParamTable.cs
Normal file
6
FlatBuffers/Arceus/Arceus/Throw/ThrowParamTable.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class ThrowParam
|
||||
{
|
||||
public string Dump() => $"{ThrowParamType:X16}\t{Velocity}\t{Arc}\t{GravityDirection}\t{ThrowAngle}";
|
||||
}
|
||||
13
FlatBuffers/Arceus/Arceus/Throw/ThrowableParamTable.cs
Normal file
13
FlatBuffers/Arceus/Arceus/Throw/ThrowableParamTable.cs
Normal file
@@ -0,0 +1,13 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public partial class ThrowableParamTable
|
||||
{
|
||||
public void AddEntry(int i)
|
||||
{
|
||||
Table = Table.Append(new ThrowableParam
|
||||
{
|
||||
Label01 = string.Empty,
|
||||
Label02 = string.Empty,
|
||||
}).ToList();
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,10 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class TrainerData
|
||||
{
|
||||
public string TeamSummary => Environment.NewLine + string.Join(Environment.NewLine, Team.Select(z => "\t" + z));
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class TrainerPoke
|
||||
{
|
||||
public override string ToString()
|
||||
@@ -24,13 +13,11 @@ public override string ToString()
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class WazaSet
|
||||
{
|
||||
public override string ToString() => $"{Move}{(Mastered ? "*":"")}";
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class TrFloatQuad
|
||||
{
|
||||
public override string ToString() => $"({Float00},{Float01},{Float02},{Float03})";
|
||||
@@ -1,15 +1,5 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
// 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.Arceus;
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class ArchiveContents
|
||||
{
|
||||
public ArchiveContent AddEntry()
|
||||
@@ -35,6 +25,3 @@ public ArchiveContent AddEntry(string archiveFile, string[] internalArchiveFiles
|
||||
return entry;
|
||||
}
|
||||
}
|
||||
|
||||
[TypeConverter(typeof(ExpandableObjectConverter))]
|
||||
public partial class ArchiveContent;
|
||||
@@ -1,6 +1,3 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
public record struct EncounterDetail(double Rate, double MultT, double MultW, int Unk, EncounterSlot Slot)
|
||||
@@ -1,7 +1,5 @@
|
||||
namespace pkNX.Structures.FlatBuffers.Arceus;
|
||||
|
||||
// ReSharper disable UnusedMember.Global
|
||||
|
||||
public enum Weather
|
||||
{
|
||||
None = 0,
|
||||
11
FlatBuffers/Arceus/Directory.Build.props
Normal file
11
FlatBuffers/Arceus/Directory.Build.props
Normal file
@@ -0,0 +1,11 @@
|
||||
<Project>
|
||||
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)..\'))" />
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\pkNX.Structures\pkNX.Structures.csproj" />
|
||||
<ProjectReference Include="..\pkNX.Structures.FlatBuffers\pkNX.Structures.FlatBuffers.csproj" />
|
||||
<FlatSharpSchema Include="Schemas\**\*.fbs">
|
||||
<IncludePath>..\pkNX.Structures.FlatBuffers\Schemas\</IncludePath>
|
||||
</FlatSharpSchema>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -4,7 +4,7 @@ attribute "fs_serializer";
|
||||
table EvolutionSet {
|
||||
Species:ushort;
|
||||
Form:ushort;
|
||||
Table:[EvolutionEntry];
|
||||
Table:[EvolutionEntry]; // not required!
|
||||
}
|
||||
|
||||
table EvolutionEntry {
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user