From 8e83b63d954a11bc03a48cc4a44def87bb34e062 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 6 Apr 2023 18:00:19 -0700 Subject: [PATCH] Flatsharp codegen (#326) * Manually translated/attributed fbs files. * Include fields in obj-as-table dump * Emit fields for json too. FlatSharp generates structs with fields rather than properties at fixed offsets (maybe I'm missing a setting) * Update .editorconfig to ignore generated code files (unsure if this actually works). --- .editorconfig | 6 + .../VFS/FileSystems/LayeredFileSystem.cs | 2 +- pkNX.Game/Editors/DataCache.cs | 32 +- pkNX.Game/Editors/Poke/PokeEditor8a.cs | 24 +- pkNX.Game/GameData8a.cs | 12 +- pkNX.Game/GameManagerPLA.cs | 17 +- pkNX.Game/GameManagerSV.cs | 2 +- pkNX.Game/GameManagerSWSH.cs | 5 +- pkNX.Game/pkNX.Game.csproj | 4 + .../Arceus/Condition/ConditionUtil.cs | 17 +- .../Arceus/Config/AppConfigList.cs | 17 + .../Arceus/Config/ConfigureTable.cs | 24 + .../Arceus/DressUp/DressUpTable.cs | 16 + .../Arceus/Event/Trigger.cs | 30 + .../Arceus/Field/ISlotTableConsumer.cs | 2 +- .../Arceus/Field/LandmarkItemSpawnTable.cs | 38 +- .../Arceus/Field/LandmarkItemTable.cs | 50 +- .../Arceus/Field/MassOutbreakTable.cs | 22 + .../Field/NewHuge/NewHugeOutbreakGroup.cs | 33 + .../NewHuge/NewHugeOutbreakGroupLottery.cs | 68 ++ .../Field/NewHuge/NewHugeOutbreakLottery.cs | 17 + .../Field/NewHuge/NewHugeOutbreakTimeLimit.cs | 17 + .../Field/Placement/OybnSettingTable.cs | 17 + .../Field/Placement/PlacementItemArchive.cs | 23 + .../Field/Placement/PlacementLocation.cs | 52 +- .../Placement/PlacementLocationArchive.cs | 14 + .../Field/Placement/PlacementMkrgTable.cs | 40 + .../Field/Placement/PlacementParameters.cs | 16 + .../Placement/PlacementSearchItemTable.cs | 43 + .../Field/Placement/PlacementSpawner.cs | 193 ++++ .../Field/Placement/PlacementSpawnerData.cs | 14 + .../Field/Placement/PlacementSpawnerF20.cs | 16 + .../Field/Placement/PlacementSpawnerF21.cs | 24 +- .../Field/Placement/PlacementUnnnTable.cs | 60 + .../Arceus/Field/Resident/AreaBGMTable.cs | 17 + .../Arceus/Field/Resident/AreaInstance.cs | 48 + .../Field/Resident/AreaSettingsTable.cs | 44 + .../Arceus/Field/Resident/AreaWeatherTable.cs | 20 + .../Field/Resident/Editing/ResidentArea.cs | 92 ++ .../Field/Resident/Editing/ResidentInfo.cs | 2 +- .../Field/Slots/EncounterDataArchive.cs | 179 +++ .../Field/Slots/EncounterMultiplerArchive.cs | 76 ++ .../Arceus/Field/Slots/ISlotModifierTime.cs | 18 +- .../Field/Slots/ISlotModifierWeather.cs | 34 + .../Field/Static/EventEncountArchive.cs | 41 + .../Arceus/Geometry/Vec3f.cs | 72 ++ .../Arceus/KeyAssignmentTable.cs | 17 + .../Arceus/LbPointsTable.cs | 17 + .../Arceus/MoveShopTable.cs | 17 + .../Arceus/NPC/NPCModelSet.cs | 22 + .../Arceus/PlayReportTable.cs | 17 + .../Arceus/Poke/EvolutionTable.cs | 39 +- .../Arceus/Poke/Learnset.cs | 48 + .../Arceus/Poke/Model Set/PokeModelSet.cs | 44 + .../Arceus/Poke/PersonalInfoLAfb.cs | 23 + .../Arceus/Poke/PokeAIArchive.cs | 139 +++ .../Arceus/Poke/PokeAdd.cs | 43 + .../Arceus/Poke/PokeBattleSpawnArchive.cs | 20 + .../Arceus/Poke/PokeBodyParticleArchive.cs | 20 + .../Poke/PokeCaptureCollisionArchive.cs | 75 ++ .../Arceus/Poke/PokeDefaultLocatorArchive.cs | 17 + .../Arceus/Poke/PokeDropItemArchive.cs | 20 + .../Arceus/Poke/PokeDropItemBattleArchive.cs | 20 + .../Arceus/Poke/PokeEatingHabitsArchive.cs | 17 + .../Arceus/Poke/PokeFieldObstructionWaza.cs | 14 + ...PokeFieldObstructionWazaNsLegendArchive.cs | 17 + ...eldObstructionWazaNsLegendEffectArchive.cs | 17 + .../Poke/PokeFieldObstructionWazaSeArchive.cs | 17 + .../PokeFieldObstructionWazaWildArchive.cs | 14 + ...keFieldObstructionWazaWildEffectArchive.cs | 17 + ...okeFieldObstructionWazaWildWaterArchive.cs | 14 + ...ldObstructionWazaWildWaterEffectArchive.cs | 17 + .../Arceus/Poke/PokeMiscTable.cs | 50 + .../Arceus/Poke/PokeResource/PokeInfoList.cs | 104 +- .../Poke/PokeResource/PokeResourceTable.cs | 92 ++ .../Pokedex/PokedexDistributionTable.cs | 17 + .../Arceus/Pokedex/PokedexRankTable.cs | 17 + .../Arceus/Pokedex/PokedexResearchTable.cs | 35 + .../Arceus/ScriptIDRecordRelease.cs | 17 + .../Arceus/Shop/HaShopTable.cs | 17 + .../Arceus/Throw/CommonCaptureConfigTable.cs | 17 + .../Arceus/Throw/ThrowParamTable.cs | 20 + .../Throw/ThrowPermissionSetDictionary.cs | 17 + .../Throw/ThrowableBaitParamDictionary.cs | 17 + .../Arceus/Throw/ThrowableParamTable.cs | 26 + .../Throw/ThrowableResourceDictionary.cs | 17 + .../Throw/ThrowableResourceSetDictionary.cs | 17 + .../Arceus/TrData.cs | 37 + .../Arceus/Util/ArchiveContents.cs | 40 + .../Arceus/Util/EncounterDetail.cs | 22 +- .../Arceus/Util/EncounterTableUtil.cs | 202 ++-- .../Arceus/Util/IHasCondition.cs | 8 +- .../Arceus/Util/SpawnerType.cs | 2 +- .../Arceus/Util/Time.cs | 4 +- .../Arceus/Util/TriggerUtil.cs | 34 +- .../Arceus/Util/Weather.cs | 4 +- .../Arceus/Waza.cs | 13 + .../Dumpers/PersonalDumperPLA.cs | 16 +- .../Dumpers/PersonalInfo8LA.cs | 55 +- .../Dumpers}/PersonalTable8LA.cs | 25 +- pkNX.Structures.FlatBuffers.Arceus/FnvHash.cs | 111 ++ .../Schemas/Config/AppConfigList.fbs | 17 + .../Schemas/Config/ConfigureTable.fbs | 18 + .../Schemas/DressUp/DressUpTable.fbs | 65 ++ .../Schemas/Event/Trigger.fbs | 35 + .../Schemas/Field/LandmarkItemSpawnTable.fbs | 27 + .../Schemas/Field/LandmarkItemTable.fbs | 22 + .../Schemas/Field/MassOutbreakTable.fbs | 29 + .../Field/NewHuge/NewHugeOutbreakGroup.fbs | 25 + .../NewHuge/NewHugeOutbreakGroupLottery.fbs | 20 + .../Field/NewHuge/NewHugeOutbreakLottery.fbs | 29 + .../NewHuge/NewHugeOutbreakTimeLimit.fbs | 15 + .../Schemas/Field/Resident/AreaBGMTable.fbs | 20 + .../Field/Resident/AreaSettingsTable.fbs | 78 ++ .../Field/Resident/AreaWeatherTable.fbs | 22 + .../Field/Slots/EncounterDataArchive.fbs | 98 ++ .../Field/Slots/EncounterMultiplerArchive.fbs | 25 + .../Field/Static/EventEncountArchive.fbs | 61 + .../Schemas/Geometry/Vec2f.fbs | 6 + .../Schemas/Geometry/Vec3f.fbs | 7 + .../Schemas/HaShopTable.fbs | 14 + .../Schemas/Misc/ArchiveContents.fbs | 16 + .../Schemas/Misc/KeyAssignmentTable.fbs | 14 + .../Schemas/Misc/LbPointsTable.fbs | 17 + .../Schemas/Misc/MoveShopTable.fbs | 15 + .../Schemas/Misc/PlayReportTable.fbs | 33 + .../Schemas/Misc/ScriptIDRecordRelease.fbs | 15 + .../Schemas/NPC/NPCModelSet.fbs | 53 + .../Schemas/Placement/OybnSettingTable.fbs | 17 + .../Placement/PlacementItemArchive.fbs | 35 + .../Placement/PlacementLocationArchive.fbs | 21 + .../Schemas/Placement/PlacementMkrgTable.fbs | 18 + .../Schemas/Placement/PlacementParameters.fbs | 16 + .../Placement/PlacementSearchItemTable.fbs | 41 + .../Placement/PlacementSpawnerData.fbs | 65 ++ .../Schemas/Placement/PlacementUnnnTable.fbs | 19 + .../Schemas/Poke/EvolutionTable.fbs | 22 + .../Schemas/Poke/Learnset.fbs | 21 + .../Schemas/Poke/Model Set/PokeModelSet.fbs | 21 + .../Schemas/Poke/PersonalInfoLAfb.fbs | 69 ++ .../Schemas/Poke/PokeAIArchive.fbs | 77 ++ .../Schemas/Poke/PokeAdd.fbs | 49 + .../Schemas/Poke/PokeBattleSpawnArchive.fbs | 18 + .../Schemas/Poke/PokeBodyParticleArchive.fbs | 25 + .../Poke/PokeCaptureCollisionArchive.fbs | 25 + .../Poke/PokeDefaultLocatorArchive.fbs | 17 + .../Schemas/Poke/PokeDropItem.fbs | 9 + .../Schemas/Poke/PokeDropItemArchive.fbs | 10 + .../Poke/PokeDropItemBattleArchive.fbs | 21 + .../Schemas/Poke/PokeEatingHabitsArchive.fbs | 18 + .../Schemas/Poke/PokeFieldObstructionWaza.fbs | 55 + ...okeFieldObstructionWazaNsLegendArchive.fbs | 60 + ...ldObstructionWazaNsLegendEffectArchive.fbs | 51 + .../PokeFieldObstructionWazaSeArchive.fbs | 14 + .../PokeFieldObstructionWazaWildArchive.fbs | 10 + ...eFieldObstructionWazaWildEffectArchive.fbs | 51 + ...keFieldObstructionWazaWildWaterArchive.fbs | 10 + ...dObstructionWazaWildWaterEffectArchive.fbs | 51 + .../Schemas/Poke/PokeMiscTable.fbs | 42 + .../Poke/PokeResource/PokeInfoList.fbs | 49 + .../Poke/PokeResource/PokeResourceTable.fbs | 43 + .../Pokedex/PokedexDistributionTable.fbs | 45 + .../Schemas/Pokedex/PokedexRankTable.fbs | 13 + .../Schemas/Pokedex/PokedexResearchTable.fbs | 52 + .../Schemas/Shared/AbilityType.fbs | 9 + .../Schemas/Shared/FlatDummyObject.fbs | 5 + .../Schemas/Shared/NatureType.fbs | 10 +- .../Schemas/Shared/ShinyType.fbs | 7 + .../Throw/CommonCaptureConfigTable.fbs | 18 + .../Schemas/Throw/ThrowParamTable.fbs | 24 + .../Schemas/Throw/ThrowPermissionSet.fbs | 20 + .../Throw/ThrowableBaitParamDictionary.fbs | 19 + .../Schemas/Throw/ThrowableParamTable.fbs | 24 + .../Throw/ThrowableResourceDictionary.fbs | 13 + .../Throw/ThrowableResourceSetDictionary.fbs | 20 + .../Schemas/TrainerData.fbs | 64 ++ .../Schemas/Waza.fbs | 99 ++ .../pkNX.Structures.FlatBuffers.Arceus.csproj | 24 + .../Gen7/EncounterArchive.cs | 18 + .../Gen7/EncounterTableUtil.cs | 12 +- .../Gen7/ShopInventory.cs | 41 +- .../Schemas/shop.fbs | 24 + .../Schemas/wild.fbs | 65 ++ .../pkNX.Structures.FlatBuffers.LGPE.csproj | 20 + .../ReflectionDumpSchema.cs | 225 ++++ .../SchemaDump.cs | 221 ++++ .../SchemaDumpSettings.cs | 10 + .../Schemas/reflection.fbs | 161 +++ ...X.Structures.FlatBuffers.Reflection.csproj | 20 + .../Dumpers/PersonalDumperSV.cs | 14 +- .../FlatDummyEntry.cs | 9 +- .../Gen9/Archive/TrinityFileDescriptors.cs | 62 + .../Gen9/Archive/TrinityFileSystemManager.cs | 16 +- .../Gen9/Archive/TrinityFileSystemMetadata.cs | 44 + .../Gen9/Archive/TrinityPak.cs | 61 + .../Gen9/Archive/TrinityPakExtractor.cs | 8 +- .../Gen9/Food/FoodPokeTypeParam.cs | 30 + .../Gen9/Personal/PersonalTable.cs | 15 + .../Gen9/Personal/Types/PersonalInfoDex.cs | 7 + .../Personal/Types/PersonalInfoEvolution.cs | 7 + .../Gen9/Personal/Types/PersonalInfoGender.cs | 18 +- .../Gen9/Personal/Types/PersonalInfoStats.cs | 10 + .../Gen9/Personal/Wrapper/PersonalInfo9SV.cs | 20 +- .../Gen9/Personal/Wrapper/PersonalTable9SV.cs | 19 +- .../Gen9/PokeData/PokeDataBattle.cs | 29 +- .../Gen9/PokeData/PokeDataEventBattle.cs | 9 + .../Gen9/PokeData/PokeDataFull.cs | 9 + .../Gen9/PokeData/PokeDataSymbol.cs | 9 + .../Gen9/PokeData/PokeDataTrade.cs | 10 + .../Gen9/PokeData/WazaSet.cs | 17 + .../Gen9/Raid/DeliveryRaidEnemyTableArray.cs | 61 + .../Raid/DeliveryRaidFixedRewardItemArray.cs | 36 + .../DeliveryRaidLotteryRewardItemArray.cs | 49 + .../Gen9/Raid/RaidFixedRewardItemArray.cs | 33 + .../Gen9/Raid/RaidLotteryRewardItemArray.cs | 49 + .../Gen9/SpeciesConverterSV.cs | 2 +- .../Gen9/World/AreaInfo.cs | 13 + .../Gen9/World/PointDataArray.cs | 9 + .../Schemas/Audio/BGMEventArray.fbs | 13 + .../Schemas/Audio/BGMEventType.fbs | 10 +- .../Audio/EnvPokeVoiceLotterySetting.fbs | 9 + .../Schemas/Battle/BattleConfig.fbs | 76 ++ .../Schemas/Battle/BattleEffectTableArray.fbs | 15 + .../Schemas/Battle/ItemTableArray.fbs | 13 + .../Battle/PokeExceptionTableArray.fbs | 23 + .../Schemas/Cooking/CookingCommonData.fbs | 13 + .../Schemas/Cooking/Enums/FoodSkillType.fbs | 9 +- .../Schemas/Cooking/Enums/IngredientType.fbs | 9 +- .../Schemas/Cooking/Enums/RecipeType.fbs | 9 +- .../Schemas/Cooking/Enums/SeasoningType.fbs | 9 +- .../Schemas/Cooking/FoodPowerComboArray.fbs | 14 + .../Schemas/Cooking/IngredientDataArray.fbs | 23 + .../Cooking/IngredientDishDataArray.fbs | 51 + .../Cooking/Param/FoodPokeTypeParam.fbs | 23 + .../Cooking/Param/FoodPowerComboParam.fbs | 14 + .../Schemas/Cooking/Param/FoodPowerParam.fbs | 15 + .../Schemas/Cooking/Param/IngredientParam.fbs | 11 + .../Schemas/Cooking/RecipeDataArray.fbs | 26 + .../Schemas/Cooking/SeasoningDataArray.fbs | 23 + .../Cooking/TakaraSpicePowerTableArray.fbs | 21 + .../Schemas/Entity/CollisionShape.fbs | 8 + .../Schemas/Entity/ComparisonOperatorType.fbs | 10 + ...ditionSimpleAutoBattleHecklerAreaArray.fbs | 14 + .../Schemas/Entity/OwnerInfo.fbs | 12 + .../Schemas/Entity/ParamSet.fbs | 11 + .../Schemas/Entity/PokeObjArray.fbs | 61 + .../Schemas/Entity/PokemonTriggerID.fbs | 9 +- .../Schemas/Entity/PokemonUniquePathData.fbs | 1005 ++++++++++++++++ .../Schemas/Event/EventAddPokemonArray.fbs | 16 + .../Event/EventSub012.RewardTableArray.fbs | 16 + .../Schemas/Event/EventTradeListArray.fbs | 16 + .../Schemas/Event/EventTradePokemonArray.fbs | 15 + .../Schemas/Event/Motion/FieldNpcFaceType.fbs | 9 +- .../Schemas/Event/Motion/FieldNpcMotion.fbs | 10 +- .../Event/Motion/FieldNpcMotionType.fbs | 7 + .../Motion/FieldNpcPokemonDefaultMotion.fbs | 7 + .../Event/Motion/FieldNpcPokemonMotion.fbs | 10 +- .../Event/Motion/NpcTrafficFormation.fbs | 7 + .../Event/Motion/NpcTrafficPartnerType.fbs | 7 + .../Event/NpcTrafficGenerateTableArray.fbs | 89 ++ .../Schemas/Event/PopupWindowTableArray.fbs | 24 + .../Schemas/Event/TreeShakePokemonArray.fbs | 27 + .../Schemas/Geometry/PackedVec2f.fbs | 7 + .../Schemas/Geometry/PackedVec3f.fbs | 8 + .../Schemas/Geometry/PackedVec4f.fbs | 9 + .../Schemas/Geometry/Transform.fbs | 9 + .../Schemas/Geometry/Vec3f.fbs | 7 + .../Schemas/Gym/ExerciseRewardData.fbs | 9 + .../Schemas/Gym/ExerciseSetting.fbs | 22 + .../Gym/GymKooriCoursePokemonTable.fbs | 13 + .../Schemas/Gym/GymKooriCourseTableArray.fbs | 32 + .../Gym/gym.denki.PopupPosTableArray.fbs | 23 + .../Gym/gym.esper.ENDLESS_BORDERArray.fbs | 14 + .../Gym/gym.esper.EXERCISE_COURSESArray.fbs | 14 + .../Schemas/Gym/gym.kusa.PokeTableArray.fbs | 31 + .../Schemas/Gym/gym.kusa.RewardTableArray.fbs | 16 + .../Schemas/Gym/gym.mizu.FixTableArray.fbs | 19 + .../Gym/gym.mizu.SeriItemTableArray.fbs | 31 + .../Gym/gym.mizu.SeriNpcTableArray.fbs | 27 + .../Gym/gym.mizu.SeriVenueTableArray.fbs | 43 + .../Schemas/Gym/gym.mushi.GymMushiData.fbs | 45 + .../Gym/gym.mushi.GymMushiRewardArray.fbs | 20 + .../Gym/gym_denki.PopupFixTableArray.fbs | 24 + .../Schemas/Item/DLCItemGroupArray.fbs | 98 ++ .../Schemas/Item/DropItemDataArray.fbs | 22 + .../Schemas/Item/Enums/BattleFunctionType.fbs | 8 + .../Schemas/Item/Enums/EquipEffect.fbs | 10 +- .../Schemas/Item/Enums/FieldFunctionType.fbs | 10 +- .../Schemas/Item/Enums/FieldPocket.fbs | 10 +- .../Schemas/Item/Enums/ItemGroup.fbs | 10 +- .../Schemas/Item/Enums/ItemType.fbs | 10 +- .../Schemas/Item/Enums/PluckEffect.fbs | 9 +- .../Schemas/Item/Enums/WorkPpSelTgt.fbs | 7 + .../Schemas/Item/Enums/WorkType.fbs | 6 + .../Item/HiddenItemBiomeTableArray.fbs | 18 + .../Schemas/Item/HiddenItemDataTableArray.fbs | 30 + .../Schemas/Item/ItemDataArray.fbs | 87 ++ .../Item/ItemPointTypeBiomeTableArray.fbs | 14 + .../Schemas/Item/MonohiroiItemArray.fbs | 48 + .../Item/RummagingItemDataTableArray.fbs | 36 + .../Misc/Ajito/AjitoCommonLevelArray.fbs | 23 + .../Schemas/Misc/Ajito/AjitoDifficultEnum.fbs | 7 + .../Schemas/Misc/Ajito/AjitoPokemonArray.fbs | 18 + .../Schemas/Misc/Ajito/AjitoTypeEnum.fbs | 9 + .../Schemas/Misc/Ajito/AjitoUnitArray.fbs | 28 + .../Schemas/Misc/GemSettingRootTableArray.fbs | 70 ++ .../Schemas/Misc/RibbonDataArray.fbs | 16 + .../NetBattle/NetBattleRuleDataArray.fbs | 57 + .../NetBattle/NetBattleRuleParamArray.fbs | 22 + .../Schemas/Personal/PersonalInfoDetail.fbs | 15 + .../Schemas/Personal/PersonalInfoDex.fbs | 7 + .../Personal/PersonalInfoEvolution.fbs | 13 + .../Schemas/Personal/PersonalInfoGender.fbs | 14 + .../Schemas/Personal/PersonalInfoHatch.fbs | 9 + .../Schemas/Personal/PersonalInfoMove.fbs | 7 + .../Schemas/Personal/PersonalInfoStats.fbs | 11 + .../Schemas/Personal/PersonalTable.fbs | 45 + .../Schemas/Picnic/PicnicPokemon.fbs | 91 ++ .../Schemas/Picnic/PicnicSystemData.fbs | 8 + .../Schemas/Picnic/PicnicTablesetData.fbs | 80 ++ .../Schemas/Picnic/PicnicWagonData.fbs | 22 + .../Schemas/PokeData/PokeDataBattle.fbs | 40 + .../Schemas/PokeData/PokeDataEventBattle.fbs | 43 + .../Schemas/PokeData/PokeDataFull.fbs | 70 ++ .../Schemas/PokeData/PokeDataSymbol.fbs | 33 + .../Schemas/PokeData/PokeDataTrade.fbs | 48 + .../Schemas/PokeData/WazaSet.fbs | 8 + .../Raid/DeliveryRaidEnemyTableArray.fbs | 14 + .../Raid/DeliveryRaidFixedRewardItemArray.fbs | 29 + .../DeliveryRaidLotteryRewardItemArray.fbs | 44 + .../Raid/DeliveryRaidPriorityArray.fbs | 22 + .../Raid/Enums/RaidBossExtraActType.fbs | 9 + .../Raid/Enums/RaidBossExtraTimingType.fbs | 7 + .../Raid/Enums/RaidRewardItemCategoryType.fbs | 7 + .../Raid/Enums/RaidRewardItemSubjectType.fbs | 8 + .../Schemas/Raid/Enums/RaidRomType.fbs | 7 + .../Raid/RaidDifficultyLotteryTableArray.fbs | 22 + .../Schemas/Raid/RaidEnemyInfo.fbs | 72 ++ .../Schemas/Raid/RaidEnemyTableArray.fbs | 14 + .../Schemas/Raid/RaidFixedRewardItemArray.fbs | 29 + .../Schemas/Raid/RaidFixedRewardItemInfo.fbs | 12 + .../Schemas/Raid/RaidGemSetting.fbs | 38 + .../Raid/RaidLotteryRewardItemArray.fbs | 45 + .../Raid/RaidLotteryRewardItemInfo.fbs | 12 + .../Schemas/Raid/RaidPokeScaleDataArray.fbs | 19 + .../Schemas/Raid/RaidRewardSlotArray.fbs | 21 + .../Schemas/Raid/RaidTrainerArray.fbs | 12 + .../Schemas/Shared/BallType.fbs | 9 +- .../Schemas/Shared/BattleType.fbs | 7 + .../Schemas/Shared/DataType.fbs | 8 + .../Schemas/Shared/DevID.fbs | 10 +- .../Schemas/Shared/GemType.fbs | 9 +- .../Schemas/Shared/ItemID.fbs | 9 +- .../Schemas/Shared/LangType.fbs | 9 +- .../Schemas/Shared/MoveType.fbs | 9 +- .../Schemas/Shared/PokeMemoType.fbs | 10 +- .../Schemas/Shared/RareType.fbs | 6 + .../Schemas/Shared/RibbonType.fbs | 11 +- .../Schemas/Shared/SeikakuType.fbs | 11 +- .../Schemas/Shared/Sex.fbs | 8 + .../Schemas/Shared/SexType.fbs | 8 + .../Schemas/Shared/SizeType.fbs | 11 + .../Schemas/Shared/TalentType.fbs | 7 + .../Schemas/Shared/TokuseiType.fbs | 9 + .../System/ObjectGenerationRangeArray.fbs | 30 + .../Schemas/Trainers/Talk/CheckCategory.fbs | 9 +- .../Schemas/Trainers/Talk/TalkData.fbs | 13 + .../Schemas/Trainers/Talk/TalkRankEffect.fbs | 11 +- .../Schemas/Trainers/TrainerBodySize.fbs | 8 + .../Schemas/Trainers/TrainerCategory.fbs | 6 + .../Schemas/Trainers/TrainerDataArray.fbs | 41 + .../Schemas/Trainers/TrainerEnvArray.fbs | 36 + .../Schemas/Trainers/TrainerTypeArray.fbs | 27 + .../Schemas/Trinity/TrinityComponent.fbs | 64 ++ .../Trinity/TrinityFileDescriptors.fbs | 23 + .../Trinity/TrinityFileSystemMetadata.fbs | 9 + .../Schemas/Trinity/TrinityPak.fbs | 27 + .../Schemas/Trinity/TrinityPropertySheet.fbs | 39 + .../Schemas/Trinity/TrinitySceneObject.fbs | 24 + .../Trinity/TrinitySceneObjectTemplate.fbs | 29 + .../Schemas/Trinity/TrinityScenePoint.fbs | 12 + .../Schemas/UI/BattleBgmSelectTableArray.fbs | 24 + .../Schemas/UI/BufDataArray.fbs | 24 + .../UI/Dressup/DressupCategoryDataArray.fbs | 20 + .../UI/Dressup/DressupItemDataArray.fbs | 48 + .../UI/Dressup/DressupShopDataArray.fbs | 187 +++ .../UI/Dressup/DressupStyleDataArray.fbs | 30 + .../Dressup/DressupStylePresetDataArray.fbs | 37 + .../Schemas/UI/Enums/ClerkType.fbs | 6 + .../Schemas/UI/Enums/CondEnum.fbs | 8 + .../Schemas/UI/Enums/PayType.fbs | 6 + .../Schemas/UI/Enums/SellType.fbs | 6 + .../Schemas/UI/Enums/ShopKind.fbs | 9 +- .../Schemas/UI/Quest/DanQuestClearArray.fbs | 24 + .../Schemas/UI/Quest/EventSkyFlyArray.fbs | 111 ++ .../Schemas/UI/Quest/GymQuestClearArray.fbs | 28 + .../Schemas/UI/Quest/NushiQuestClearArray.fbs | 33 + .../UI/Restaurant/RestaurantMenuDataArray.fbs | 37 + .../UI/Restaurant/RestaurantShopDataArray.fbs | 18 + .../Schemas/UI/SchoolMapDataArray.fbs | 33 + .../Schemas/UI/Shop/FriendlyShopDataArray.fbs | 22 + .../Schemas/UI/Shop/LineupDataArray.fbs | 20 + .../Schemas/UI/Shop/ShopDataArray.fbs | 15 + .../UI/Shop/ShopWazamachineDataArray.fbs | 28 + .../Schemas/UI/SystemBgArray.fbs | 74 +- .../Schemas/UI/TipsDataArray.fbs | 46 + .../UI/ymap/DestinationDataTableArray.fbs | 24 + .../UI/ymap/NpcDestinationDataTableArray.fbs | 26 + .../UI/ymap/PlaceNameDataTableArray.fbs | 19 + .../Schemas/Waza/Waza.fbs | 87 ++ .../Schemas/Waza/WazaAffinity.fbs | 10 + .../Schemas/Waza/WazaEntityStat.fbs | 14 + .../Schemas/Waza/WazaID.fbs | 9 +- .../Schemas/Waza/WazaInflict.fbs | 10 + .../Schemas/Waza/WazaType.fbs | 6 + .../Schemas/World/Area/AreaInfo.fbs | 34 + .../Schemas/World/Area/AreaTag.fbs | 9 +- .../Schemas/World/Area/AreaType.fbs | 9 + .../Schemas/World/Area/BandType.fbs | 7 + .../Schemas/World/Area/Biome.fbs | 9 +- .../Schemas/World/Area/BringItem.fbs | 9 + .../Schemas/World/Area/EnableTable.fbs | 10 + .../Schemas/World/Area/EncAttr.fbs | 9 +- .../Schemas/World/Area/EncBiome.fbs | 9 +- .../Schemas/World/Area/FieldAttrKey.fbs | 9 +- .../World/Area/FieldDungeonAreaArray.fbs | 15 + .../World/Area/FieldInsideAreaArray.fbs | 15 + .../Schemas/World/Area/FieldLocationArray.fbs | 15 + .../Schemas/World/Area/FieldMainAreaArray.fbs | 15 + .../Schemas/World/Area/FieldSubAreaArray.fbs | 15 + .../Schemas/World/Area/OverrideBiome.fbs | 13 + .../Schemas/World/EncountPokeDataArray.fbs | 50 + .../Schemas/World/EventBattlePokemonArray.fbs | 16 + .../Schemas/World/Field/AreaFlyFlagArray.fbs | 14 + .../Schemas/World/Field/CoinSymbolManager.fbs | 53 + .../World/Field/ExclusionGroupArray.fbs | 26 + .../Field/FieldAutoReturnPosTableArray.fbs | 15 + .../Field/FieldAutomaticReturnTableArray.fbs | 17 + .../Schemas/World/Field/FieldCamera.fbs | 69 ++ .../World/Field/FieldInteriorCamera.fbs | 20 + .../World/Field/FieldOutOfRangeTableArray.fbs | 17 + .../Schemas/World/Field/FieldPlayer.fbs | 61 + .../Schemas/World/Field/FieldRide.fbs | 376 ++++++ .../Field/GemSymbolLotteryTableArray.fbs | 26 + .../Schemas/World/Field/GemSymbolSetting.fbs | 9 + .../World/Field/MapChangeParametersArray.fbs | 20 + .../World/FixedSymbol/BehaviorFrequency.fbs | 9 +- .../World/FixedSymbol/FixedSymbolAI.fbs | 14 + .../World/FixedSymbol/FixedSymbolArray.fbs | 19 + .../FixedSymbol/FixedSymbolGeneration.fbs | 12 + .../World/FixedSymbol/FixedSymbolManager.fbs | 11 + .../World/FixedSymbol/GenerationPattern.fbs | 5 + .../World/FixedSymbol/PokemonActionID.fbs | 9 +- .../Schemas/World/PointDataArray.fbs | 22 + .../Schemas/World/SettingData.fbs | 8 + .../Schemas/World/TimeTable.fbs | 8 + .../Schemas/World/VersionTable.fbs | 6 + .../Schemas/Zukan/BlacklistArray.fbs | 13 + .../Schemas/Zukan/DistributionRootArray.fbs | 25 + .../Schemas/Zukan/MemoPokeTableArray.fbs | 13 + .../Schemas/Zukan/RewardDataArray.fbs | 21 + .../pkNX.Structures.FlatBuffers.SV.csproj | 25 + .../BattleTower/BattleTowerPokeArchive.cs | 14 + .../BattleTower/BattleTowerTrainerArchive.cs | 14 + .../Gen8/Gift/EncounterGiftArchive.cs | 10 +- .../Gen8/Gift/GiftEncounter.cs | 56 +- .../Gen8/Nest/EncounterNestArchive.cs | 65 +- .../Gen8/Nest/EncounterUndergroundArchive.cs | 32 + .../Nest/NestHoleCrystalEncounterArchive.cs | 93 +- .../NestHoleDistributionEncounterArchive.cs | 79 +- .../Nest/NestHoleDistributionRewardArchive.cs | 36 + .../Gen8/Nest/NestHoleLevelArchive.cs | 19 + .../Gen8/Nest/NestHoleRewardArchive.cs | 37 + .../Gen8/Other/ArchiveContent.cs | 16 + .../Gen8/Other/CellTable.cs | 70 ++ .../Gen8/Other/PokeResourceTable.cs | 15 + .../Gen8/Other/Rental.cs | 17 + .../Gen8/Other/ScriptMeta.cs | 15 + .../Gen8/Other/SymbolBehavior.cs | 18 + .../Gen8/Other/Waza.cs | 10 +- .../Gen8/Other/WeatherEntry.cs | 17 + .../Gen8/Placement/PlacementArea8Archive.cs | 11 + .../Gen8/Placement/PlacementArea8_F04.cs | 11 + .../Gen8/Placement/PlacementArea8_F24.cs | 20 + .../Holders/PlacementZoneAdvancedTipHolder.cs | 26 + .../Holders/PlacementZoneBerryTreeHolder.cs | 30 + .../Holders/PlacementZoneEnvironmentHolder.cs | 15 + .../Holders/PlacementZoneFieldItemHolder.cs | 18 + .../PlacementZoneFishingPointHolder.cs | 17 + .../PlacementZoneFlightAnchorHolder.cs | 15 + .../Holders/PlacementZoneHiddenItemHolder.cs | 21 + .../Zone/Holders/PlacementZoneIKStepHolder.cs | 19 + .../Zone/Holders/PlacementZoneLadderHolder.cs | 17 + .../PlacementZoneMovementPathHolder.cs | 20 + .../Zone/Holders/PlacementZoneNPCHolder.cs | 15 + .../Holders/PlacementZoneNestHoleHolder.cs | 27 + .../Holders/PlacementZoneOtherNPCHolder.cs | 129 +-- .../Holders/PlacementZoneParticleHolder.cs | 17 + ...lacementZonePokeCenterSpawnAnchorHolder.cs | 14 + .../Zone/Holders/PlacementZonePopupHolder.cs | 22 + .../Holders/PlacementZoneQuadrantHolder.cs | 19 + .../Holders/PlacementZoneRotomRallyEntry.cs | 12 + .../Holders/PlacementZoneSpeciesHolder.cs | 30 + .../PlacementZoneStaticObjectsHolder.cs | 39 + .../Holders/PlacementZoneStepJumpHolder.cs | 14 + .../Holders/PlacementZoneSymbolSpawnHolder.cs | 18 + .../Holders/PlacementZoneTrainerHolder.cs | 35 + .../Holders/PlacementZoneTrainerTipHolder.cs | 24 + .../Holders/PlacementZoneTriggerHolder.cs | 21 + .../Holders/PlacementZoneUnitObjectHolder.cs | 29 + .../Zone/Holders/PlacementZoneWarpHolder.cs | 21 + .../Gen8/Placement/Zone/PlacementZone8.cs | 103 ++ .../Gen8/Static/EncounterStaticArchive.cs | 75 ++ .../Gen8/Trade/EncounterTradeArchive.cs | 64 +- .../Gen8/Waza/Waza.cs | 38 + .../Gen8/Wild/EncounterArchive.cs | 15 + .../Gen8/Wild/EncounterTableUtil.cs | 34 +- .../Schemas/ArchiveContent.fbs | 14 + .../Schemas/BattleTowerPoke.fbs | 37 + .../Schemas/BattleTowerTrainer.fbs | 17 + .../Schemas/CellTable.fbs | 39 + .../Schemas/EncounterArchive.fbs | 26 + .../Schemas/EncounterNestArchive.fbs | 36 + .../Schemas/EncounterStaticArchive.fbs | 74 ++ .../Schemas/EncounterTradeArchive.fbs | 46 + .../Schemas/GiftArchive.fbs | 39 + .../NestHoleCrystalEncounterArchive.fbs | 53 + .../NestHoleDistributionEncounterArchive.fbs | 56 + .../NestHoleDistributionRewardArchive.fbs | 22 + .../Schemas/NestHoleLevelArchive.fbs | 18 + .../Schemas/NestHoleRewardArchive.fbs | 19 + .../Schemas/NestHoleUndergroundArchive.fbs | 36 + .../Schemas/Placement/Placement.fbs | 72 ++ .../Schemas/Placement/PlacementShared.fbs | 75 ++ .../Schemas/Placement/PlacementZone.fbs | 81 ++ .../PlacementZoneAdvancedTipHolder.fbs | 55 + .../PlacementZoneBerryTreeHolder.fbs | 53 + .../PlacementZoneEnvironmentHolder.fbs | 16 + .../PlacementZoneFieldItemHolder.fbs | 24 + .../PlacementZoneFishingPointHolder.fbs | 20 + .../PlacementZoneFlightAnchorHolder.fbs | 12 + .../PlacementZoneHiddenItemHolder.fbs | 31 + .../Placement/PlacementZoneIKStepHolder.fbs | 30 + .../Placement/PlacementZoneLadderHolder.fbs | 21 + .../PlacementZoneMovementPathHolder.fbs | 11 + .../Placement/PlacementZoneNPCHolder.fbs | 19 + .../Placement/PlacementZoneNestHoleHolder.fbs | 55 + .../Placement/PlacementZoneOtherNPCHolder.fbs | 60 + .../Placement/PlacementZoneParticleHolder.fbs | 12 + ...acementZonePokeCenterSpawnAnchorHolder.fbs | 10 + .../Placement/PlacementZonePopupHolder.fbs | 36 + .../Placement/PlacementZoneQuadrantHolder.fbs | 28 + .../PlacementZoneRotomRallyEntry.fbs | 8 + .../Placement/PlacementZoneSpeciesHolder.fbs | 67 ++ .../PlacementZoneStaticObjectsHolder.fbs | 33 + .../Placement/PlacementZoneStepJumpHolder.fbs | 14 + .../PlacementZoneSymbolSpawnHolder.fbs | 32 + .../Placement/PlacementZoneTrainerHolder.fbs | 63 + .../PlacementZoneTrainerTipHolder.fbs | 42 + .../Placement/PlacementZoneTriggerHolder.fbs | 15 + .../PlacementZoneUnitObjectHolder.fbs | 50 + .../Placement/PlacementZoneWarpHolder.fbs | 35 + .../Schemas/PokeResourceTable.fbs | 35 + .../Schemas/RentalArchive.fbs | 38 + .../Schemas/ScriptMeta.fbs | 15 + .../Schemas/SymbolBehavior.fbs | 58 + .../Schemas/Waza.fbs | 58 + .../Schemas/WeatherEntry.fbs | 57 + .../Schemas/shop.fbs | 26 + .../pkNX.Structures.FlatBuffers.SWSH.csproj | 25 + .../Arceus/Condition/Condition8a.cs | 16 - .../Arceus/Condition/ConditionType8a.cs | 56 - .../Arceus/Config/AppConfigEntry8a.cs | 23 - .../Arceus/Config/AppConfigList8a.cs | 20 - .../Arceus/Config/ConfigureTable8a.cs | 38 - .../Arceus/DressUp/DressUpColorType8a.cs | 168 --- .../Arceus/DressUp/DressUpHideFlagType8a.cs | 19 - .../Arceus/DressUp/DressUpPartType8a.cs | 97 -- .../Arceus/DressUp/DressUpTable8a.cs | 79 -- .../Arceus/DressUp/DressUpUnlockFlagType8a.cs | 81 -- .../Arceus/Event/Trigger8a.cs | 59 - .../Arceus/Event/TriggerCommandType8a.cs | 127 --- .../Arceus/Event/TriggerType8a.cs | 49 - .../Arceus/Field/MassOutbreakTable8a.cs | 45 - .../Field/NewHuge/NewHugeOutbreakGroup8a.cs | 54 - .../NewHuge/NewHugeOutbreakGroupLottery8a.cs | 81 -- .../Field/NewHuge/NewHugeOutbreakLottery8a.cs | 80 -- .../NewHuge/NewHugeOutbreakTimeLimit8a.cs | 29 - .../Field/Placement/OybnSettingTable8a.cs | 31 - .../Field/Placement/PlacementItemArchive8a.cs | 51 - .../Placement/PlacementLocationArchive8a.cs | 20 - .../Field/Placement/PlacementMkrgTable.cs | 55 - .../Field/Placement/PlacementParameters8a.cs | 28 - .../Placement/PlacementSearchItemTable.cs | 77 -- .../Field/Placement/PlacementSpawner8a.cs | 222 ---- .../Field/Placement/PlacementSpawnerData8a.cs | 20 - .../Field/Placement/PlacementSpawnerF208a.cs | 28 - .../Field/Placement/PlacementUnnnTable.cs | 76 -- .../Arceus/Field/Resident/AreaBGMTable8a.cs | 30 - .../Arceus/Field/Resident/AreaInstance8a.cs | 51 - .../Field/Resident/AreaSettingsTable8a.cs | 112 -- .../Field/Resident/AreaWeatherTable8a.cs | 38 - .../Field/Resident/Editing/ResidentArea8a.cs | 82 -- .../Field/Slots/EncounterData8Archive.cs | 20 - .../Slots/EncounterEligiblityTraits8a.cs | 41 - .../Slots/EncounterMultiplerArchive8a.cs | 53 - .../Field/Slots/EncounterMultiplier8a.cs | 57 - .../Field/Slots/EncounterOybnTraits8a.cs | 28 - .../Arceus/Field/Slots/EncounterSlot8a.cs | 143 --- .../Arceus/Field/Slots/EncounterTable8a.cs | 93 -- .../Field/Slots/ISlotModifierWeather.cs | 34 - .../Arceus/Field/Static/EventEncount8a.cs | 21 - .../Field/Static/EventEncount8aArchive.cs | 20 - .../Arceus/Field/Static/EventEncountPoke8a.cs | 75 -- .../Arceus/KeyAssignmentTable.cs | 28 - .../Arceus/LbPointsTable.cs | 31 - .../Arceus/MoveShopTable8a.cs | 29 - .../Arceus/NPC/NPCModelSet8a.cs | 69 -- .../Arceus/NPC/NPCModelType8a.cs | 249 ---- .../Arceus/NPC/NPCResidentType8a.cs | 40 - .../Arceus/PlayReportTable8a.cs | 47 - .../Arceus/Poke/Learnset8a.cs | 64 -- .../Arceus/Poke/Model Set/PokeModelSet8a.cs | 60 - .../Arceus/Poke/Model Set/PokeModelType8a.cs | 409 ------- .../Poke/Model Set/PokeResidentType8a.cs | 12 - .../Arceus/Poke/PersonalInfoLAfb.cs | 87 -- .../Arceus/Poke/PokeAIArchive8a.cs | 171 --- .../Arceus/Poke/PokeAdd8a.cs | 84 -- .../Arceus/Poke/PokeBattleSpawnArchive8a.cs | 34 - .../Arceus/Poke/PokeBodyParticleArchive8a.cs | 40 - .../Poke/PokeCaptureCollisionArchive8a.cs | 91 -- .../Poke/PokeDefaultLocatorArchive8a.cs | 30 - .../Arceus/Poke/PokeDropItemArchive8a.cs | 32 - .../Poke/PokeDropItemBattleArchive8a.cs | 37 - .../Arceus/Poke/PokeEatingHabitsArchive8a.cs | 32 - .../Arceus/Poke/PokeFieldObstructionWaza8a.cs | 68 -- ...keFieldObstructionWazaNsLegendArchive8a.cs | 75 -- ...dObstructionWazaNsLegendEffectArchive8a.cs | 66 -- .../PokeFieldObstructionWazaSeArchive8a.cs | 28 - .../PokeFieldObstructionWazaWildArchive8a.cs | 20 - ...FieldObstructionWazaWildEffectArchive8a.cs | 65 -- ...eFieldObstructionWazaWildWaterArchive8a.cs | 20 - ...ObstructionWazaWildWaterEffectArchive8a.cs | 65 -- .../Arceus/Poke/PokeMiscTable8a.cs | 77 -- .../Poke/PokeResource/PokeResourceTable8a.cs | 107 -- .../Pokedex/PokedexDistributionTable.cs | 59 - .../Arceus/Pokedex/PokedexRankTable.cs | 27 - .../Arceus/Pokedex/PokedexResearchTable.cs | 90 -- .../Arceus/ScriptIDRecordRelease.cs | 29 - .../Arceus/Shop/HaShopTable8a.cs | 28 - .../Throw/CommonCaptureConfigTable8a.cs | 32 - .../Arceus/Throw/ThrowEffectHitType8a.cs | 21 - .../Throw/ThrowEffectTrajectoryType8a.cs | 13 - .../Arceus/Throw/ThrowItemCategoryType8a.cs | 13 - .../Arceus/Throw/ThrowItemType8a.cs | 67 -- .../Arceus/Throw/ThrowParamTable8a.cs | 32 - .../Arceus/Throw/ThrowParamType8a.cs | 19 - .../Throw/ThrowPermissionSetDictionary8a.cs | 34 - .../Arceus/Throw/ThrowPermissionSetType8a.cs | 15 - .../Throw/ThrowableBaitParamDictionary8a.cs | 33 - .../Arceus/Throw/ThrowableParamTable8a.cs | 41 - .../Throw/ThrowableResourceDictionary8a.cs | 27 - .../Throw/ThrowableResourceSetDictionary8a.cs | 34 - .../Arceus/TrData8a.cs | 89 -- .../Arceus/Util/AbilityType8a.cs | 15 - .../Arceus/Util/ArchiveContents8a.cs | 49 - .../Arceus/Util/ShinyType8a.cs | 13 - pkNX.Structures.FlatBuffers/Arceus/Waza8a.cs | 157 --- .../FlatBufferConverter.cs | 72 +- .../Gen7/EncounterArchive7b.cs | 77 -- .../BattleTower/BattleTowerPoke8Archive.cs | 47 - .../BattleTower/BattleTowerTrainer8Archive.cs | 27 - .../Gen8/Nest/EncounterUnderground8Archive.cs | 62 - .../NestHoleDistributionReward8Archive.cs | 51 - .../Gen8/Nest/NestHoleLevel8Archive.cs | 30 - .../Gen8/Nest/NestHoleReward8Archive.cs | 50 - .../Gen8/Other/ArchiveContent.cs | 24 - .../Gen8/Other/CellTable.cs | 97 -- .../Gen8/Other/PokeResourceTable.cs | 58 - .../Gen8/Other/Rental8.cs | 50 - .../Gen8/Other/ScriptMeta.cs | 25 - .../Gen8/Other/SymbolBehavior.cs | 70 -- .../Gen8/Other/Waza8.cs | 116 -- .../Gen8/Other/WeatherEntry.cs | 70 -- .../Gen8/Placement/PlacementArea8Archive.cs | 49 - .../Gen8/Placement/PlacementArea8_F04.cs | 30 - .../Gen8/Placement/PlacementArea8_F24.cs | 29 - .../PlacementZone8AdvancedTipHolder.cs | 77 -- .../Holders/PlacementZone8BerryTreeHolder.cs | 75 -- .../PlacementZone8EnvironmentHolder.cs | 28 - .../Holders/PlacementZone8FieldItemHolder.cs | 38 - .../PlacementZone8FishingPointHolder.cs | 33 - .../PlacementZone8FlightAnchorHolder.cs | 23 - .../Holders/PlacementZone8HiddenItemHolder.cs | 45 - .../Holders/PlacementZone8IKStepHolder.cs | 47 - .../Holders/PlacementZone8LadderHolder.cs | 34 - .../PlacementZone8MovementPathHolder.cs | 33 - .../Zone/Holders/PlacementZone8NPCHolder.cs | 31 - .../Holders/PlacementZone8NestHoleHolder.cs | 74 -- .../Holders/PlacementZone8ParticleHolder.cs | 25 - ...acementZone8PokeCenterSpawnAnchorHolder.cs | 21 - .../Zone/Holders/PlacementZone8PopupHolder.cs | 52 - .../Holders/PlacementZone8QuadrantHolder.cs | 41 - .../Holders/PlacementZone8RotomRallyEntry.cs | 17 - .../Holders/PlacementZone8SpeciesHolder.cs | 180 --- .../PlacementZone8StaticObjectsHolder.cs | 65 -- .../Holders/PlacementZone8StepJumpHolder.cs | 25 - .../PlacementZone8SymbolSpawnHolder.cs | 45 - .../Holders/PlacementZone8TrainerHolder.cs | 90 -- .../Holders/PlacementZone8TrainerTipHolder.cs | 59 - .../Holders/PlacementZone8TriggerHolder.cs | 62 - .../Holders/PlacementZone8UnitObjectHolder.cs | 70 -- .../Zone/Holders/PlacementZone8WarpHolder.cs | 51 - .../Gen8/Placement/Zone/PlacementZone8.cs | 181 --- .../Gen8/Static/EncounterStatic8.cs | 144 --- .../Gen8/Static/EncounterStatic8Archive.cs | 15 - .../Gen8/Wild/EncounterArchive8.cs | 40 - .../Gen9/Archive/TrinityFileDescriptors.cs | 55 - .../Gen9/Archive/TrinityFileSystemMetadata.cs | 29 - .../Gen9/Archive/TrinityPak.cs | 52 - .../Gen9/Audio/BGMEventArray.cs | 25 - .../Gen9/Audio/EnvPokeVoiceLotterySetting.cs | 18 - .../Gen9/Battle/BattleConfig.cs | 80 -- .../Gen9/Battle/BattleEffectTableArray.cs | 23 - .../Gen9/Battle/ItemTableArray.cs | 21 - .../Gen9/Battle/PokeExceptionTableArray.cs | 31 - .../Gen9/Cooking/CookingCommonData.cs | 24 - .../Gen9/Cooking/FoodPowerComboArray.cs | 20 - .../Gen9/Cooking/IngredientDataArray.cs | 26 - .../Gen9/Cooking/IngredientDishDataArray.cs | 91 -- .../Gen9/Cooking/Param/FoodPokeTypeParam.cs | 55 - .../Gen9/Cooking/Param/FoodPowerComboParam.cs | 29 - .../Gen9/Cooking/Param/FoodPowerParam.cs | 23 - .../Gen9/Cooking/RecipeDataArray.cs | 30 - .../Gen9/Cooking/SeasoningDataArray.cs | 36 - .../Cooking/TakaraSpicePowerTableArray.cs | 31 - .../Gen9/Entity/CollisionShape.cs | 13 - .../Gen9/Entity/ComparisonOperatorType.cs | 15 - ...nditionSimpleAutoBattleHecklerAreaArray.cs | 21 - .../Gen9/Entity/OwnerInfo.cs | 17 - .../Gen9/Entity/ParamSet.cs | 34 - .../Gen9/Entity/PokeObjArray.cs | 77 -- .../Gen9/Entity/PokemonUniquePathData.cs | 1013 ----------------- .../Gen9/Event/EventAddPokemonArray.cs | 22 - .../Event/EventSub012.RewardTableArray.cs | 22 - .../Gen9/Event/EventTradeListArray.cs | 23 - .../Gen9/Event/EventTradePokemonArray.cs | 21 - .../Gen9/Event/Motion/FieldNpcMotionType.cs | 13 - .../Motion/FieldNpcPokemonDefaultMotion.cs | 13 - .../Gen9/Event/Motion/NpcTrafficFormation.cs | 12 - .../Event/Motion/NpcTrafficPartnerType.cs | 12 - .../Event/NpcTrafficGenerateTableArray.cs | 105 -- .../Gen9/Event/PopupWindowTableArray.cs | 34 - .../Gen9/Event/TreeShakePokemonArray.cs | 36 - .../Gen9/Gym/GymKooriCoursePokemonTable.cs | 26 - .../Gen9/Gym/GymKooriCourseTableArray.cs | 45 - .../Gen9/Gym/gym.denki.PopupPosTableArray.cs | 40 - .../Gen9/Gym/gym.esper.ENDLESS_BORDERArray.cs | 45 - .../Gym/gym.esper.EXERCISE_COURSESArray.cs | 27 - .../Gen9/Gym/gym.kusa.PokeTableArray.cs | 48 - .../Gen9/Gym/gym.kusa.RewardTableArray.cs | 29 - .../Gen9/Gym/gym.mizu.FixTableArray.cs | 34 - .../Gen9/Gym/gym.mizu.SeriItemTableArray.cs | 43 - .../Gen9/Gym/gym.mizu.SeriNpcTableArray.cs | 40 - .../Gen9/Gym/gym.mizu.SeriVenueTableArray.cs | 60 - .../Gen9/Gym/gym.mushi.GymMushiData.cs | 65 -- .../Gen9/Gym/gym.mushi.GymMushiRewardArray.cs | 33 - .../Gen9/Gym/gym_denki.PopupFixTableArray.cs | 39 - .../Gen9/Item/DLCItemGroupArray.cs | 108 -- .../Gen9/Item/DropItemDataArray.cs | 29 - .../Gen9/Item/Enums/BattleFunctionType.cs | 13 - .../Gen9/Item/Enums/WorkPpSelTgt.cs | 12 - .../Gen9/Item/Enums/WorkType.cs | 11 - .../Gen9/Item/HiddenItemBiomeTableArray.cs | 28 - .../Gen9/Item/HiddenItemDataTableArray.cs | 39 - .../Gen9/Item/ItemDataArray.cs | 85 -- .../Gen9/Item/ItemPointTypeBiomeTableArray.cs | 23 - .../Gen9/Item/MonohiroiItemArray.cs | 56 - .../Gen9/Item/RummagingItemDataTableArray.cs | 46 - .../Gen9/Misc/Ajito/AjitoCommonLevelArray.cs | 32 - .../Gen9/Misc/Ajito/AjitoDifficultEnum.cs | 12 - .../Gen9/Misc/Ajito/AjitoPokemonArray.cs | 27 - .../Gen9/Misc/Ajito/AjitoTypeEnum.cs | 14 - .../Gen9/Misc/Ajito/AjitoUnitArray.cs | 37 - .../Gen9/Misc/GemSettingRootTableArray.cs | 81 -- .../Gen9/Misc/RibbonDataArray.cs | 24 - .../Gen9/Move/Waza9Affinity.cs | 15 - .../Gen9/Move/Waza9EntityStat.cs | 22 - .../Gen9/Move/Waza9Inflict.cs | 18 - .../Gen9/Move/Waza9Table.cs | 97 -- .../Gen9/NetBattle/NetBattleRuleDataArray.cs | 75 -- .../Gen9/NetBattle/NetBattleRuleParamArray.cs | 30 - .../Gen9/Personal/PersonalTable9SVfb.cs | 55 - .../Gen9/Personal/Types/PersonalInfo9SVDex.cs | 15 - .../Types/PersonalInfo9SVEvolutions.cs | 21 - .../Personal/Types/PersonalInfo9SVHatch.cs | 19 - .../Personal/Types/PersonalInfo9SVInfo.cs | 23 - .../Personal/Types/PersonalInfo9SVMove.cs | 15 - .../Personal/Types/PersonalInfo9SVStats.cs | 22 - .../Gen9/Picnic/PicnicPokemon.cs | 109 -- .../Gen9/Picnic/PicnicSystemData.cs | 14 - .../Gen9/Picnic/PicnicTablesetData.cs | 96 -- .../Gen9/Picnic/PicnicWagonData.cs | 32 - .../Gen9/PokeData/PokeDataEventBattle.cs | 37 - .../Gen9/PokeData/PokeDataFull.cs | 61 - .../Gen9/PokeData/PokeDataSymbol.cs | 30 - .../Gen9/PokeData/PokeDataTrade.cs | 42 - .../Gen9/PokeData/WazaSet.cs | 15 - .../Gen9/PokeData/WazaType.cs | 10 - .../Gen9/Raid/DeliveryRaidEnemyTableArray.cs | 140 --- .../Raid/DeliveryRaidFixedRewardItemArray.cs | 58 - .../DeliveryRaidLotteryRewardItemArray.cs | 89 -- .../Gen9/Raid/DeliveryRaidPriorityArray.cs | 37 - .../Gen9/Raid/Enums/RaidBossExtraActType.cs | 14 - .../Raid/Enums/RaidBossExtraTimingType.cs | 12 - .../Raid/Enums/RaidRewardItemCategoryType.cs | 12 - .../Raid/Enums/RaidRewardItemSubjectType.cs | 13 - .../Gen9/Raid/Enums/RaidRomType.cs | 12 - .../Raid/RaidDifficultyLotteryTableArray.cs | 32 - .../Gen9/Raid/RaidEnemyTableArray.cs | 20 - .../Gen9/Raid/RaidFixedRewardItemArray.cs | 58 - .../Gen9/Raid/RaidGemSetting.cs | 48 - .../Gen9/Raid/RaidLotteryRewardItemArray.cs | 108 -- .../Gen9/Raid/RaidPokeScaleDataArray.cs | 24 - .../Gen9/Raid/RaidRewardSlotArray.cs | 31 - .../Gen9/Raid/RaidTrainerArray.cs | 23 - .../Gen9/Shared/BattleType.cs | 12 - .../Gen9/Shared/DataType.cs | 13 - .../Gen9/Shared/RareType.cs | 12 - .../Gen9/Shared/Sex.cs | 12 - .../Gen9/Shared/SexType.cs | 12 - .../Gen9/Shared/SizeType.cs | 16 - .../Gen9/Shared/TalentType.cs | 12 - .../Gen9/Shared/TokuseiType.cs | 14 - .../Gen9/System/ObjectGenerationRangeArray.cs | 40 - .../Gen9/Trainers/Talk/TalkData.cs | 19 - .../Gen9/Trainers/TrainerBodySize.cs | 14 - .../Gen9/Trainers/TrainerCategory.cs | 12 - .../Gen9/Trainers/TrainerDataArray.cs | 49 - .../Gen9/Trainers/TrainerEnvArray.cs | 42 - .../Gen9/Trainers/TrainerTypeArray.cs | 31 - .../Trinity/TrinityCollisionComponentSV.cs | 69 -- .../Gen9/Trinity/TrinityPropertySheetSV.cs | 70 -- .../Gen9/Trinity/TrinitySceneObjectSV.cs | 39 - .../Trinity/TrinitySceneObjectTemplateSV.cs | 45 - .../Gen9/Trinity/TrinityScenePointSV.cs | 16 - .../Gen9/UI/BattleBgmSelectTableArray.cs | 34 - .../Gen9/UI/BufDataArray.cs | 30 - .../UI/Dressup/DressupCategoryDataArray.cs | 28 - .../Gen9/UI/Dressup/DressupItemDataArray.cs | 62 - .../Gen9/UI/Dressup/DressupShopDataArray.cs | 195 ---- .../Gen9/UI/Dressup/DressupStyleDataArray.cs | 40 - .../UI/Dressup/DressupStylePresetDataArray.cs | 45 - .../Gen9/UI/Enums/ClerkType.cs | 11 - .../Gen9/UI/Enums/CondEnum.cs | 13 - .../Gen9/UI/Enums/PayType.cs | 11 - .../Gen9/UI/Enums/SellType.cs | 11 - .../Gen9/UI/Quest/DanQuestClearArray.cs | 34 - .../Gen9/UI/Quest/EventSkyFlyArray.cs | 134 --- .../Gen9/UI/Quest/GymQuestClearArray.cs | 37 - .../Gen9/UI/Quest/NushiQuestClearArray.cs | 43 - .../UI/Restaurant/RestaurantMenuDataArray.cs | 49 - .../UI/Restaurant/RestaurantShopDataArray.cs | 24 - .../Gen9/UI/SchoolMapDataArray.cs | 43 - .../Gen9/UI/Shop/FriendlyShopDataArray.cs | 26 - .../Gen9/UI/Shop/LineupDataArray.cs | 25 - .../Gen9/UI/Shop/ShopDataArray.cs | 21 - .../Gen9/UI/Shop/ShopWazamachineDataArray.cs | 33 - .../Gen9/UI/TipsDataArray.cs | 54 - .../Gen9/UI/ymap/DestinationDataTableArray.cs | 34 - .../UI/ymap/NpcDestinationDataTableArray.cs | 31 - .../Gen9/UI/ymap/PlaceNameDataTableArray.cs | 22 - .../Gen9/World/Area/AreaInfo.cs | 41 - .../Gen9/World/Area/AreaType.cs | 14 - .../Gen9/World/Area/BandType.cs | 12 - .../Gen9/World/Area/BringItem.cs | 15 - .../Gen9/World/Area/EnableTable.cs | 18 - .../Gen9/World/Area/FieldDungeonAreaArray.cs | 21 - .../Gen9/World/Area/FieldInsideAreaArray.cs | 21 - .../Gen9/World/Area/FieldLocationArray.cs | 21 - .../Gen9/World/Area/FieldMainAreaArray.cs | 21 - .../Gen9/World/Area/FieldSubAreaArray.cs | 21 - .../Gen9/World/Area/OverrideBiome.cs | 19 - .../Gen9/World/EncountPokeDataArray.cs | 49 - .../Gen9/World/EventBattlePokemonArray.cs | 23 - .../Gen9/World/Field/AreaFlyFlagArray.cs | 22 - .../Gen9/World/Field/CoinSymbolManager.cs | 69 -- .../Gen9/World/Field/ExclusionGroupArray.cs | 36 - .../Field/FieldAutoReturnPosTableArray.cs | 23 - .../Field/FieldAutomaticReturnTableArray.cs | 25 - .../Gen9/World/Field/FieldCamera.cs | 83 -- .../Gen9/World/Field/FieldInteriorCamera.cs | 27 - .../World/Field/FieldOutOfRangeTableArray.cs | 25 - .../Gen9/World/Field/FieldPlayer.cs | 76 -- .../Gen9/World/Field/FieldRide.cs | 436 ------- .../World/Field/GemSymbolLotteryTableArray.cs | 31 - .../Gen9/World/Field/GemSymbolSetting.cs | 17 - .../World/Field/MapChangeParametersArray.cs | 28 - .../Gen9/World/FixedSymbol/FixedSymbolAI.cs | 20 - .../World/FixedSymbol/FixedSymbolArray.cs | 23 - .../FixedSymbol/FixedSymbolGeneration.cs | 20 - .../World/FixedSymbol/FixedSymbolManager.cs | 17 - .../World/FixedSymbol/GenerationPattern.cs | 11 - .../Gen9/World/PointDataArray.cs | 24 - .../Gen9/World/SettingData.cs | 14 - .../Gen9/World/TimeTable.cs | 16 - .../Gen9/World/VersionTable.cs | 14 - .../Gen9/Zukan/BlacklistArray.cs | 23 - .../Gen9/Zukan/DistributionRootArray.cs | 37 - .../Gen9/Zukan/MemoPokeTableArray.cs | 22 - .../Gen9/Zukan/RewardDataArray.cs | 29 - .../IFlatBufferArchive.cs | 6 - .../Util/FlatDummyObject.cs | 28 - .../Util/FlatDumper.cs | 11 +- .../Util/ReflectionDumper.cs | 201 ---- .../Util/ReflectionSchema.cs | 301 ----- .../pkNX.Structures.FlatBuffers.csproj | 7 +- pkNX.Structures/Havok/HavokCollision.cs | 1 - pkNX.Structures/TableUtil.cs | 19 +- pkNX.WinForms/Controls/EncounterList.cs | 17 +- pkNX.WinForms/Controls/EncounterList8.cs | 15 +- .../Controls/EncounterTableEditor8a.cs | 43 +- pkNX.WinForms/Controls/EvolutionRow8a.cs | 6 +- pkNX.WinForms/Controls/LandmarkEditor8a.cs | 15 +- .../Controls/PlacementSpawnerEditor8a.cs | 17 +- pkNX.WinForms/Dumping/GameDumperPLA.cs | 158 ++- pkNX.WinForms/Dumping/GameDumperSV.cs | 326 +++--- pkNX.WinForms/Dumping/GameDumperSWSH.cs | 55 +- pkNX.WinForms/Dumping/SV/BoxCollision9.cs | 4 +- pkNX.WinForms/Dumping/SV/EncounterDumperSV.cs | 13 +- pkNX.WinForms/Dumping/SV/LocationDatabase.cs | 1 + .../Dumping/SV/LocationPointDetail.cs | 1 + pkNX.WinForms/Dumping/SV/LocationStorage.cs | 3 +- .../Dumping/SV/PaldeaCoinSymbolModel.cs | 23 +- .../Dumping/SV/PaldeaCoinSymbolPoint.cs | 2 +- pkNX.WinForms/Dumping/SV/PaldeaEncounter.cs | 5 +- pkNX.WinForms/Dumping/SV/PaldeaFieldModel.cs | 22 +- .../Dumping/SV/PaldeaFixedSymbolModel.cs | 25 +- .../Dumping/SV/PaldeaFixedSymbolPoint.cs | 2 +- pkNX.WinForms/Dumping/SV/PaldeaSceneModel.cs | 118 +- pkNX.WinForms/Dumping/TeraRaidRipper.cs | 98 +- pkNX.WinForms/MainEditor/EditorGG.cs | 27 +- pkNX.WinForms/MainEditor/EditorPLA.cs | 205 ++-- pkNX.WinForms/MainEditor/EditorSV.cs | 1 - pkNX.WinForms/MainEditor/EditorSWSH.cs | 245 ++-- pkNX.WinForms/Program.cs | 5 - pkNX.WinForms/Ripper/FileRipper.cs | 11 +- pkNX.WinForms/Subforms/AreaEditor8a.cs | 25 +- pkNX.WinForms/Subforms/GGWE.cs | 40 +- pkNX.WinForms/Subforms/MapViewer8a.cs | 51 +- pkNX.WinForms/Subforms/MapViewer9.cs | 43 +- pkNX.WinForms/Subforms/PokeDataUI8a.cs | 46 +- pkNX.WinForms/Subforms/SSWE.cs | 24 +- pkNX.WinForms/pkNX.WinForms.csproj | 6 +- pkNX.sln | 30 + 955 files changed, 17362 insertions(+), 19328 deletions(-) rename pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8aUtil.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Condition/ConditionUtil.cs (59%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/AppConfigList.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/ConfigureTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/DressUp/DressUpTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Event/Trigger.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.Arceus}/Arceus/Field/ISlotTableConsumer.cs (61%) rename pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemSpawnTable8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemSpawnTable.cs (70%) rename pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemTable8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemTable.cs (58%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/MassOutbreakTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroup.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakLottery.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/OybnSettingTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementItemArchive.cs rename pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocation8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocation.cs (71%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocationArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementMkrgTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementParameters.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSearchItemTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawner.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerData.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF20.cs rename pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF218a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF21.cs (50%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementUnnnTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaBGMTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaInstance.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaSettingsTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaWeatherTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentArea.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.Arceus}/Arceus/Field/Resident/Editing/ResidentInfo.cs (98%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterDataArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterMultiplerArchive.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.Arceus}/Arceus/Field/Slots/ISlotModifierTime.cs (51%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierWeather.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Static/EventEncountArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Geometry/Vec3f.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/KeyAssignmentTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/LbPointsTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/MoveShopTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/NPC/NPCModelSet.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/PlayReportTable.cs rename pkNX.Structures.FlatBuffers/Arceus/Poke/EvolutionTable8.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/EvolutionTable.cs (55%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Learnset.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Model Set/PokeModelSet.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PersonalInfoLAfb.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAIArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAdd.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBattleSpawnArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBodyParticleArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeCaptureCollisionArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDefaultLocatorArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemBattleArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeEatingHabitsArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWaza.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaSeArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeMiscTable.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.Arceus}/Arceus/Poke/PokeResource/PokeInfoList.cs (52%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeResourceTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexDistributionTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexRankTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexResearchTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/ScriptIDRecordRelease.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Shop/HaShopTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/CommonCaptureConfigTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowParamTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowPermissionSetDictionary.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableBaitParamDictionary.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableParamTable.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceDictionary.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceSetDictionary.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/TrData.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/ArchiveContents.cs rename pkNX.Structures.FlatBuffers/Arceus/Util/EncounterDetail8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterDetail.cs (75%) rename pkNX.Structures.FlatBuffers/Arceus/Util/EncounterTable8aUtil.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterTableUtil.cs (61%) rename pkNX.Structures.FlatBuffers/Arceus/Util/IHasCondition8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/IHasCondition.cs (59%) rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.Arceus}/Arceus/Util/SpawnerType.cs (71%) rename pkNX.Structures.FlatBuffers/Arceus/Util/Time8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/Time.cs (65%) rename pkNX.Structures.FlatBuffers/Arceus/Util/Trigger8aUtil.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/TriggerUtil.cs (65%) rename pkNX.Structures.FlatBuffers/Arceus/Util/Weather8a.cs => pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/Weather.cs (75%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Arceus/Waza.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.Arceus}/Dumpers/PersonalDumperPLA.cs (94%) rename pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalInfoLA.cs => pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalInfo8LA.cs (72%) rename {pkNX.Structures.FlatBuffers/Arceus/Integration => pkNX.Structures.FlatBuffers.Arceus/Dumpers}/PersonalTable8LA.cs (86%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/FnvHash.cs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/AppConfigList.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/ConfigureTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/DressUp/DressUpTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Event/Trigger.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemSpawnTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/MassOutbreakTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroup.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroupLottery.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakLottery.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakTimeLimit.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaBGMTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaSettingsTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaWeatherTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterDataArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterMultiplerArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Static/EventEncountArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec2f.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec3f.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/HaShopTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ArchiveContents.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/KeyAssignmentTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/LbPointsTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/MoveShopTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/PlayReportTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ScriptIDRecordRelease.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/NPC/NPCModelSet.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/OybnSettingTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementItemArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementLocationArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementMkrgTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementParameters.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSearchItemTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSpawnerData.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementUnnnTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/EvolutionTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Learnset.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Model Set/PokeModelSet.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PersonalInfoLAfb.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAIArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAdd.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBattleSpawnArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBodyParticleArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeCaptureCollisionArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDefaultLocatorArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItem.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemBattleArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeEatingHabitsArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWaza.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaSeArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildEffectArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeMiscTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeInfoList.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeResourceTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexDistributionTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexRankTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexResearchTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/AbilityType.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/FlatDummyObject.fbs rename pkNX.Structures.FlatBuffers/Arceus/Util/NatureType8a.cs => pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/NatureType.fbs (65%) create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/ShinyType.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/CommonCaptureConfigTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowParamTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowPermissionSet.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableBaitParamDictionary.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableParamTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceDictionary.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceSetDictionary.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/TrainerData.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/Schemas/Waza.fbs create mode 100644 pkNX.Structures.FlatBuffers.Arceus/pkNX.Structures.FlatBuffers.Arceus.csproj create mode 100644 pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterArchive.cs rename pkNX.Structures.FlatBuffers/Gen7/EncounterTable7bUtil.cs => pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterTableUtil.cs (88%) rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.LGPE}/Gen7/ShopInventory.cs (85%) create mode 100644 pkNX.Structures.FlatBuffers.LGPE/Schemas/shop.fbs create mode 100644 pkNX.Structures.FlatBuffers.LGPE/Schemas/wild.fbs create mode 100644 pkNX.Structures.FlatBuffers.LGPE/pkNX.Structures.FlatBuffers.LGPE.csproj create mode 100644 pkNX.Structures.FlatBuffers.Reflection/ReflectionDumpSchema.cs create mode 100644 pkNX.Structures.FlatBuffers.Reflection/SchemaDump.cs create mode 100644 pkNX.Structures.FlatBuffers.Reflection/SchemaDumpSettings.cs create mode 100644 pkNX.Structures.FlatBuffers.Reflection/Schemas/reflection.fbs create mode 100644 pkNX.Structures.FlatBuffers.Reflection/pkNX.Structures.FlatBuffers.Reflection.csproj rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Dumpers/PersonalDumperSV.cs (97%) rename {pkNX.Structures.FlatBuffers/Util => pkNX.Structures.FlatBuffers.SV}/FlatDummyEntry.cs (68%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileDescriptors.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Gen9/Archive/TrinityFileSystemManager.cs (81%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemMetadata.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPak.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Gen9/Archive/TrinityPakExtractor.cs (93%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Food/FoodPokeTypeParam.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Personal/PersonalTable.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoDex.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoEvolution.cs rename pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVGender.cs => pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoGender.cs (57%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoStats.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Gen9/Personal/Wrapper/PersonalInfo9SV.cs (89%) rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Gen9/Personal/Wrapper/PersonalTable9SV.cs (83%) rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Gen9/PokeData/PokeDataBattle.cs (64%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataEventBattle.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataFull.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataSymbol.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataTrade.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/WazaSet.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidEnemyTableArray.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidFixedRewardItemArray.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidLotteryRewardItemArray.cs rename {pkNX.Structures.FlatBuffers => pkNX.Structures.FlatBuffers.SV}/Gen9/SpeciesConverterSV.cs (98%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/World/AreaInfo.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Gen9/World/PointDataArray.cs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventType.fbs (60%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Audio/EnvPokeVoiceLotterySetting.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleConfig.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleEffectTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Battle/ItemTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Battle/PokeExceptionTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/CookingCommonData.fbs rename pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/FoodSkillType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/FoodSkillType.fbs (52%) rename pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/IngredientType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/IngredientType.fbs (86%) rename pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/RecipeType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/RecipeType.fbs (95%) rename pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/SeasoningType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/SeasoningType.fbs (75%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/FoodPowerComboArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDishDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPokeTypeParam.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerComboParam.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerParam.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/IngredientParam.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/RecipeDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/SeasoningDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/TakaraSpicePowerTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/CollisionShape.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ComparisonOperatorType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ConditionSimpleAutoBattleHecklerAreaArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/OwnerInfo.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ParamSet.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokeObjArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonTriggerID.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonTriggerID.fbs (99%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonUniquePathData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventAddPokemonArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventSub012.RewardTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradeListArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradePokemonArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcFaceType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcFaceType.fbs (57%) rename pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotion.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotion.fbs (78%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotionType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonDefaultMotion.fbs rename pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonMotion.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonMotion.fbs (55%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficFormation.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficPartnerType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/NpcTrafficGenerateTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/PopupWindowTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Event/TreeShakePokemonArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec2f.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec3f.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec4f.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Transform.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Vec3f.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseRewardData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseSetting.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCoursePokemonTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCourseTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.denki.PopupPosTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.ENDLESS_BORDERArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.EXERCISE_COURSESArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.PokeTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.RewardTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.FixTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriItemTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriNpcTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriVenueTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiRewardArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym_denki.PopupFixTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/DLCItemGroupArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/DropItemDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/BattleFunctionType.fbs rename pkNX.Structures.FlatBuffers/Gen9/Item/Enums/EquipEffect.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/EquipEffect.fbs (97%) rename pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldFunctionType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldFunctionType.fbs (75%) rename pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldPocket.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldPocket.fbs (63%) rename pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemGroup.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemGroup.fbs (70%) rename pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemType.fbs (67%) rename pkNX.Structures.FlatBuffers/Gen9/Item/Enums/PluckEffect.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/PluckEffect.fbs (81%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkPpSelTgt.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemBiomeTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemDataTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemPointTypeBiomeTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/MonohiroiItemArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Item/RummagingItemDataTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoCommonLevelArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoDifficultEnum.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoPokemonArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoTypeEnum.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoUnitArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/GemSettingRootTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Misc/RibbonDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleParamArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDetail.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDex.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoEvolution.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoGender.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoHatch.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoMove.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoStats.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicPokemon.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicSystemData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicTablesetData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicWagonData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataBattle.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataEventBattle.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataFull.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataSymbol.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataTrade.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/WazaSet.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidEnemyTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidFixedRewardItemArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidLotteryRewardItemArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidPriorityArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraActType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraTimingType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemCategoryType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemSubjectType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRomType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidDifficultyLotteryTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyInfo.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemInfo.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidGemSetting.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemInfo.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidPokeScaleDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidRewardSlotArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidTrainerArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/Shared/BallType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BallType.fbs (78%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BattleType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DataType.fbs rename pkNX.Structures.FlatBuffers/Gen9/Shared/DevID.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DevID.fbs (99%) rename pkNX.Structures.FlatBuffers/Gen9/Shared/GemType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/GemType.fbs (66%) rename pkNX.Structures.FlatBuffers/Gen9/Item/ItemID.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/ItemID.fbs (99%) rename pkNX.Structures.FlatBuffers/Gen9/Shared/LangType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/LangType.fbs (53%) rename pkNX.Structures.FlatBuffers/Gen9/Shared/MoveType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/MoveType.fbs (63%) rename pkNX.Structures.FlatBuffers/Gen9/Shared/PokeMemoType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/PokeMemoType.fbs (51%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RareType.fbs rename pkNX.Structures.FlatBuffers/Gen9/Shared/RibbonType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RibbonType.fbs (93%) rename pkNX.Structures.FlatBuffers/Gen9/Shared/SeikakuType.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SeikakuType.fbs (70%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/Sex.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SexType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SizeType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TalentType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TokuseiType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/System/ObjectGenerationRangeArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/CheckCategory.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/CheckCategory.fbs (77%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkData.fbs rename pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkRankEffect.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkRankEffect.fbs (56%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerBodySize.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerCategory.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerEnvArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerTypeArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityComponent.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileDescriptors.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileSystemMetadata.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPak.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPropertySheet.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObject.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObjectTemplate.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityScenePoint.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/BattleBgmSelectTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/BufDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupCategoryDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupItemDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupShopDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStyleDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStylePresetDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ClerkType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/CondEnum.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/PayType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/SellType.fbs rename pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ShopKind.cs => pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ShopKind.fbs (64%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/DanQuestClearArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/EventSkyFlyArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/GymQuestClearArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/NushiQuestClearArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantMenuDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantShopDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/SchoolMapDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/FriendlyShopDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/LineupDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopWazamachineDataArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/UI/SystemBgArray.cs => pkNX.Structures.FlatBuffers.SV/Schemas/UI/SystemBgArray.fbs (71%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/TipsDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/DestinationDataTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/NpcDestinationDataTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/PlaceNameDataTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Waza/Waza.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaAffinity.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaEntityStat.fbs rename pkNX.Structures.FlatBuffers/Gen9/Move/WazaID.cs => pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaID.fbs (99%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaInflict.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaInfo.fbs rename pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaTag.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaTag.fbs (50%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaType.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BandType.fbs rename pkNX.Structures.FlatBuffers/Gen9/World/Area/Biome.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/Biome.fbs (69%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BringItem.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EnableTable.fbs rename pkNX.Structures.FlatBuffers/Gen9/World/Area/EncAttr.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncAttr.fbs (67%) rename pkNX.Structures.FlatBuffers/Gen9/World/Area/EncBiome.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncBiome.fbs (70%) rename pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldAttrKey.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldAttrKey.fbs (81%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldDungeonAreaArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldInsideAreaArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldLocationArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldMainAreaArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldSubAreaArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/OverrideBiome.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/EncountPokeDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/EventBattlePokemonArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/AreaFlyFlagArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/CoinSymbolManager.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/ExclusionGroupArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutoReturnPosTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutomaticReturnTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldCamera.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldInteriorCamera.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldOutOfRangeTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldPlayer.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldRide.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolLotteryTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolSetting.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/MapChangeParametersArray.fbs rename pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/BehaviorFrequency.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/BehaviorFrequency.fbs (61%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolAI.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolGeneration.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolManager.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/GenerationPattern.fbs rename pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/PokemonActionID.cs => pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/PokemonActionID.fbs (99%) create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/PointDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/SettingData.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/TimeTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/World/VersionTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/BlacklistArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/DistributionRootArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/MemoPokeTableArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/RewardDataArray.fbs create mode 100644 pkNX.Structures.FlatBuffers.SV/pkNX.Structures.FlatBuffers.SV.csproj create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerPokeArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerTrainerArchive.cs rename pkNX.Structures.FlatBuffers/Gen8/Gift/EncounterGift8Archive.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/EncounterGiftArchive.cs (50%) rename pkNX.Structures.FlatBuffers/Gen8/Gift/GiftEncounter8.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/GiftEncounter.cs (53%) rename pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterNest8Archive.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterNestArchive.cs (69%) create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterUndergroundArchive.cs rename pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleCrystalEncounter8Archive.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleCrystalEncounterArchive.cs (56%) rename pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionEncounter8Archive.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionEncounterArchive.cs (61%) create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionRewardArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleLevelArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleRewardArchive.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ArchiveContent.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/CellTable.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/PokeResourceTable.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Rental.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ScriptMeta.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/SymbolBehavior.cs rename pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8Archive.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Waza.cs (50%) create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/WeatherEntry.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8Archive.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F04.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F24.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneAdvancedTipHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneBerryTreeHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneEnvironmentHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFieldItemHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFishingPointHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFlightAnchorHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneHiddenItemHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneIKStepHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneLadderHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneMovementPathHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNPCHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNestHoleHolder.cs rename pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8OtherNPCHolder.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneOtherNPCHolder.cs (62%) create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneParticleHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePokeCenterSpawnAnchorHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePopupHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneQuadrantHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneRotomRallyEntry.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSpeciesHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStaticObjectsHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStepJumpHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSymbolSpawnHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerTipHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTriggerHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneUnitObjectHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneWarpHolder.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/PlacementZone8.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Static/EncounterStaticArchive.cs rename pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Trade/EncounterTradeArchive.cs (51%) create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Waza/Waza.cs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterArchive.cs rename pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterTable8Util.cs => pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterTableUtil.cs (93%) create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/ArchiveContent.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerPoke.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerTrainer.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/CellTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterNestArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterStaticArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterTradeArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/GiftArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleCrystalEncounterArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionEncounterArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionRewardArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleLevelArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleRewardArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleUndergroundArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/Placement.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementShared.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZone.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneAdvancedTipHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneBerryTreeHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneEnvironmentHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFieldItemHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFishingPointHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFlightAnchorHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneHiddenItemHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneIKStepHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneLadderHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneMovementPathHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNPCHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNestHoleHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneOtherNPCHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneParticleHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePokeCenterSpawnAnchorHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePopupHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneQuadrantHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneRotomRallyEntry.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSpeciesHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStaticObjectsHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStepJumpHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSymbolSpawnHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerTipHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTriggerHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneUnitObjectHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneWarpHolder.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/PokeResourceTable.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/RentalArchive.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/ScriptMeta.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/SymbolBehavior.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/Waza.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/WeatherEntry.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/Schemas/shop.fbs create mode 100644 pkNX.Structures.FlatBuffers.SWSH/pkNX.Structures.FlatBuffers.SWSH.csproj delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Condition/ConditionType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigEntry8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigList8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Config/ConfigureTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpColorType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpHideFlagType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpPartType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpUnlockFlagType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Event/Trigger8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Event/TriggerCommandType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Event/TriggerType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/MassOutbreakTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroup8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakLottery8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/OybnSettingTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementItemArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocationArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementMkrgTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementParameters8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSearchItemTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawner8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerData8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF208a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementUnnnTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaBGMTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaInstance8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaSettingsTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaWeatherTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentArea8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterData8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterEligiblityTraits8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplerArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplier8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterOybnTraits8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterSlot8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierWeather.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8aArchive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncountPoke8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/KeyAssignmentTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/LbPointsTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/MoveShopTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelSet8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/NPC/NPCResidentType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/PlayReportTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/Learnset8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PersonalInfoLAfb.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAdd8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemBattleArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeEatingHabitsArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWaza8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaSeArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeMiscTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeResourceTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexDistributionTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexRankTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/ScriptIDRecordRelease.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Shop/HaShopTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/CommonCaptureConfigTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectHitType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectTrajectoryType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemCategoryType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetDictionary8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableBaitParamDictionary8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableParamTable8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceDictionary8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceSetDictionary8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/TrData8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Util/AbilityType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Util/ShinyType8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Arceus/Waza8a.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen7/EncounterArchive7b.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerPoke8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerTrainer8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterUnderground8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionReward8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleLevel8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleReward8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/ArchiveContent.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/CellTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/PokeResourceTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/Rental8.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/ScriptMeta.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/SymbolBehavior.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/Waza8.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Other/WeatherEntry.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F04.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F24.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8AdvancedTipHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8BerryTreeHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8EnvironmentHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FieldItemHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FishingPointHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FlightAnchorHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8HiddenItemHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8IKStepHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8LadderHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8MovementPathHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NPCHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NestHoleHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8ParticleHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PokeCenterSpawnAnchorHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PopupHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8QuadrantHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8RotomRallyEntry.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StaticObjectsHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StepJumpHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SymbolSpawnHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerTipHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TriggerHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8UnitObjectHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8WarpHolder.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/PlacementZone8.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8Archive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterArchive8.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileDescriptors.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemMetadata.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPak.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Audio/EnvPokeVoiceLotterySetting.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Battle/BattleConfig.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Battle/BattleEffectTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Battle/ItemTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Battle/PokeExceptionTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/CookingCommonData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/FoodPowerComboArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDishDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPokeTypeParam.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerComboParam.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerParam.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/RecipeDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/SeasoningDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Cooking/TakaraSpicePowerTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/CollisionShape.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/ComparisonOperatorType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/ConditionSimpleAutoBattleHecklerAreaArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/OwnerInfo.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/ParamSet.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/PokeObjArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonUniquePathData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/EventAddPokemonArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/EventSub012.RewardTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/EventTradeListArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/EventTradePokemonArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotionType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonDefaultMotion.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficFormation.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficPartnerType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/NpcTrafficGenerateTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/PopupWindowTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Event/TreeShakePokemonArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCoursePokemonTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCourseTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.denki.PopupPosTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.ENDLESS_BORDERArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.EXERCISE_COURSESArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.PokeTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.RewardTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.FixTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriItemTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriNpcTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriVenueTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiRewardArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Gym/gym_denki.PopupFixTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/DLCItemGroupArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/DropItemDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/Enums/BattleFunctionType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkPpSelTgt.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemBiomeTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemDataTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/ItemDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/ItemPointTypeBiomeTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/MonohiroiItemArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Item/RummagingItemDataTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoCommonLevelArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoDifficultEnum.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoPokemonArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoTypeEnum.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoUnitArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/GemSettingRootTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Misc/RibbonDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Affinity.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Move/Waza9EntityStat.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Inflict.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Table.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleParamArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/PersonalTable9SVfb.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVDex.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVEvolutions.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVHatch.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVInfo.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVMove.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVStats.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicPokemon.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicSystemData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicTablesetData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicWagonData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataEventBattle.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataFull.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataSymbol.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataTrade.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaSet.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidEnemyTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidPriorityArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraActType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraTimingType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemCategoryType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemSubjectType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRomType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidDifficultyLotteryTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidEnemyTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidFixedRewardItemArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidGemSetting.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidLotteryRewardItemArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidPokeScaleDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidRewardSlotArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Raid/RaidTrainerArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/BattleType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/DataType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/RareType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/Sex.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/SexType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/SizeType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/TalentType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Shared/TokuseiType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/System/ObjectGenerationRangeArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerBodySize.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerCategory.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerEnvArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerTypeArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityCollisionComponentSV.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityPropertySheetSV.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectSV.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectTemplateSV.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityScenePointSV.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/BattleBgmSelectTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/BufDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupCategoryDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupItemDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupShopDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStyleDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStylePresetDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ClerkType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Enums/CondEnum.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Enums/PayType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Enums/SellType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Quest/DanQuestClearArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Quest/EventSkyFlyArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Quest/GymQuestClearArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Quest/NushiQuestClearArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantMenuDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantShopDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/SchoolMapDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Shop/FriendlyShopDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Shop/LineupDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopWazamachineDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/TipsDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/ymap/DestinationDataTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/ymap/NpcDestinationDataTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/UI/ymap/PlaceNameDataTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaInfo.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/BandType.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/BringItem.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/EnableTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldDungeonAreaArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldInsideAreaArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldLocationArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldMainAreaArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldSubAreaArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Area/OverrideBiome.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/EncountPokeDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/EventBattlePokemonArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/AreaFlyFlagArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/CoinSymbolManager.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/ExclusionGroupArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutoReturnPosTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutomaticReturnTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldCamera.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldInteriorCamera.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldOutOfRangeTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldPlayer.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldRide.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolLotteryTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolSetting.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/Field/MapChangeParametersArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolAI.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolGeneration.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolManager.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/GenerationPattern.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/PointDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/SettingData.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/TimeTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/World/VersionTable.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Zukan/BlacklistArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Zukan/DistributionRootArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Zukan/MemoPokeTableArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/Gen9/Zukan/RewardDataArray.cs delete mode 100644 pkNX.Structures.FlatBuffers/IFlatBufferArchive.cs delete mode 100644 pkNX.Structures.FlatBuffers/Util/FlatDummyObject.cs delete mode 100644 pkNX.Structures.FlatBuffers/Util/ReflectionDumper.cs delete mode 100644 pkNX.Structures.FlatBuffers/Util/ReflectionSchema.cs diff --git a/.editorconfig b/.editorconfig index f640b535..fc333823 100644 --- a/.editorconfig +++ b/.editorconfig @@ -43,3 +43,9 @@ dotnet_style_parentheses_in_other_operators = always_for_clarity:suggest dotnet_naming_style.begins_with_i.required_prefix = I dotnet_naming_style.begins_with_i.capitalization = pascal_case + +# Generated Code +[**/obj/**.cs] +generated_code = true +dotnet_diagnostic.CS8019.severity = none +dotnet_analyzer_diagnostic.severity = none diff --git a/pkNX.Containers/VFS/FileSystems/LayeredFileSystem.cs b/pkNX.Containers/VFS/FileSystems/LayeredFileSystem.cs index 17f32fdb..c6e40fc3 100644 --- a/pkNX.Containers/VFS/FileSystems/LayeredFileSystem.cs +++ b/pkNX.Containers/VFS/FileSystems/LayeredFileSystem.cs @@ -72,7 +72,7 @@ public Stream OpenFile(FileSystemPath path, FileAccess access) { IFileSystem? fs = GetFirst(path); if (fs == null) - throw new FileNotFoundException(); + throw new FileNotFoundException($"Unable to find {path.Path}"); return fs.OpenFile(path, access); } diff --git a/pkNX.Game/Editors/DataCache.cs b/pkNX.Game/Editors/DataCache.cs index d76eef02..1469c262 100644 --- a/pkNX.Game/Editors/DataCache.cs +++ b/pkNX.Game/Editors/DataCache.cs @@ -1,4 +1,7 @@ using System; +using System.Collections.Generic; +using System.Linq; +using FlatSharp; using pkNX.Containers; using pkNX.Structures.FlatBuffers; @@ -10,13 +13,13 @@ public class DataCache : IDataEditor where T : class public Func Create { private get; set; } = null!; public Func Write { protected get; set; } = null!; - public DataCache(T?[] cache) => Cache = cache; + public DataCache(IList cache) => Cache = cache; public DataCache(IFileContainer f) : this(new T[f.Count]) => Data = f; - protected readonly T?[] Cache; + protected readonly IList Cache; private bool Cached; - public int Length => Cache.Length; + public int Length => Cache.Count; public T this[int index] { @@ -26,7 +29,7 @@ public class DataCache : IDataEditor where T : class public void CancelEdits() { - for (int i = 0; i < Cache.Length; i++) + for (int i = 0; i < Cache.Count; i++) Cache[i] = default; } @@ -35,7 +38,7 @@ public void CancelEdits() public T[] LoadAll() { if (Cached) - return Cache!; + return Cache.ToArray()!; for (int i = 0; i < Length; i++) { // ReSharper disable once AssignmentIsFullyDiscarded @@ -43,13 +46,13 @@ public T[] LoadAll() } Cached = true; - return Cache!; + return Cache.ToArray()!; } public void ClearAll() { Cached = false; - for (int i = 0; i < Cache.Length; i++) + for (int i = 0; i < Cache.Count; i++) Cache[i] = null; } @@ -58,7 +61,7 @@ public void ClearAll() /// public virtual void Save() { - for (int i = 0; i < Cache.Length; i++) + for (int i = 0; i < Cache.Count; i++) { var val = Cache[i]; if (val == null) @@ -74,7 +77,7 @@ public virtual void Save() /// public class DirectCache : DataCache where T : class { - public DirectCache(T[] cache) : base(cache) { } + public DirectCache(IList cache) : base(cache) { } public override void Save() { } } @@ -84,24 +87,25 @@ public class DirectCache : DataCache where T : class /// The type of table /// The type of data inside the table public class TableCache - where TTable : class, IFlatBufferArchive + where TTable : class, IFlatBufferSerializable where TData : class { public IFileContainer File { get; private set; } public TTable Root { get; private set; } - public TData[] Table => Root.Table; + public IList Table { get; private set; } public DataCache Cache { get; private set; } - public TableCache(IFileContainer f) + public TableCache(IFileContainer f, Func> sel) { File = f; Root = FlatBufferConverter.DeserializeFrom(f[0]); - Cache = new DirectCache(Root.Table); + Table = sel(Root); + Cache = new DirectCache(Table!); } public void Save() { - File[0] = FlatBufferConverter.SerializeFrom(Root); + File[0] = Root.SerializeFrom(); } public TData this[int index] diff --git a/pkNX.Game/Editors/Poke/PokeEditor8a.cs b/pkNX.Game/Editors/Poke/PokeEditor8a.cs index b4e344ad..5bd5d063 100644 --- a/pkNX.Game/Editors/Poke/PokeEditor8a.cs +++ b/pkNX.Game/Editors/Poke/PokeEditor8a.cs @@ -1,22 +1,24 @@ using pkNX.Structures; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; +using Learnset = pkNX.Structures.FlatBuffers.Arceus.Learnset; +using EvolutionSet = pkNX.Structures.FlatBuffers.Arceus.EvolutionSet; namespace pkNX.Game; public class PokeEditor8a : IDataEditor { public IPersonalTable Personal { get; init; } = null!; - public TableCache PokeMisc { get; init; } = null!; - public TableCache SymbolBehave { get; init; } = null!; - public TableCache Evolve { get; init; } = null!; - public TableCache Learn { get; init; } = null!; - public TableCache FieldDropTables { get; init; } = null!; - public TableCache BattleDropTabels { get; init; } = null!; + public TableCache PokeMisc { get; init; } = null!; + public TableCache SymbolBehave { get; init; } = null!; + public TableCache Evolve { get; init; } = null!; + public TableCache Learn { get; init; } = null!; + public TableCache FieldDropTables { get; init; } = null!; + public TableCache BattleDropTabels { get; init; } = null!; public TableCache DexResearch { get; init; } = null!; - public TableCache PokeResourceList { get; init; } = null!; - public TableCache PokeResourceTable { get; init; } = null!; - public TableCache EncounterRateTable { get; init; } = null!; - public TableCache CaptureCollisionTable { get; init; } = null!; + public TableCache PokeResourceList { get; init; } = null!; + public TableCache PokeResourceTable { get; init; } = null!; + public TableCache EncounterRateTable { get; init; } = null!; + public TableCache CaptureCollisionTable { get; init; } = null!; public void CancelEdits() { } diff --git a/pkNX.Game/GameData8a.cs b/pkNX.Game/GameData8a.cs index 51b90ca1..f3608902 100644 --- a/pkNX.Game/GameData8a.cs +++ b/pkNX.Game/GameData8a.cs @@ -1,16 +1,16 @@ using pkNX.Structures; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; namespace pkNX.Game; public class GameData8a { public IPersonalTable PersonalData { get; init; } = null!; - public DataCache MoveData { get; init; } = null!; - public TableCache EvolutionData { get; init; } = null!; - public TableCache LevelUpData { get; init; } = null!; + public DataCache MoveData { get; init; } = null!; + public TableCache EvolutionData { get; init; } = null!; + public TableCache LevelUpData { get; init; } = null!; - public TableCache FieldDrops { get; init; } = null!; - public TableCache BattleDrops { get; init; } = null!; + public TableCache FieldDrops { get; init; } = null!; + public TableCache BattleDrops { get; init; } = null!; public TableCache DexResearch { get; init; } = null!; } diff --git a/pkNX.Game/GameManagerPLA.cs b/pkNX.Game/GameManagerPLA.cs index 0c798002..89cacce5 100644 --- a/pkNX.Game/GameManagerPLA.cs +++ b/pkNX.Game/GameManagerPLA.cs @@ -6,6 +6,7 @@ using pkNX.Containers.VFS; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; namespace pkNX.Game; @@ -192,23 +193,23 @@ private void ResetData() // Single Files PersonalData = new PersonalTable8LA(GetFile(GameFile.PersonalStats)), - LevelUpData = new(GetFile(GameFile.Learnsets)), - EvolutionData = new(GetFile(GameFile.Evolutions)), + LevelUpData = new(GetFile(GameFile.Learnsets), z => z.Table), + EvolutionData = new(GetFile(GameFile.Evolutions), z => z.Table), - FieldDrops = new(GetFile(GameFile.FieldDrops)), - BattleDrops = new(GetFile(GameFile.BattleDrops)), - DexResearch = new(GetFile(GameFile.DexResearch)), + FieldDrops = new(GetFile(GameFile.FieldDrops), z => z.Table), + BattleDrops = new(GetFile(GameFile.BattleDrops), z => z.Table), + DexResearch = new(GetFile(GameFile.DexResearch), z => z.Table), }; DropTableConverter.DropTableHashes = Data.FieldDrops.Table.Select(x => x.Hash).ToArray(); } - private DataCache GetMoves() + private DataCache GetMoves() { var move = GetFilteredFolder(GameFile.MoveStats); - return new DataCache(move) + return new DataCache(move) { - Create = FlatBufferConverter.DeserializeFrom, + Create = FlatBufferConverter.DeserializeFrom, Write = FlatBufferConverter.SerializeFrom, }; } diff --git a/pkNX.Game/GameManagerSV.cs b/pkNX.Game/GameManagerSV.cs index db2bf28b..84b1a207 100644 --- a/pkNX.Game/GameManagerSV.cs +++ b/pkNX.Game/GameManagerSV.cs @@ -1,7 +1,7 @@ using System; using System.IO; using pkNX.Containers; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV.Trinity; namespace pkNX.Game; diff --git a/pkNX.Game/GameManagerSWSH.cs b/pkNX.Game/GameManagerSWSH.cs index 146f2581..c91c3a92 100644 --- a/pkNX.Game/GameManagerSWSH.cs +++ b/pkNX.Game/GameManagerSWSH.cs @@ -4,6 +4,7 @@ using pkNX.Containers; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SWSH; namespace pkNX.Game; @@ -49,8 +50,8 @@ public override void Initialize() { MoveData = new DataCache(move) { - Create = FlatBufferConverter.DeserializeFrom, - Write = z => FlatBufferConverter.SerializeFrom((Waza8)z), + Create = bytes => (IMove)FlatBufferConverter.DeserializeFrom(bytes), + Write = z => ((Waza)z).SerializeFrom(), }, LevelUpData = new DataCache(Learn) { diff --git a/pkNX.Game/pkNX.Game.csproj b/pkNX.Game/pkNX.Game.csproj index 46cd338d..095f3ae4 100644 --- a/pkNX.Game/pkNX.Game.csproj +++ b/pkNX.Game/pkNX.Game.csproj @@ -8,6 +8,10 @@ + + + + diff --git a/pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8aUtil.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Condition/ConditionUtil.cs similarity index 59% rename from pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8aUtil.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Condition/ConditionUtil.cs index c6511712..9c2a2634 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8aUtil.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Condition/ConditionUtil.cs @@ -1,19 +1,17 @@ using System; using System.Linq; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -public static class Condition8aUtil +public static class ConditionUtil { - public static string GetConditionTypeSummary(this IHasCondition8a cond) + public static string GetConditionTypeSummary(this IHasCondition cond) { - if (!Enum.IsDefined(typeof(ConditionType8a), cond.ConditionTypeID)) - return $"0x{(ulong)cond.ConditionTypeID:X16}"; - //throw new ArgumentOutOfRangeException(nameof(cond.ConditionTypeID), cond.ConditionTypeID, "Unknown."); + // todo lookup return $"{cond.ConditionTypeID}"; } - public static string GetConditionArgsSummary(this IHasCondition8a cond) + public static string GetConditionArgsSummary(this IHasCondition cond) { var args = new[] { cond.ConditionArg1, cond.ConditionArg2, cond.ConditionArg3, cond.ConditionArg4, cond.ConditionArg5 }; @@ -28,10 +26,9 @@ public static string GetConditionArgsSummary(this IHasCondition8a cond) return string.Join(", ", args.Select(s => $"\"{s}\"").Take(firstEmpty >= 0 ? firstEmpty : args.Length)); } - public static string GetConditionSummary(this IHasCondition8a cond) + public static string GetConditionSummary(this IHasCondition cond) { - if (!Enum.IsDefined(typeof(Condition8a), cond.ConditionID)) - throw new ArgumentOutOfRangeException(nameof(cond.ConditionID), cond.ConditionID, "Unknown."); + // todo lookup return $"{cond.ConditionID}({GetConditionArgsSummary(cond)})"; } } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/AppConfigList.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/AppConfigList.cs new file mode 100644 index 00000000..41bba8bc --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/AppConfigList.cs @@ -0,0 +1,17 @@ +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 AppConfigEntry { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AppConfigList { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/ConfigureTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/ConfigureTable.cs new file mode 100644 index 00000000..5bc72100 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Config/ConfigureTable.cs @@ -0,0 +1,24 @@ +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 ConfigArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ConfigEntry +{ + public string ConfiguredValue + { + get => Parameters[0]; + set => Parameters[0] = value; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/DressUp/DressUpTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/DressUp/DressUpTable.cs new file mode 100644 index 00000000..c4994f1d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/DressUp/DressUpTable.cs @@ -0,0 +1,16 @@ +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 DressUpTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class DressUpEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Event/Trigger.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Event/Trigger.cs new file mode 100644 index 00000000..9609fecd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Event/Trigger.cs @@ -0,0 +1,30 @@ +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 TriggerTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class Trigger { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TriggerMeta { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TriggerCondition : IHasCondition +{ + // For interface compat + public string ConditionArg4 { get; set; } = string.Empty; + public string ConditionArg5 { get; set; } = string.Empty; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TriggerCommand { } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/ISlotTableConsumer.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/ISlotTableConsumer.cs similarity index 61% rename from pkNX.Structures.FlatBuffers/Arceus/Field/ISlotTableConsumer.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/ISlotTableConsumer.cs index fd74765f..3dee9571 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/ISlotTableConsumer.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/ISlotTableConsumer.cs @@ -1,4 +1,4 @@ -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; public interface ISlotTableConsumer { diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemSpawnTable8a.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemSpawnTable.cs similarity index 70% rename from pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemSpawnTable8a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemSpawnTable.cs index 0df1b502..7d3d57af 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemSpawnTable8a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemSpawnTable.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using FlatSharp.Attributes; using pkNX.Containers; // ReSharper disable UnusedAutoPropertyAccessor.Global @@ -11,30 +10,14 @@ // ReSharper disable UnusedMember.Global // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LandmarkItemSpawnTable8a : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class LandmarkItemSpawnTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class LandmarkItemSpawn { - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public LandmarkItemSpawn8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LandmarkItemSpawn8a -{ - [FlatBufferItem(00)] public ulong LandmarkItemSpawnTableID { get; set; } - [FlatBufferItem(01)] public int ItemRewardMin { get; set; } // counts apply only for inactivated landmarks - [FlatBufferItem(02)] public int ItemRewardMax { get; set; } - [FlatBufferItem(03)] public LandmarkItemSpawn8a_F03[] Field_03 { get; set; } = Array.Empty(); - [FlatBufferItem(04)] public int ActivationRate { get; set; } - [FlatBufferItem(05)] public byte Field_05 { get; set; } // unknown - [FlatBufferItem(06)] public byte Field_06 { get; set; } // unknown - [FlatBufferItem(07)] public ulong EncounterTableID { get; set; } - [FlatBufferItem(08)] public int LevelBoost { get; set; } - [FlatBufferItem(09)] public int RareRate { get; set; } - public bool UsesTable(ulong table) => EncounterTableID == table; public string NameSummary @@ -108,10 +91,5 @@ public string NameSummary } } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LandmarkItemSpawn8a_F03 -{ - [FlatBufferItem(00)] public int ItemId { get; set; } - [FlatBufferItem(01)] public int Probability { get; set; } - [FlatBufferItem(02)] public bool IsRare { get; set; } -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class LandmarkItemSpawn_F03 { } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemTable8a.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemTable.cs similarity index 58% rename from pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemTable8a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemTable.cs index 409852ba..4bf740fd 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/LandmarkItemTable8a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/LandmarkItemTable.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using FlatSharp.Attributes; -using pkNX.Containers; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global @@ -12,46 +7,31 @@ // ReSharper disable UnusedMember.Global // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LandmarkItemTable8a : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class LandmarkItemTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class LandmarkItem : ISlotTableConsumer { - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public LandmarkItem8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LandmarkItem8a : ISlotTableConsumer -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public ulong Field_01 { get; set; } - [FlatBufferItem(02)] public ulong LandmarkItemNameID { get; set; } - [FlatBufferItem(03)] public PlacementParameters8a[] Field_03 { get; set; } = Array.Empty(); - [FlatBufferItem(04)] public float Scalar { get; set; } - [FlatBufferItem(05)] public FlatDummyObject Field_05 { get; set; } = new(); - [FlatBufferItem(06)] public FlatDummyObject Field_06 { get; set; } = new(); - [FlatBufferItem(07)] public FlatDummyObject Field_07 { get; set; } = new(); - [FlatBufferItem(08)] public ulong LandmarkItemSpawnTableID { get; set; } - - public PlacementParameters8a Parameters + public PlacementParameters Parameters { - get { if (Field_03.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_03)}"); return Field_03[0]; } - set { if (Field_03.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_03)}"); Field_03[0] = value; } + get { if (Field03.Count != 1) throw new ArgumentException($"Invalid {nameof(Field03)}"); return Field03[0]; } + set { if (Field03.Count != 1) throw new ArgumentException($"Invalid {nameof(Field03)}"); Field03[0] = value; } } public bool UsesTable(ulong table) => LandmarkItemSpawnTableID == table; - public IEnumerable GetIntersectingLocations(IReadOnlyList locations, float bias) + public IEnumerable GetIntersectingLocations(IList locations, float bias) { var c = Parameters.Coordinates; return GetIntersectingLocations(locations, bias, c, Scalar); } - private static IEnumerable GetIntersectingLocations(IReadOnlyList locations, float bias, Vec3f c, float scalar) + private static IEnumerable GetIntersectingLocations(IList locations, float bias, Vec3f c, float scalar) { - var result = new List(); + var result = new List(); foreach (var loc in locations) { if (!loc.IsNamedPlace) @@ -65,9 +45,9 @@ private static IEnumerable GetIntersectingLocations(IReadOn return result; } - public IEnumerable GetContainingLocations(IReadOnlyList locations) + public IEnumerable GetContainingLocations(IList locations) { - var result = new List(); + var result = new List(); foreach (var loc in locations) { if (!loc.IsNamedPlace) @@ -86,7 +66,7 @@ public string NameSummary { var map = GetNameMap(); if (map.TryGetValue(LandmarkItemNameID, out var name)) - return $"\"{name}\" ({Field_00})"; + return $"\"{name}\" ({Field00})"; return $"0x{LandmarkItemNameID:X16}"; } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/MassOutbreakTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/MassOutbreakTable.cs new file mode 100644 index 00000000..18b81e1e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/MassOutbreakTable.cs @@ -0,0 +1,22 @@ +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 MassOutbreakTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class MassOutbreak { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class MassOutbreakCondition : IHasCondition +{ +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroup.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroup.cs new file mode 100644 index 00000000..fc2316b3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroup.cs @@ -0,0 +1,33 @@ +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); + + public bool UsesTable(ulong tableID) + { + if (EncounterTableID == tableID) + return true; + var matches = Table.FirstOrDefault(z => z.EncounterTableID == tableID); + return matches is not null; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NewHugeOutbreakDetail : IHasCondition +{ + public override string ToString() => $"PlacementParameters(/* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {EncounterTableID:X16}, {Rate})"; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery.cs new file mode 100644 index 00000000..ca66d8bd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery.cs @@ -0,0 +1,68 @@ +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) + { + var hash = spawner.Field20Value.EncounterTableID; + var group = Table.FirstOrDefault(z => z.LotteryGroup == hash); + if (group == null) + return false; + + return group.IsUseTable(groups, tableID); + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NewHugeOutbreakGroupLottery +{ + public int SumTableCommon => TableCommon.Sum(z => z.Rate); + public int SumTableRare1 => TableRare1.Sum(z => z.Rate); + public int SumTableRare2 => TableRare2.Sum(z => z.Rate); + + public bool IsUseTable(NewHugeOutbreakGroupArchive groups, ulong tableID) + { + foreach (var lotteryChoice in TableCommon) + { + if (lotteryChoice.UsesTable(groups, tableID)) + return true; + } + foreach (var lotteryChoice in TableRare1) + { + if (lotteryChoice.UsesTable(groups, tableID)) + return true; + } + foreach (var lotteryChoice in TableRare2) + { + if (lotteryChoice.UsesTable(groups, tableID)) + return true; + } + return false; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NewHugeOutbreakGroupLotteryDetail +{ + public override string ToString() => $"{Group:X16}|{Rate}"; + + public bool UsesTable(NewHugeOutbreakGroupArchive groups, ulong tableID) + { + var lottery = groups.Table.FirstOrDefault(z => z.Group == Group); + if (lottery is null) + return false; + return lottery.UsesTable(tableID); + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakLottery.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakLottery.cs new file mode 100644 index 00000000..0c87388b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakLottery.cs @@ -0,0 +1,17 @@ +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 NewHugeOutbreakLotteryArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NewHugeOutbreakLottery { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit.cs new file mode 100644 index 00000000..4e21797f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit.cs @@ -0,0 +1,17 @@ +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 NewHugeOutbreakTimeLimitArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NewHugeOutbreakTimeLimit { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/OybnSettingTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/OybnSettingTable.cs new file mode 100644 index 00000000..2913593b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/OybnSettingTable.cs @@ -0,0 +1,17 @@ +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 OybnSettingTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class OybnSetting { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementItemArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementItemArchive.cs new file mode 100644 index 00000000..f127b026 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementItemArchive.cs @@ -0,0 +1,23 @@ +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 PlacementItemArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementItem { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementItem_F03 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementItem_F08 { } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocation8a.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocation.cs similarity index 71% rename from pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocation8a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocation.cs index 4c785bb5..c0847bf3 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocation8a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocation.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; using System.Numerics; -using FlatSharp.Attributes; -using pkNX.Containers; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global @@ -12,48 +8,19 @@ // ReSharper disable UnusedMember.Global // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementLocation8a +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementLocation { public const ulong ShapeIdSphere = 0x645FB59E96A6F998; public const ulong ShapeIdBox = 0xE6B50E272D8CD992; public const ulong ShapeNone = 0xCBF29CE484222645; - [FlatBufferEnum(typeof(ulong))] - public enum LocationType8a : ulong + public PlacementParameters Parameters { - Bgm = 0xD090DB268FBCE531, // "Bgm" - BuddyInfeasibleOcclusion = 0x1713B588A00FF9F2, // "BuddyInfeasibleOcclusion" - Evolution = 0x51550D70709EA65E, // "Evolution" - LightOcclusion = 0x94FEC9F97E988350, // "LightOcclusion" - NoRespawnOcclusion = 0xD91EE555A7E6DC07, // "NoRespawnOcclusion" - OcclusionSpace = 0x613F7FD830366C6C, // "OcclusionSpace" - PlaceName = 0x0351C91B3FD84C97, // "PlaceName - RideInfeasibleOcclusion = 0x677D529DBB999AD6, // "RideInfeasibleOcclusion" - SafetyArea = 0x4C62CAA0FF9B445A, // "SafetyArea" - SaveGameOver = 0x77EEDD438D48D1B8, // "SaveGameOver" - TakeOffShoesOcclusion = 0x09FBFD6B423FAEA6, // "TakeOffShoesOcclusion" - TreeCullingFrustumFar = 0xD55673931A300690, // "TreeCullingFrustumFar" - WeatherOcclusion = 0x2B3435F7DF6CF454, // "WeatherOcclusion" - } - - [FlatBufferItem(0)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(1)] public ulong Field_01 { get; set; } - [FlatBufferItem(2)] public PlacementParameters8a[] ParameterSet { get; set; } = { new() }; - [FlatBufferItem(3)] public ulong ShapeID { get; set; } - [FlatBufferItem(4)] public float SizeX { get; set; } - [FlatBufferItem(5)] public float SizeY { get; set; } - [FlatBufferItem(6)] public float SizeZ { get; set; } - [FlatBufferItem(7)] public ulong LocationTypeID { get; set; } - [FlatBufferItem(8)] public string LocationTypeArg1 { get; set; } = string.Empty; - [FlatBufferItem(9)] public ulong LocationTypeArg2 { get; set; } - - public PlacementParameters8a Parameters - { - get { if (ParameterSet.Length != 1) throw new ArgumentException($"Invalid {nameof(ParameterSet)}"); return ParameterSet[0]; } - set { if (ParameterSet.Length != 1) throw new ArgumentException($"Invalid {nameof(ParameterSet)}"); ParameterSet[0] = value; } + get { if (ParameterSet.Count != 1) throw new ArgumentException($"Invalid {nameof(ParameterSet)}"); return ParameterSet[0]; } + set { if (ParameterSet.Count != 1) throw new ArgumentException($"Invalid {nameof(ParameterSet)}"); ParameterSet[0] = value; } } public bool IsNamedPlace => LocationTypeID == 0x0351C91B3FD84C97; @@ -196,9 +163,8 @@ public string LocationTypeIdSummary { get { - if (!Enum.IsDefined(typeof(LocationType8a), LocationTypeID)) - throw new ArgumentOutOfRangeException(nameof(LocationTypeID), LocationTypeID, $"Unknown 0x{LocationTypeID:X16}."); - return ((LocationType8a)LocationTypeID).ToString(); + // todo lookup + return (LocationTypeID).ToString(); } } @@ -218,5 +184,5 @@ public string LocationTypeIdSummary public string LocationArg2Summary => GetLocationArgMap().TryGetValue(LocationTypeArg2, out var arg) ? $"\"{arg}\"" : $"0x{LocationTypeArg2:X16}"; - public override string ToString() => $"Location(\"{Field_00}\", 0x{Field_01:X16}, {Parameters}, {ShapeSummary}, {SizeX}, {SizeY}, {SizeZ}, {LocationTypeSummary})"; + public override string ToString() => $"Location(\"{Field00}\", 0x{Field01:X16}, {Parameters}, {ShapeSummary}, {SizeX}, {SizeY}, {SizeZ}, {LocationTypeSummary})"; } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocationArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocationArchive.cs new file mode 100644 index 00000000..5089a3f1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementLocationArchive.cs @@ -0,0 +1,14 @@ +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 PlacementLocationArchive { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementMkrgTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementMkrgTable.cs new file mode 100644 index 00000000..4507c1f4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementMkrgTable.cs @@ -0,0 +1,40 @@ +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 + { + get { if (Field02.Count != 1) throw new ArgumentException($"Invalid {nameof(Field02)}"); return Field02[0]; } + set { if (Field02.Count != 1) throw new ArgumentException($"Invalid {nameof(Field02)}"); Field02[0] = value; } + } + + public override string ToString() => $"Mikaruge(\"{Identifier}\", 0x{Hash01:X16}, {Parameters}, {Field03}, {Field04})"; + + public IEnumerable GetContainingLocations(IList locations) + { + var result = new List(); + foreach (var loc in locations) + { + if (!loc.IsNamedPlace) + continue; + if (loc.Contains(Parameters.Coordinates)) + result.Add(loc); + } + if (result.Count == 0) + result.Add(locations.First(l => l.IsNamedPlace)); // base area name + return result; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementParameters.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementParameters.cs new file mode 100644 index 00000000..2b30a7bd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementParameters.cs @@ -0,0 +1,16 @@ +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 PlacementParameters : IHasCondition +{ + public override string ToString() => $"PlacementParameters(/* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {Coordinates}, {Rotation}, {Scale})"; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSearchItemTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSearchItemTable.cs new file mode 100644 index 00000000..1f621f0b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSearchItemTable.cs @@ -0,0 +1,43 @@ +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 + { + get { if (Field02.Count != 1) throw new ArgumentException($"Invalid {nameof(Field02)}"); return Field02[0]; } + set { if (Field02.Count != 1) throw new ArgumentException($"Invalid {nameof(Field02)}"); Field02[0] = value; } + } + + public override string ToString() => $"SearchItem(\"{Identifier}\", 0x{Hash01:X16}, {Parameters}, {Rate}, {Field03}, {Field04})"; + + public IEnumerable GetContainingLocations(IList locations) + { + var result = new List(); + foreach (var loc in locations) + { + if (!loc.IsNamedPlace) + continue; + if (loc.Contains(Parameters.Coordinates)) + result.Add(loc); + } + if (result.Count == 0) + result.Add(locations.First(l => l.IsNamedPlace)); // base area name + return result; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawner.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawner.cs new file mode 100644 index 00000000..c0b86703 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawner.cs @@ -0,0 +1,193 @@ +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 + { + get { if (Field02.Count != 1) throw new ArgumentException($"Invalid {nameof(Field02)}"); return Field02[0]; } + set { if (Field02.Count != 1) throw new ArgumentException($"Invalid {nameof(Field02)}"); Field02[0] = value; } + } + + public PlacementSpawnerF20 Field20Value + { + get { if (Field20.Count != 1) throw new ArgumentException($"Invalid {nameof(Field20)}"); return Field20[0]; } + set { if (Field20.Count != 1) throw new ArgumentException($"Invalid {nameof(Field20)}"); Field20[0] = value; } + } + + public PlacementSpawnerF21 Field21Value + { + get { if (Field21.Count != 1) throw new ArgumentException($"Invalid {nameof(Field21)}"); return Field21[0]; } + set { if (Field21.Count != 1) throw new ArgumentException($"Invalid {nameof(Field21)}"); Field21[0] = value; } + } + + public string PathToFollowID + { + get { if (PathToFollowIDs.Count != 1) throw new ArgumentException($"Invalid {nameof(PathToFollowIDs)}"); return PathToFollowIDs[0]; } + set { if (PathToFollowIDs.Count != 1) throw new ArgumentException($"Invalid {nameof(PathToFollowIDs)}"); PathToFollowIDs[0] = value; } + } + + public IEnumerable GetIntersectingLocations(IList locations, float bias) + { + var c = Parameters.Coordinates; + return GetIntersectingLocations(locations, bias, c, Scalar); + } + + private static IEnumerable GetIntersectingLocations(IList locations, float bias, Vec3f c, float scalar) + { + var result = new List(); + foreach (var loc in locations) + { + if (!loc.IsNamedPlace) + continue; + if (loc.IntersectsSphere(c.X, c.Y, c.Z, scalar + bias)) + result.Add(loc); + } + + if (result.Count == 0) + result.Add(locations.First(l => l.IsNamedPlace)); // base area name + return result; + } + + public IEnumerable GetContainingLocations(IList locations) + { + var result = new List(); + foreach (var loc in locations) + { + if (!loc.IsNamedPlace) + continue; + if (loc.Contains(Parameters.Coordinates)) + result.Add(loc); + } + if (result.Count == 0) + result.Add(locations.First(l => l.IsNamedPlace)); // base area name + return result; + } + + private static IReadOnlyDictionary? spawnerNameMap; + private static IReadOnlyDictionary GetSpawnerNameMap() => spawnerNameMap ??= GenerateSpawnerNameMap(); + + private static IReadOnlyDictionary GenerateSpawnerNameMap() + { + var result = new Dictionary(); + + for (var i = 0; i < 10000; i++) + { + result[FnvHash.HashFnv1a_64($"{i:0000}")] = $"{i:0000}"; + result[FnvHash.HashFnv1a_64($"1{i:0000}")] = $"1{i:0000}"; + result[FnvHash.HashFnv1a_64($"02{i:0000}")] = $"02{i:0000}"; + result[FnvHash.HashFnv1a_64($"03{i:0000}")] = $"03{i:0000}"; + result[FnvHash.HashFnv1a_64($"4{i:0000}")] = $"4{i:0000}"; + result[FnvHash.HashFnv1a_64($"5{i:0000}")] = $"5{i:0000}"; + result[FnvHash.HashFnv1a_64($"ev{i:0000}")] = $"ev{i:0000}"; + result[FnvHash.HashFnv1a_64($"ex{i:0000}")] = $"ex{i:0000}"; + result[FnvHash.HashFnv1a_64($"eveex{i:0000}")] = $"eveex{i:0000}"; + + result[FnvHash.HashFnv1a_64($"huge{i:0000}")] = $"huge{i:0000}"; + + for (var j = 0; j < 20; j++) + { + result[FnvHash.HashFnv1a_64($"{i:0000}{j:00}")] = $"{i:0000}{j:00}"; + } + } + + for (var i = 0; i < 100; i++) + { + result[FnvHash.HashFnv1a_64($"area00{i:00}")] = $"area00{i:00}"; + result[FnvHash.HashFnv1a_64($"poke{i:00}")] = $"poke{i:00}"; + result[FnvHash.HashFnv1a_64($"sky{i:00}")] = $"sky{i:00}"; + result[FnvHash.HashFnv1a_64($"lndno{i:00}")] = $"lndno{i:00}"; + result[FnvHash.HashFnv1a_64($"sky{i:00}")] = $"sky{i:00}"; + result[FnvHash.HashFnv1a_64($"exmkrg{i:00}")] = $"exmkrg{i:00}"; + result[FnvHash.HashFnv1a_64($"exunnn{i:00}")] = $"exunnn{i:00}"; + result[FnvHash.HashFnv1a_64($"extrs{i:00}")] = $"extrs{i:00}"; + } + + result[FnvHash.HashFnv1a_64("haarea01s01ev001")] = "haarea01s01ev001"; + result[FnvHash.HashFnv1a_64("haarea02s02ev001")] = "haarea02s02ev001"; + result[FnvHash.HashFnv1a_64("haarea02s02ev002")] = "haarea02s02ev002"; + result[FnvHash.HashFnv1a_64("haarea03s03ev001")] = "haarea03s03ev001"; + result[FnvHash.HashFnv1a_64("haarea04ev001")] = "haarea04ev001"; + result[FnvHash.HashFnv1a_64("haarea05s03ev001")] = "haarea05s03ev001"; + + result[FnvHash.HashFnv1a_64("area03s04ev001")] = "area03s04ev001"; + result[FnvHash.HashFnv1a_64("area03s04ev002")] = "area03s04ev002"; + result[FnvHash.HashFnv1a_64("area03s04ev003")] = "area03s04ev003"; + result[FnvHash.HashFnv1a_64("area03s04ev004")] = "area03s04ev004"; + result[FnvHash.HashFnv1a_64("area03s04ev005")] = "area03s04ev005"; + + // 1.0.2 + result[FnvHash.HashFnv1a_64("haarea01s011000")] = "haarea01s011000"; + result[FnvHash.HashFnv1a_64("haarea02s021000")] = "haarea02s021000"; + result[FnvHash.HashFnv1a_64("haarea05s031000")] = "haarea05s031000"; + + for (var wh = 1; wh < 8; wh++) + { + for (var sub = 1; sub < 4; sub++) + { + for (var n = 1; n < 7; n++) + { + result[FnvHash.HashFnv1a_64($"mainwhSpawner{wh:00}{sub:00}{n:00}")] = $"mainwhSpawner{wh:00}{sub:00}{n:00}"; + result[FnvHash.HashFnv1a_64($"subwhSpawner{wh:00}{sub:00}{n:00}")] = $"subwhSpawner{wh:00}{sub:00}{n:00}"; + } + } + } + + return result; + } + + public string NameSummary + { + get + { + var map = GetSpawnerNameMap(); + if (map.TryGetValue(SpawnerID, out var name)) + return $"\"{name}\""; + + return $"0x{SpawnerID:X16}"; + } + } + + // lazy init + private static IReadOnlyDictionary? groupNameMap; + private static IReadOnlyDictionary GetGroupNameMap() => groupNameMap ??= GenerateGroupNameMap(); + + private static IReadOnlyDictionary GenerateGroupNameMap() + { + var result = new Dictionary(); + for (var i = 0; i < 100; i++) + { + var reg = $"grp{i:00}"; + var und = $"grp{i:00}"; + result[FnvHash.HashFnv1a_64(und)] = und; + result[FnvHash.HashFnv1a_64(reg)] = reg; + } + result[0xCBF29CE484222645] = ""; + return result; + } + + public string GroupSummary + { + get + { + var map = GetGroupNameMap(); + if (map.TryGetValue(GroupID, out var name)) + return $"\"{name}\""; + + return $"0x{GroupID:X16}"; + } + } + + public override string ToString() => $"Spawner({NameSummary}, 0x{Field01:X16}, {Parameters}, \"{Shape}\", {Scalar}, {Field05}, {Field06}, {MinSpawnCount}, {MaxSpawnCount}, {Field09}, {IsMassOutbreak}, {IsWater}, {IsSky}, /* Group = */ {GroupSummary}, {Field14}, {Field15}, {ParentLink}, {Field17}, {Field18}, {Field19}, {Field20Value}, {Field21Value}, {PathToFollowID})"; + + public bool UsesTable(ulong table) => Field20Value.EncounterTableID == table; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerData.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerData.cs new file mode 100644 index 00000000..733571d4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerData.cs @@ -0,0 +1,14 @@ +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 PlacementSpawnerArchive { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF20.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF20.cs new file mode 100644 index 00000000..4f5b0c40 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF20.cs @@ -0,0 +1,16 @@ +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})"; +} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF218a.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF21.cs similarity index 50% rename from pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF218a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF21.cs index 9b0dd572..f8686dd0 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF218a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementSpawnerF21.cs @@ -1,7 +1,6 @@ using System; using System.ComponentModel; using System.Linq; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global @@ -10,24 +9,11 @@ // ReSharper disable UnusedMember.Global // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementSpawnerF218a +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementSpawnerF21 { - [FlatBufferItem(0)] public ulong VarHash0 { get; set; } - [FlatBufferItem(1)] public ulong VarHash1 { get; set; } // Sometimes contains Slot ID from specific encounter table specified by the F20 in the same Spawner? - [FlatBufferItem(2)] public ulong VarHash2 { get; set; } // Sometimes contains Slot ID from specific encounter table specified by the F20 in the same Spawner? - [FlatBufferItem(3)] public ulong VarHash3 { get; set; } // ??? Is this as 01/02? - [FlatBufferItem(4)] public ulong VarHash4 { get; set; } // ??? Is this as 01/02? - [FlatBufferItem(5)] public ulong VarHash5 { get; set; } // ??? Is this as 01/02? - [FlatBufferItem(6)] public Vec3f Field_06 { get; set; } = new(); - [FlatBufferItem(7)] public string Field_07 { get; set; } = string.Empty; - [FlatBufferItem(8)] public float Scalar { get; set; } - [FlatBufferItem(9)] public Vec3f Field_09 { get; set; } = new(); - [FlatBufferItem(10)] public Vec3f Field_10 { get; set; } = new(); - [FlatBufferItem(11)] public int NumVarHashes { get; set; } - public string SlotSummary { get @@ -50,11 +36,11 @@ public string SlotSummary if (NumVarHashes == 1) throw new ArgumentException("Invalid NumVarHashes!"); - var slots = rawSlots.Skip(1).Take(NumVarHashes - 1).Select(EncounterSlot8a.GetSlotName); + var slots = rawSlots.Skip(1).Take(NumVarHashes - 1).Select(EncounterSlot.GetSlotName); return $"/* Slots = */ 0x{VarHash0:X16}({string.Join(", ", slots)})"; } } - public override string ToString() => $"Spawn_21({SlotSummary}, {Field_06}, \"{Field_07}\", {Scalar}, {Field_09}, {Field_10})"; + public override string ToString() => $"Spawn_21({SlotSummary}, {Field06}, \"{Field07}\", {Scalar}, {Field09}, {Field10})"; } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementUnnnTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementUnnnTable.cs new file mode 100644 index 00000000..d7a18703 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Placement/PlacementUnnnTable.cs @@ -0,0 +1,60 @@ +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 + { + get { if (Field03.Count != 1) throw new ArgumentException($"Invalid {nameof(Field03)}"); return Field03[0]; } + set { if (Field03.Count != 1) throw new ArgumentException($"Invalid {nameof(Field03)}"); Field03[0] = value; } + } + + public IEnumerable GetIntersectingLocations(IList locations, float bias) + { + var c = Parameters.Coordinates; + return GetIntersectingLocations(locations, bias, c, 0); + } + + private static IEnumerable GetIntersectingLocations(IList locations, float bias, Vec3f c, float scalar) + { + var result = new List(); + foreach (var loc in locations) + { + if (!loc.IsNamedPlace) + continue; + if (loc.IntersectsSphere(c.X, c.Y, c.Z, scalar + bias)) + result.Add(loc); + } + + if (result.Count == 0) + result.Add(locations.First(l => l.IsNamedPlace)); // base area name + return result; + } + + public IEnumerable GetContainingLocations(IList locations) + { + var result = new List(); + foreach (var loc in locations) + { + if (!loc.IsNamedPlace) + continue; + if (loc.Contains(Parameters.Coordinates)) + result.Add(loc); + } + if (result.Count == 0) + result.Add(locations.First(l => l.IsNamedPlace)); // base area name + return result; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaBGMTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaBGMTable.cs new file mode 100644 index 00000000..29283fad --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaBGMTable.cs @@ -0,0 +1,17 @@ +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 AreaBGMTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AreaBGM { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaInstance.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaInstance.cs new file mode 100644 index 00000000..5c98e906 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaInstance.cs @@ -0,0 +1,48 @@ +using pkNX.Containers; + +namespace pkNX.Structures.FlatBuffers.Arceus; + +// Not a FlatBuffer; wraps the fields into a single object. +public sealed class AreaInstance +{ + // Area Info + private readonly ResidentArea Area; + public readonly AreaInstance? ParentArea; + private readonly List Children = new(); + + public bool IsSubArea => ParentArea != null; + public IReadOnlyList SubAreas => Children; + public string AreaName => Area.AreaName; + + public string FriendlyAreaName => Area.FriendlyAreaName; + + // Encount + public IList Encounters => Area.Encounters.Table; + public IList Locations => Area.Locations.Table; + public IList Spawners => Area.Spawners.Table; + public IList Wormholes => Area.Wormholes.Table; + public IList LandItems => Area.LandItems.Table; + public IList LandMarks => Area.LandMarks.Table; + public IList Unown => Area.Unown.Table; + public IList Mikaruge => Area.Mikaruge.Table; + public IList SearchItem => Area.SearchItem.Table; + + private AreaInstance(GFPack resident, AreaSettings settings, AreaInstance? parentArea = null) + { + // General area properties + Area = new ResidentArea(resident, settings); + ParentArea = parentArea; + Area.LoadInfo(); + } + public static AreaInstance Create(GFPack resident, ResidentAreaSet areaNameList, AreaSettingsTable settingsTable) + { + var parentSettings = settingsTable.Find(areaNameList.ParentName); + var parent = new AreaInstance(resident, parentSettings); + foreach (var child in areaNameList.SubAreas) + { + var childSettings = settingsTable.Find(child); + parent.Children.Add(new AreaInstance(resident, childSettings, parent)); + } + return parent; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaSettingsTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaSettingsTable.cs new file mode 100644 index 00000000..7188ac7a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaSettingsTable.cs @@ -0,0 +1,44 @@ +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 AreaSettingsTable +{ + public AreaSettings Find(string name) => Table.First(z => z.Name == name); +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AreaSettings +{ + // Get the in game name of the area + public string FriendlyAreaName + { + get + { + return 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})", + }; + } + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AreaSettings_F50 { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaWeatherTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaWeatherTable.cs new file mode 100644 index 00000000..b35f3436 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/AreaWeatherTable.cs @@ -0,0 +1,20 @@ +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 AreaWeatherTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AreaWeather +{ + public int WeightTotal => WeightSunny + WeightCloudy + WeightRain + WeightSnow + WeightDrought + WeightFog + WeightRainstorm + WeightSnowstorm; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentArea.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentArea.cs new file mode 100644 index 00000000..cc2ddd3b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentArea.cs @@ -0,0 +1,92 @@ +using System.Buffers; +using FlatSharp; +using pkNX.Containers; + +namespace pkNX.Structures.FlatBuffers.Arceus; + +// Not a FlatBuffer; wraps the fields into a single object. +public sealed class ResidentArea +{ + public readonly AreaSettings Settings; + private readonly GFPack Resident; + + public ResidentArea(GFPack resident, AreaSettings settings) + { + Resident = resident; + Settings = settings; + } + + public string AreaName => Settings.Name; + public string FriendlyAreaName => Settings.FriendlyAreaName; + + // Encount + public EncounterDataArchive Encounters { get; private set; } = null!; + + // Placement + public PlacementLocationArchive Locations { get; private set; } = null!; + public PlacementSpawnerArchive Spawners { get; private set; } = null!; + public PlacementSpawnerArchive Wormholes { get; private set; } = null!; + public LandmarkItemSpawnTable LandItems { get; private set; } = null!; + public LandmarkItemTable LandMarks { get; private set; } = null!; + public PlacementUnnnTable Unown { get; private set; } = null!; + public PlacementMkrgTable Mikaruge { get; private set; } = null!; + public PlacementSearchItemTable SearchItem { get; private set; } = null!; + + private T TryRead(string path) where T : class, IFlatBufferSerializable + { + var index = Resident.GetIndexFull(path); + if (index == -1) + throw new ArgumentOutOfRangeException(nameof(path)); + + var data = Resident[index]; + return T.GreedyMutableSerializer.Parse(data); + } + + private static byte[] Write(T obj) where T : class, IFlatBufferSerializable + { + var pool = ArrayPool.Shared; + var serializer = obj.Serializer; + var data = pool.Rent(serializer.GetMaxSize(obj)); + var len = serializer.Write(data, obj); + var result = data.AsSpan(0, len).ToArray(); + pool.Return(data); + return result; + } + + private void TryWrite(string path, T obj) where T : class, IFlatBufferSerializable + { + var index = Resident.GetIndexFull(path); + if (index == -1) + return; + + byte[] result = Write(obj); + Resident[index] = result; + } + + public void LoadInfo() + { + // Load encount + Encounters = TryRead(Settings.Encounters); + Locations = TryRead(Settings.Locations); + Spawners = TryRead(Settings.Spawners); + Wormholes = TryRead(Settings.WormholeSpawners); + LandItems = TryRead(Settings.LandmarkItemSpawns); + LandMarks = TryRead(Settings.LandmarkItems); + Unown = TryRead(Settings.UnownSpawners); + Mikaruge = TryRead(Settings.Mkrg); + SearchItem = TryRead(Settings.SearchItem); + } + + public void SaveInfo() + { + TryWrite(Settings.Encounters, Encounters); + TryWrite(Settings.Locations, Locations); + TryWrite(Settings.Spawners, Spawners); + TryWrite(Settings.WormholeSpawners, Wormholes); + TryWrite(Settings.LandmarkItemSpawns, LandItems); + TryWrite(Settings.LandmarkItems, LandMarks); + TryWrite(Settings.UnownSpawners, Unown); + TryWrite(Settings.Mkrg, Mikaruge); + TryWrite(Settings.SearchItem, SearchItem); + } +} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentInfo.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentInfo.cs similarity index 98% rename from pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentInfo.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentInfo.cs index 37828afd..d73ea9e9 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentInfo.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Resident/Editing/ResidentInfo.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; /// /// Manually entered metadata about the interesting areas. diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterDataArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterDataArchive.cs new file mode 100644 index 00000000..c891d411 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterDataArchive.cs @@ -0,0 +1,179 @@ +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 + private static Dictionary? _tableNameMap; + private static IReadOnlyDictionary GetTableNameMap() => _tableNameMap ??= GenerateTableMap(); + + private static Dictionary GenerateTableMap() + { + var result = new Dictionary + { + [0xCBF29CE484222645] = "", + }; + + var prefixes = new[] { "eve", "fly", "gmk", "lnd", "mas", "oyb", "swm", "whl" }; + var kinds = new[] { "ex", "no", "ra" }; + foreach (var prefix in prefixes) + { + foreach (var kind in kinds) + { + for (var i = 0; i < 150; i++) + { + var name = $"{prefix}_{kind}_{i:00}"; + var hash = FnvHash.HashFnv1a_64(name); + result[hash] = name; + } + } + } + + for (var area = 0; area < 6; area++) + { + for (var i = 0; i < 10; i++) + { + result[FnvHash.HashFnv1a_64($"sky_area{area}_{i:00}")] = $"sky_area{area}_{i:00}"; + } + } + + result[FnvHash.HashFnv1a_64("eve_ex_16_b")] = "eve_ex_16_b"; + result[FnvHash.HashFnv1a_64("eve_ex_17_b")] = "eve_ex_17_b"; + result[FnvHash.HashFnv1a_64("eve_ex_18_b")] = "eve_ex_18_b"; + + var gimmicks = new[] { "no", "tree", "rock", "crystal", "snow", "box" }; + foreach (var gimmick in gimmicks) + { + for (var i = 0; i < 100; i++) + { + result[FnvHash.HashFnv1a_64($"gmk_{gimmick}_{i:00}")] = $"gmk_{gimmick}_{i:00}"; + for (var j = 0; j < 3; j++) + { + result[FnvHash.HashFnv1a_64($"gmk_{gimmick}_{i:00}_{j:00}")] = $"gmk_{gimmick}_{i:00}_{j:00}"; + for (var k = 0; k < 3; k++) + { + result[FnvHash.HashFnv1a_64($"gmk_{gimmick}_{i:00}{j:00}_{k:00}")] = $"gmk_{gimmick}_{i:00}{j:00}_{k:00}"; + } + } + } + } + + return result; + } + + public static string GetTableName(ulong tableId) + { + var map = GetTableNameMap(); + if (map.TryGetValue(tableId, out var name)) + return $"\"{name}\""; + return $"0x{tableId:X16}"; + } + + public string TableName => GetTableName(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}"; + + public (bool forced, int min, int max) GetLevels(int min, int max) + { + bool force = false; + if (OverrideMinLevel is > 0 and <= 100) + { + force = true; + min = OverrideMinLevel; + } + if (OverrideMaxLevel is > 0 and <= 100) + { + force = true; + max = OverrideMaxLevel; + } + return (force, min, max); + } + + public float GetTimeModifier(int time, EncounterMultiplier default_mults) + { + // If the slot has defined an override factor, use it; otherwise, fall back on the default multiplier for (species, form). + if (Eligibility.HasTimeModifier(time)) + return Eligibility.GetTimeMultiplier(time); + if (default_mults.HasTimeModifier(time)) + return default_mults.GetTimeMultiplier(time); + return 1.0f; + } + + public float GetWeatherModifier(int weather, EncounterMultiplier default_mults) + { + // If the slot has defined an override factor, use it; otherwise, fall back on the default multiplier for (species, form). + if (Eligibility.HasWeatherModifier(weather)) + return Eligibility.GetWeatherMultiplier(weather); + if (default_mults.HasWeatherModifier(weather)) + return default_mults.GetWeatherMultiplier(weather); + return 1.0f; + } + + // lazy init + private static Dictionary? _slotNameMap; + private static IReadOnlyDictionary GetSlotNameMap() => _slotNameMap ??= GenerateTableMap(); + + private static Dictionary GenerateTableMap() + { + var result = new Dictionary(); + for (var i = 0; i < 1000; i++) + { + var life = $"life{i:000}"; + var pm = $"pm{i:0000}"; + result[FnvHash.HashFnv1a_64(life)] = life; + result[FnvHash.HashFnv1a_64(pm)] = pm; + } + for (var i = 0; i < 100; i++) + { + var poke = $"poke{i:00}"; + result[FnvHash.HashFnv1a_64(poke)] = poke; + } + return result; + } + + public static string GetSlotName(ulong slotId) + { + var map = GetSlotNameMap(); + if (map.TryGetValue(slotId, out var name)) + return $"\"{name}\""; + return $"0x{slotId:X16}"; + } + + public string SlotName => GetSlotName(SlotID); + + public void ClearMoves() + { + Move1 = Move2 = Move3 = Move4 = 0; + Move1Mastered = Move2Mastered = Move3Mastered = Move4Mastered = false; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterMultiplerArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterMultiplerArchive.cs new file mode 100644 index 00000000..25866463 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/EncounterMultiplerArchive.cs @@ -0,0 +1,76 @@ +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 + { + 0 => TimeOfDayMultiplier0, + 1 => TimeOfDayMultiplier1, + 2 => TimeOfDayMultiplier2, + 3 => TimeOfDayMultiplier3, + _ => throw new ArgumentOutOfRangeException(nameof(index)), + }; + + public float GetWeatherMultiplier(int index) => index switch + { + 0 => 1.0f, // "No Weather" results in no modification of rate for all species/forms + 1 => WeatherMultiplier1, + 2 => WeatherMultiplier2, + 3 => WeatherMultiplier3, + 4 => WeatherMultiplier4, + 5 => WeatherMultiplier5, + 6 => WeatherMultiplier6, + 7 => WeatherMultiplier7, + 8 => WeatherMultiplier8, + _ => throw new ArgumentOutOfRangeException(nameof(index)), + }; + + public bool HasTimeModifier(int index) => GetTimeMultiplier(index) != -1.0f; + public bool HasWeatherModifier(int index) => index != 0 && GetWeatherMultiplier(index) != -1.0f; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterMultiplierArchive +{ + public EncounterMultiplier GetEncounterMultiplier(EncounterSlot slot) + { + var result = GetEntry((ushort)slot.Species, (ushort)slot.Form); + if (result == null) + throw new ArgumentException($"Invalid Encounter Slot {slot.Species} - {slot.Form}"); + return result; + } + + public EncounterMultiplier GetEntry(ushort species, ushort form) + { + return Table.FirstOrDefault(x => x.Species == species && x.Form == form) ?? + new EncounterMultiplier(); + } + + public bool HasEntry(ushort species, ushort form) + { + return Table.Any(x => x.Species == species && x.Form == form); + } + + public EncounterMultiplier AddEntry(ushort species, ushort form) + { + Debug.Assert(!HasEntry(species, form), "The encounter rate table already contains an entry for the same species and form!"); + + var entry = new EncounterMultiplier { Species = species, Form = form }; + Table = Table.Append(entry) + .OrderBy(x => x.Species) + .ThenBy(x => x.Form) + .ToArray(); + return entry; + } +} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierTime.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierTime.cs similarity index 51% rename from pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierTime.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierTime.cs index c20d7384..8b110b28 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierTime.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierTime.cs @@ -1,23 +1,23 @@ using System; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; public interface ISlotModifierTime { - float TimeOfDayMultiplier_0 { get; set; } - float TimeOfDayMultiplier_1 { get; set; } - float TimeOfDayMultiplier_2 { get; set; } - float TimeOfDayMultiplier_3 { get; set; } + float TimeOfDayMultiplier0 {get;set;} + float TimeOfDayMultiplier1 {get;set;} + float TimeOfDayMultiplier2 {get;set;} + float TimeOfDayMultiplier3 {get;set;} } public static class SlotModifierTimeExtensions { public static float GetTimeMultiplier(this ISlotModifierTime x, int index) => index switch { - 0 => x.TimeOfDayMultiplier_0, - 1 => x.TimeOfDayMultiplier_1, - 2 => x.TimeOfDayMultiplier_2, - 3 => x.TimeOfDayMultiplier_3, + 0 => x.TimeOfDayMultiplier0, + 1 => x.TimeOfDayMultiplier1, + 2 => x.TimeOfDayMultiplier2, + 3 => x.TimeOfDayMultiplier3, _ => throw new ArgumentOutOfRangeException(nameof(index)), }; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierWeather.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierWeather.cs new file mode 100644 index 00000000..48ffc8c6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Slots/ISlotModifierWeather.cs @@ -0,0 +1,34 @@ +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;} +} + +public static class SlotModifierWeatherExtensions +{ + public static float GetWeatherMultiplier(this ISlotModifierWeather x, int index) => index switch + { + 0 => 1.0f, // "No Weather" results in no modification of rate for all species/forms + 1 => x.WeatherMultiplier1, + 2 => x.WeatherMultiplier2, + 3 => x.WeatherMultiplier3, + 4 => x.WeatherMultiplier4, + 5 => x.WeatherMultiplier5, + 6 => x.WeatherMultiplier6, + 7 => x.WeatherMultiplier7, + 8 => x.WeatherMultiplier8, + _ => throw new ArgumentOutOfRangeException(nameof(index)), + }; + + public static bool HasWeatherModifier(this ISlotModifierWeather w, int index) => index != 0 && w.GetWeatherMultiplier(index) != -1.0f; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Static/EventEncountArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Static/EventEncountArchive.cs new file mode 100644 index 00000000..3a1335fb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Field/Static/EventEncountArchive.cs @@ -0,0 +1,41 @@ +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; + public bool HasGVs => GVHP != 0 || GVATK != 0 || GVDEF != 0 || GVSPA != 0 || GVSPD != 0 || GVSPE != 0; + + public string Dump(string[] speciesNames, string argEncounterName) + { + var natureStr = Nature == NatureType.Random ? "" : $", Nature = (int){(NatureType)Nature}"; + var shinyStr = $", Shiny = {ShinyLock}"; + var gvStr = ""; + if (HasGVs) + gvStr = $", GVs = new[]{{{GVHP},{GVATK},{GVDEF},{GVSPE},{GVSPA},{GVSPD}}}"; + + var moves = !HasMoveset ? "" : $", Moves = new[] {{{Move1:000},{Move2:000},{Move3:000},{Move4:000}}}"; + var mastery = !HasMoveset ? "" : $", Mastery = new[] {{{Mastered1.ToString().ToLower()},{Mastered2.ToString().ToLower()},{Mastered3.ToString().ToLower()},{Mastered4.ToString().ToLower()}}}"; + var alpha = !IsOybn ? "" : ", IsAlpha = true"; + var genderStr = Gender == -1 ? "" : $", Gender = {Gender}"; + var iv = NumPerfectIvs == 0 ? "" : $", FlawlessIVCount = {NumPerfectIvs}"; + string comment = $"// {argEncounterName}: {speciesNames[Species]}{(Form == 0 ? "" : $"-{Form}")}"; + return $"new({Species:000},{Form:000},{Level:00},{Height},{Weight}) {{ Location = -01{shinyStr}{alpha}{genderStr}{natureStr}{iv}{gvStr}{moves}{mastery} }}, {comment}"; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Geometry/Vec3f.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Geometry/Vec3f.cs new file mode 100644 index 00000000..62b909c8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Geometry/Vec3f.cs @@ -0,0 +1,72 @@ +using System.ComponentModel; + +namespace pkNX.Structures.FlatBuffers.Arceus; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class Vec3f : IEquatable +{ + public static readonly Vec3f Zero = new(); + public static readonly Vec3f One = new(1, 1, 1); + + public Vec3f(float x = 0, float y = 0, float z = 0) + { + X = x; + Y = y; + Z = z; + } + + public bool IsOne => X is 1 && Y is 1 && Z is 1; + public bool IsZero => X is 0 && Y is 0 && Z is 0; + + public float Magnitude => MathF.Sqrt(MagnitudeSqr); + public float MagnitudeSqr => Dot(this); + public Vec3f Normalized() => this * (1 / Magnitude); + + public float Dot(Vec3f other) => X * other.X + Y * other.Y + Z * other.Z; + public Vec3f Cross(Vec3f other) => new(Y * other.Z - Z * other.Y, Z * other.X - X * other.Z, X * other.Y - Y * other.X); + public float DistanceTo(Vec3f other) => (this - other).Magnitude; + public float DistanceToSqr(Vec3f other) => (this - other).MagnitudeSqr; + public Vec3f Lerp(Vec3f other, float t) => this + (other - this) * t; + + public Vec3f Clone() => new() + { + X = X, + Y = Y, + Z = Z, + }; + + public override string ToString() => $"V3f({X}, {Y}, {Z})"; + public string ToTriple() => $"({X}, {Y}, {Z})"; + + public bool Equals(Vec3f? other) + { + if (other is null) return false; + if (ReferenceEquals(this, other)) return true; + return X.Equals(other.X) && Y.Equals(other.Y) && Z.Equals(other.Z); + } + + public override bool Equals(object? obj) + { + if (obj is null) return false; + if (ReferenceEquals(this, obj)) return true; + if (obj.GetType() != GetType()) return false; + return Equals((Vec3f)obj); + } + + public override int GetHashCode() => HashCode.Combine(X, Y, Z); + + public static Vec3f operator -(Vec3f v) => new(-v.X, -v.Y, -v.Z); + + public static Vec3f operator +(Vec3f l, Vec3f r) => new(l.X + r.X, l.Y + r.Y, l.Z + r.Z); + public static Vec3f operator -(Vec3f l, Vec3f r) => new(l.X - r.X, l.Y - r.Y, l.Z - r.Z); + public static Vec3f operator *(Vec3f l, Vec3f r) => new(l.X * r.X, l.Y * r.Y, l.Z * r.Z); + public static Vec3f operator /(Vec3f l, Vec3f r) => new(l.X / r.X, l.Y / r.Y, l.Z / r.Z); + + public static Vec3f operator +(Vec3f l, float r) => new(l.X + r, l.Y + r, l.Z + r); + public static Vec3f operator -(Vec3f l, float r) => new(l.X - r, l.Y - r, l.Z - r); + public static Vec3f operator *(Vec3f l, float r) => new(l.X * r, l.Y * r, l.Z * r); + public static Vec3f operator /(Vec3f l, float r) => new(l.X / r, l.Y / r, l.Z / r); + + public static bool operator ==(Vec3f? left, Vec3f? right) => Equals(left, right); + public static bool operator !=(Vec3f? left, Vec3f? right) => !Equals(left, right); +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/KeyAssignmentTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/KeyAssignmentTable.cs new file mode 100644 index 00000000..8ff147f4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/KeyAssignmentTable.cs @@ -0,0 +1,17 @@ +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 KeyAssignmentTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class KeyAssignment { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/LbPointsTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/LbPointsTable.cs new file mode 100644 index 00000000..1dbbec71 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/LbPointsTable.cs @@ -0,0 +1,17 @@ +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 LbPointsTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class LbPointsInfo { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/MoveShopTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/MoveShopTable.cs new file mode 100644 index 00000000..a293e9e6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/MoveShopTable.cs @@ -0,0 +1,17 @@ +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 MoveShopTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class MoveShopIndex { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/NPC/NPCModelSet.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/NPC/NPCModelSet.cs new file mode 100644 index 00000000..3b7bd473 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/NPC/NPCModelSet.cs @@ -0,0 +1,22 @@ +using System; +using System.ComponentModel; + +namespace pkNX.Structures.FlatBuffers.Arceus; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NPCModelSet { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NPCModelSetEntry { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NPCModelAnimations { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NPCModelMeshes { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NPCModelRigs { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NPCModelColorConfig { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/PlayReportTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/PlayReportTable.cs new file mode 100644 index 00000000..2dbc5265 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/PlayReportTable.cs @@ -0,0 +1,17 @@ +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 PlayReportTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlayReportItem { } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/EvolutionTable8.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/EvolutionTable.cs similarity index 55% rename from pkNX.Structures.FlatBuffers/Arceus/Poke/EvolutionTable8.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/EvolutionTable.cs index 68ad4d2c..fc92c3fd 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/EvolutionTable8.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/EvolutionTable.cs @@ -1,7 +1,4 @@ -using System; using System.ComponentModel; -using System.IO; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global @@ -10,26 +7,20 @@ // ReSharper disable UnusedMember.Global // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EvolutionTable8 : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EvolutionTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EvolutionEntry { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EvolutionSet { - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public EvolutionSet8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EvolutionSet8a -{ - [FlatBufferItem(0)] public ushort Species { get; set; } - [FlatBufferItem(1)] public ushort Form { get; set; } - [FlatBufferItem(2)] public EvolutionEntry8a[] Table { get; set; } = Array.Empty(); - public byte[] Write() { - if (Table.Length == 0) + if (Table is null || Table.Count == 0) return Array.Empty(); using var ms = new MemoryStream(); @@ -58,13 +49,3 @@ public byte[] Write() }; } } - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EvolutionEntry8a -{ - [FlatBufferItem(0)] public ushort Method { get; set; } - [FlatBufferItem(1)] public ushort Argument { get; set; } - [FlatBufferItem(2)] public ushort Species { get; set; } - [FlatBufferItem(3)] public ushort Form { get; set; } - [FlatBufferItem(4)] public ushort Level { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Learnset.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Learnset.cs new file mode 100644 index 00000000..b037013d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Learnset.cs @@ -0,0 +1,48 @@ +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() + { + using var ms = new MemoryStream(); + using var br = new BinaryWriter(ms); + foreach (var entry in Arceus) + { + br.Write(entry.Move); + br.Write(entry.Level); + } + br.Write(-1); + return ms.ToArray(); + } + + public byte[] WriteMasteryAsLearn6() + { + using var ms = new MemoryStream(); + using var br = new BinaryWriter(ms); + foreach (var entry in Arceus) + { + br.Write(entry.Move); + br.Write(entry.LevelMaster); + } + br.Write(-1); + return ms.ToArray(); + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Model Set/PokeModelSet.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Model Set/PokeModelSet.cs new file mode 100644 index 00000000..d33dc82c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/Model Set/PokeModelSet.cs @@ -0,0 +1,44 @@ +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) + { + return Table.FirstOrDefault(z => z.Species == species) ?? new () + { + VariantDesc = string.Empty, + }; + } + + public bool HasEntry(ushort species) + { + return Table.Any(x => x.Species == species); + } + + public PokeModelSetEntry AddEntry(ushort species, ushort form) + { + Debug.Assert(!HasEntry(species), "The resource info table already contains an entry for the same species!"); + + var entry = new PokeModelSetEntry + { + Species = species, + Form = form, + VariantDesc = string.Empty, + PokeModelHash = FnvHash.HashFnv1a_64(""), + }; + + Table = Table.Append(entry) + .OrderBy(x => x.Species) + .ThenBy(x => x.Form) + .ToArray(); + return entry; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeModelSetEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PersonalInfoLAfb.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PersonalInfoLAfb.cs new file mode 100644 index 00000000..e1880843 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PersonalInfoLAfb.cs @@ -0,0 +1,23 @@ +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; + +/// +/// Personal Info class with values from the games. +/// +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PersonalTable { } + +/// +/// Personal Info class with values from the games. +/// +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PersonalInfo { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAIArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAIArchive.cs new file mode 100644 index 00000000..c123ef6a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAIArchive.cs @@ -0,0 +1,139 @@ +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) + { + return Table.FirstOrDefault(z => z.Species == species && z.Form == form) ?? PokeAI.GetNew(); + } + + public bool HasEntry(ushort species, ushort form, bool isAlpha) + { + return Table.Any(x => x.Species == species && x.Form == form && x.IsAlpha == isAlpha); + } + + public PokeAI AddEntry(ushort species, ushort form, bool isAlpha) + { + Debug.Assert(!HasEntry(species, form, isAlpha), "The symbol behave table already contains an entry for the same species + form!"); + + var entry = PokeAI.GetNew(species, form, isAlpha); + Table = Table.Append(entry) + .OrderBy(x => x.Species) + .ThenBy(x => x.Form) + .ThenBy(x => x.IsAlpha) + .ToArray(); + return entry; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeAI +{ + public static PokeAI GetNew(ushort species = 0, ushort form = 0, bool isAlpha = false) => new() + { + Species = species, + Form = form, + IsAlpha = isAlpha, + + Behavior1 = string.Empty, + Behavior2 = string.Empty, + Behavior3 = string.Empty, + Field09 = PokeAI_F09.DefaultBehaviour_F09, + Field17 = PokeAI_F09.DefaultBehaviour_F09, + Field18 = new(), + Field19 = new(), + Field20 = new(), + Field21 = new(), + MoveEffect1 = string.Empty, + MoveEffect2 = string.Empty, + Field24 = new(), + Field27 = new(), + Field28 = new(), + Field29 = new(), + Field30 = new(), + }; +} + +[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() + { + Field00 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field01 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field02 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field03 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field04 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field05 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field06 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field07 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + Field08 = new() { BehaviourHash = 9252365659083253459, Parameters = new[] { "0.5", "35" } }, + }; + + public static readonly PokeAI_F09 DefaultBehaviour_F09 = new() + { + Field00 = PokeAIBehaviour.DefaultBehaviour02, + Field01 = PokeAIBehaviour.Behaviour_X_Params, + Field02 = PokeAIBehaviour.DefaultBehaviour02, + Field03 = PokeAIBehaviour.DefaultBehaviour02, + Field04 = PokeAIBehaviour.Behaviour_04_Params, + Field05 = PokeAIBehaviour.DefaultBehaviour02, + Field06 = PokeAIBehaviour.DefaultBehaviour02, + Field07 = PokeAIBehaviour.DefaultBehaviour02, + Field08 = PokeAIBehaviour.Behaviour_X2_Params, + }; + + public static readonly PokeAI_F09 DefaultBehaviour_F11 = new() + { + Field00 = PokeAIBehaviour.DefaultBehaviour02_20, + Field01 = PokeAIBehaviour.Behaviour_04_Params, + Field02 = PokeAIBehaviour.DefaultBehaviour02, + Field03 = PokeAIBehaviour.DefaultBehaviour02, + Field04 = PokeAIBehaviour.Behaviour_04_Params, + Field05 = PokeAIBehaviour.DefaultBehaviour02, + Field06 = PokeAIBehaviour.DefaultBehaviour02, + Field07 = PokeAIBehaviour.DefaultBehaviour02, + Field08 = PokeAIBehaviour.DefaultBehaviour02, + }; + + public static readonly PokeAI_F09 DefaultBehaviour05 = new() + { + Field00 = PokeAIBehaviour.DefaultBehaviour05, + Field01 = PokeAIBehaviour.DefaultBehaviour05, + Field02 = PokeAIBehaviour.DefaultBehaviour05, + Field03 = PokeAIBehaviour.DefaultBehaviour05, + Field04 = PokeAIBehaviour.Behaviour_04_Params, + Field05 = PokeAIBehaviour.DefaultBehaviour05, + Field06 = PokeAIBehaviour.DefaultBehaviour05, + Field07 = PokeAIBehaviour.DefaultBehaviour05, + Field08 = PokeAIBehaviour.DefaultBehaviour05, + }; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeAIBehaviour +{ + public static readonly PokeAIBehaviour DefaultBehaviour02 = new() { BehaviourHash = 9252365659083253459, Parameters = new [] { "0.2", "35" } }; + public static readonly PokeAIBehaviour DefaultBehaviour02_20 = new() { BehaviourHash = 9252365659083253459, Parameters = new [] { "0.2", "20" } }; + public static readonly PokeAIBehaviour DefaultBehaviour05 = new() { BehaviourHash = 9252365659083253459, Parameters = new [] { "0.5", "35" } }; + public static readonly PokeAIBehaviour Behaviour_X_Params = new() { BehaviourHash = 17205188591700921149, Parameters = new [] { "10", "3", "run", "Normal" } }; + public static readonly PokeAIBehaviour Behaviour_X2_Params = new() { BehaviourHash = 17205188591700921149, Parameters = new [] { "10", "0.5", "run", "Normal" } }; + public static readonly PokeAIBehaviour Behaviour_04_Params = new() { BehaviourHash = 1234775724179408742, Parameters = new [] { "3", "5", "60", "90", "4", "run", "Normal" } }; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAdd.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAdd.cs new file mode 100644 index 00000000..b62ab741 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeAdd.cs @@ -0,0 +1,43 @@ +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) + { + var natureStr = Nature == NatureType.Random ? "" : $", Nature = {Nature}"; + var shinyStr = $", Shiny = {ShinyLock}"; + var gvStr = ""; + if (GVHP != 0) + gvStr += $", GV_HP = {GVHP}"; + if (GVATK != 0) + gvStr += $", GV_ATK = {GVATK}"; + if (GVDEF != 0) + gvStr += $", GV_DEF = {GVDEF}"; + if (GVSPA != 0) + gvStr += $", GV_SPA = {GVSPA}"; + if (GVSPD != 0) + gvStr += $", GV_SPD = {GVSPD}"; + if (GVSPE != 0) + gvStr += $", GV_SPE = {GVSPE}"; + + var hw = $"HeightScalar = {Height:000}, WeightScalar = {Weight:000}"; + var genderStr = Gender == -1 ? "" : $", Gender = {Gender}"; + var iv = NumPerfectIvs == 0 ? "" : $", FlawlessIVCount = {NumPerfectIvs}"; + string comment = $"// {speciesNames[Species]}{(Form == 0 ? "" : $"-{Form}")}"; + return $"new({Species:000},{Form:000},{Level:00}) {{ Gift = true, {hw}{shinyStr}{genderStr}{natureStr}{iv}{gvStr} }}, {comment}"; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBattleSpawnArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBattleSpawnArchive.cs new file mode 100644 index 00000000..80a96154 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBattleSpawnArchive.cs @@ -0,0 +1,20 @@ +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; + +/// +/// Seems to be a file left over from development. Only has test entries +/// +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeBattleSpawnArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeBattleSpawn { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBodyParticleArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBodyParticleArchive.cs new file mode 100644 index 00000000..17096cd0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeBodyParticleArchive.cs @@ -0,0 +1,20 @@ +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 PokeBodyParticleArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeBodyParticle { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeBodyParticle_F03 { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeCaptureCollisionArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeCaptureCollisionArchive.cs new file mode 100644 index 00000000..aeb546d5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeCaptureCollisionArchive.cs @@ -0,0 +1,75 @@ +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) + { + return Table.FirstOrDefault(x => x.Species == species && x.Form == form) ?? new() + { + Colliders = new List(), + }; + } + + public bool HasEntry(ushort species, ushort form) + { + return Table.Any(x => x.Species == species && x.Form == form); + } + + public PokeCaptureCollision AddEntry(ushort species, ushort form) + { + Debug.Assert(!HasEntry(species, form), "The encounter rate table already contains an entry for the same species and form!"); + + var entry = new PokeCaptureCollision + { + Species = species, + Form = form, + Colliders = new PokeCaptureCollider[] + { + new() { + Shape = "Capsule", + ShapeParameters = new[]{ 0.5f, 0.2f, 0, 0, 0, 0, 0, 0 }, + SocketName = "waist", + Type = "Normal", + Field07 = string.Empty, + }, + new() { + Shape = "Capsule", + ShapeParameters = new[]{ 0.5f, 0.2f, 0, 0, 0, 0, 0, 0 }, + SocketName = string.Empty, + Type = "Pysics", + Field07 = string.Empty, + }, + new() { + Shape = "Capsule", + ShapeParameters = new[]{ 0.5f, 0.2f, 0, 0, 0, 0, 0, 0 }, + SocketName = "origin", + Type = "Barrier", + Field07 = string.Empty, + }, + } + }; + + Table = Table.Append(entry) + .OrderBy(x => x.Species) + .ThenBy(x => x.Form) + .ToArray(); + return entry; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDefaultLocatorArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDefaultLocatorArchive.cs new file mode 100644 index 00000000..80a50167 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDefaultLocatorArchive.cs @@ -0,0 +1,17 @@ +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 PokeDefaultLocatorArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDefaultLocator { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemArchive.cs new file mode 100644 index 00000000..dcb9d1e4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemArchive.cs @@ -0,0 +1,20 @@ +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 PokeDropItemArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDropItem +{ + public string Dump(string[] itemNames) => $"{Hash:X16}\t{itemNames[RegularItem]}\t{RegularItemProbability}\t{itemNames[RareItem]}\t{RareItemProbability}"; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemBattleArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemBattleArchive.cs new file mode 100644 index 00000000..b813c2a1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeDropItemBattleArchive.cs @@ -0,0 +1,20 @@ +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 PokeDropItemBattleArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +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]}"; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeEatingHabitsArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeEatingHabitsArchive.cs new file mode 100644 index 00000000..92e322cd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeEatingHabitsArchive.cs @@ -0,0 +1,17 @@ +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 PokeEatingHabitsArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeEatingHabits { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWaza.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWaza.cs new file mode 100644 index 00000000..289845bd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWaza.cs @@ -0,0 +1,14 @@ +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 PokeFieldObstructionWaza { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive.cs new file mode 100644 index 00000000..f8774927 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive.cs @@ -0,0 +1,17 @@ +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 PokeFieldObstructionWazaNsLegendArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeFieldObstructionWazaNsLegend { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.cs new file mode 100644 index 00000000..0e883723 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.cs @@ -0,0 +1,17 @@ +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 PokeFieldObstructionWazaNsLegendEffectArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeFieldObstructionWazaNsLegendEffect { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaSeArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaSeArchive.cs new file mode 100644 index 00000000..85c6f708 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaSeArchive.cs @@ -0,0 +1,17 @@ +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 PokeFieldObstructionWazaSeArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeFieldObstructionWazaSe { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildArchive.cs new file mode 100644 index 00000000..5ab94a5a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildArchive.cs @@ -0,0 +1,14 @@ +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 PokeFieldObstructionWazaWildArchive { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive.cs new file mode 100644 index 00000000..075721f6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive.cs @@ -0,0 +1,17 @@ +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 PokeFieldObstructionWazaWildEffectArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeFieldObstructionWazaWildEffect { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive.cs new file mode 100644 index 00000000..73004a15 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive.cs @@ -0,0 +1,14 @@ +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 PokeFieldObstructionWazaWildWaterArchive { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.cs new file mode 100644 index 00000000..46e33ee2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.cs @@ -0,0 +1,17 @@ +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 PokeFieldObstructionWazaWildWaterEffectArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeFieldObstructionWazaWildWaterEffect { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeMiscTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeMiscTable.cs new file mode 100644 index 00000000..566037a7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeMiscTable.cs @@ -0,0 +1,50 @@ +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 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeMiscTable +{ + public PokeMisc GetEntry(ushort species, ushort form) + { + return Table.FirstOrDefault(z => z.Species == species && z.Form == form) ?? new() + { + Value = $"{species}-{form} is not in {nameof(PokeMiscTable)}.", + Field10 = Array.Empty(), + }; + } + + public bool HasEntry(ushort species, ushort form) + { + return Table.Any(x => x.Species == species && x.Form == form); + } + + public PokeMisc AddEntry(ushort species, ushort form) + { + Debug.Assert(!HasEntry(species, form), "The misc table already contains an entry for the same species + form!"); + + var entry = new PokeMisc + { + Value = $"{species}-{form} is not in {nameof(PokeMiscTable)}.", + Species = species, + Form = form, + Field10 = Array.Empty(), + }; + Table = Table.Append(entry) + .OrderBy(x => x.Species) + .ThenBy(x => x.Form) + .ToArray(); + return entry; + } +} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeInfoList.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeInfoList.cs similarity index 52% rename from pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeInfoList.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeInfoList.cs index 6d9735b2..6253b2e2 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeInfoList.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeInfoList.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; -using System.Linq; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global @@ -12,55 +8,54 @@ // ReSharper disable UnusedMember.Global // ReSharper disable AutoPropertyCanBeMadeGetOnly.Global -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; // bin/appli/res_pokemon/list/pokemon_info_list.bin -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfoList8a : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfoList { - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public string DefaultIcon { get; set; } = string.Empty; - [FlatBufferItem(1)] public PokeInfo8a[] Table { get; set; } = Array.Empty(); - - public PokeInfo8a GetEntry(ushort species) + public PokeInfo GetEntry(ushort species) { - return Array.Find(Table, z => z.Species == species) ?? - new PokeInfo8a(); + return Table.FirstOrDefault(z => z.Species == species) ?? new() + { + Species = species, + Children = Array.Empty(), + }; } public bool HasEntry(ushort species) { - return Array.Exists(Table, x => x.Species == species); + return Table.Any(x => x.Species == species); } - public PokeInfo8a AddEntry(ushort species, byte formCount) + public PokeInfo AddEntry(ushort species, byte formCount) { Debug.Assert(!HasEntry(species), "The resource info table already contains an entry for the same species!"); - var entry = new PokeInfo8a + var entry = new PokeInfo { Species = species, - Children = new PokeInfoDetail8a[formCount] + Children = new PokeInfoDetail[formCount], }; int genderId = 0; for (int form = 0; form < formCount; form++) { - entry.Children[form] = new PokeInfoDetail8a + entry.Children[form] = new PokeInfoDetail { Form = form, - Detail = new PokeInfoDetail8a_2[] + Detail = new PokeInfoDetail_2[] { new() { IsRare = false, - Detail = new PokeInfoDetail8a_3[] { + Detail = new PokeInfoDetail_3[] { new() { - Detail = new PokeInfoDetail8a_5[] { + Detail = new PokeInfoDetail_5[] { new() { AssetName = $"{species:0000}_{genderId:000}_{form:000}_n_00000000_fn_n", + Gender = new PokeInfoGender(), } } } @@ -68,11 +63,12 @@ public PokeInfo8a AddEntry(ushort species, byte formCount) }, new() { IsRare = true, // Shiny form - Detail = new PokeInfoDetail8a_3[] { + Detail = new PokeInfoDetail_3[] { new() { - Detail = new PokeInfoDetail8a_5[] { + Detail = new PokeInfoDetail_5[] { new() { AssetName = $"{species:0000}_{genderId:000}_{form:000}_n_00000000_fn_r", + Gender = new PokeInfoGender(), } } } @@ -136,54 +132,20 @@ public IEnumerable GetDexFormEntries() } } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfo8a -{ - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public PokeInfoDetail8a[] Children { get; set; } = Array.Empty(); -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfo { } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfoDetail8a -{ - [FlatBufferItem(00)] public int Form { get; set; } - [FlatBufferItem(01)] public PokeInfoDetail8a_2[] Detail { get; set; } = Array.Empty(); -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfoDetail { } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfoDetail8a_2 -{ - [FlatBufferItem(00)] public bool IsRare { get; set; } - [FlatBufferItem(01)] public PokeInfoDetail8a_3[] Detail { get; set; } = Array.Empty(); -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfoDetail_2 { } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfoDetail8a_3 -{ - [FlatBufferItem(00)] public bool Unknown { get; set; } - [FlatBufferItem(01)] public PokeInfoDetail8a_5[] Detail { get; set; } = Array.Empty(); -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfoDetail_3 { } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfoDetail8a_5 -{ - [FlatBufferItem(00)] public PokeInfoGender8a Gender { get; set; } = new(); - [FlatBufferItem(01)] public string AssetName { get; set; } = string.Empty; -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfoDetail_5 { } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeInfoGender8a -{ - [FlatBufferItem(00)] public PokeInfoGender GenderValue { get; set; } = PokeInfoGender.DualGenderNoDifference; -} - -[FlatBufferEnum(typeof(byte))] -public enum PokeInfoGender : byte -{ - GenderDiffMale, - GenderDiffFemale, - Genderless, - DualGenderNoDifference, - MaleOnly, - FemaleOnly, -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeInfoGender { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeResourceTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeResourceTable.cs new file mode 100644 index 00000000..b01a3649 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Poke/PokeResource/PokeResourceTable.cs @@ -0,0 +1,92 @@ +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 PokeModelMeta { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AnimationConfigStringTuple { } + +/// for Legends: Arceus, adding +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeResourceTable +{ + public PokeModelConfig GetEntry(ushort species, ushort form, byte gender) + { + return Table.FirstOrDefault(x => x.Meta.Species == species && x.Meta.Form == form && x.Meta.Gender == gender) ?? new() + { + Animations = Array.Empty(), + Meta = new PokeModelMeta(), + PathModel = string.Empty, + PathMeshMaterial = string.Empty, + PathConfig = string.Empty, + Effects = Array.Empty(), + }; + } + + public bool HasEntry(ushort species, ushort form, byte gender) + { + return Table.Any(x => x.Meta.Species == species && x.Meta.Form == form && x.Meta.Gender == gender); + } + + public PokeModelConfig AddEntry(ushort species, ushort form, byte gender) + { + Debug.Assert(!HasEntry(species, form, gender), "The resource info table already contains an entry for the same species!"); + + string pmStr = $"pm{species:0000}_{gender:00}_{form:00}"; + string basePath = $"bin/pokemon/pm{species:0000}/{pmStr}"; + var entry = new PokeModelConfig + { + Meta = new() + { + Species = species, + Form = form, + Gender = gender, + + }, + PathModel = $"{basePath}/mdl/{pmStr}.trmdl", + PathMeshMaterial = $"{basePath}/mdl/{pmStr}.trmmt", + PathConfig = $"{basePath}/{pmStr}.trpokecfg", + + Animations = new AnimationConfigStringTuple[] { + new(){ + Name = "base", + Path = $"{basePath}/anm/{pmStr}_base.tracn", + } + }, + + Effects = new AnimationConfigStringTuple[] { + new() { + Name = "eff", + Path = $"{basePath}/locators/{pmStr}_eff.trskl", + } + }, + }; + + Table = Table.Append(entry) + .OrderBy(x => x.Meta.Species) + .ThenBy(x => x.Meta.Form) + .ThenBy(x => x.Meta.Gender) + .ToArray(); + return entry; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexDistributionTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexDistributionTable.cs new file mode 100644 index 00000000..bad9dd05 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexDistributionTable.cs @@ -0,0 +1,17 @@ +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 PokedexDistributionTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokedexDistributionEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexRankTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexRankTable.cs new file mode 100644 index 00000000..ab20f152 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexRankTable.cs @@ -0,0 +1,17 @@ +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 PokedexRankTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokedexRankLevel { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexResearchTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexResearchTable.cs new file mode 100644 index 00000000..5d639c20 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Pokedex/PokedexResearchTable.cs @@ -0,0 +1,35 @@ +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 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); + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokedexResearchTask { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/ScriptIDRecordRelease.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/ScriptIDRecordRelease.cs new file mode 100644 index 00000000..78d2ef2a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/ScriptIDRecordRelease.cs @@ -0,0 +1,17 @@ +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 ScriptIDRecordRelease { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ScriptIDRecord { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Shop/HaShopTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Shop/HaShopTable.cs new file mode 100644 index 00000000..d563471c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Shop/HaShopTable.cs @@ -0,0 +1,17 @@ +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 HaShopTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class HaShopItem { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/CommonCaptureConfigTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/CommonCaptureConfigTable.cs new file mode 100644 index 00000000..6d532f7d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/CommonCaptureConfigTable.cs @@ -0,0 +1,17 @@ +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 CommonCaptureConfigTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class CommonCaptureConfig { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowParamTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowParamTable.cs new file mode 100644 index 00000000..a4c1f2ab --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowParamTable.cs @@ -0,0 +1,20 @@ +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 ThrowParamTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ThrowParam +{ + public string Dump() => $"{ThrowParamType:X16}\t{Velocity}\t{Arc}\t{GravityDirection}\t{ThrowAngle}"; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowPermissionSetDictionary.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowPermissionSetDictionary.cs new file mode 100644 index 00000000..5dd94a1b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowPermissionSetDictionary.cs @@ -0,0 +1,17 @@ +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 ThrowPermissionSetDictionary { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ThrowPermissionSetEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableBaitParamDictionary.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableBaitParamDictionary.cs new file mode 100644 index 00000000..4c6a9dd9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableBaitParamDictionary.cs @@ -0,0 +1,17 @@ +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 ThrowableBaitParamDictionary { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ThrowableBaitParamEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableParamTable.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableParamTable.cs new file mode 100644 index 00000000..b5db5581 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableParamTable.cs @@ -0,0 +1,26 @@ +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 ThrowableParamTable +{ + public void AddEntry(int i) + { + Table = Table.Append(new ThrowableParam + { + Label01 = string.Empty, + Label02 = string.Empty, + }).ToList(); + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ThrowableParam { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceDictionary.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceDictionary.cs new file mode 100644 index 00000000..ce8a950e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceDictionary.cs @@ -0,0 +1,17 @@ +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 ThrowableResourceDictionary { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ThrowableResourceEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceSetDictionary.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceSetDictionary.cs new file mode 100644 index 00000000..efec4f2e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Throw/ThrowableResourceSetDictionary.cs @@ -0,0 +1,17 @@ +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 ThrowableResourceSetDictionary { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ThrowableResourceSetEntry { } diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/TrData.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/TrData.cs new file mode 100644 index 00000000..cd72fde4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/TrData.cs @@ -0,0 +1,37 @@ +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() + { + return $"{((Species)Species) + (Form == 0 ? "" : $"-{Form}"),-15}|({Move01,4},{Move02,4},{Move03,4},{Move04,4})|{Level,2}|{Nature,8}|{Gender}|({GVHP}/{GVATK}/{GVDEF}/{GVSPA}/{GVSPD}/{GVSPE})"; + } +} + +[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})"; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/ArchiveContents.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/ArchiveContents.cs new file mode 100644 index 00000000..41feb1da --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/ArchiveContents.cs @@ -0,0 +1,40 @@ +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() + { + var entry = new ArchiveContent + { + ArchiveContentPathHashes = new List(), + }; + + Table = Table.Append(entry).ToList(); + return entry; + } + + public ArchiveContent AddEntry(string archiveFile, string[] internalArchiveFiles) + { + var entry = new ArchiveContent + { + ArchivePathHash = FnvHash.HashFnv1a_64(archiveFile), + ArchiveContentPathHashes = internalArchiveFiles.Select(p => FnvHash.HashFnv1a_64(p)).ToArray(), + }; + + Table = Table.Append(entry).ToList(); + return entry; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ArchiveContent { } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/EncounterDetail8a.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterDetail.cs similarity index 75% rename from pkNX.Structures.FlatBuffers/Arceus/Util/EncounterDetail8a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterDetail.cs index 75e1deeb..e2aeb7b2 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/EncounterDetail8a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterDetail.cs @@ -1,25 +1,25 @@ using System.Collections.Generic; using System.Linq; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -public record struct EncounterDetail8a(double Rate, double MultT, double MultW, int Unk, EncounterSlot8a Slot) +public record struct EncounterDetail(double Rate, double MultT, double MultW, int Unk, EncounterSlot Slot) { - private const int WeatherCount = (int)Weather8a.Count; - private const int TimeCount = (int)Time8a.Count; + private const int WeatherCount = (int)Weather.Count; + private const int TimeCount = (int)Time.Count; - public static List[,] GetEmpty() + public static List[,] GetEmpty() { - var result = new List[TimeCount, WeatherCount]; + var result = new List[TimeCount, WeatherCount]; for (var t = 0; t < TimeCount; t++) { for (var w = 0; w < WeatherCount; w++) - result[t, w] = new List(); + result[t, w] = new List(); } return result; } - public static void Divide(List[,] table) + public static void Divide(List[,] table) { for (var time = 0; time < TimeCount; time++) { @@ -40,14 +40,14 @@ public static void Divide(List[,] table) } } } - public static TableSymmetryResult AnalyzeSymmetry(List[,] table) + public static TableSymmetryResult AnalyzeSymmetry(List[,] table) { var isWeatherSymmetric = true; var isTimeSymmetric = true; var weatherSymmetricPerTime = new[] { true, true, true, true }; for (var time = 0; time < 4; time++) { - for (var weather = 0; weather < (int)Weather8a.Count; weather++) + for (var weather = 0; weather < (int)Weather.Count; weather++) { var ts = IsSameEffectiveTable(table[time, weather], table[0, weather]); var ws = IsSameEffectiveTable(table[time, weather], table[time, 0]); @@ -60,7 +60,7 @@ public static TableSymmetryResult AnalyzeSymmetry(List[,] tab return new TableSymmetryResult(isWeatherSymmetric, isTimeSymmetric, weatherSymmetricPerTime); } - private static bool IsSameEffectiveTable(IReadOnlyList lhs, IReadOnlyList rhs) + private static bool IsSameEffectiveTable(IReadOnlyList lhs, IReadOnlyList rhs) { if (lhs.Count != rhs.Count) return false; diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/EncounterTable8aUtil.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterTableUtil.cs similarity index 61% rename from pkNX.Structures.FlatBuffers/Arceus/Util/EncounterTable8aUtil.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterTableUtil.cs index 12db0ceb..bbaac6a0 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/EncounterTable8aUtil.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/EncounterTableUtil.cs @@ -3,25 +3,25 @@ using System.IO; using System.Linq; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; -public static class EncounterTable8aUtil +public static class EncounterTableUtil { private const float SpawnerBias = 73; // lured unown and jet + run private const float WormholeBias = 15; private const float LandmarkBias = 15; - public static IEnumerable GetEncounterDump(AreaInstance8a area, - IReadOnlyDictionary map, PokeMiscTable8a misc, - NewHugeOutbreakGroupArchive8a nhoGroup, - NewHugeOutbreakGroupLotteryArchive8a nhoLottery) + public static IEnumerable GetEncounterDump(AreaInstance area, + IReadOnlyDictionary map, PokeMiscTable misc, + NewHugeOutbreakGroupArchive nhoGroup, + NewHugeOutbreakGroupLotteryArchive nhoLottery) { - if (area.Locations.Length == 0) + if (area.Locations.Count == 0) yield break; foreach (var table in area.Encounters) { - var slots = table.Table.Where(z => z.ShinyLock is ShinyType8a.Random).ToList(); + var slots = table.Table.Where(z => z.ShinyLock is ShinyType.Random).ToList(); if (slots.Count == 0) continue; @@ -35,12 +35,12 @@ public static class EncounterTable8aUtil } } - private static IEnumerable GetAreas(AreaInstance8a area, IReadOnlyCollection slots, EncounterTable8a table, - IReadOnlyDictionary map, PokeMiscTable8a misc, - NewHugeOutbreakGroupArchive8a nhoGroup, - NewHugeOutbreakGroupLotteryArchive8a nhoLottery) + private static IEnumerable GetAreas(AreaInstance area, IReadOnlyCollection slots, EncounterTable table, + IReadOnlyDictionary map, PokeMiscTable misc, + NewHugeOutbreakGroupArchive nhoGroup, + NewHugeOutbreakGroupLotteryArchive nhoLottery) { - if (area.Locations.Length == 0) + if (area.Locations.Count == 0) yield break; int baseArea = map[area.Locations.First(z => z.IsNamedPlace).PlaceName].Index; @@ -80,8 +80,8 @@ public static class EncounterTable8aUtil // Since Wormholes can have different bonus level ranges, we defer uniqueness testing to the outer method. Just yield all spawners. foreach (var w in spawners) { - var bmin = w.Field_20_Value.BonusLevelMin; - var bmax = w.Field_20_Value.BonusLevelMax; + var bmin = w.Field20Value.BonusLevelMin; + var bmax = w.Field20Value.BonusLevelMax; var sl = w.GetIntersectingLocations(area.Locations, WormholeBias); foreach (var a in GetAll(sl, SpawnerType.Wormhole, bmin, bmax)) @@ -101,7 +101,7 @@ public static class EncounterTable8aUtil yield return a; } - IEnumerable GetAll(IEnumerable places, SpawnerType type, int bmin = 0, int bmax = 0) + IEnumerable GetAll(IEnumerable places, SpawnerType type, int bmin = 0, int bmax = 0) { var temp = places.Select(z => z.PlaceName); var areas = temp.Select(z => map[z].Index).Distinct().ToList(); @@ -117,10 +117,10 @@ IEnumerable GetAll(IEnumerable places, SpawnerType } } - private static SpawnerType GetSpawnerType(PlacementSpawner8a spawner) + private static SpawnerType GetSpawnerType(PlacementSpawner spawner) { var criteria = spawner.Parameters; - if (criteria.ConditionID == Condition8a.Equal) + if (criteria.ConditionID == Condition.Equal) { var arg = criteria.ConditionArg1; if (arg.StartsWith("FSYS_NEW_OUTBREAK")) @@ -138,9 +138,9 @@ private static SpawnerType GetSpawnerType(PlacementSpawner8a spawner) private static readonly int[] OybnSettings = { 15, 15, 15, 20, 20 }; - private static byte[] GetArea(IReadOnlyList locations, IReadOnlyCollection slots, + private static byte[] GetArea(IReadOnlyList locations, IReadOnlyCollection slots, int tableMinLevel, int tableMaxLevel, SpawnerType type, - PokeMiscTable8a misc, + PokeMiscTable misc, int bonusMin = 0, int bonusMax = 0) { @@ -188,7 +188,7 @@ private static SpawnerType GetSpawnerType(PlacementSpawner8a spawner) return ms.ToArray(); } - public static IEnumerable GetUnownLines(AreaInstance8a area, IReadOnlyDictionary map) + public static IEnumerable GetUnownLines(AreaInstance area, IReadOnlyDictionary map) { yield return $"Area: {area.AreaName}"; foreach (var u in area.Unown.Concat(area.SubAreas.SelectMany(x => x.Unown))) @@ -196,11 +196,11 @@ public static IEnumerable GetUnownLines(AreaInstance8a area, IReadOnlyDi var contained = u.GetContainingLocations(area.Locations).First().PlaceName; var name = map[contained].Name; var p = u.Parameters; - yield return $"Unown {u.Identifier} @ {u.Hash_01:X16}_{u.Hash_03:X16} {u.Flag} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()}, {area.AreaName} = {name}"; + yield return $"Unown {u.Identifier} @ {u.Hash01:X16}_{u.Hash03:X16} {u.Flag} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()}, {area.AreaName} = {name}"; } } - public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOnlyDictionary map, float bias) + public static IEnumerable GetUnownLinesBias(AreaInstance area, IReadOnlyDictionary map, float bias) { yield return $"Area: {area.AreaName}"; foreach (var u in area.Unown.Concat(area.SubAreas.SelectMany(x => x.Unown))) @@ -210,16 +210,16 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn { var name = map[c.PlaceName].Name; var p = u.Parameters; - yield return $"Unown {u.Identifier} @ {u.Hash_01:X16}_{u.Hash_03:X16} {u.Flag} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()}, {area.AreaName} = {name}"; + yield return $"Unown {u.Identifier} @ {u.Hash01:X16}_{u.Hash03:X16} {u.Flag} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()}, {area.AreaName} = {name}"; } } } - public static IEnumerable GetLines(EncounterMultiplierArchive8a multiplier_archive, - PokeMiscTable8a misc, string[] speciesNames, - AreaInstance8a area, - NewHugeOutbreakGroupArchive8a nhoGroup, - NewHugeOutbreakGroupLotteryArchive8a nhoLottery, + public static IEnumerable GetLines(EncounterMultiplierArchive multiplier_archive, + PokeMiscTable misc, string[] speciesNames, + AreaInstance area, + NewHugeOutbreakGroupArchive nhoGroup, + NewHugeOutbreakGroupLotteryArchive nhoLottery, IReadOnlyDictionary map) { yield return $"Area: {area.AreaName}"; @@ -233,38 +233,38 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn } } - private static IEnumerable GetUsedSpawnerSummary(EncounterTable8a t, AreaInstance8a area, + private static IEnumerable GetUsedSpawnerSummary(EncounterTable t, AreaInstance area, IReadOnlyDictionary valueTuples, - NewHugeOutbreakGroupArchive8a nhoGroup, - NewHugeOutbreakGroupLotteryArchive8a nhoLottery) + NewHugeOutbreakGroupArchive nhoGroup, + NewHugeOutbreakGroupLotteryArchive nhoLottery) { - var usedBySpawners = Array.FindAll(area.Spawners, z => z.UsesTable(t.TableID)); - var usedByWormholes = Array.FindAll(area.Wormholes, z => z.UsesTable(t.TableID)); - var usedByLandmarkSpawns = Array.FindAll(area.LandItems, z => z.UsesTable(t.TableID)); - var usedByLandmarks = Array.FindAll(area.LandMarks, z => usedByLandmarkSpawns.Any(sz => z.UsesTable(sz.LandmarkItemSpawnTableID))); - var usedByNHO = Array.FindAll(area.Spawners, z => nhoLottery.IsAreaGroup(z, nhoGroup, t.TableID)); + var usedBySpawners = area.Spawners.Where(z => z.UsesTable(t.TableID)); + var usedByWormholes = area.Wormholes.Where(z => z.UsesTable(t.TableID)); + var usedByLandmarkSpawns = area.LandItems.Where(z => z.UsesTable(t.TableID)).ToArray(); + var usedByLandmarks = area.LandMarks.Where(z => usedByLandmarkSpawns.Any(sz => z.UsesTable(sz.LandmarkItemSpawnTableID))); + var usedByNHO = area.Spawners.Where(z => nhoLottery.IsAreaGroup(z, nhoGroup, t.TableID)); foreach (var s in usedBySpawners) { var contained = s.GetContainingLocations(area.Locations).First().PlaceName; var name = valueTuples[contained].Name; var p = s.Parameters; - yield return $"Spawner @ {s.NameSummary}_{s.Field_01:X16} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()} ({s.MinSpawnCount}-{s.MaxSpawnCount}), {area.AreaName} = {name}"; + yield return $"Spawner @ {s.NameSummary}_{s.Field01:X16} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()} ({s.MinSpawnCount}-{s.MaxSpawnCount}), {area.AreaName} = {name}"; } foreach (var s in usedByNHO) { var contained = s.GetContainingLocations(area.Locations).First().PlaceName; var name = valueTuples[contained].Name; var p = s.Parameters; - yield return $"SpawnerNHO @ {s.NameSummary}_{s.Field_01:X16} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()} ({s.MinSpawnCount}-{s.MaxSpawnCount}), {area.AreaName} = {name}"; + yield return $"SpawnerNHO @ {s.NameSummary}_{s.Field01:X16} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()} ({s.MinSpawnCount}-{s.MaxSpawnCount}), {area.AreaName} = {name}"; } foreach (var s in usedByWormholes) { var contained = s.GetContainingLocations(area.Locations).First().PlaceName; var name = valueTuples[contained].Name; var p = s.Parameters; - var c = s.Field_20_Value; - yield return $"Wormhole: {s.NameSummary}_{s.Field_01:X16} ({p.GetConditionSummary()}) [{c.BonusLevelMin}-{c.BonusLevelMax}] @ {p.Coordinates.ToTriple()} ({s.MinSpawnCount}-{s.MaxSpawnCount}), {area.AreaName} = {name}"; + var c = s.Field20Value; + yield return $"Wormhole: {s.NameSummary}_{s.Field01:X16} ({p.GetConditionSummary()}) [{c.BonusLevelMin}-{c.BonusLevelMax}] @ {p.Coordinates.ToTriple()} ({s.MinSpawnCount}-{s.MaxSpawnCount}), {area.AreaName} = {name}"; } foreach (var s in usedByLandmarks) { @@ -272,16 +272,16 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn var name = valueTuples[contained].Name; var spawn = usedByLandmarkSpawns.First(sz => s.UsesTable(sz.LandmarkItemSpawnTableID)); var p = s.Parameters; - yield return $"Landmark: {s.NameSummary}_{s.Field_01:X16}_{spawn.NameSummary} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()}, {area.AreaName} = {name}"; + yield return $"Landmark: {s.NameSummary}_{s.Field01:X16}_{spawn.NameSummary} ({p.GetConditionSummary()}) @ {p.Coordinates.ToTriple()}, {area.AreaName} = {name}"; } } - private static IEnumerable GetTableSummary(EncounterTable8a t, - EncounterMultiplierArchive8a multiplier_archive, string[] speciesNames, - PokeMiscTable8a misc, - AreaInstance8a area, - NewHugeOutbreakGroupArchive8a nhoGroup, - NewHugeOutbreakGroupLotteryArchive8a nhoLottery, + private static IEnumerable GetTableSummary(EncounterTable t, + EncounterMultiplierArchive multiplier_archive, string[] speciesNames, + PokeMiscTable misc, + AreaInstance area, + NewHugeOutbreakGroupArchive nhoGroup, + NewHugeOutbreakGroupLotteryArchive nhoLottery, IReadOnlyDictionary valueTuples) { yield return $"{t}:"; @@ -311,15 +311,15 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn yield return $"\t{line}"; } - private static IEnumerable GetLines(IReadOnlyList arr, - EncounterMultiplierArchive8a multiplier_archive, IReadOnlyList speciesNames, int lvMin, int lvMax, - PokeMiscTable8a misc) + private static IEnumerable GetLines(IList arr, + EncounterMultiplierArchive multiplier_archive, IReadOnlyList speciesNames, int lvMin, int lvMax, + PokeMiscTable misc) { - var dividedTables = EncounterDetail8a.GetEmpty(); + var dividedTables = EncounterDetail.GetEmpty(); FillSlots(arr, multiplier_archive, dividedTables); - EncounterDetail8a.Divide(dividedTables); + EncounterDetail.Divide(dividedTables); - var sym = EncounterDetail8a.AnalyzeSymmetry(dividedTables); + var sym = EncounterDetail.AnalyzeSymmetry(dividedTables); if (sym.Time && sym.Weather) { yield return "Any Time/All Weather:"; @@ -330,7 +330,7 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn { for (var time = 0; time < dividedTables.GetLength(0); time++) { - yield return $"{(Time8a)time}/All Weather:"; + yield return $"{(Time)time}/All Weather:"; foreach (var line in GetEffectiveTableSummary(dividedTables[time, 0], speciesNames, lvMin, lvMax, misc)) yield return $"\t{line}"; } @@ -339,7 +339,7 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn { for (var weather = 0; weather < dividedTables.GetLength(1); weather++) { - yield return $"Any Time/{(Weather8a)weather}:"; + yield return $"Any Time/{(Weather)weather}:"; foreach (var line in GetEffectiveTableSummary(dividedTables[0, weather], speciesNames, lvMin, lvMax, misc)) yield return $"\t{line}"; } @@ -350,7 +350,7 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn { if (sym.Complexed[time]) { - yield return $"{(Time8a)time}/All Weather:"; + yield return $"{(Time)time}/All Weather:"; foreach (var line in GetEffectiveTableSummary(dividedTables[time, 0], speciesNames, lvMin, lvMax, misc)) yield return $"\t{line}"; } @@ -358,7 +358,7 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn { for (var weather = 0; weather < dividedTables.GetLength(1); weather++) { - yield return $"{(Time8a)time}/{(Weather8a)weather}:"; + yield return $"{(Time)time}/{(Weather)weather}:"; foreach (var line in GetEffectiveTableSummary(dividedTables[time, weather], speciesNames, lvMin, lvMax, misc)) yield return $"\t{line}"; } @@ -367,7 +367,7 @@ public static IEnumerable GetUnownLinesBias(AreaInstance8a area, IReadOn } } - private static void FillSlots(IEnumerable arr, EncounterMultiplierArchive8a multArchive, List[,] dividedTables) + private static void FillSlots(IEnumerable arr, EncounterMultiplierArchive multArchive, List[,] dividedTables) { var ctr = 0; foreach (var slot in arr.OrderByDescending(sl => sl.BaseProbability)) @@ -383,7 +383,7 @@ private static void FillSlots(IEnumerable arr, EncounterMultipl if (rate == 0) continue; - var detail = new EncounterDetail8a(slot.BaseProbability * MultT * MultW, MultT, MultW, ctr, slot); + var detail = new EncounterDetail(slot.BaseProbability * MultT * MultW, MultT, MultW, ctr, slot); dividedTables[time, weather].Add(detail); } } @@ -392,7 +392,7 @@ private static void FillSlots(IEnumerable arr, EncounterMultipl } } - private static IEnumerable GetEffectiveTableSummary(IReadOnlyList table, IReadOnlyList speciesNames, int lvMin, int lvMax, PokeMiscTable8a misc) + private static IEnumerable GetEffectiveTableSummary(IReadOnlyList table, IReadOnlyList speciesNames, int lvMin, int lvMax, PokeMiscTable misc) { if (table.Count == 0) { @@ -400,7 +400,7 @@ private static IEnumerable GetEffectiveTableSummary(IReadOnlyList GetEffectiveTableSummary(IReadOnlyList x != -1)) summary += $"\tGVS={string.Join("/", gvs.Select(v => v != -1 ? v.ToString() : "*").ToArray())}"; if (slot.NumPerfectIvs != 0) summary += $"\tPerfectIvs={slot.NumPerfectIvs}"; - var ivs = new[] { slot.IV_HP, slot.IV_ATK, slot.IV_DEF, slot.IV_SPA, slot.IV_SPD, slot.IV_SPE }; + var ivs = new[] { slot.IVHP, slot.IVATK, slot.IVDEF, slot.IVSPA, slot.IVSPD, slot.IVSPE }; if (ivs.Any(x => x != -1)) summary += $"\tIVS={string.Join("/", ivs.Select(v => v != -1 ? v.ToString() : "*").ToArray())}"; var oybn = slot.Oybn; if (oybn.IsOybnAny) { - if (oybn.Oybn1 && !oybn.Oybn2 && oybn.Field_02 && oybn.Field_03) + if (oybn is { Oybn1: true, Oybn2: false, Field02: true, Field03: true }) summary += "\tOybn=Type1"; - else if (oybn.Oybn1 && oybn.Oybn2 && oybn.Field_02 && oybn.Field_03) + else if (oybn is { Oybn1: true, Oybn2: true, Field02: true, Field03: true }) summary += "\tOybn=Type2"; else - summary += $"\tOybn={{{(oybn.Oybn1 ? 1 : 0)},{(oybn.Oybn2 ? 1 : 0)},{(oybn.Field_02 ? 1 : 0)},{(oybn.Field_03 ? 1 : 0)}}}"; + summary += $"\tOybn={{{(oybn.Oybn1 ? 1 : 0)},{(oybn.Oybn2 ? 1 : 0)},{(oybn.Field02 ? 1 : 0)},{(oybn.Field03 ? 1 : 0)}}}"; } var elg = slot.Eligibility; - if (slot.Eligibility.ConditionTypeID != ConditionType8a.None) + if (slot.Eligibility.ConditionTypeID != ConditionType.None) { summary += $"\tConditionType={elg.GetConditionTypeSummary()}"; summary += $"\tCondition={elg.GetConditionSummary()}"; @@ -476,3 +476,63 @@ private static IEnumerable GetEffectiveTableSummary(IReadOnlyList GetTriggerTableSummary(TriggerTable8a tab) + public static IEnumerable GetTriggerTableSummary(TriggerTable tab) { foreach (var trg in tab.Table) { @@ -16,7 +12,7 @@ public static IEnumerable GetTriggerTableSummary(TriggerTable8a tab) } } - public static IEnumerable GetTriggerSummary(Trigger8a trg) + public static IEnumerable GetTriggerSummary(Trigger trg) { yield return "Meta:"; yield return $"\t{GetTriggerMetaSummary(trg.Meta)}"; @@ -28,43 +24,39 @@ public static IEnumerable GetTriggerSummary(Trigger8a trg) yield return $"\t{line}"; } - public static string GetTriggerMetaSummary(TriggerMeta8a meta) + public static string GetTriggerMetaSummary(TriggerMeta meta) { - if (meta.Unused_01 != 0) + if (meta.Unused01 != 0) throw new ArgumentException("TriggerMeta has unused field set?"); - var argsSummary = GetTriggerArgsSummary(meta.TriggerMetaArg1, meta.TriggerMetaArg2, meta.TriggerMetaArg3); + var argsSummary = GetTriggerArgsSummary(new string[] {meta.TriggerMetaArg1, meta.TriggerMetaArg2, meta.TriggerMetaArg3}); - if (Enum.IsDefined(typeof(TriggerType8a), meta.TriggerTypeID)) - return $"{meta.TriggerTypeID}({argsSummary})"; return $"0x{(ulong)meta.TriggerTypeID:X16}({argsSummary})"; } - public static IEnumerable GetTriggerConditionsSummary(IEnumerable conds) + public static IEnumerable GetTriggerConditionsSummary(IEnumerable conds) { foreach (var cond in conds) yield return $"{cond.GetConditionTypeSummary()}: {cond.GetConditionSummary()}"; } - public static IEnumerable GetTriggerCommandsSummary(IEnumerable cmds) + public static IEnumerable GetTriggerCommandsSummary(IEnumerable cmds) { foreach (var cmd in cmds) yield return GetTriggerCommandSummary(cmd); } - public static string GetTriggerCommandSummary(TriggerCommand8a cmd) + public static string GetTriggerCommandSummary(TriggerCommand cmd) { var argsSummary = GetTriggerArgsSummary(cmd.Arguments); - if (Enum.IsDefined(typeof(TriggerCommandType8a), cmd.CommandTypeID)) - return $"{cmd.CommandTypeID}({argsSummary})"; return $"0x{(ulong)cmd.CommandTypeID:X16}({argsSummary})"; } - public static string GetTriggerArgsSummary(params string[] args) + public static string GetTriggerArgsSummary(IList args) { var firstEmpty = -1; - for (var i = 0; i < args.Length; i++) + for (var i = 0; i < args.Count; i++) { if (firstEmpty >= 0 && !string.IsNullOrEmpty(args[i])) throw new ArgumentException($"Invalid TriggerArg at index {i}!"); @@ -72,6 +64,6 @@ public static string GetTriggerArgsSummary(params string[] args) firstEmpty = i; } - return string.Join(", ", args.Select(s => $"\"{s}\"").Take(firstEmpty >= 0 ? firstEmpty : args.Length)); + return string.Join(", ", args.Select(s => $"\"{s}\"").Take(firstEmpty >= 0 ? firstEmpty : args.Count)); } } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/Weather8a.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/Weather.cs similarity index 75% rename from pkNX.Structures.FlatBuffers/Arceus/Util/Weather8a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/Weather.cs index c68ea11e..eb6c9e97 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/Weather8a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Util/Weather.cs @@ -1,8 +1,8 @@ -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; // ReSharper disable UnusedMember.Global -public enum Weather8a +public enum Weather { None = 0, Sunny = 1, diff --git a/pkNX.Structures.FlatBuffers.Arceus/Arceus/Waza.cs b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Waza.cs new file mode 100644 index 00000000..7b2f2920 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Arceus/Waza.cs @@ -0,0 +1,13 @@ +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 Waza { } diff --git a/pkNX.Structures.FlatBuffers/Dumpers/PersonalDumperPLA.cs b/pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalDumperPLA.cs similarity index 94% rename from pkNX.Structures.FlatBuffers/Dumpers/PersonalDumperPLA.cs rename to pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalDumperPLA.cs index 58b910d9..07aedc75 100644 --- a/pkNX.Structures.FlatBuffers/Dumpers/PersonalDumperPLA.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalDumperPLA.cs @@ -1,10 +1,8 @@ -using System; -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; + #nullable disable // meh -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; public class PersonalDumperPLA { @@ -44,8 +42,8 @@ private void AddTRs(List lines, IMovesInfo_1 pi, string specCode) public IReadOnlyList ZukanA { private get; set; } public IReadOnlyList ZukanB { private get; set; } - public Learnset8aMeta[] EntryLearnsets { private get; set; } - public EvolutionSet8a[] Evos { private get; set; } + public IList EntryLearnsets { private get; set; } + public IList Evos { private get; set; } public IReadOnlyList TMIndexes { protected get; set; } private static readonly string[] AbilitySuffix = { " (1)", " (2)", " (H)" }; @@ -151,7 +149,7 @@ protected virtual void AddArmorTutors(List lines, IMovesInfo_2 pi, strin private void AddLearnsetsLegacy(List lines, string specCode, int species, int form) { - var learn = Array.Find(EntryLearnsets, z => z.Species == species && z.Form == form); + var learn = EntryLearnsets.FirstOrDefault(z => z.Species == species && z.Form == form); if (learn is null) return; @@ -167,7 +165,7 @@ private void AddLearnsetsLegacy(List lines, string specCode, int species private void AddLearnsets(List lines, string specCode, int species, int form) { - var learn = Array.Find(EntryLearnsets, z => z.Species == species && z.Form == form); + var learn = EntryLearnsets.FirstOrDefault(z => z.Species == species && z.Form == form); if (learn is null) return; @@ -184,7 +182,7 @@ private void AddLearnsets(List lines, string specCode, int species, int private void AddEvolutions(List lines, int species, int form) { - var evo = Array.Find(Evos, z => z.Species == species && z.Form == form); + var evo = Evos.FirstOrDefault(z => z.Species == species && z.Form == form); if (evo?.Table is null) return; var evo2 = evo.Table.Where(z => z.Species != 0).ToArray(); diff --git a/pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalInfoLA.cs b/pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalInfo8LA.cs similarity index 72% rename from pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalInfoLA.cs rename to pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalInfo8LA.cs index 6eb89d22..3a0b4428 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalInfoLA.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalInfo8LA.cs @@ -1,14 +1,13 @@ -using System; using System.Collections; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; /// /// Personal Info class with values from the games. /// public sealed class PersonalInfo8LA : IPersonalInfoPLA { - public PersonalInfoLAfb FB { get; } + public PersonalInfo FB { get; } private bool[][] _SpecialTutors = Array.Empty(); public bool[][] SpecialTutors @@ -25,7 +24,7 @@ public bool[][] SpecialTutors } } - public PersonalInfo8LA(PersonalInfoLAfb fb) + public PersonalInfo8LA(PersonalInfo fb) { FB = fb; @@ -36,24 +35,24 @@ public PersonalInfo8LA(PersonalInfoLAfb fb) SpecialTutors = new[] { flags }; } - public int HP { get => FB.Stat_HP; set => FB.Stat_HP = (byte)value; } - public int ATK { get => FB.Stat_ATK; set => FB.Stat_ATK = (byte)value; } - public int DEF { get => FB.Stat_DEF; set => FB.Stat_DEF = (byte)value; } - public int SPE { get => FB.Stat_SPE; set => FB.Stat_SPE = (byte)value; } - public int SPA { get => FB.Stat_SPA; set => FB.Stat_SPA = (byte)value; } - public int SPD { get => FB.Stat_SPD; set => FB.Stat_SPD = (byte)value; } + public int HP { get => FB.StatHP; set => FB.StatHP = (byte)value; } + public int ATK { get => FB.StatATK; set => FB.StatATK = (byte)value; } + public int DEF { get => FB.StatDEF; set => FB.StatDEF = (byte)value; } + public int SPE { get => FB.StatSPE; set => FB.StatSPE = (byte)value; } + public int SPA { get => FB.StatSPA; set => FB.StatSPA = (byte)value; } + public int SPD { get => FB.StatSPD; set => FB.StatSPD = (byte)value; } public Types Type1 { get => (Types)FB.Type1; set => FB.Type1 = (byte)value; } public Types Type2 { get => (Types)FB.Type2; set => FB.Type2 = (byte)value; } public int CatchRate { get => FB.CatchRate; set => FB.CatchRate = (byte)value; } public int EvoStage { get => FB.EvoStage; set => FB.EvoStage = (byte)value; } - public byte Field_18 { get => FB.Field_18; set => FB.Field_18 = value; } + public byte Field_18 { get => FB.Field18; set => FB.Field18 = value; } - public int EV_HP { get => FB.EV_HP; set => FB.EV_HP = (byte)value; } - public int EV_ATK { get => FB.EV_ATK; set => FB.EV_ATK = (byte)value; } - public int EV_DEF { get => FB.EV_DEF; set => FB.EV_DEF = (byte)value; } - public int EV_SPE { get => FB.EV_SPE; set => FB.EV_SPE = (byte)value; } - public int EV_SPA { get => FB.EV_SPA; set => FB.EV_SPA = (byte)value; } - public int EV_SPD { get => FB.EV_SPD; set => FB.EV_SPD = (byte)value; } + public int EV_HP { get => FB.EVHP; set => FB.EVHP = (byte)value; } + public int EV_ATK { get => FB.EVATK; set => FB.EVATK = (byte)value; } + public int EV_DEF { get => FB.EVDEF; set => FB.EVDEF = (byte)value; } + public int EV_SPE { get => FB.EVSPE; set => FB.EVSPE = (byte)value; } + public int EV_SPA { get => FB.EVSPA; set => FB.EVSPA = (byte)value; } + public int EV_SPD { get => FB.EVSPD; set => FB.EVSPD = (byte)value; } public int Item1 { get => FB.Item1; set => FB.Item1 = (ushort)value; } public int Item2 { get => FB.Item2; set => FB.Item2 = (ushort)value; } public int Item3 { get => FB.Item3; set => FB.Item3 = (ushort)value; } @@ -71,21 +70,21 @@ public PersonalInfo8LA(PersonalInfoLAfb fb) public int Height { get => FB.Height; set => FB.Height = (ushort)value; } public int Weight { get => FB.Weight; set => FB.Weight = (ushort)value; } - public uint TM_A { get => FB.TM_A; set => FB.TM_A = value; } - public uint TM_B { get => FB.TM_B; set => FB.TM_B = value; } - public uint TM_C { get => FB.TM_C; set => FB.TM_C = value; } - public uint TM_D { get => FB.TM_D; set => FB.TM_D = value; } - public uint TR_A { get => FB.TR_A; set => FB.TR_A = value; } - public uint TR_B { get => FB.TR_B; set => FB.TR_B = value; } - public uint TR_C { get => FB.TR_C; set => FB.TR_C = value; } - public uint TR_D { get => FB.TR_D; set => FB.TR_D = value; } + public uint TM_A { get => FB.TMA; set => FB.TMA = value; } + public uint TM_B { get => FB.TMB; set => FB.TMB = value; } + public uint TM_C { get => FB.TMC; set => FB.TMC = value; } + public uint TM_D { get => FB.TMD; set => FB.TMD = value; } + public uint TR_A { get => FB.TRA; set => FB.TRA = value; } + public uint TR_B { get => FB.TRB; set => FB.TRB = value; } + public uint TR_C { get => FB.TRC; set => FB.TRC = value; } + public uint TR_D { get => FB.TRD; set => FB.TRD = value; } public uint TypeTutor { get => FB.TypeTutor; set => FB.TypeTutor = value; } public ushort HatchedSpecies { get => FB.HatchedSpecies; set => FB.HatchedSpecies = value; } public ushort LocalFormIndex { get => FB.LocalFormIndex; set => FB.LocalFormIndex = value; } - public bool Field_45 { get => FB.Field_45; set => FB.Field_45 = value; } - public ushort Field_46 { get => FB.Field_46; set => FB.Field_46 = value; } - public byte Field_47 { get => FB.Field_47; set => FB.Field_47 = value; } + public bool Field_45 { get => FB.Field45; set => FB.Field45 = value; } + public ushort Field_46 { get => FB.Field46; set => FB.Field46 = value; } + public byte Field_47 { get => FB.Field47; set => FB.Field47 = value; } public ushort ModelID { get => FB.ModelID; set => FB.ModelID = value; } public ushort Form { get => FB.Form; set => FB.Form = value; } diff --git a/pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalTable8LA.cs b/pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalTable8LA.cs similarity index 86% rename from pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalTable8LA.cs rename to pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalTable8LA.cs index 280e0bc1..58f35386 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Integration/PersonalTable8LA.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Dumpers/PersonalTable8LA.cs @@ -1,11 +1,10 @@ using System.Collections; using pkNX.Containers; -using System.Collections.Generic; using System.Diagnostics; -using System.Linq; using System.Collections.Immutable; +using FlatSharp; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.Arceus; /// /// Personal Table storing used in . @@ -17,12 +16,12 @@ public sealed class PersonalTable8LA : IPersonalTable, IPersonalTable MaxSpecies; private readonly IFileContainer File; - public PersonalTableLAfb Root { get; } + public PersonalTable Root { get; } public PersonalTable8LA(IFileContainer file) { File = file; - Root = FlatBufferConverter.DeserializeFrom(file[0]); + Root = PersonalTable.Serializer.Parse(file[0], FlatBufferDeserializationOption.GreedyMutable); var baseForms = new PersonalInfo8LA[MaxSpecies + 1]; var formTable = new List(); @@ -31,11 +30,12 @@ public PersonalTable8LA(IFileContainer file) .OrderBy(z => z.DexIndexNational) .ThenBy(z => z.Form) .GroupBy(x => x.DexIndexNational) - .Select(group => group.ToImmutableArray()); + .Select(group => group.ToImmutableArray()) + .ToArray(); for (int i = 0; i <= MaxSpecies; i++) { - var forms = formGrouped.ElementAt(i); + var forms = formGrouped[i]; baseForms[i] = GetObj(forms[0], forms, MaxSpecies, formTable); for (int f = 1; f < forms.Length; f++) @@ -45,7 +45,7 @@ public PersonalTable8LA(IFileContainer file) Table = baseForms.Concat(formTable).ToArray(); } - private static PersonalInfo8LA GetObj(PersonalInfoLAfb e, ICollection forms, ushort max, ICollection formTable, int f = 0) + private static PersonalInfo8LA GetObj(PersonalInfo e, ICollection forms, ushort max, ICollection formTable, int f = 0) { return new PersonalInfo8LA(e) { @@ -56,7 +56,14 @@ private static PersonalInfo8LA GetObj(PersonalInfoLAfb e, ICollection forms, ush public void Save() { - File[0] = FlatBufferConverter.SerializeFrom(Root); + var pool = System.Buffers.ArrayPool.Shared; + var serializer = PersonalTable.Serializer; + var size = serializer.GetMaxSize(Root); + var arr = pool.Rent(size); + var len = serializer.Write(arr, Root); + var data = arr.AsSpan(0, len).ToArray(); + pool.Return(arr); + File[0] = data; } public PersonalInfo8LA this[int index] => Table[(uint)index < Table.Length ? index : 0]; diff --git a/pkNX.Structures.FlatBuffers.Arceus/FnvHash.cs b/pkNX.Structures.FlatBuffers.Arceus/FnvHash.cs new file mode 100644 index 00000000..1fcb51cb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/FnvHash.cs @@ -0,0 +1,111 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +/// +/// Fowler–Noll–Vo non-cryptographic hash +/// +internal static class FnvHash +{ + // 64 bit implementation + private const ulong kFnvPrime_64 = 0x00000100000001b3; + private const ulong kOffsetBasis_64 = 0xCBF29CE484222645; + + /// + /// Gets the hash code of the input sequence via the default Fnv1 method. + /// + /// Input sequence + /// Initial hash value + /// Computed hash code + public static ulong HashFnv1_64(IEnumerable input, ulong hash = kOffsetBasis_64) + { + foreach (var c in input) + { + hash *= kFnvPrime_64; + hash ^= c; + } + return hash; + } + + /// + /// Gets the hash code of the input sequence via the default Fnv1 method. + /// + /// Input sequence + /// Initial hash value + /// Computed hash code + public static ulong HashFnv1_64(IEnumerable input, ulong hash = kOffsetBasis_64) + { + foreach (var c in input) + { + hash *= kFnvPrime_64; + hash ^= c; + } + return hash; + } + + /// + /// Gets the hash code of the input sequence via the alternative Fnv1 method. + /// + /// Input sequence + /// Initial hash value + /// Computed hash code + public static ulong HashFnv1a_64(IEnumerable input, ulong hash = kOffsetBasis_64) + { + foreach (var c in input) + { + hash ^= c; + hash *= kFnvPrime_64; + } + return hash; + } + + /// + /// Gets the hash code of the input sequence via the alternative Fnv1 method. + /// + /// Input sequence + /// Initial hash value + /// Computed hash code + public static ulong HashFnv1a_64(IEnumerable input, ulong hash = kOffsetBasis_64) + { + foreach (var c in input) + { + hash ^= c; + hash *= kFnvPrime_64; + } + return hash; + } + + // 32 bit implementation + private const uint kFnvPrime_32 = 0x01000193; + private const uint kOffsetBasis_32 = 0x811C9DC5; + + /// + /// Gets the hash code of the input sequence via the default Fnv1 method. + /// + /// Input sequence + /// Initial hash value + /// Computed hash code + public static uint HashFnv1_32(IEnumerable input, uint hash = kOffsetBasis_32) + { + foreach (var c in input) + { + hash *= kFnvPrime_32; + hash ^= c; + } + return hash; + } + + /// + /// Gets the hash code of the input sequence via the alternative Fnv1 method. + /// + /// Input sequence + /// Initial hash value + /// Computed hash code + public static uint HashFnv1a_32(IEnumerable input, uint hash = kOffsetBasis_32) + { + foreach (var c in input) + { + hash ^= c; + hash *= kFnvPrime_32; + } + return hash; + } +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/AppConfigList.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/AppConfigList.fbs new file mode 100644 index 00000000..e4307d17 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/AppConfigList.fbs @@ -0,0 +1,17 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table AppConfigEntry { + Hash:uint; + OriginalPath:string (required); + Folder:string (required); + FileNameWithoutExtension:string (required); + Unused:byte; + UnusedEntries:[string] (required); +} + +table AppConfigList (fs_serializer) { + Table:[AppConfigEntry] (required); +} + +root_type AppConfigList; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/ConfigureTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/ConfigureTable.fbs new file mode 100644 index 00000000..f6e1b7b7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Config/ConfigureTable.fbs @@ -0,0 +1,18 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ConfigEntry { + Name:string (required); + Hash:ulong; + Field_02:int; + DebugMin:string (required); + DebugMax:string (required); + Parameters:[string] (required); + Description:string (required); +} + +table ConfigArchive (fs_serializer) { + Table:[ConfigEntry] (required); +} + +root_type ConfigArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/DressUp/DressUpTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/DressUp/DressUpTable.fbs new file mode 100644 index 00000000..b2dd4a94 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/DressUp/DressUpTable.fbs @@ -0,0 +1,65 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table DressUpEntry { + EntryName:string (required); + Field_1:uint; + Field_2:uint; + PartHash:ulong; + Field_4:uint; + ColorHash:ulong; + Field_6:uint; + Field_7:uint; + Field_8:uint; + UnlockFlag:ulong; + Field_10:uint; + Field_11:uint; + Field_12:uint; + Field_13:uint; + Field_14:uint; // Never used + Field_15:string (required); //Might be a string? + Field_16:uint; + Field_17:uint; + Field_18:uint; + Field_19:uint; + Field_20:string (required); //Might be a string? + Field_21:uint; + Field_22:uint; + Field_23:uint; + Field_24:uint; + HideHash_0:ulong; + HideHash_1:ulong; + HairStyleName:string (required); + FaceName:string (required); + EyeBName:string (required); + EyeWName:string (required); + HeadwearName:string (required); + TopName:string (required); + BottomName:string (required); + DressName:string (required); + FootwearName:string (required); + BagName:string (required); + UnusedName:string (required); + Field_38:byte; + SlotName:string (required); + PartIndex0:string (required); + PartIndex1:string (required); + PartIndex2:string (required); + PartIndex3:string (required); + PartIndex4:string (required); + ConfigMotionPath:string (required); + DefaultMotionPath:string (required); + DataPath:string (required); + DefaultPartName:string (required); + MotionPath:string (required); + Field_50:ubyte; + Field_51:uint; // Unused + CategoryName:string (required); + SubCategoryName:string (required); +} + +table DressUpTable (fs_serializer) { + Table:[DressUpEntry] (required); +} + +root_type DressUpTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Event/Trigger.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Event/Trigger.fbs new file mode 100644 index 00000000..e0a5ac45 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Event/Trigger.fbs @@ -0,0 +1,35 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table Trigger { + Meta:TriggerMeta (required); + Conditions:[TriggerCondition] (required); + Commands:[TriggerCommand] (required); +} + +table TriggerMeta { + TriggerTypeID:ulong; + Unused_01:ulong; + TriggerMetaArg1:string (required); + TriggerMetaArg2:string (required); + TriggerMetaArg3:string (required); +} + +table TriggerCondition { + ConditionTypeID:ulong; + ConditionID:ulong; + ConditionArg1:string (required); + ConditionArg2:string (required); + ConditionArg3:string (required); +} + +table TriggerCommand { + CommandTypeID:ulong; + Arguments:[string] (required); +} + +table TriggerTable (fs_serializer) { + Table:[Trigger] (required); +} + +root_type TriggerTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemSpawnTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemSpawnTable.fbs new file mode 100644 index 00000000..221b3dae --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemSpawnTable.fbs @@ -0,0 +1,27 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table LandmarkItemSpawn { + LandmarkItemSpawnTableID:ulong (key); + ItemRewardMin:int; // counts apply only for inactivated landmarks + ItemRewardMax:int; + Field_03:[LandmarkItemSpawn_F03] (required); + ActivationRate:int; + Field_05:byte; // unknown + Field_06:byte; // unknown + EncounterTableID:ulong; + LevelBoost:int; + RareRate:int; +} + +table LandmarkItemSpawn_F03 { + ItemId:int (key); + Probability:int; + IsRare:bool; +} + +table LandmarkItemSpawnTable (fs_serializer) { + Table:[LandmarkItemSpawn] (required); +} + +root_type LandmarkItemSpawnTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemTable.fbs new file mode 100644 index 00000000..98a21b9d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/LandmarkItemTable.fbs @@ -0,0 +1,22 @@ +include "../Placement/PlacementParameters.fbs"; +include "../Shared/FlatDummyObject.fbs"; +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table LandmarkItem { + Field_00:string (required); + Field_01:ulong; + LandmarkItemNameID:ulong; + Field_03:[PlacementParameters] (required); + Scalar:float; + Field_05:FlatDummyObject (required); + Field_06:FlatDummyObject (required); + Field_07:FlatDummyObject (required); + LandmarkItemSpawnTableID:ulong; +} + +table LandmarkItemTable (fs_serializer) { + Table:[LandmarkItem] (required); +} + +root_type LandmarkItemTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/MassOutbreakTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/MassOutbreakTable.fbs new file mode 100644 index 00000000..322af5b5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/MassOutbreakTable.fbs @@ -0,0 +1,29 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table MassOutbreak { + AlphaLevelBoostEntryHash:ulong (key); // oybn_settings; all entries are identical so this is useless + OutbreakChangeChance:int; // rand(100) < value -> spawn/de-spawn + Table:[MassOutbreakCondition] (required); // parameters to check if able to activate + WorkValueName:string (required); // savefile block to set the result of new outbreak indexes + RandEntryCount:int; // rand value to write to the save file, and pick out which outbreak to spawn + SpawnMinCount:int; + SpawnMaxCount:int; + ShinyRollBonus:int; +} + +table MassOutbreakCondition { + ConditionTypeID:ulong; + ConditionID:ulong; + ConditionArg1:string (required); + ConditionArg2:string (required); + ConditionArg3:string (required); + ConditionArg4:string (required); + ConditionArg5:string (required); +} + +table MassOutbreakTable (fs_serializer) { + Table:[MassOutbreak] (required); +} + +root_type MassOutbreakTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroup.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroup.fbs new file mode 100644 index 00000000..942688ca --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroup.fbs @@ -0,0 +1,25 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table NewHugeOutbreakGroupArchive (fs_serializer) { + Table:[NewHugeOutbreakGroup] (required); +} + +table NewHugeOutbreakGroup { + Group:ulong; + Table:[NewHugeOutbreakDetail] (required); // successive tables + EncounterTableID:ulong; +} + +table NewHugeOutbreakDetail +{ + ConditionTypeID:ulong; + ConditionID:ulong; + ConditionArg1:string (required); + ConditionArg2:string (required); + ConditionArg3:string (required); + ConditionArg4:string (required); + ConditionArg5:string (required); + EncounterTableID:ulong; + Rate:int; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroupLottery.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroupLottery.fbs new file mode 100644 index 00000000..3c7b3497 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakGroupLottery.fbs @@ -0,0 +1,20 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table NewHugeOutbreakGroupLottery { + LotteryGroup:ulong; + TableCommon:[NewHugeOutbreakGroupLotteryDetail] (required); + TableRare1:[NewHugeOutbreakGroupLotteryDetail] (required); + TableRare2:[NewHugeOutbreakGroupLotteryDetail] (required); +} + +table NewHugeOutbreakGroupLotteryDetail { + Group:ulong; + Rate:int; +} + +table NewHugeOutbreakGroupLotteryArchive (fs_serializer) { + Table:[NewHugeOutbreakGroupLottery] (required); +} + +root_type NewHugeOutbreakGroupLotteryArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakLottery.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakLottery.fbs new file mode 100644 index 00000000..2a1cc586 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakLottery.fbs @@ -0,0 +1,29 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table NewHugeOutbreakLottery { + Hash:ulong (key); + LotteryGroupString:string (required); + OutbreakChance:int; + OutbreakTotalMin:int; + OutbreakTotalMax:int; + OutbreakRare2:int; + OutbreakRare1:int; + CountFirstMin:int; + CountFirstMax:int; + CountSecondMin:int; + CountSecondMax:int; + ChanceExtraBonus:int; + ChanceExtraVisibleStar:int; + ChanceAguavBerry:int; + RollBonus:int; + SpawnerFlagNames:[string] (required); // all FSYS_NEW_OUTBREAK_AREA0#_# + OutbreakTotalThresholds:[int] (required); + StarOutbreaksPerThreshold:[int] (required); +} + +table NewHugeOutbreakLotteryArchive (fs_serializer) { + Table:[NewHugeOutbreakLottery] (required); +} + +root_type NewHugeOutbreakLotteryArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakTimeLimit.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakTimeLimit.fbs new file mode 100644 index 00000000..deb3c452 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/NewHuge/NewHugeOutbreakTimeLimit.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table NewHugeOutbreakTimeLimit { + Duration:int; + Chance:int; + RemainingTimeWarning:[int] (required); + RemainingTimeStringIndex:[int] (required); +} + +table NewHugeOutbreakTimeLimitArchive (fs_serializer){ + Table:[NewHugeOutbreakTimeLimit] (required); +} + +root_type NewHugeOutbreakTimeLimitArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaBGMTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaBGMTable.fbs new file mode 100644 index 00000000..8a171650 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaBGMTable.fbs @@ -0,0 +1,20 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table AreaBGM { + TimeStart:int; + TimeEnd:int; + StandardBGM:string (required); + FirstBGM:string (required); + + /// A flag from system_flags + FirstFlagHash:ulong; +} + +table AreaBGMTable (fs_serializer) { + Hash:ulong; + Name:string (required); + Entries:[AreaBGM] (required); +} + +root_type AreaBGMTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaSettingsTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaSettingsTable.fbs new file mode 100644 index 00000000..eb8efda3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaSettingsTable.fbs @@ -0,0 +1,78 @@ +include "../../Geometry/Vec3f.fbs"; +include "AreaBGMTable.fbs"; +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table AreaSettings { + Name:string (required); + NameParent:string (required); + Position:Vec3f (required); + Flag_03:bool; + Flag_04:bool; + Flag_05:bool; + Flag_06:bool; + Flag_07:bool; + Flag_08:bool; + NPC:string (required); + NPCPokemon:string (required); + BgParts:string (required); + Emitter:string (required); + Item:string (required); + SearchItem:string (required); + Spawners:string (required); + Pos:string (required); + BgEvent:string (required); + Encounters:string (required); + NavMesh:string (required); + TerrainTable:string (required); + NameOther:string (required); + Flag_22:bool; + Flag_23:bool; + LandmarkItems:string (required); + LandmarkItemSpawns:string (required); + AttributeInfo:string (required); + Locations:string (required); + BattleStartPoint:string (required); + SoundEvent:string (required); + AreaCamera:string (required); + TargetAI:string (required); + Slot0:string (required); + BGM:AreaBGMTable (required); + Wormholes:string (required); + WormholeSpawners:string (required); + WormholeItems:string (required); + OverViewDepth:string (required); + RealTimeEventData:string (required); + Mkrg:string (required); + AreaWall:string (required); + Balloon:string (required); + UnownSpawners:string (required); + MultiShapeSoundEvent:string (required); + Field_44:ulong; + Path:string (required); + PopupEvent:string (required); + Invisible:string (required); + LocalWeather:string (required); + SoundBank:string (required); + Field_50:AreaSettings_F50 (required); + Archive:string (required); + Field_52:Vec3f (required); + Field_53:Vec3f (required); + + /// A flag from system_works + VisibleFlagHash:ulong; + Field_55:bool; +} + +table AreaSettings_F50 { + Field_00:int; + Field_01:int; + Field_02:int; + Field_03:int; +} + +table AreaSettingsTable (fs_serializer) { + Table:[AreaSettings] (required); +} + +root_type AreaSettingsTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaWeatherTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaWeatherTable.fbs new file mode 100644 index 00000000..2dcbbea1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Resident/AreaWeatherTable.fbs @@ -0,0 +1,22 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table AreaWeather { + Hash:ulong(key); + MinDuration:int; + MaxDuration:int; + WeightSunny:int; + WeightCloudy:int; + WeightRain:int; + WeightSnow:int; + WeightDrought:int; + WeightFog:int; + WeightRainstorm:int; + WeightSnowstorm:int; +} + +table AreaWeatherTable (fs_serializer) { + Table:[AreaWeather] (required); +} + +root_type AreaWeatherTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterDataArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterDataArchive.fbs new file mode 100644 index 00000000..b84b8775 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterDataArchive.fbs @@ -0,0 +1,98 @@ +include "../../Shared/AbilityType.fbs"; +include "../../Shared/NatureType.fbs"; +include "../../Shared/ShinyType.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table EncounterSlot { + Species:int; + SlotID:ulong; + Gender:int = -1; + Form:int; + ShinyLock:ShinyType = Random; + AbilityRandType:AbilityType = Any12; + Nature:NatureType; + Height:int = -1; + Weight:int = -1; + Field_09:bool; + Field_10:bool; + Field_11:bool; + Field_12:bool; + GV_HP :int = -1; + GV_ATK:int = -1; + GV_DEF:int = -1; + GV_SPA:int = -1; + GV_SPD:int = -1; + GV_SPE:int = -1; + IV_HP :int = -1; + IV_ATK:int = -1; + IV_DEF:int = -1; + IV_SPA:int = -1; + IV_SPD:int = -1; + IV_SPE:int = -1; + NumPerfectIvs:int; + Behavior1:string (required); + Behavior2:string (required); + Field_28_AffectsLottery:byte; + BaseProbability:int; + OverrideMinLevel:int; + OverrideMaxLevel:int; + Field_32:int; + HasMoveset:bool; + Move1:int; + Move2:int; + Move3:int; + Move4:int; + Move1Mastered:bool; + Move2Mastered:bool; + Move3Mastered:bool; + Move4Mastered:bool; + Unused:string (required); + Field_43_Func_1A25908:int; + Field_44_SetsPropTo100Not8000:bool; + Eligibility:EncounterEligiblityTraits (required); + Oybn:EncounterOybnTraits (required); +} + +table EncounterEligiblityTraits { + ConditionTypeID:ulong; + ConditionID:ulong; + ConditionArg1:string (required); + ConditionArg2:string (required); + ConditionArg3:string (required); + ConditionArg4:string (required); + ConditionArg5:string (required); + TimeOfDayMultiplier_0:float = -1; + TimeOfDayMultiplier_1:float = -1; + TimeOfDayMultiplier_2:float = -1; + TimeOfDayMultiplier_3:float = -1; + WeatherMultiplier_1:float = -1; + WeatherMultiplier_2:float = -1; + WeatherMultiplier_3:float = -1; + WeatherMultiplier_4:float = -1; + WeatherMultiplier_5:float = -1; + WeatherMultiplier_6:float = -1; + WeatherMultiplier_7:float = -1; + WeatherMultiplier_8:float = -1; +} + +table EncounterOybnTraits { + Oybn1:bool; + Oybn2:bool; + Field_02:bool; + Field_03:bool; +} + +table EncounterTable (fs_serializer) { + TableID:ulong (key); + MinLevel:int; + MaxLevel:int; + Table:[EncounterSlot] (required); +} + +table EncounterDataArchive (fs_serializer) { + Table:[EncounterTable] (required); +} + +root_type EncounterDataArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterMultiplerArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterMultiplerArchive.fbs new file mode 100644 index 00000000..336bb248 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Slots/EncounterMultiplerArchive.fbs @@ -0,0 +1,25 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table EncounterMultiplier { + Species:int; + Form:int; + TimeOfDayMultiplier_0:float = -1; + TimeOfDayMultiplier_1:float = -1; + TimeOfDayMultiplier_2:float = -1; + TimeOfDayMultiplier_3:float = -1; + WeatherMultiplier_1:float = -1; + WeatherMultiplier_2:float = -1; + WeatherMultiplier_3:float = -1; + WeatherMultiplier_4:float = -1; + WeatherMultiplier_5:float = -1; + WeatherMultiplier_6:float = -1; + WeatherMultiplier_7:float = -1; + WeatherMultiplier_8:float = -1; +} + +table EncounterMultiplierArchive (fs_serializer) { + Table:[EncounterMultiplier] (required); +} + +root_type EncounterMultiplierArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Static/EventEncountArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Static/EventEncountArchive.fbs new file mode 100644 index 00000000..a3b3674a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Field/Static/EventEncountArchive.fbs @@ -0,0 +1,61 @@ +include "../../Shared/AbilityType.fbs"; +include "../../Shared/NatureType.fbs"; +include "../../Shared/ShinyType.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table EventEncountPoke { + Species:int; + Form:int; + Gender:int; + ShinyLock:ShinyType = Random; + Level:int; + Ability:AbilityType = Any12; + Nature:NatureType; + Height:int; + Weight:int; + Field_09:bool; + Field_10:bool; + Field_11:bool; + Field_12:int; + Field_13:string (required); + Field_14:string (required); + Field_15:string (required); + ExperiencePoints:int; + IsOybn:bool; + Move1:int; + Mastered1:bool; + Move2:int; + Mastered2:bool; + Move3:int; + Mastered3:bool; + Move4:int; + Mastered4:bool; + IV_HP:int; + IV_ATK:int; + IV_DEF:int; + IV_SPA:int; + IV_SPD:int; + IV_SPE:int; + NumPerfectIvs:int; + GV_HP:int; + GV_ATK:int; + GV_DEF:int; + GV_SPA:int; + GV_SPD:int; + GV_SPE:int; +} + +table EventEncount { + EncounterName:string (required); + Field_01:string (required); + Field_02:int; // All Entries have empty + Table:[EventEncountPoke] (required); +} + +table EventEncountArchive (fs_serializer) { + Table:[EventEncount] (required); +} + +root_type EventEncountArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec2f.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec2f.fbs new file mode 100644 index 00000000..3faf55d4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec2f.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +table Vec2f { + X:float; + Y:float; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec3f.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec3f.fbs new file mode 100644 index 00000000..501b3a85 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Geometry/Vec3f.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +table Vec3f { + X:float; + Y:float; + Z:float; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/HaShopTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/HaShopTable.fbs new file mode 100644 index 00000000..735c9bc2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/HaShopTable.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table HaShopItem { + Field_00:ulong; + Field_01:ulong; + ItemID:int; +} + +table HaShopTable (fs_serializer) { + Table:[HaShopItem] (required); +} + +root_type HaShopTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ArchiveContents.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ArchiveContents.fbs new file mode 100644 index 00000000..2d971830 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ArchiveContents.fbs @@ -0,0 +1,16 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ArchiveContents (fs_serializer) { + Table:[ArchiveContent] (required); +} + +table ArchiveContent { + /// Eg. `bin/archive/pokemon/pm0025_00_00.gfpak` -> 0x9F0F82B368411FF + ArchivePathHash:ulong (key); + + /// Eg. `bin/pokemon/pm0025/pm0025_00_00/pm0025_00_00.trpokecfg` -> 0x132C0BBD4E633C28 + ArchiveContentPathHashes:[ulong] (required); +} + +root_type ArchiveContents; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/KeyAssignmentTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/KeyAssignmentTable.fbs new file mode 100644 index 00000000..c6d300e3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/KeyAssignmentTable.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table KeyAssignmentTable (fs_serializer) { + Table:[KeyAssignment] (required); +} + +table KeyAssignment { + Field_00:string (required); + Field_01:[string] (required); + Field_02:byte; +} + +root_type KeyAssignmentTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/LbPointsTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/LbPointsTable.fbs new file mode 100644 index 00000000..0b74f9af --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/LbPointsTable.fbs @@ -0,0 +1,17 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table LbPointsTable (fs_serializer) { + Table:[LbPointsInfo] (required); +} + +table LbPointsInfo { + Field_00:int; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:int; + Field_05:ulong; +} + +root_type LbPointsTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/MoveShopTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/MoveShopTable.fbs new file mode 100644 index 00000000..a4606a9f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/MoveShopTable.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table MoveShopIndex { + Index:int; + Move:int; + Price:int; + Hash:ulong; +} + +table MoveShopTable (fs_serializer) { + Table:[MoveShopIndex] (required); +} + +root_type MoveShopTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/PlayReportTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/PlayReportTable.fbs new file mode 100644 index 00000000..3d5b3681 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/PlayReportTable.fbs @@ -0,0 +1,33 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlayReportTable (fs_serializer) { + Table:[PlayReportItem] (required); +} + +table PlayReportItem { + Field_00:string (required); + Field_01:ulong; + Field_02:ulong; + Field_03:ulong; + Field_04:ulong; + Field_05:ulong; + Field_06:ulong; + Field_07:ulong; + Field_08:ulong; + Field_09:ulong; + Field_10:ulong; + Field_11:ulong; + Field_12:ulong; + Field_13:ulong; + Field_14:ulong; + Field_15:ulong; + Field_16:ulong; + Field_17:ulong; + Field_18:ulong; + Field_19:ulong; + Field_20:ulong; + Field_21:ulong; +} + +root_type PlayReportTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ScriptIDRecordRelease.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ScriptIDRecordRelease.fbs new file mode 100644 index 00000000..1ceba78b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Misc/ScriptIDRecordRelease.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ScriptIDRecord { + Name:string (required); + Type:string (required); + Lua :string (required); + Dat :string (required); +} + +table ScriptIDRecordRelease (fs_serializer) { + Table:[ScriptIDRecord] (required); +} + +root_type ScriptIDRecordRelease; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/NPC/NPCModelSet.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/NPC/NPCModelSet.fbs new file mode 100644 index 00000000..baf957f4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/NPC/NPCModelSet.fbs @@ -0,0 +1,53 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table NPCModelSetEntry { + NPCModelHash:ulong (key); + NPCIndex:string (required); + NPCResidentHash:ulong; + Animations:NPCModelAnimations (required); + Meshes:NPCModelMeshes (required); + Rigs:NPCModelRigs (required); + Attachment0:string (required); + Attachment1:string (required); + Attachment2:string (required); + Colors:NPCModelColorConfig (required); + ValueListID:string (required); + Field_11:[uint] (required); + ArchivePath:string (required); + Field_13:float; +} + +table NPCModelAnimations { + FolderPath:[string] (required); //First value is base, usually empty string + AnimationPath:[string] (required); +} + +table NPCModelMeshes { + FolderPath:[string] (required); //First value is base, usually empty string + MeshPath:[string] (required); + MeshFlags:[string] (required); //Can hide certain meshes like "hide_a_mesh" +} + +table NPCModelRigs { + Rigs:[string] (required); +} + +table NPCModelColorConfig { + Slots:[string] (required); // First value is base, usually empty string + R1:[uint] (required); + G1:[uint] (required); + B1:[uint] (required); + R2:[uint] (required); + G2:[uint] (required); + B2:[uint] (required); + R3:[uint] (required); + G3:[uint] (required); + B3:[uint] (required); +} + +table NPCModelSet (fs_serializer) { + Table:[NPCModelSetEntry] (required); +} + +root_type NPCModelSet; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/OybnSettingTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/OybnSettingTable.fbs new file mode 100644 index 00000000..edec29d7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/OybnSettingTable.fbs @@ -0,0 +1,17 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table OybnSetting { + Hash:ulong; + Field_01:int; + Field_02:int; + Field_03:int; + Field_04:int; + Field_05:int; +} + +table OybnSettingTable (fs_serializer) { + Table:[OybnSetting] (required); +} + +root_type OybnSettingTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementItemArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementItemArchive.fbs new file mode 100644 index 00000000..78ff18e5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementItemArchive.fbs @@ -0,0 +1,35 @@ +include "../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlacementItem { + Field_00:string (required); + Field_01:ulong; + Field_02:ulong; + Field_03:[PlacementItem_F03] (required); +} + +table PlacementItem_F03 { + Field_00:byte; + Field_01:byte; + Field_02:string (required); + Field_03:string (required); + Field_04:string (required); + Field_05:string (required); + Field_06:string (required); + Field_07:Vec3f (required); + Field_08:PlacementItem_F08 (required); + Field_09:Vec3f (required); +} + +table PlacementItem_F08 { + Field_00:byte; // unk + Field_01:float; +} + +table PlacementItemArchive (fs_serializer) { + Table:[PlacementItem] (required); +} + +root_type PlacementItemArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementLocationArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementLocationArchive.fbs new file mode 100644 index 00000000..042b25b3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementLocationArchive.fbs @@ -0,0 +1,21 @@ +include "PlacementParameters.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlacementLocation { + Field_00:string (required); + Field_01:ulong; + ParameterSet:[PlacementParameters] (required); + ShapeID:ulong; + SizeX:float; + SizeY:float; + SizeZ:float; + LocationTypeID:ulong; + LocationTypeArg1:string (required); + LocationTypeArg2:ulong; +} + +table PlacementLocationArchive (fs_serializer) { + Table:[PlacementLocation] (required); +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementMkrgTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementMkrgTable.fbs new file mode 100644 index 00000000..24040014 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementMkrgTable.fbs @@ -0,0 +1,18 @@ +include "PlacementParameters.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlacementMkrgEntry { + Identifier:string (required); + Hash_01:ulong; + Field_02:[PlacementParameters] (required); + Field_03:float; + Field_04:float; +} + +table PlacementMkrgTable (fs_serializer) { + Table:[PlacementMkrgEntry] (required); +} + +root_type PlacementMkrgTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementParameters.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementParameters.fbs new file mode 100644 index 00000000..1ebec887 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementParameters.fbs @@ -0,0 +1,16 @@ +include "../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; + +table PlacementParameters { + ConditionTypeID:ulong; + ConditionID:ulong; + ConditionArg1:string (required); + ConditionArg2:string (required); + ConditionArg3:string (required); + ConditionArg4:string (required); + ConditionArg5:string (required); + Coordinates:Vec3f (required); + Rotation:Vec3f (required); + Scale:Vec3f (required); +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSearchItemTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSearchItemTable.fbs new file mode 100644 index 00000000..39f0d8f9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSearchItemTable.fbs @@ -0,0 +1,41 @@ +include "../Geometry/Vec3f.fbs"; +include "PlacementParameters.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlacementSearchItem { + Identifier:string (required); + Hash_01:ulong; + Field_02:[PlacementParameters] (required); + Field_03:string (required); + Field_04:string (required); + Rate:int; + Field_06:bool; + Field_07:bool; + Field_08:Vec3f (required); + Field_09:byte; + Field_10:Vec3f (required); + Field_11:bool; + Field_12:Vec3f (required); + Field_13:bool; + Field_14:Vec3f (required); + Field_15:bool; + Field_16:Vec3f (required); + Field_17:bool; + Field_18:Vec3f (required); + Field_19:bool; + Field_20:Vec3f (required); + Field_21:bool; + Field_22:Vec3f (required); + Field_23:bool; + Field_24:Vec3f (required); + Field_25:bool; + Field_26:Vec3f (required); +} + +table PlacementSearchItemTable (fs_serializer) { + Table:[PlacementSearchItem] (required); +} + +root_type PlacementSearchItemTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSpawnerData.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSpawnerData.fbs new file mode 100644 index 00000000..09736438 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementSpawnerData.fbs @@ -0,0 +1,65 @@ +include "../Geometry/Vec3f.fbs"; +include "PlacementParameters.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlacementSpawner { + SpawnerID:ulong; + Field_01:ulong; + Field_02:[PlacementParameters] (required); + Shape:string (required); // only set by Wormhole spawners + Scalar:float; // how big of a radius they can spawn in? + Field_05:Vec3f (required); // always default values + Field_06:Vec3f (required); // always default values + MinSpawnCount:int; + MaxSpawnCount:int; + Field_09:int; // 2 for a single tangela spawner, and 8 for a single lickitung spawner + IsMassOutbreak:bool; + IsWater:bool; + IsSky:bool; + GroupID:ulong; + Field_14:float; + Field_15:float; + ParentLink:int; // 1 for Alpha parents, 2 for Children -- a [2] uses Behavior2 to alter [1]'s actions (run over to the player) to defend. + Field_17:float = -1; // always -1 + Field_18:float = -1; // always -1 + Field_19:float = -1; // always -1 + Field_20:[PlacementSpawnerF20] (required); + Field_21:[PlacementSpawnerF21] (required); + PathToFollowIDs:[string] (required); +} + +table PlacementSpawnerF20 { + EncounterTableID:ulong (key); // TableID in EncounterTable + ConditionTypeID:ulong; + ConditionID:ulong; + ConditionArg1:string (required); + ConditionArg2:string (required); + ConditionArg3:string (required); + ConditionArg4:string (required); + ConditionArg5:string (required); + BonusLevelMin:int; + BonusLevelMax:int; +} + +table PlacementSpawnerF21 { + VarHash0:ulong; + VarHash1:ulong; // Sometimes contains Slot ID from specific encounter table specified by the F20 in the same Spawner? + VarHash2:ulong; // Sometimes contains Slot ID from specific encounter table specified by the F20 in the same Spawner? + VarHash3:ulong; // ??? Is this as 01/02? + VarHash4:ulong; // ??? Is this as 01/02? + VarHash5:ulong; // ??? Is this as 01/02? + Field_06:Vec3f (required); + Field_07:string (required); + Scalar:float; + Field_09:Vec3f (required); + Field_10:Vec3f (required); + NumVarHashes:int; +} + +table PlacementSpawnerArchive (fs_serializer) { + Table:[PlacementSpawner] (required); +} + +root_type PlacementSpawnerArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementUnnnTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementUnnnTable.fbs new file mode 100644 index 00000000..04e623da --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Placement/PlacementUnnnTable.fbs @@ -0,0 +1,19 @@ +include "PlacementParameters.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PlacementUnnnEntry { + Identifier:string (required); + Hash_01:ulong; + Field_03:[PlacementParameters] (required); + Hash_03:ulong; + Number:int; + Flag:bool; +} + +table PlacementUnnnTable (fs_serializer) { + Table:[PlacementUnnnEntry] (required); +} + +root_type PlacementUnnnTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/EvolutionTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/EvolutionTable.fbs new file mode 100644 index 00000000..2bd13e8e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/EvolutionTable.fbs @@ -0,0 +1,22 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table EvolutionSet { + Species:ushort; + Form:ushort; + Table:[EvolutionEntry]; +} + +table EvolutionEntry { + Method:ushort; + Argument:ushort; + Species:ushort; + Form:ushort; + Level:ushort; +} + +table EvolutionTable (fs_serializer) { + Table:[EvolutionSet] (required); +} + +root_type EvolutionTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Learnset.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Learnset.fbs new file mode 100644 index 00000000..7dafe1b6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Learnset.fbs @@ -0,0 +1,21 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table LearnsetMeta { + Species:ushort; + Form:ushort; + Mainline:[LearnsetEntry] (required); + Arceus:[LearnsetEntry] (required); +} + +table LearnsetEntry { + Level:ushort; + LevelMaster:ushort; + Move:ushort; +} + +table Learnset (fs_serializer) { + Table:[LearnsetMeta] (required); +} + +root_type Learnset; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Model Set/PokeModelSet.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Model Set/PokeModelSet.fbs new file mode 100644 index 00000000..80940ed3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/Model Set/PokeModelSet.fbs @@ -0,0 +1,21 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeModelSetEntry { + PokeModelHash:ulong; + PokeResidentTypeHash:ulong; + Species:uint; + Form:uint; + VariantDesc:string (required); + Bool_05:bool; // Species 77 is true + Bool_06:bool; // Species 95 is true + Bool_07:bool; // Species 95 is true + Field_08:uint; // 0 (Only on Ponyta), 1, 127 or 255. Buizel has an entry for both 127 and 255 +} + +// resident_release.bin -> bin/field/param/placement/common/pokemon_model_set.bin +table PokeModelSet (fs_serializer) { + Table:[PokeModelSetEntry] (required); +} + +root_type PokeModelSet; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PersonalInfoLAfb.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PersonalInfoLAfb.fbs new file mode 100644 index 00000000..524441dc --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PersonalInfoLAfb.fbs @@ -0,0 +1,69 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PersonalInfo { + DexIndexNational:ushort; // not Key, but used for sorting. Can have multiple forms. + Form:ushort; + IsPresentInGame:bool; + Type1:ubyte; + Type2:ubyte; + Ability1:ushort; + Ability2:ushort; + AbilityH:ushort; + Stat_HP:ubyte; + Stat_ATK:ubyte; + Stat_DEF:ubyte; + Stat_SPA:ubyte; + Stat_SPD:ubyte; + Stat_SPE:ubyte; + Gender:ubyte; + EXPGrowth:ubyte; + EvoStage:ubyte; + CatchRate:ubyte; + Field_18:ubyte; // Always Default (0) + Color:ubyte; + Height:ushort; + Weight:ushort; + TM_A:uint; // not used by game + TM_B:uint; // not used by game + TM_C:uint; // not used by game + TM_D:uint; // not used by game + TR_A:uint; // not used by game + TR_B:uint; // not used by game + TR_C:uint; // not used by game + TR_D:uint; // not used by game + TypeTutor:uint; // not used by game + BaseEXP:ushort; + EV_HP :ubyte; + EV_ATK:ubyte; + EV_DEF:ubyte; + EV_SPA:ubyte; + EV_SPD:ubyte; + EV_SPE:ubyte; + Item1:ushort; + Item2:ushort; + Item3:ushort; // Always Default (0) + EggGroup1:ubyte; + EggGroup2:ubyte; + HatchedSpecies:ushort; + LocalFormIndex:ushort; + Field_45:bool; + Field_46:ushort; + Field_47:ubyte; + BaseFriendship:ubyte; + DexIndexHisui:ushort; + ModelID:ushort; + DexIndexLocal1:uint; + DexIndexLocal2:uint; + DexIndexLocal3:uint; + DexIndexLocal4:uint; + DexIndexLocal5:uint; + MoveShop1:uint; + MoveShop2:uint; +} + +table PersonalTable (fs_serializer) { + Table:[PersonalInfo] (required); +} + +root_type PersonalTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAIArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAIArchive.fbs new file mode 100644 index 00000000..08b8c73e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAIArchive.fbs @@ -0,0 +1,77 @@ +include "../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeAI { + Species:int; + Form:int; + IsAlpha:bool; + Behavior1:string (required); + Behavior2:string (required); + Behavior3:string (required); + Field_06:bool; + Field_07:ulong = 2458747221614355867; + Field_08:bool = true; // always true + Field_09:PokeAI_F09 (required); + Field_10:bool = true; // always true + Field_11:PokeAI_F09; + Field_12:bool = true; // always true except for Darkrai + Field_13:PokeAI_F09; + Field_14:bool = true; // always true + Field_15:PokeAI_F09; + Field_16:bool = true; // always true + Field_17:PokeAI_F09 (required); + Field_18:PokeAI_F18 (required); // only used by Kleavor-1 + Field_19:PokeAI_F18 (required); // assumed same as above, none use + Field_20:PokeAI_F18 (required); // assumed same as above, none use + Field_21:PokeAI_F18 (required); // assumed same as above, only used by Kleavor-1 with fields 0,1,2 + MoveEffect1:string (required); + MoveEffect2:string (required); + Field_24:PokeAI_F24 (required); + Field_25:float = 20; + Field_26:float = 30; + Field_27:Vec3f (required); // new(20, 50, 100); + Field_28:Vec3f (required); // new(20, 50, 100); + Field_29:Vec3f (required); // new(20, 50, 100); + Field_30:Vec3f (required); // new(15, 10, 15); + Field_31:int; + Field_32:int = -1; + Field_33:int; + Field_34:float; // cascoon/silcoon +} + +table PokeAI_F24 { + Field_00:float = 7; +} + +table PokeAI_F18 { + Field_00:bool; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} + +table PokeAI_F09 { + Field_00:PokeAIBehaviour (required); + Field_01:PokeAIBehaviour (required); + Field_02:PokeAIBehaviour (required); + Field_03:PokeAIBehaviour (required); + Field_04:PokeAIBehaviour (required); + Field_05:PokeAIBehaviour (required); + Field_06:PokeAIBehaviour (required); + Field_07:PokeAIBehaviour (required); + Field_08:PokeAIBehaviour (required); +} + +table PokeAIBehaviour { + BehaviourHash:ulong = 9252365659083253459 (key); + Parameters:[string] (required); // { "0.5", "35" }; +} + +table PokeAIArchive (fs_serializer) { + Table:[PokeAI] (required); +} + +root_type PokeAIArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAdd.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAdd.fbs new file mode 100644 index 00000000..06c6e4bb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeAdd.fbs @@ -0,0 +1,49 @@ +include "../Shared/AbilityType.fbs"; +include "../Shared/NatureType.fbs"; +include "../Shared/ShinyType.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeAdd { + Field_00:string (required); + Species:int; + Form:int; + Gender:int; + ShinyLock:ShinyType = Never; + Level:int; + Ability:AbilityType = Any12; + Nature:NatureType; + Height:int; + Weight:int; + IsOybn:bool; + Move1:int; + Mastered1:bool; + Move2:int; + Mastered2:bool; + Move3:int; + Mastered3:bool; + Move4:int; + Mastered4:bool; + IV_HP:int; + IV_ATK:int; + IV_DEF:int; + IV_SPA:int; + IV_SPD:int; + IV_SPE:int; + NumPerfectIvs:int; + GV_HP:int; + GV_ATK:int; + GV_DEF:int; + GV_SPA:int; + GV_SPD:int; + GV_SPE:int; + TryInsertParty:int; // 1 if party attempted, 0 -> straight to box + Ball:int; // 0 is use default game ball (LAPoke); is set to 37 (Origin) for box legends. +} + +table PokeAddArchive (fs_serializer) { + Table:[PokeAdd] (required); +} + +root_type PokeAddArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBattleSpawnArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBattleSpawnArchive.fbs new file mode 100644 index 00000000..15494286 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBattleSpawnArchive.fbs @@ -0,0 +1,18 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeBattleSpawn { + Field_00:string (required); + Field_01:[string] (required); + Field_02:[string] (required); + Field_03:float; + Field_04:float; + Field_05:float; +} + +/// Seems to be a file left over from development. Only has test entries +table PokeBattleSpawnArchive (fs_serializer) { + Table:[PokeBattleSpawn] (required); +} + +root_type PokeBattleSpawnArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBodyParticleArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBodyParticleArchive.fbs new file mode 100644 index 00000000..99d53519 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeBodyParticleArchive.fbs @@ -0,0 +1,25 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeBodyParticle +{ + Species:uint (key); + Form:uint; + Flag_02:bool; + Field_03:[PokeBodyParticle_F03] (required); +} + +table PokeBodyParticle_F03 { + Flag_00:bool; + Flag_01:bool; + Field_02:string (required); + Field_03:string (required); + Field_04:string (required); + Field_05:string (required); +} + +table PokeBodyParticleArchive (fs_serializer) { + Table:[PokeBodyParticle] (required); +} + +root_type PokeBodyParticleArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeCaptureCollisionArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeCaptureCollisionArchive.fbs new file mode 100644 index 00000000..e19b44b4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeCaptureCollisionArchive.fbs @@ -0,0 +1,25 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeCaptureCollision { + Species:uint; + Form:uint; + Colliders:[PokeCaptureCollider] (required); +} + +table PokeCaptureCollider { + SocketName:string (required); + Shape:string (required); + ShapeParameters:[float] (required); + OffsetX:float; + OffsetY:float; + OffsetZ:float; + Type:string (required); + Field_07:string (required); // Heatran has this on collider[1] (PM0485), some have it set to SemiLegendFlick. Something like a script tag maybe? +} + +table PokeCaptureCollisionArchive (fs_serializer) { + Table:[PokeCaptureCollision] (required); +} + +root_type PokeCaptureCollisionArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDefaultLocatorArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDefaultLocatorArchive.fbs new file mode 100644 index 00000000..7325054d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDefaultLocatorArchive.fbs @@ -0,0 +1,17 @@ +include "../Geometry/Vec3f.fbs"; +namespace pkNX.Structures.FlatBuffers.Arceus; + +attribute "fs_serializer"; +table PokeDefaultLocator { + Locator:string (required); + Socket:string (required); + Position:Vec3f (required); + Rotation:Vec3f (required); + Scale:Vec3f (required); +} + +table PokeDefaultLocatorArchive (fs_serializer) { + Table:[PokeDefaultLocator] (required); +} + +root_type PokeDefaultLocatorArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItem.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItem.fbs new file mode 100644 index 00000000..7066f499 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItem.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +table PokeDropItem { + Hash:ulong (key); + RegularItem:int; + RegularItemProbability:int; + RareItem:int; + RareItemProbability:int; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemArchive.fbs new file mode 100644 index 00000000..6ca2b7fd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemArchive.fbs @@ -0,0 +1,10 @@ +include "PokeDropItem.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeDropItemArchive (fs_serializer) { + Table:[PokeDropItem] (required); +} + +root_type PokeDropItemArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemBattleArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemBattleArchive.fbs new file mode 100644 index 00000000..8185b851 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeDropItemBattleArchive.fbs @@ -0,0 +1,21 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeDropItemBattle { + RateItem1:int; + IndexItem1:int; + RateItem2:int; + IndexItem2:int; + RateItem3:int; + IndexItem3:int; + RateItem4:int; + IndexItem4:int; + RateItem5:int; + IndexItem5:int; +} + +table PokeDropItemBattleArchive (fs_serializer) { + Table:[PokeDropItemBattle] (required); +} + +root_type PokeDropItemBattleArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeEatingHabitsArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeEatingHabitsArchive.fbs new file mode 100644 index 00000000..a9b0f201 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeEatingHabitsArchive.fbs @@ -0,0 +1,18 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeEatingHabits { + ID:uint (key); + Field_01:uint; + Field_02:uint; + Field_03:uint; + Field_04:uint; + Field_05:uint; + Field_06:uint; +} + +table PokeEatingHabitsArchive (fs_serializer) { + Table:[PokeEatingHabits] (required); +} + +root_type PokeEatingHabitsArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWaza.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWaza.fbs new file mode 100644 index 00000000..277b517e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWaza.fbs @@ -0,0 +1,55 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +table PokeFieldObstructionWaza { + Field_00:string (required); + Field_01:uint; + Field_02:uint; // None have this + Field_03:string (required); + Field_04:[string] (required); + Field_05:string (required); + Field_06:uint; + Field_07:uint; + Field_08:string (required); // Type: UInt32 AC (172) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] + Field_09:float; + Field_10:uint; // None have this + Field_11:uint; + Field_12:float; + Field_13:float; + Field_14:float; + Field_15:float; + Field_16:uint; // None have this + Field_17:uint; // None have this + Field_18:uint; // None have this + Field_19:uint; + Field_20:uint; + Field_21:float; + Field_22:uint; + Field_23:string (required); // Type: UInt32 84 (132) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] + Field_24:string (required); // Type: UInt32 78 (120) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] + Field_25:uint; // None have this + Field_26:uint; // None have this + Field_27:uint; // None have this + Field_28:uint; // None have this + Field_29:uint; + Field_30:uint; // None have this + Flag_31:bool; + Flag_32:bool; + Field_33:float; + Field_34:float; + Flag_35:bool; + Flag_36:bool; + Field_37:string (required); // Type: UInt32 60 (96) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] + Field_38:uint; + Field_39:uint; + Field_40:uint; // None have this + Field_41:uint; // None have this + Field_42:uint; // None have this + Field_43:[uint] (required); // Type: ArrayType: Byte[1] UInt16[1] UInt32[1] String[1] + Flag_44:bool; + Field_45:float; + Field_46:string (required); + Field_47:[float] (required); + Field_48:string (required); + Field_49:[float] (required); + Field_50:float; +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendArchive.fbs new file mode 100644 index 00000000..955b153d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendArchive.fbs @@ -0,0 +1,60 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaNsLegend { + Field_00:uint; + Field_01:uint; + Field_02:uint; + Field_03:uint; + Field_04:uint; + Field_05:uint; + Field_06:uint; + Field_07:uint; + Field_08:uint; + Field_09:uint; + Field_10:uint; + Field_11:uint; + Field_12:uint; + Field_13:uint; + Field_14:uint; + Field_15:uint; + Field_16:uint; + Field_17:uint; + Field_18:uint; + Field_19:uint; + Field_20:uint; + Field_21:uint; + Field_22:uint; + Field_23:uint; + Field_24:uint; + Field_25:uint; + Field_26:uint; + Field_27:uint; + Field_28:uint; + Field_29:uint; + Field_30:uint; + Field_31:uint; + Field_32:uint; + Field_33:uint; + Field_34:uint; + Field_35:uint; + Field_36:uint; + Field_37:uint; + Field_38:uint; + Field_39:uint; + Field_40:uint; + Field_41:uint; + Field_42:uint; + Field_43:uint; + Field_44:uint; + Field_45:uint; + Field_46:uint; + Field_47:uint; + Field_48:uint; +} + +table PokeFieldObstructionWazaNsLegendArchive (fs_serializer) { + Table:[PokeFieldObstructionWazaNsLegend] (required); +} + +root_type PokeFieldObstructionWazaNsLegendArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.fbs new file mode 100644 index 00000000..31a707d9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaNsLegendEffectArchive.fbs @@ -0,0 +1,51 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaNsLegendEffect { + Field_00:uint; + Field_01:uint; + Field_02:uint; + Field_03:uint; + Field_04:uint; + Field_05:uint; + Field_06:uint; + Field_07:uint; + Field_08:uint; + Field_09:uint; + Field_10:uint; + Field_11:uint; + Field_12:uint; + Field_13:uint; + Field_14:uint; + Field_15:uint; + Field_16:uint; + Field_17:uint; + Field_18:uint; + Field_19:uint; + Field_20:uint; + Field_21:uint; + Field_22:uint; + Field_23:uint; + Field_24:uint; + Field_25:uint; + Field_26:uint; + Field_27:uint; + Field_28:uint; + Field_29:uint; + Field_30:uint; + Field_31:uint; + Field_32:uint; + Field_33:uint; + Field_34:uint; + Field_35:uint; + Field_36:uint; + Field_37:uint; + Field_38:uint; + Field_39:uint; +} + +table PokeFieldObstructionWazaNsLegendEffectArchive (fs_serializer) { + Table:[PokeFieldObstructionWazaNsLegendEffect] (required); +} + +root_type PokeFieldObstructionWazaNsLegendEffectArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaSeArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaSeArchive.fbs new file mode 100644 index 00000000..76d1c2ff --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaSeArchive.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaSe { + Field_00:uint; // ? + Field_01:uint; // ? + Field_02:uint; // ? +} + +table PokeFieldObstructionWazaSeArchive (fs_serializer) { + Table:[PokeFieldObstructionWazaSe] (required); +} + +root_type PokeFieldObstructionWazaSeArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildArchive.fbs new file mode 100644 index 00000000..4a9f5f0e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildArchive.fbs @@ -0,0 +1,10 @@ +include "PokeFieldObstructionWaza.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaWildArchive (fs_serializer) { + Table:[PokeFieldObstructionWaza] (required); +} + +root_type PokeFieldObstructionWazaWildArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildEffectArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildEffectArchive.fbs new file mode 100644 index 00000000..9610da9f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildEffectArchive.fbs @@ -0,0 +1,51 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaWildEffect { + Field_00:uint; // ? + Field_01:uint; // ? + Field_02:uint; // ? + Field_03:uint; // ? + Field_04:uint; // ? + Field_05:uint; // ? + Field_06:uint; // ? + Field_07:uint; // ? + Field_08:uint; // ? + Field_09:uint; // ? + Field_10:uint; // ? + Field_11:uint; // ? + Field_12:uint; // ? + Field_13:uint; // ? + Field_14:uint; // ? + Field_15:uint; // ? + Field_16:uint; // ? + Field_17:uint; // ? + Field_18:uint; // ? + Field_19:uint; // ? + Field_20:uint; // ? + Field_21:uint; // ? + Field_22:uint; // ? + Field_23:uint; // ? + Field_24:uint; // ? + Field_25:uint; // ? + Field_26:uint; // ? + Field_27:uint; // ? + Field_28:uint; // ? + Field_29:uint; // ? + Field_30:uint; // ? + Field_31:uint; // ? + Field_32:uint; // ? + Field_33:uint; // ? + Field_34:uint; // ? + Field_35:uint; // ? + Field_36:uint; // ? + Field_37:uint; // ? + Field_38:uint; // ? + Field_39:uint; // ? +} + +table PokeFieldObstructionWazaWildEffectArchive (fs_serializer) { + Table:[PokeFieldObstructionWazaWildEffect] (required); +} + +root_type PokeFieldObstructionWazaWildEffectArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterArchive.fbs new file mode 100644 index 00000000..1cc2805d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterArchive.fbs @@ -0,0 +1,10 @@ +include "PokeFieldObstructionWaza.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaWildWaterArchive (fs_serializer) { + Table:[PokeFieldObstructionWaza] (required); +} + +root_type PokeFieldObstructionWazaWildWaterArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.fbs new file mode 100644 index 00000000..2f4216e6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeFieldObstructionWazaWildWaterEffectArchive.fbs @@ -0,0 +1,51 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeFieldObstructionWazaWildWaterEffect { + Field_00:uint; // ? + Field_01:uint; // ? + Field_02:uint; // ? + Field_03:uint; // ? + Field_04:uint; // ? + Field_05:uint; // ? + Field_06:uint; // ? + Field_07:uint; // ? + Field_08:uint; // ? + Field_09:uint; // ? + Field_10:uint; // ? + Field_11:uint; // ? + Field_12:uint; // ? + Field_13:uint; // ? + Field_14:uint; // ? + Field_15:uint; // ? + Field_16:uint; // ? + Field_17:uint; // ? + Field_18:uint; // ? + Field_19:uint; // ? + Field_20:uint; // ? + Field_21:uint; // ? + Field_22:uint; // ? + Field_23:uint; // ? + Field_24:uint; // ? + Field_25:uint; // ? + Field_26:uint; // ? + Field_27:uint; // ? + Field_28:uint; // ? + Field_29:uint; // ? + Field_30:uint; // ? + Field_31:uint; // ? + Field_32:uint; // ? + Field_33:uint; // ? + Field_34:uint; // ? + Field_35:uint; // ? + Field_36:uint; // ? + Field_37:uint; // ? + Field_38:uint; // ? + Field_39:uint; // ? +} + +table PokeFieldObstructionWazaWildWaterEffectArchive (fs_serializer) { + Table:[PokeFieldObstructionWazaWildWaterEffect] (required); +} + +root_type PokeFieldObstructionWazaWildWaterEffectArchive; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeMiscTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeMiscTable.fbs new file mode 100644 index 00000000..72367aa1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeMiscTable.fbs @@ -0,0 +1,42 @@ +include "PokeDropItem.fbs"; +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokeMisc { + Species:int; + Form:int; + Field_02:int; + ScaleFactor:float = 1; // scale factor when not alpha + AlphaScaleFactor:float = 2; // scale factor when alpha (forced 255) + Field_05:int = 1; // similar scale amplification like Field 6, but not used for levels + OybnLevelIndex:int = 2; + + DropTableRef:ulong; + DropTable:PokeDropItem; // not required + AlphaDropTableRef:ulong; + AlphaDropTable:PokeDropItem; // not required + + /// "pm0000_00_00" + Value:string (required); + + /// = { 0, 1, 2, 3 }; + Field_10:[uint] (required); + Field_11:int = 0; + Field_12:int = 4; + Field_13:int = 10; + Field_14:bool = false; + Field_15:int = 0; + Field_16:float = 0.01; + Field_17:float = 1.0; + Field_18:bool = true; // false for zubat, psyduck + Field_19:float = 0; + Field_20:float = 1.0; + Field_21:uint; // None have this + Field_22:float; +} + +table PokeMiscTable (fs_serializer) { + Table:[PokeMisc] (required); +} + +root_type PokeMiscTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeInfoList.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeInfoList.fbs new file mode 100644 index 00000000..e3498c0c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeInfoList.fbs @@ -0,0 +1,49 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +// bin/appli/res_pokemon/list/pokemon_info_list.bin + +table PokeInfo { + Species:int; + Children:[PokeInfoDetail] (required); +} + +table PokeInfoDetail { + Form:int; + Detail:[PokeInfoDetail_2] (required); +} + +table PokeInfoDetail_2 { + IsRare:bool; + Detail:[PokeInfoDetail_3] (required); +} + +table PokeInfoDetail_3 { + Unknown:bool; + Detail:[PokeInfoDetail_5] (required); +} + +table PokeInfoDetail_5 { + Gender:PokeInfoGender (required); + AssetName:string (required); +} + +enum PokeInfoGenderType : byte { + GenderDiffMale = 0, + GenderDiffFemale = 1, + Genderless = 2, + DualGenderNoDifference = 3, + MaleOnly = 4, + FemaleOnly = 5, +} + +table PokeInfoGender { + GenderValue:PokeInfoGenderType = DualGenderNoDifference; +} + +table PokeInfoList (fs_serializer) { + DefaultIcon:string (required); + Table:[PokeInfo] (required); +} + +root_type PokeInfoList; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeResourceTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeResourceTable.fbs new file mode 100644 index 00000000..02aea8fa --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Poke/PokeResource/PokeResourceTable.fbs @@ -0,0 +1,43 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +/// poke_resource_table.trpmcatalog + +table PokeResourceMeta { + Field0:int = 5; // 4 in prior game format + Field1:int = 4; // 2 in prior game format +} + +struct NullableInt32 (fs_valueStruct) { + Value:int32; +} + +table PokeModelConfig { + Meta:PokeModelMeta (required); + PathModel:string (required); + PathMeshMaterial:string (required); + PathConfig:string (required); + Unused:byte; // unused! + Animations:[AnimationConfigStringTuple] (required); + Effects:[AnimationConfigStringTuple] (required); + ArceusType:NullableInt32; // Specified by Arceus' forms -- NEW! +} + +table PokeModelMeta { + Species:ushort; + Form:ushort; + Gender:ubyte; +} + +table AnimationConfigStringTuple { + Name:string (required); + Path:string (required); +} + +table PokeResourceTable (fs_serializer) { + Meta:PokeResourceMeta (required); + Table:[PokeModelConfig] (required); +} + +root_type PokeResourceTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexDistributionTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexDistributionTable.fbs new file mode 100644 index 00000000..5cdb16d2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexDistributionTable.fbs @@ -0,0 +1,45 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokedexDistributionEntry { + Species:int (key); + Field_01:int; + Field_02:int; + Field_03:int; + Field_04:int; + Field_05:int; + Field_06:int; + Field_07:int; + Field_08:int; + Field_09:int; + Field_10:int; + Field_11:int; + Field_12:int; + Field_13:ulong; + Field_14:ulong; + Field_15:ulong; + Field_16:ulong; + Field_17:ulong; + Field_18:ulong; + Field_19:ulong; + Field_20:ulong; + Field_21:ulong; + Field_22:ulong; + Field_23:ulong; + Field_24:ulong; + Field_25:ulong; + Field_26:ulong; + Field_27:ulong; + Field_28:ulong; + Field_29:ulong; + Field_30:ulong; + Field_31:ulong; + Field_32:ulong; + Field_33:ulong; +} + +table PokedexDistributionTable (fs_serializer) { + Table:[PokedexDistributionEntry] (required); +} + +root_type PokedexDistributionTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexRankTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexRankTable.fbs new file mode 100644 index 00000000..e1352419 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexRankTable.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table PokedexRankLevel { + Rank:int; + Required:int; +} + +table PokedexRankTable (fs_serializer) { + Table:[PokedexRankLevel] (required); +} + +root_type PokedexRankTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexResearchTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexResearchTable.fbs new file mode 100644 index 00000000..cd160ff5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Pokedex/PokedexResearchTable.fbs @@ -0,0 +1,52 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +enum ResearchTaskType : int +{ + Unknown_0, + MoveTask, + DefeatTask, + Unknown_3, + Unknown_4, + Unknown_5, + Unknown_6, + Unknown_7, + Unknown_8, + Unknown_9, + Unknown_10, + Unknown_11, + Unknown_12, + Unknown_13, + Unknown_14, + Unknown_15, + Unknown_16, + Unknown_17, + Unknown_18, + Unknown_19, +} + +table PokedexResearchTask { + Species:int; + TaskType:ResearchTaskType = Unknown_0; + Threshold:int; + Move:int; + MoveType:int; + TimeOfDay:int; + Hash_06:ulong = 14695981039346656837; + Hash_07:ulong = 14695981039346656837; + Hash_08:ulong = 14695981039346656837; + Threshold1:int = 1; + Threshold2:int = 2; + Threshold3:int = 4; + Threshold4:int = 6; + Threshold5:int = 10; + PointsSingle:int = 10; + PointsBonus:int = 0; + RequiredForCompletion:bool; // Unused but referenced by code (bool is set to != 0) +} + +table PokedexResearchTable (fs_serializer) { + Table:[PokedexResearchTask] (required); +} + +root_type PokedexResearchTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/AbilityType.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/AbilityType.fbs new file mode 100644 index 00000000..539dd3f8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/AbilityType.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +enum AbilityType : int { + Any12 = 0, + Any12H = 1, + Only1 = 2, + Only2 = 3, + OnlyH = 4, +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/FlatDummyObject.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/FlatDummyObject.fbs new file mode 100644 index 00000000..2b9e997a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/FlatDummyObject.fbs @@ -0,0 +1,5 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +table FlatDummyObject { + Field_00:byte (deprecated); +} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/NatureType8a.cs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/NatureType.fbs similarity index 65% rename from pkNX.Structures.FlatBuffers/Arceus/Util/NatureType8a.cs rename to pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/NatureType.fbs index 01f0dcbb..7c662bfb 100644 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/NatureType8a.cs +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/NatureType.fbs @@ -1,12 +1,6 @@ -using FlatSharp.Attributes; +namespace pkNX.Structures.FlatBuffers.Arceus; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum NatureType8a -{ +enum NatureType : int { Random = -1, Hardy, diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/ShinyType.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/ShinyType.fbs new file mode 100644 index 00000000..ac1741c2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Shared/ShinyType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; + +enum ShinyType : int { + Random = 0, + Always = 1, + Never = 2, +} diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/CommonCaptureConfigTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/CommonCaptureConfigTable.fbs new file mode 100644 index 00000000..c78d9373 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/CommonCaptureConfigTable.fbs @@ -0,0 +1,18 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table CommonCaptureConfig { + Name:string (required); + Hash:ulong (key); + Type:int; + String_03:string (required); + String_04:string (required); + String_05:[string] (required); + String_06:[string] (required); +} + +table CommonCaptureConfigTable (fs_serializer) { + Table:[CommonCaptureConfig] (required); +} + +root_type CommonCaptureConfigTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowParamTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowParamTable.fbs new file mode 100644 index 00000000..1a20a8d5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowParamTable.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ThrowParam { + ThrowParamType:ulong (key); + + /// more speed + Velocity:float; + + /// more arc + Arc:float; + + /// higher values make it fall less, and go less forward + GravityDirection:float; + + /// higher values go straight up? + ThrowAngle:float; +} + +table ThrowParamTable (fs_serializer) { + Table:[ThrowParam] (required); +} + +root_type ThrowParamTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowPermissionSet.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowPermissionSet.fbs new file mode 100644 index 00000000..7ac852ac --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowPermissionSet.fbs @@ -0,0 +1,20 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ThrowPermissionSetEntry { + ThrowPermissionSet:ulong; + Field_01:int; + Field_02:int; + Field_03:int; + Field_04:int; // unused + Field_05:int; + Field_06:int; + Field_07:int; + Field_08:int; +} + +table ThrowPermissionSetDictionary (fs_serializer) { + Table:[ThrowPermissionSetEntry] (required); +} + +root_type ThrowPermissionSetDictionary; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableBaitParamDictionary.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableBaitParamDictionary.fbs new file mode 100644 index 00000000..e61d69e9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableBaitParamDictionary.fbs @@ -0,0 +1,19 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ThrowableBaitParamEntry { + Hash_00:ulong (key); + Field_01:string (required); + Field_02:string (required); + Field_03:string (required); + Unused:int; + Field_05:int; + Field_06:int; + Field_07:string (required); +} + +table ThrowableBaitParamDictionary (fs_serializer) { + Table:[ThrowableBaitParamEntry] (required); +} + +root_type ThrowableBaitParamDictionary; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableParamTable.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableParamTable.fbs new file mode 100644 index 00000000..a26d0c5d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableParamTable.fbs @@ -0,0 +1,24 @@ +include "ThrowPermissionSet.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ThrowableParam { + ItemID:int (key); + ItemType:ulong; + ThrowPermissionSet:ulong; + ThrowParam:ulong; + Hash_04:ulong; + Field_05:int; + Field_06:float; + Label_01:string (required); + Label_02:string (required); + Field_09:float; + Field_10:int; +} + +table ThrowableParamTable (fs_serializer) { + Table:[ThrowableParam] (required); +} + +root_type ThrowableParamTable; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceDictionary.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceDictionary.fbs new file mode 100644 index 00000000..8f5e5189 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceDictionary.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ThrowableResourceEntry { + Hash_00:ulong (key); + File:string (required); +} + +table ThrowableResourceDictionary (fs_serializer) { + Table:[ThrowableResourceEntry] (required); +} + +root_type ThrowableResourceDictionary; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceSetDictionary.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceSetDictionary.fbs new file mode 100644 index 00000000..fee6d19c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Throw/ThrowableResourceSetDictionary.fbs @@ -0,0 +1,20 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table ThrowableResourceSetEntry { + ItemType: ulong (key); + Flag: bool ; + Hash_02: ulong; + ItemCategory: ulong; + Hash_04: ulong; + HitTrajectoryType: ulong; + HitEffectType: ulong; + SoundDrop: string (required); + SoundFly: string (required); +} + +table ThrowableResourceSetDictionary (fs_serializer) { + Table:[ThrowableResourceSetEntry] (required); +} + +root_type ThrowableResourceSetDictionary; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/TrainerData.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/TrainerData.fbs new file mode 100644 index 00000000..e4b11552 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/TrainerData.fbs @@ -0,0 +1,64 @@ +include "Shared/NatureType.fbs"; + +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table TrainerData (fs_serializer) { + Hash_00:ulong; // ulong + Hash_01:ulong; // ulong + Hash_02:ulong; // ulong + Music:string (required); + EE_04:string (required); + EE_05:string (required); + EE_06:string (required); + Hash_07:ulong; // ulong + Hash_08:ulong; // ulong + Field_09:TrFloatQuad (required); + Field_10:int ; // int + Field_11:int ; // int + Field_12:int ; // int + Field_13:byte; // UNUSED? + Field_14:byte; // UNUSED? + Field_15:byte; // UNUSED? + Field_16:byte; // byte + Field_17:byte; // byte + Field_18:byte; // byte + Field_19:byte; // UNUSED? + Field_20:byte; // byte + Field_21:byte; // byte + Team:[TrainerPoke] (required); +} + +table TrainerPoke { + Species:int; + Form:int; + Move_01:WazaSet (required); + Move_02:WazaSet (required); + Move_03:WazaSet (required); + Move_04:WazaSet (required); + Level:int; + Nature:NatureType; + Gender:int; + GV_HP:int; + GV_ATK:int; + GV_DEF:int; + GV_SPE:int; + GV_SPA:int; + GV_SPD:int; + Shiny:bool; + IsOybn:bool; +} + +table WazaSet { + Move:int; + Mastered:bool; +} + +table TrFloatQuad { + Float_00:float; + Float_01:float; + Float_02:float; + Float_03:float; +} + +root_type TrainerData; diff --git a/pkNX.Structures.FlatBuffers.Arceus/Schemas/Waza.fbs b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Waza.fbs new file mode 100644 index 00000000..54d9931a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/Schemas/Waza.fbs @@ -0,0 +1,99 @@ +namespace pkNX.Structures.FlatBuffers.Arceus; +attribute "fs_serializer"; + +table Waza (fs_serializer) { + MoveID: int; + CanUseMove: bool; + Type: ubyte; + Quality: ubyte; + Category: ubyte; + Power: ubyte; + Accuracy: ubyte; + PP: ubyte; + Priority: byte; + HitMax: ubyte; + HitMin: ubyte; + Inflict: short; + InflictPercent: ubyte; + RawInflictCount: ubyte; + TurnMin: ubyte; + TurnMax: ubyte; + CritStage: ubyte; + Flinch: ubyte; + EffectSequence: ushort; + Recoil: ubyte; + RawHealing: ubyte; + RawTarget: ubyte; + Stat1: ubyte; + Stat2: ubyte; + Stat3: ubyte; + Stat1Stage: byte; + Stat2Stage: byte; + Stat3Stage: byte; + Stat1Percent: ubyte; + Stat2Percent: ubyte; + Stat3Percent: ubyte; + Stat1Duration: ubyte; + Stat2Duration: ubyte; + Stat3Duration: ubyte; + GigantamaxPower: ubyte; + Flag_MakesContact: bool; + Flag_Charge: bool; + Flag_Recharge: bool; + Flag_Protect: bool; + Flag_Reflectable: bool; + Flag_Snatch: bool; + Flag_Mirror: bool; + Flag_Punch: bool; + Flag_Sound: bool; + Flag_Gravity: bool; + Flag_Defrost: bool; + Flag_DistanceTriple: bool; + Flag_Heal: bool; + Flag_IgnoreSubstitute: bool; + Flag_FailSkyBattle: bool; + Flag_AnimateAlly: bool; + Flag_Dance: bool; + Flag_Metronome: bool; + + // New additions! + SplinterModifier: ubyte; + Status_Fixated: ubyte; + Status_Obscured: ubyte; + Status_ObscuredDuration: ubyte; + Status_Primed: ubyte; + Status_PrimedDuration: ubyte; + Status_PrimedPercent: ubyte; + Status_StanceSwap: ubyte; + Status_StanceSwapDuration: ubyte; + Status_FutureCrit: ubyte; + Status_FutureCritDuration: ubyte; + Status_FutureCritStage: ubyte; + Flag_CureDrowsy: bool; + Flag_CureFrostbite: bool; + DamagePercentStatused: int; + CanStyle: ubyte; + ActSpeedModUser: int; + ActSpeedModUserAgile: int; + ActSpeedModUserStrong: int; + ActSpeedModTarget: int; + ActSpeedModTargetAgile: int; + AgilePower: ubyte; + AgileRawHealing: ubyte; + AgileTurnMax: ubyte; + AgileEffectDuration: ubyte; + AgileStatChangeDuration: ubyte; + StrongPower: ubyte; + StrongAccuracy: ubyte; + StrongCritStage: ubyte; + StrongInflictPercent: ubyte; + StrongStat1Percent: ubyte; + StrongTurnMax: ubyte; + StrongEffectDuration: ubyte; + StrongStatChangeDuration: ubyte; + StrongRecoil: int; + StrongRawHealing: ubyte; + StrongSplinterModifier: ubyte; +} + +root_type Waza; diff --git a/pkNX.Structures.FlatBuffers.Arceus/pkNX.Structures.FlatBuffers.Arceus.csproj b/pkNX.Structures.FlatBuffers.Arceus/pkNX.Structures.FlatBuffers.Arceus.csproj new file mode 100644 index 00000000..1a7d5212 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Arceus/pkNX.Structures.FlatBuffers.Arceus.csproj @@ -0,0 +1,24 @@ + + + + net7.0 + enable + enable + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterArchive.cs b/pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterArchive.cs new file mode 100644 index 00000000..acee85f3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterArchive.cs @@ -0,0 +1,18 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.LGPE; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterSlot { } diff --git a/pkNX.Structures.FlatBuffers/Gen7/EncounterTable7bUtil.cs b/pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterTableUtil.cs similarity index 88% rename from pkNX.Structures.FlatBuffers/Gen7/EncounterTable7bUtil.cs rename to pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterTableUtil.cs index 954bd774..9da823b3 100644 --- a/pkNX.Structures.FlatBuffers/Gen7/EncounterTable7bUtil.cs +++ b/pkNX.Structures.FlatBuffers.LGPE/Gen7/EncounterTableUtil.cs @@ -1,14 +1,14 @@ using System.Collections.Generic; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.LGPE; -public static class EncounterTable7bUtil +public static class EncounterTableUtil { - public static IEnumerable GetLines(EncounterArchive7b t, string[] names, string[] species) + public static IEnumerable GetLines(EncounterArchive t, string[] names, string[] species) { - for (var i = 0; i < t.EncounterTables.Length; i++) + for (var i = 0; i < t.Table.Count; i++) { - var enc = t.EncounterTables[i]; + var enc = t.Table[i]; yield return $"{i:000} - {names[i]}"; if (enc.GroundTableEncounterRate != 0) @@ -60,7 +60,7 @@ public static IEnumerable GetLines(EncounterArchive7b t, string[] names, private static string GetSubSummary(int min, int max, int rate) => $"lv{min}-{max}, rate: {rate}"; private static string GetSubSummary(int min, int max, int rate, int count) => GetSubSummary(min, max, rate) + $", max count: {count}"; - private static IEnumerable GetLines(IReadOnlyList arr, IReadOnlyList species) + private static IEnumerable GetLines(IList arr, IReadOnlyList species) { for (var i = 0; i < arr.Count; i++) { diff --git a/pkNX.Structures.FlatBuffers/Gen7/ShopInventory.cs b/pkNX.Structures.FlatBuffers.LGPE/Gen7/ShopInventory.cs similarity index 85% rename from pkNX.Structures.FlatBuffers/Gen7/ShopInventory.cs rename to pkNX.Structures.FlatBuffers.LGPE/Gen7/ShopInventory.cs index 18bbe12a..2d6fe0bd 100644 --- a/pkNX.Structures.FlatBuffers/Gen7/ShopInventory.cs +++ b/pkNX.Structures.FlatBuffers.LGPE/Gen7/ShopInventory.cs @@ -1,30 +1,20 @@ using System.Collections.Generic; using System.ComponentModel; using System.Linq; -using FlatSharp.Attributes; -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable MemberCanBePrivate.Global + // ReSharper disable UnusedType.Global // ReSharper disable UnusedMember.Global #nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.LGPE; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ShopInventory +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ShopInventory { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class SingleShop { - [FlatBufferItem(0)] public Shop1[] Shop1 { get; set; } - [FlatBufferItem(1)] public Shop2[] Shop2 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Shop1 -{ - [FlatBufferItem(0)] public ulong Hash { get; set; } - [FlatBufferItem(1)] public Inventory Inventory { get; set; } - - public override string ToString() => $"{Hash:X16} - {Inventory}"; + public override string ToString() => $"{Hash:X16} - {Inventories}"; public readonly Dictionary LGPE = new() { @@ -43,7 +33,7 @@ public class Shop1 { 0x8E308B85B43031E8, "Battle Tower [TMs]" }, { 0xCBD67969D873539B, "Motostoke [Lower Tier, Miscellaneous]" }, { 0xCBD67869D87351E8, "Hammerlocke [South, Miscellaneous]" }, - { 0xCBD67B69D8735701, "Wyndon [South, Miscellaneous]" }, + { 0xCBD669D8735701, "Wyndon [South, Miscellaneous]" }, { 0x04D7046DA09D3C78, "Hulbury [Herb Shop]" }, { 0x4B2F9E98DDCB0707, "Hulbury [Incense Shop]" }, { 0xE379CDF67A297070, "Wedgehurst [Berry Shop]" }, @@ -129,12 +119,9 @@ public class Shop1 }; } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Shop2 +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class MultiShop { - [FlatBufferItem(0)] public ulong Hash { get; set; } - [FlatBufferItem(1)] public Inventory[] Inventories { get; set; } - public override string ToString() => $"{Hash:X16} - {string.Join(", ", Inventories.Select(z => z.ToString()))}"; public readonly Dictionary LGPE = new() @@ -149,10 +136,8 @@ public class Shop2 }; } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Inventory +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class Inventory { - [FlatBufferItem(0)] public int[] Items { get; set; } - public override string ToString() => $"{string.Join(",", Items.Select(z => z.ToString()))}"; } diff --git a/pkNX.Structures.FlatBuffers.LGPE/Schemas/shop.fbs b/pkNX.Structures.FlatBuffers.LGPE/Schemas/shop.fbs new file mode 100644 index 00000000..6e4b6dd4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.LGPE/Schemas/shop.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.LGPE; +attribute "fs_serializer"; + +table ShopInventory (fs_serializer) { + Single:[SingleShop] (required); + Multi:[MultiShop] (required); +} + +table SingleShop { + Hash:ulong; + Inventories:Inventory (required); +} + +table MultiShop +{ + Hash:ulong; + Inventories:[Inventory] (required); +} + +table Inventory { + Items:[int] (required); +} + +root_type ShopInventory; diff --git a/pkNX.Structures.FlatBuffers.LGPE/Schemas/wild.fbs b/pkNX.Structures.FlatBuffers.LGPE/Schemas/wild.fbs new file mode 100644 index 00000000..844ff372 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.LGPE/Schemas/wild.fbs @@ -0,0 +1,65 @@ +namespace pkNX.Structures.FlatBuffers.LGPE; +attribute "fs_serializer"; + +table EncounterArchive (fs_serializer) { + Table:[EncounterTable] (required); +} + +table EncounterTable { + ZoneID:ulong; + TrainerRankMin:int; + TrainerRankMax:int; + + GroundSpawnAllowed:bool; + GroundSpawnCountMax:int; + GroundSpawnDuration:int; + GroundTableEncounterRate:int; + GroundTableLevelMin:int; + GroundTableLevelMax:int; + GroundTableRandChanceTotal:int; + GroundTable:[EncounterSlot] (required); + + WaterSpawnAllowed:bool; + WaterSpawnCountMax:int; + WaterSpawnDuration:int; + WaterTableEncounterRate:int; + WaterTableLevelMin:int; + WaterTableLevelMax:int; + WaterTableRandChanceTotal:int; + WaterTable:[EncounterSlot] (required); + + OldRodTableEncounterRate:int; + OldRodTableLevelMin:int; + OldRodTableLevelMax:int; + OldRodTableRandChanceTotal:int; + OldRodTable:[EncounterSlot] (required); + + GoodRodTableEncounterRate:int; + GoodRodTableLevelMin:int; + GoodRodTableLevelMax:int; + GoodRodTableRandChanceTotal:int; + GoodRodTable:[EncounterSlot] (required); + + SuperRodTableEncounterRate:int; + SuperRodTableLevelMin:int; + SuperRodTableLevelMax:int; + SuperRodTableRandChanceTotal:int; + SuperRodTable:[EncounterSlot] (required); + + SkySpawnAllowed:bool; + SkySpawnCountMax:int; + SkySpawnDuration:int; + SkyTableEncounterRate:int; + SkyTableLevelMin:int; + SkyTableLevelMax:int; + SkyTableRandChanceTotal:int; + SkyTable:[EncounterSlot] (required); +} + +table EncounterSlot { + Probability:int; + Species:int; + Form:short; +} + +root_type EncounterArchive; diff --git a/pkNX.Structures.FlatBuffers.LGPE/pkNX.Structures.FlatBuffers.LGPE.csproj b/pkNX.Structures.FlatBuffers.LGPE/pkNX.Structures.FlatBuffers.LGPE.csproj new file mode 100644 index 00000000..9d5cdf4f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.LGPE/pkNX.Structures.FlatBuffers.LGPE.csproj @@ -0,0 +1,20 @@ + + + + net7.0 + enable + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/pkNX.Structures.FlatBuffers.Reflection/ReflectionDumpSchema.cs b/pkNX.Structures.FlatBuffers.Reflection/ReflectionDumpSchema.cs new file mode 100644 index 00000000..7bd00331 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Reflection/ReflectionDumpSchema.cs @@ -0,0 +1,225 @@ +using System; +using System.IO; +using System.Linq; +using FlatSharp; + +namespace pkNX.Structures.FlatBuffers.Reflection; + +public static class SchemaDump +{ + /// + /// Exports fbs, cs + /// + /// + /// + /// + /// + public static Schema HandleReflection(byte[] data, string filePath, string dir, SchemaDumpSettings settings) + { + var schema = Schema.Serializer.Parse(data, FlatBufferDeserializationOption.Greedy); + DumpSchema(schema, filePath, dir, settings); + return schema; + } + + public static void DumpSchema(Schema schema, string filePath, string dir, SchemaDumpSettings settings) + { + var rootName = schema.RootTable?.Name ?? Path.GetFileNameWithoutExtension(filePath); + + var fileCS = Path.Combine(dir, $"{rootName}.cs"); + using var fsCS = File.Create(fileCS); + using var cs = new StreamWriter(fsCS); + + var fileFBS = Path.Combine(dir, $"{rootName}.cs"); + using var fsFBS = File.Create(fileFBS); + using var fbs = new StreamWriter(fsFBS); + + DumpSchema(schema, fbs, cs, settings); + } + + public static void DumpSchema(byte[] data, TextWriter fbs, TextWriter cs, SchemaDumpSettings settings) + { + var schema = Schema.Serializer.Parse(data, FlatBufferDeserializationOption.Greedy); + DumpSchema(schema, fbs, cs, settings); + } + + public static void DumpSchema(Schema schema, TextWriter fbs, TextWriter cs, SchemaDumpSettings settings) + { + WriteHeaderFBS(schema, fbs, settings.FileNamespace); + WriteHeaderCS(schema, cs, settings.FileNamespace); + + DumpObjects(schema, fbs, cs, settings.StripNamespace); + DumpEnums(schema, fbs, settings.StripNamespace); + } + + private static void WriteHeaderFBS(Schema schema, TextWriter fbs, string fileNameSpace) + { + fbs.WriteLine("attribute \"fs_vector\""); + fbs.WriteLine("attribute \"fs_serializer\""); + fbs.WriteLine("attribute \"fs_valueStruct\""); + fbs.WriteLine("attribute \"fs_nonVirtual\""); + fbs.WriteLine("attribute \"fs_unsafeStructVector\""); + fbs.WriteLine(); + fbs.WriteLine($"namespace {fileNameSpace};"); + fbs.WriteLine(); + fbs.WriteLine("// Generated by FlatSharp"); + fbs.WriteLine($"// FileIdentifier: {schema.FileIdent}"); + fbs.WriteLine($"// FileExtension: {schema.FileExt}"); + fbs.WriteLine($"// Object Count: {schema.Objects.Count}"); + fbs.WriteLine($"// Enum Count: {schema.Enums.Count}"); + + if (schema.RootTable?.Name is { } x) + fbs.WriteLine($"root_type {x};"); + } + + private static void WriteHeaderCS(Schema schema, TextWriter cs, string fileNameSpace) + { + cs.WriteLine("using System.Collections.Generic;"); + cs.WriteLine("using System.ComponentModel;"); + cs.WriteLine("using FlatSharp.Attributes;"); + cs.WriteLine("// ReSharper disable UnusedMember.Global"); + cs.WriteLine("// ReSharper disable ClassNeverInstantiated.Global"); + cs.WriteLine("// ReSharper disable UnusedType.Global"); + cs.WriteLine("#nullable disable"); + cs.WriteLine(); + cs.WriteLine($"namespace {fileNameSpace};"); + cs.WriteLine(); + cs.WriteLine("// Generated by FlatSharp"); + cs.WriteLine($"// FileIdentifier: {schema.FileIdent}"); + cs.WriteLine($"// FileExtension: {schema.FileExt}"); + cs.WriteLine($"// Object Count: {schema.Objects.Count}"); + cs.WriteLine($"// Enum Count: {schema.Enums.Count}"); + cs.WriteLine($"// Root Type: {schema.RootTable?.Name ?? "None Specified"}"); + } + + private static ReadOnlySpan GetName(ReadOnlySpan defName, bool stripNamespace) + { + if (!stripNamespace) + return defName; + var idx = defName.LastIndexOf('.'); + return idx < 0 ? defName : defName[(idx + 1)..]; + } + + private static void DumpObjects(Schema schema, TextWriter fbs, TextWriter cs, bool stripNamespace) + { + var list = schema.Objects; + for (var i = list.Count - 1; i >= 0; i--) + { + var obj = list[i]; + + cs.WriteLine(); + cs.WriteLine("[TypeConverter(typeof(ExpandableObjectConverter))]"); + cs.WriteLine($"public partial {(obj.IsStruct ? "struct" : "class")} {GetName(obj.Name, stripNamespace)} {{ }}"); + + DumpObjectFBS(schema, fbs, stripNamespace, obj); + } + } + + private static void DumpObjectFBS(Schema schema, TextWriter fbs, bool stripNamespace, Object def) + { + fbs.WriteLine(); + fbs.Write(def.IsStruct ? "struct" : "table"); + fbs.Write(" "); + fbs.Write(GetName(def.Name, stripNamespace)); + if (schema.RootTable?.Name == def.Name) + fbs.Write(" (fs_serializer)"); + fbs.WriteLine(" {"); // end of class header + + // Write fields to fbs + foreach (var field in def.Fields.OrderBy(z => z.Id)) + { + fbs.Write(" "); + fbs.Write(field.Name); + fbs.Write(":"); + fbs.Write(field.Type.ToFBS(schema, field.Id)); + + WriteAttributes(fbs, field); + + fbs.WriteLine(";"); // end of line + } + fbs.WriteLine("}"); + } + + private static void WriteAttributes(TextWriter fbs, Field field) + { + bool any = false; + + void Write(string value) + { + fbs.Write(!any ? " (" : ", "); + fbs.Write(value); + any = true; + } + + if (field.Key) + Write("key"); + if (field.Required) + Write("required"); + if (field.Optional) + Write("optional"); + if (field.Deprecated) + Write("deprecated"); + + if (any) + fbs.Write(")"); + } + + private static void DumpEnums(Schema schema, TextWriter fbs, bool stripNamespace) + { + var list = schema.Enums; + for (var i = 0; i < list.Count; i++) + { + var def = list[i]; + fbs.WriteLine(); + + var typeName = def.UnderlyingType.ToFBS(schema, i, true); + var implType = $" : {typeName}"; + var defName = GetName(def.Name, stripNamespace); + fbs.WriteLine($"enum {defName}{implType}"); + fbs.WriteLine("{"); + { + for (int j = 0; j < def.Values.Count; j++) + { + var value = def.Values[j]; + fbs.WriteLine($" {j} = {value},"); + } + } + fbs.WriteLine("}"); + } + } + + private static string ToFBS(this Type type, Schema schema, int index, bool force = false) + { + if (index != -1) + { + var idx = type.Index; + if (type.BaseType == BaseType.Array) + return $"[{GetName(schema, idx, type.Element)}]"; + if (type.BaseType == BaseType.Vector) + return $"[{GetName(schema, idx, type.Element)}]"; + if (type.BaseType == BaseType.Obj) + return $"{schema.Objects[idx].Name}"; + if (!force) + return $"{schema.Enums[idx].Name}"; + } + + var baseType = type.BaseType; + if (baseType is BaseType.Array) + return $"[{GetName(type.Element)}]"; + if (baseType is BaseType.Vector) + return $"[{GetName(type.Element)}]"; + + var x = GetName(baseType); + if (type.Element != BaseType.None) + return $"[{x}]"; + return x; + } + + public static string GetName(BaseType type) => type.ToString().ToLower(); + + private static string GetName(Schema schema, int idx, BaseType type) + { + if (type is BaseType.Obj) + return schema.Objects[idx].Name; + return schema.Enums[idx].Name; + } +} diff --git a/pkNX.Structures.FlatBuffers.Reflection/SchemaDump.cs b/pkNX.Structures.FlatBuffers.Reflection/SchemaDump.cs new file mode 100644 index 00000000..6590c002 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Reflection/SchemaDump.cs @@ -0,0 +1,221 @@ +using System; +using System.IO; +using System.Linq; +using FlatSharp; + +namespace pkNX.Structures.FlatBuffers.Reflection; + +/// +/// Exports fbs, cs +/// +public static class SchemaDumpOld +{ + public static Schema HandleReflection(byte[] data, string filePath, string dir, SchemaDumpSettings settings) + { + var schema = Schema.Serializer.Parse(data, FlatBufferDeserializationOption.Greedy); + DumpSchema(schema, filePath, dir, settings); + return schema; + } + + public static void DumpSchema(Schema schema, string filePath, string dir, SchemaDumpSettings settings) + { + var rootName = schema.RootTable?.Name ?? Path.GetFileNameWithoutExtension(filePath); + + var fileCS = Path.Combine(dir, $"{rootName}.cs"); + using var fsCS = File.Create(fileCS); + using var cs = new StreamWriter(fsCS); + + var fileFBS = Path.Combine(dir, $"{rootName}.cs"); + using var fsFBS = File.Create(fileFBS); + using var fbs = new StreamWriter(fsFBS); + + DumpSchema(schema, fbs, cs, settings); + } + + public static void DumpSchema(byte[] data, TextWriter fbs, TextWriter cs, SchemaDumpSettings settings) + { + var schema = Schema.Serializer.Parse(data, FlatBufferDeserializationOption.Greedy); + DumpSchema(schema, fbs, cs, settings); + } + + public static void DumpSchema(Schema schema, TextWriter fbs, TextWriter cs, SchemaDumpSettings settings) + { + WriteHeaderFBS(schema, fbs, settings.FileNamespace); + WriteHeaderCS(schema, cs, settings.FileNamespace); + + DumpObjects(schema, fbs, cs, settings.StripNamespace); + DumpEnums(schema, fbs, settings.StripNamespace); + } + + private static void WriteHeaderFBS(Schema schema, TextWriter fbs, string fileNameSpace) + { + fbs.WriteLine("attribute \"fs_vector\""); + fbs.WriteLine("attribute \"fs_serializer\""); + fbs.WriteLine("attribute \"fs_valueStruct\""); + fbs.WriteLine("attribute \"fs_nonVirtual\""); + fbs.WriteLine("attribute \"fs_unsafeStructVector\""); + fbs.WriteLine(); + fbs.WriteLine($"namespace {fileNameSpace};"); + fbs.WriteLine(); + fbs.WriteLine("// Generated by FlatSharp"); + fbs.WriteLine($"// FileIdentifier: {schema.FileIdent}"); + fbs.WriteLine($"// FileExtension: {schema.FileExt}"); + fbs.WriteLine($"// Object Count: {schema.Objects.Count}"); + fbs.WriteLine($"// Enum Count: {schema.Enums.Count}"); + + if (schema.RootTable?.Name is { } x) + fbs.WriteLine($"root_type {x};"); + } + + private static void WriteHeaderCS(Schema schema, TextWriter cs, string fileNameSpace) + { + cs.WriteLine("using System.Collections.Generic;"); + cs.WriteLine("using System.ComponentModel;"); + cs.WriteLine("using FlatSharp.Attributes;"); + cs.WriteLine("// ReSharper disable UnusedMember.Global"); + cs.WriteLine("// ReSharper disable ClassNeverInstantiated.Global"); + cs.WriteLine("// ReSharper disable UnusedType.Global"); + cs.WriteLine("#nullable disable"); + cs.WriteLine(); + cs.WriteLine($"namespace {fileNameSpace};"); + cs.WriteLine(); + cs.WriteLine("// Generated by FlatSharp"); + cs.WriteLine($"// FileIdentifier: {schema.FileIdent}"); + cs.WriteLine($"// FileExtension: {schema.FileExt}"); + cs.WriteLine($"// Object Count: {schema.Objects.Count}"); + cs.WriteLine($"// Enum Count: {schema.Enums.Count}"); + cs.WriteLine($"// Root Type: {schema.RootTable?.Name ?? "None Specified"}"); + } + + private static ReadOnlySpan GetName(ReadOnlySpan defName, bool stripNamespace) + { + if (!stripNamespace) + return defName; + var idx = defName.LastIndexOf('.'); + return idx < 0 ? defName : defName[(idx + 1)..]; + } + + private static void DumpObjects(Schema schema, TextWriter fbs, TextWriter cs, bool stripNamespace) + { + var list = schema.Objects; + for (var i = list.Count - 1; i >= 0; i--) + { + var obj = list[i]; + + cs.WriteLine(); + cs.WriteLine("[TypeConverter(typeof(ExpandableObjectConverter))]"); + cs.WriteLine($"public partial {(obj.IsStruct ? "struct" : "class")} {GetName(obj.Name, stripNamespace)} {{ }}"); + + DumpObjectFBS(schema, fbs, stripNamespace, obj); + } + } + + private static void DumpObjectFBS(Schema schema, TextWriter fbs, bool stripNamespace, Object def) + { + fbs.WriteLine(); + fbs.Write(def.IsStruct ? "struct" : "table"); + fbs.Write(" "); + fbs.Write(GetName(def.Name, stripNamespace)); + if (schema.RootTable?.Name == def.Name) + fbs.Write(" (fs_serializer)"); + fbs.WriteLine(" {"); // end of class header + + // Write fields to fbs + foreach (var field in def.Fields.OrderBy(z => z.Id)) + { + fbs.Write(" "); + fbs.Write(field.Name); + fbs.Write(":"); + fbs.Write(field.Type.ToFBS(schema, field.Id)); + + WriteAttributes(fbs, field); + + fbs.WriteLine(";"); // end of line + } + fbs.WriteLine("}"); + } + + private static void WriteAttributes(TextWriter fbs, Field field) + { + bool any = false; + + void Write(string value) + { + fbs.Write(!any ? " (" : ", "); + fbs.Write(value); + any = true; + } + + if (field.Key) + Write("key"); + if (field.Required) + Write("required"); + if (field.Optional) + Write("optional"); + if (field.Deprecated) + Write("deprecated"); + + if (any) + fbs.Write(")"); + } + + private static void DumpEnums(Schema schema, TextWriter fbs, bool stripNamespace) + { + var list = schema.Enums; + for (var i = 0; i < list.Count; i++) + { + var def = list[i]; + fbs.WriteLine(); + + var typeName = def.UnderlyingType.ToFBS(schema, i, true); + var implType = $" : {typeName}"; + var defName = GetName(def.Name, stripNamespace); + fbs.WriteLine($"enum {defName}{implType}"); + fbs.WriteLine("{"); + { + for (int j = 0; j < def.Values.Count; j++) + { + var value = def.Values[j]; + fbs.WriteLine($" {j} = {value},"); + } + } + fbs.WriteLine("}"); + } + } + + private static string ToFBS(this Type type, Schema schema, int index, bool force = false) + { + if (index != -1) + { + var idx = type.Index; + if (type.BaseType == BaseType.Array) + return $"[{GetName(schema, idx, type.Element)}]"; + if (type.BaseType == BaseType.Vector) + return $"[{GetName(schema, idx, type.Element)}]"; + if (type.BaseType == BaseType.Obj) + return $"{schema.Objects[idx].Name}"; + if (!force) + return $"{schema.Enums[idx].Name}"; + } + + var baseType = type.BaseType; + if (baseType is BaseType.Array) + return $"[{GetName(type.Element)}]"; + if (baseType is BaseType.Vector) + return $"[{GetName(type.Element)}]"; + + var x = GetName(baseType); + if (type.Element != BaseType.None) + return $"[{x}]"; + return x; + } + + public static string GetName(BaseType type) => type.ToString().ToLower(); + + private static string GetName(Schema schema, int idx, BaseType type) + { + if (type is BaseType.Obj) + return schema.Objects[idx].Name; + return schema.Enums[idx].Name; + } +} diff --git a/pkNX.Structures.FlatBuffers.Reflection/SchemaDumpSettings.cs b/pkNX.Structures.FlatBuffers.Reflection/SchemaDumpSettings.cs new file mode 100644 index 00000000..dbb329d3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Reflection/SchemaDumpSettings.cs @@ -0,0 +1,10 @@ +namespace pkNX.Structures.FlatBuffers.Reflection; + +/// +/// Dumps a to a fbs and C# file. +/// +public sealed record SchemaDumpSettings +{ + public bool StripNamespace { get; set; } = true; + public string FileNamespace { get; set; } = "pkNX.Structures.FlatBuffers"; +} diff --git a/pkNX.Structures.FlatBuffers.Reflection/Schemas/reflection.fbs b/pkNX.Structures.FlatBuffers.Reflection/Schemas/reflection.fbs new file mode 100644 index 00000000..327f4f13 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Reflection/Schemas/reflection.fbs @@ -0,0 +1,161 @@ +// The original file can be found at https://github.com/google/flatbuffers/blob/0a80646371179f8a7a5c1f42c31ee1d44dcf6709/reflection/reflection.fbs. +// The file was then adapted by FlatSharpDelta with revisions below: +// - In the table EnumVal, the field named "object" has been renamed to "_object". Without this change, FlatSharp won't generate valid C# code because "object" is a C# keyword. +// - Added the "fs_serializer" attribute to the "Schema" table. This is required in order for FlatSharp to generate a serializer. +// - Added the "fs_sortedVector" attribute to the "objects" and "enums" fields in the "Schema" table. This is to sort the objects/enums by name, which is what the FlatSharp compiler expects. + +// This schema defines objects that represent a parsed schema, like +// the binary version of a .fbs file. +// This could be used to operate on unknown FlatBuffers at runtime. +// It can even ... represent itself (!) + +namespace pkNX.Structures.FlatBuffers.Reflection; + +attribute "fs_serializer"; +attribute "fs_sortedVector"; + +// These must correspond to the enum in idl.h. +enum BaseType : byte { + None, + UType, + Bool, + Byte, + UByte, + Short, + UShort, + Int, + UInt, + Long, + ULong, + Float, + Double, + String, + Vector, + Obj, // Used for tables & structs. + Union, + Array, + + // Add any new type above this value. + MaxBaseType +} + +table Type { + base_type:BaseType; + element:BaseType = None; // Only if base_type == Vector + // or base_type == Array. + index:int = -1; // If base_type == Object, index into "objects" below. + // If base_type == Union, UnionType, or integral derived + // from an enum, index into "enums" below. + // If base_type == Vector && element == Union or UnionType. + fixed_length:uint16 = 0; // Only if base_type == Array. + /// The size (octets) of the `base_type` field. + base_size:uint = 4; // 4 Is a common size due to offsets being that size. + /// The size (octets) of the `element` field, if present. + element_size:uint = 0; +} + +table KeyValue { + key:string (required, key); + value:string; +} + +table EnumVal { + name:string (required); + value:long (key); + _object:Object (deprecated); + union_type:Type; + documentation:[string]; +} + +table Enum { + name:string (required, key); + values:[EnumVal] (required); // In order of their values. + is_union:bool = false; + underlying_type:Type (required); + attributes:[KeyValue]; + documentation:[string]; + /// File that this Enum is declared in. + declaration_file: string; +} + +table Field { + name:string (required, key); + type:Type (required); + id:ushort; + offset:ushort; // Offset into the vtable for tables, or into the struct. + default_integer:long = 0; + default_real:double = 0.0; + deprecated:bool = false; + required:bool = false; + key:bool = false; + attributes:[KeyValue]; + documentation:[string]; + optional:bool = false; + /// Number of padding octets to always add after this field. Structs only. + padding:uint16 = 0; +} + +table Object { // Used for both tables and structs. + name:string (required, key); + fields:[Field] (required, fs_sortedVector); // Sorted. + is_struct:bool = false; + minalign:int; + bytesize:int; // For structs. + attributes:[KeyValue]; + documentation:[string]; + /// File that this Object is declared in. + declaration_file: string; +} + +table RPCCall { + name:string (required, key); + request:Object (required); // must be a table (not a struct) + response:Object (required); // must be a table (not a struct) + attributes:[KeyValue]; + documentation:[string]; +} + +table Service { + name:string (required, key); + calls:[RPCCall]; + attributes:[KeyValue]; + documentation:[string]; + /// File that this Service is declared in. + declaration_file: string; +} + +/// New schema language features that are not supported by old code generators. +enum AdvancedFeatures : ulong (bit_flags) { + AdvancedArrayFeatures, + AdvancedUnionFeatures, + OptionalScalars, + DefaultVectorsAndStrings, +} + +/// File specific information. +/// Symbols declared within a file may be recovered by iterating over all +/// symbols and examining the `declaration_file` field. +table SchemaFile { + /// Filename, relative to project root. + filename:string (required, key); + /// Names of included files, relative to project root. + included_filenames:[string]; +} + +table Schema (fs_serializer) { + objects:[Object] (required, fs_sortedVector); // Sorted. + enums:[Enum] (required, fs_sortedVector); // Sorted. + file_ident:string; + file_ext:string; + root_table:Object; + services:[Service]; // Sorted. + advanced_features:AdvancedFeatures; + /// All the files used in this compilation. Files are relative to where + /// flatc was invoked. + fbs_files:[SchemaFile]; // Sorted. +} + +root_type Schema; + +file_identifier "BFBS"; +file_extension "bfbs"; diff --git a/pkNX.Structures.FlatBuffers.Reflection/pkNX.Structures.FlatBuffers.Reflection.csproj b/pkNX.Structures.FlatBuffers.Reflection/pkNX.Structures.FlatBuffers.Reflection.csproj new file mode 100644 index 00000000..955ee4e5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.Reflection/pkNX.Structures.FlatBuffers.Reflection.csproj @@ -0,0 +1,20 @@ + + + + net7.0 + enable + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/pkNX.Structures.FlatBuffers/Dumpers/PersonalDumperSV.cs b/pkNX.Structures.FlatBuffers.SV/Dumpers/PersonalDumperSV.cs similarity index 97% rename from pkNX.Structures.FlatBuffers/Dumpers/PersonalDumperSV.cs rename to pkNX.Structures.FlatBuffers.SV/Dumpers/PersonalDumperSV.cs index 55a7feb7..0ec16fc4 100644 --- a/pkNX.Structures.FlatBuffers/Dumpers/PersonalDumperSV.cs +++ b/pkNX.Structures.FlatBuffers.SV/Dumpers/PersonalDumperSV.cs @@ -4,7 +4,7 @@ using System.Linq; #nullable disable // meh -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV; public class PersonalDumperSV { @@ -109,7 +109,7 @@ private void AddZukan(List lines, int entry) lines.Add(ZukanB[entry].Replace("\\n", " ")); } - private void AddLearnsets(PersonalInfo9SVfb fb, List lines, string specCode) + private void AddLearnsets(PersonalInfo fb, List lines, string specCode) { var learn = fb.Learnset; lines.Add("Level Up Moves:"); @@ -126,7 +126,7 @@ private void AddLearnsets(PersonalInfo9SVfb fb, List lines, string specC if (TMIndexes.Length != 0) { var tmMoveIDs = fb.TechnicalMachine; - if (tmMoveIDs.Length != 0) + if (tmMoveIDs.Count != 0) { lines.Add("TM Learn:"); foreach (var move in tmMoveIDs.OrderBy(z => Array.IndexOf(TMIndexes, z))) @@ -142,7 +142,7 @@ private void AddLearnsets(PersonalInfo9SVfb fb, List lines, string specC { var egg = fb.EggMoves; - if (egg.Length != 0) + if (egg.Count != 0) { lines.Add("Egg Moves:"); foreach (var move in egg) @@ -154,7 +154,7 @@ private void AddLearnsets(PersonalInfo9SVfb fb, List lines, string specC } { var tmMoveIDs = fb.ReminderMoves; - if (tmMoveIDs.Length != 0) + if (tmMoveIDs.Count != 0) { lines.Add("Reminder:"); foreach (var move in tmMoveIDs) @@ -166,10 +166,10 @@ private void AddLearnsets(PersonalInfo9SVfb fb, List lines, string specC } } - private void AddEvolutions(PersonalInfo9SVfb fb, List lines) + private void AddEvolutions(PersonalInfo fb, List lines) { var evo = fb.Evolutions; - if (evo.Length == 0) + if (evo.Count == 0) return; foreach (var z in evo) diff --git a/pkNX.Structures.FlatBuffers/Util/FlatDummyEntry.cs b/pkNX.Structures.FlatBuffers.SV/FlatDummyEntry.cs similarity index 68% rename from pkNX.Structures.FlatBuffers/Util/FlatDummyEntry.cs rename to pkNX.Structures.FlatBuffers.SV/FlatDummyEntry.cs index 233a516b..dd704a7a 100644 --- a/pkNX.Structures.FlatBuffers/Util/FlatDummyEntry.cs +++ b/pkNX.Structures.FlatBuffers.SV/FlatDummyEntry.cs @@ -1,12 +1,11 @@ using System; using System.ComponentModel; -using FlatSharp.Attributes; + // ReSharper disable ClassNeverInstantiated.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FlatDummyEntry +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class FlatDummyEntry { // Throw on ctor as all arrays of this object type should never have any entries. public FlatDummyEntry() => throw new ArgumentException("Cannot create an instance of a dummy object."); diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileDescriptors.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileDescriptors.cs new file mode 100644 index 00000000..75021eeb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileDescriptors.cs @@ -0,0 +1,62 @@ +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.SV.Trinity; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityFileDescriptors +{ + public ulong GetSubFileIndex(ulong hash) + { + var index = BinarySearch(hash); + Debug.Assert((uint)index < SubFileHashes.Count); + return SubFileInfos[index].Index; + } + + public bool GetHasSubFile(ulong hash) + { + var index = BinarySearch(hash); + return index >= 0; + } + + private int BinarySearch(ulong hash) + { + var arr = SubFileHashes; + var lo = 0; + var hi = arr.Count - 1; + while (lo <= hi) + { + var mid = lo + (hi - lo >> 1); + var midVal = arr[mid]; + if (midVal < hash) + lo = mid + 1; + else if (midVal > hash) + hi = mid - 1; + else + return mid; + } + return -1; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityFileDescriptorSubFileInfo +{ +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityFileDescriptorInfo +{ +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityFileDescriptorSubFileUnknown +{ +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemManager.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemManager.cs similarity index 81% rename from pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemManager.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemManager.cs index 0f440802..4b67540e 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemManager.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemManager.cs @@ -1,14 +1,15 @@ using System; using System.Diagnostics; using System.IO; +using FlatSharp; using pkNX.Containers; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV.Trinity; /// /// Wrapper object that extracts raw data from a Trinity Pack Filesystem file. /// -public class TrinityFileSystemManager : IDisposable, IFileInternal +public sealed class TrinityFileSystemManager : IDisposable, IFileInternal { private readonly BinaryReader Reader; private readonly TrinityFileDescriptors FileData; @@ -31,11 +32,12 @@ public TrinityFileSystemManager(string pathFs, string pathFd) // Extract the meta FlatBuffer var dataMetaFB = br.ReadBytes((int)(totalLength - ofsMetaFB)); - var meta = FlatBufferConverter.DeserializeFrom(dataMetaFB); + var meta = TrinityFileSystemMetadata.Serializer.Parse(dataMetaFB, FlatBufferDeserializationOption.Progressive); // Read the trpfd - var fd = FlatBufferConverter.DeserializeFrom(pathFd); - Debug.Assert(meta.FileHashes.Length == fd.FileInfos.Length); + var dataFd = File.ReadAllBytes(pathFd); + var fd = TrinityFileDescriptors.Serializer.Parse(dataFd, FlatBufferDeserializationOption.Progressive); + Debug.Assert(meta.FileHashes.Count == fd.FileInfos.Count); Reader = br; FileData = fd; @@ -47,7 +49,7 @@ public void Dispose() Reader.Dispose(); } - public int FileCount => FileData.FilePaths.Length; + public int FileCount => FileData.FilePaths.Count; public string GetPackPath(int packIndex) => FileData.FilePaths[packIndex]; public byte[] GetData(ulong offset, ulong length) @@ -59,7 +61,7 @@ public byte[] GetData(ulong offset, ulong length) public TrinityPak GetPak(int index) { var data = GetPakData(index); - return FlatBufferConverter.DeserializeFrom(data); + return TrinityPak.Serializer.Parse(data); } public byte[] GetPakData(int index) diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemMetadata.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemMetadata.cs new file mode 100644 index 00000000..e77caec8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityFileSystemMetadata.cs @@ -0,0 +1,44 @@ +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.SV.Trinity; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityFileSystemMetadata +{ + public ulong GetFileOffset(ulong hashFnv) + { + var index = BinarySearch(hashFnv); + if (index < 0) + throw new ArgumentException(null, nameof(hashFnv)); + return FileOffsets[index]; + } + + public bool HasFile(ulong hashFnv) => BinarySearch(hashFnv) >= 0; + + private int BinarySearch(ulong hash) + { + var arr = FileHashes; + var lo = 0; + var hi = arr.Count - 1; + while (lo <= hi) + { + var mid = lo + (hi - lo >> 1); + var midVal = arr[mid]; + if (midVal < hash) + lo = mid + 1; + else if (midVal > hash) + hi = mid - 1; + else + return mid; + } + return -1; + } +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPak.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPak.cs new file mode 100644 index 00000000..ed49fe58 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPak.cs @@ -0,0 +1,61 @@ +using System; +using System.ComponentModel; +using System.Diagnostics; +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.SV.Trinity; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityPak +{ + public TrinityPakFileData GetFileData(ulong hash) + { + var index = BinarySearch(hash); + Debug.Assert((uint)index < Hashes.Count); + return Files[index]; + } + + private int BinarySearch(ulong hash) + { + var arr = Hashes; + var lo = 0; + var hi = arr.Count - 1; + while (lo <= hi) + { + var mid = lo + (hi - lo >> 1); + var midVal = arr[mid]; + if (midVal < hash) + lo = mid + 1; + else if (midVal > hash) + hi = mid - 1; + else + return mid; + } + return -1; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class TrinityPakFileData +{ + public byte[] GetUncompressedData() => CompressionType switch + { // TODO: What specific ID is zlib? + 3 => Oodle.Decompress(Data.Span, (long)UncompressedSize)!, // Oodle + 0xFF => Data.ToArray(), // Uncompressed + _ => throw new ArgumentException($"Unknown compression type {CompressionType}"), + }; + + public ReadOnlySpan GetUncompressedDataReadOnly() => CompressionType switch + { // TODO: What specific ID is zlib? + 3 => Oodle.Decompress(Data.Span, (long)UncompressedSize)!, // Oodle + 0xFF => Data.ToArray(), // Uncompressed + _ => throw new ArgumentException($"Unknown compression type {CompressionType}"), + }; +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPakExtractor.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPakExtractor.cs similarity index 93% rename from pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPakExtractor.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPakExtractor.cs index a281a636..869608aa 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPakExtractor.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Archive/TrinityPakExtractor.cs @@ -1,8 +1,10 @@ using System; using System.IO; +using FlatSharp; using pkNX.Containers; +using pkNX.Structures.FlatBuffers.SV.Trinity; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV; public static class TrinityPakExtractor { @@ -45,13 +47,13 @@ private static void ExportArc(TrinityFileSystemManager reader, int packIndex, st var outexpakdir = Path.Combine(outexdir, packFilePath); Directory.CreateDirectory(outexpakdir); - var trpak = FlatBufferConverter.DeserializeFrom(data); + var trpak = FlatBufferConverter.DeserializeFrom(data, FlatBufferDeserializationOption.Lazy); ExtractPack(trpak, outexpakdir); } private static void ExtractPack(TrinityPak trpak, string outexpakdir) { - for (var i = 0; i < trpak.Files.Length; i++) + for (var i = 0; i < trpak.Files.Count; i++) WriteFile(trpak.Files[i], trpak.Hashes[i], outexpakdir, i); } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Food/FoodPokeTypeParam.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Food/FoodPokeTypeParam.cs new file mode 100644 index 00000000..d7d15266 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Food/FoodPokeTypeParam.cs @@ -0,0 +1,30 @@ +using System; + +namespace pkNX.Structures.FlatBuffers.SV +{ + public partial struct FoodPokeTypeParam + { + public int GetBoostFromIndex(int index) => index switch + { + 00 => Normal, + 01 => Kakutou, + 02 => Hikou, + 03 => Doku, + 04 => Jimen, + 05 => Iwa, + 06 => Mushi, + 07 => Ghost, + 08 => Hagane, + 09 => Honoo, + 10 => Mizu, + 11 => Kusa, + 12 => Denki, + 13 => Esper, + 14 => Koori, + 15 => Dragon, + 16 => Aku, + 17 => Fairy, + _ => throw new ArgumentOutOfRangeException(nameof(index), index, null) + }; + } +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/PersonalTable.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/PersonalTable.cs new file mode 100644 index 00000000..fd896d62 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/PersonalTable.cs @@ -0,0 +1,15 @@ +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.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PersonalTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PersonalInfo { } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoDex.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoDex.cs new file mode 100644 index 00000000..f745577d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoDex.cs @@ -0,0 +1,7 @@ +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +public partial class PersonalInfoDex { } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoEvolution.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoEvolution.cs new file mode 100644 index 00000000..bbddc5a4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoEvolution.cs @@ -0,0 +1,7 @@ +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +public partial class PersonalInfoEvolution { } diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVGender.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoGender.cs similarity index 57% rename from pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVGender.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoGender.cs index 4bebec08..ac1f09b4 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVGender.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoGender.cs @@ -1,19 +1,11 @@ using System; -using System.ComponentModel; -using FlatSharp.Attributes; // ReSharper disable UnusedMember.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable UnusedType.Global -#nullable disable +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVGender +public partial class PersonalInfoGender { - [FlatBufferItem(0)] public byte Group { get; set; } // (0 either, 1 male, 2 female, 3 genderless) - [FlatBufferItem(1)] public byte Ratio { get; set; } // {rand(100) < value} => gender. - public const int RatioMagicMale = 0; public const int RatioMagicFemale = 254; public const int RatioMagicGenderless = 255; @@ -28,9 +20,9 @@ public class PersonalInfo9SVGender 89 => 0xE1, // 87.5% _ => throw new ArgumentOutOfRangeException(nameof(Ratio)), }, - 1 => RatioMagicMale, - 2 => RatioMagicFemale, - 3 => RatioMagicGenderless, + SexGroup.MALE => RatioMagicMale, + SexGroup.FEMALE => RatioMagicFemale, + SexGroup.UNKNOWN => RatioMagicGenderless, _ => throw new ArgumentOutOfRangeException(nameof(Group)), }; } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoStats.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoStats.cs new file mode 100644 index 00000000..348a28e9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Types/PersonalInfoStats.cs @@ -0,0 +1,10 @@ +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +public partial class PersonalInfoStats +{ + public ushort U16() => (ushort)((HP & 0b11) | ((ATK & 0b11) << 2) | ((DEF & 0b11) << 4) | ((SPA & 0b11) << 6) | ((SPD & 0b11) << 8) | ((SPE & 0b11) << 10)); +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Wrapper/PersonalInfo9SV.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Wrapper/PersonalInfo9SV.cs similarity index 89% rename from pkNX.Structures.FlatBuffers/Gen9/Personal/Wrapper/PersonalInfo9SV.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Wrapper/PersonalInfo9SV.cs index 81d1e964..ac91d86c 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Wrapper/PersonalInfo9SV.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Wrapper/PersonalInfo9SV.cs @@ -1,16 +1,16 @@ using System; using System.IO; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV; /// /// Personal Info class with values from the games. /// -public sealed class PersonalInfo9SV : IPersonalInfoSV +public sealed class PersonalInfo9SV : IPersonalInfo { - public PersonalInfo9SVfb FB { get; } + public PersonalInfo FB { get; } - public PersonalInfo9SV(PersonalInfo9SVfb fb) => FB = fb; + public PersonalInfo9SV(PersonalInfo fb) => FB = fb; public int HP { get => FB.Base.HP; set => FB.Base.HP = (byte)value; } public int ATK { get => FB.Base.ATK; set => FB.Base.ATK = (byte)value; } @@ -31,8 +31,8 @@ public sealed class PersonalInfo9SV : IPersonalInfoSV public int EV_SPE { get => FB.EVYield.SPE; set => FB.EVYield.SPE = (byte)value; } public int EV_SPA { get => FB.EVYield.SPA; set => FB.EVYield.SPA = (byte)value; } public int EV_SPD { get => FB.EVYield.SPD; set => FB.EVYield.SPD = (byte)value; } - public int GenderGroup { get => FB.Gender.Group; set => FB.Gender.Group = (byte)value; } - public int GenderRatio { get => FB.Gender.Ratio; set => FB.Gender.Ratio = (byte)value; } + public byte GenderGroup { get => (byte)FB.Gender.Group; set => FB.Gender.Group = (SexGroup)value; } + public byte GenderRatio { get => FB.Gender.Ratio; set => FB.Gender.Ratio = value; } public int Gender { get => FB.Gender.RatioMagicEquivalent(); @@ -50,8 +50,8 @@ public int Gender public ushort HatchedSpecies { get => SpeciesConverterSV.GetNational9(FB.Hatch.SpeciesInternal); set => FB.Hatch.SpeciesInternal = SpeciesConverterSV.GetInternal9(value); } public ushort LocalFormIndex { get => FB.Hatch.Form; set => FB.Hatch.Form = value; } - public bool Field_45 { get => FB.Hatch.RegionalFlags == 1; set => FB.Hatch.RegionalFlags = value ? (ushort)1 : (ushort)0; } - public ushort Field_46 { get => FB.Hatch.EverstoneForm; set => FB.Hatch.EverstoneForm = value; } + public bool RegionalFlags { get => FB.Hatch.RegionalFlags == 1; set => FB.Hatch.RegionalFlags = value ? (ushort)1 : (ushort)0; } + public ushort EverstoneForm { get => FB.Hatch.EverstoneForm; set => FB.Hatch.EverstoneForm = value; } public ushort Form { get => FB.Info.Form; set => FB.Info.Form = value; } @@ -63,7 +63,7 @@ public int DexGroup if (value == 0) FB.Dex = null; else - (FB.Dex ??= new PersonalInfo9SVDex()).Group = (byte)value; + (FB.Dex ??= new PersonalInfoDex()).Group = (byte)value; } } public int DexIndex @@ -74,7 +74,7 @@ public int DexIndex if (value == 0) FB.Dex = null; else - (FB.Dex ??= new PersonalInfo9SVDex()).Index = (byte)value; + (FB.Dex ??= new PersonalInfoDex()).Index = (byte)value; } } diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Wrapper/PersonalTable9SV.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Wrapper/PersonalTable9SV.cs similarity index 83% rename from pkNX.Structures.FlatBuffers/Gen9/Personal/Wrapper/PersonalTable9SV.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Wrapper/PersonalTable9SV.cs index b5aa6f6e..5b8a1959 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Wrapper/PersonalTable9SV.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Personal/Wrapper/PersonalTable9SV.cs @@ -1,10 +1,12 @@ +using System; using System.Collections; using pkNX.Containers; using System.Collections.Generic; using System.IO; using System.Linq; +using FlatSharp; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV; /// /// Personal Table storing used in . @@ -16,12 +18,12 @@ public sealed class PersonalTable9SV : IPersonalTable, IPersonalTable MaxSpecies; private readonly IFileContainer File; - public PersonalTable9SVfb Root { get; } + public PersonalTable Root { get; } public PersonalTable9SV(IFileContainer file) { File = file; - Root = FlatBufferConverter.DeserializeFrom(file[0]); + Root = PersonalTable.Serializer.Parse(file[0], FlatBufferDeserializationOption.GreedyMutable); var baseForms = new PersonalInfo9SV[MaxSpecies + 1]; var formTable = new List(); @@ -43,7 +45,7 @@ public PersonalTable9SV(IFileContainer file) Table = baseForms.Concat(formTable).ToArray(); } - private static PersonalInfo9SV GetObj(PersonalInfo9SVfb e, ICollection forms, ushort max, ICollection formTable, int f = 0) + private static PersonalInfo9SV GetObj(PersonalInfo e, ICollection forms, ushort max, ICollection formTable, int f = 0) { return new PersonalInfo9SV(e) { @@ -54,7 +56,14 @@ private static PersonalInfo9SV GetObj(PersonalInfo9SVfb e, ICollection forms, us public void Save() { - File[0] = FlatBufferConverter.SerializeFrom(Root); + var pool = System.Buffers.ArrayPool.Shared; + var serializer = PersonalTable.Serializer; + var size = serializer.GetMaxSize(Root); + var arr = pool.Rent(size); + var len = serializer.Write(arr, Root); + var data = arr.AsSpan(0, len).ToArray(); + pool.Return(arr); + File[0] = data; } public PersonalInfo9SV this[int index] => Table[(uint)index < Table.Length ? index : 0]; diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataBattle.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataBattle.cs similarity index 64% rename from pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataBattle.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataBattle.cs index 32576b34..dd29b0aa 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataBattle.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataBattle.cs @@ -1,39 +1,16 @@ using System; using System.ComponentModel; using System.IO; -using FlatSharp.Attributes; // ReSharper disable UnusedMember.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable UnusedType.Global #nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDataBattle +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDataBattle { - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public short FormId { get; set; } - [FlatBufferItem(02)] public SexType Sex { get; set; } - [FlatBufferItem(03)] public ItemID Item { get; set; } - [FlatBufferItem(04)] public int Level { get; set; } - [FlatBufferItem(05)] public BallType BallId { get; set; } - [FlatBufferItem(06)] public WazaType WazaType { get; set; } - [FlatBufferItem(07)] public WazaSet Waza1 { get; set; } - [FlatBufferItem(08)] public WazaSet Waza2 { get; set; } - [FlatBufferItem(09)] public WazaSet Waza3 { get; set; } - [FlatBufferItem(10)] public WazaSet Waza4 { get; set; } - [FlatBufferItem(11)] public GemType GemType { get; set; } - [FlatBufferItem(12)] public SeikakuType Seikaku { get; set; } - [FlatBufferItem(13)] public TokuseiType Tokusei { get; set; } - [FlatBufferItem(14)] public TalentType TalentType { get; set; } - [FlatBufferItem(15)] public ParamSet TalentValue { get; set; } - [FlatBufferItem(16)] public sbyte TalentVnum { get; set; } - [FlatBufferItem(17)] public ParamSet EffortValue { get; set; } - [FlatBufferItem(18)] public RareType RareType { get; set; } - [FlatBufferItem(19)] public SizeType ScaleType { get; set; } - [FlatBufferItem(20)] public short ScaleValue { get; set; } - public void SerializePKHeX(BinaryWriter bw, sbyte captureLv, RaidSerializationFormat format) { if (format != RaidSerializationFormat.Type3) diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataEventBattle.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataEventBattle.cs new file mode 100644 index 00000000..5918e1f7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataEventBattle.cs @@ -0,0 +1,9 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDataEventBattle { } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataFull.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataFull.cs new file mode 100644 index 00000000..7e5bed66 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataFull.cs @@ -0,0 +1,9 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDataFull { } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataSymbol.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataSymbol.cs new file mode 100644 index 00000000..42476cba --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataSymbol.cs @@ -0,0 +1,9 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDataSymbol { } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataTrade.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataTrade.cs new file mode 100644 index 00000000..5a590063 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/PokeDataTrade.cs @@ -0,0 +1,10 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PokeDataTrade { } diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/WazaSet.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/WazaSet.cs new file mode 100644 index 00000000..f8892e55 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/PokeData/WazaSet.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class WazaSet { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ParamSet +{ + public string SlashSeparated() => $"{HP}/{ATK}/{DEF}/{SPA}/{SPD}/{SPE}"; + + public int[] ToArray() => new[] { HP, ATK, DEF, SPA, SPD, SPE }; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidEnemyTableArray.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidEnemyTableArray.cs new file mode 100644 index 00000000..560c4efd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidEnemyTableArray.cs @@ -0,0 +1,61 @@ +using System.ComponentModel; +using System.IO; + +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class RaidEnemyInfo +{ + public void SerializePKHeX(BinaryWriter bw, byte star, sbyte rate, RaidSerializationFormat format) + { + BossPokePara.SerializePKHeX(bw, CaptureLv, format); + BossPokeSize.SerializePKHeX(); + bw.Write(DeliveryGroupID); + + // Append RNG details. + bw.Write(star); + bw.Write(rate); + } + + public void SerializeType2(BinaryWriter bw) + { + var b = BossPokePara; + bw.Write((byte)b.ScaleType); + bw.Write((byte)b.ScaleValue); + } + + public void SerializeType3(BinaryWriter bw) + { + // Fixed Nature, fixed IVs, fixed Scale + var b = BossPokePara; + if (b.TalentType > TalentType.VALUE) + throw new InvalidDataException("Invalid talent type for Type 3 serialization."); + + bw.Write(b.Seikaku == SeikakuType.DEFAULT ? (byte)25 : (byte)(b.Seikaku - 1)); + bw.Write((byte)b.TalentValue.HP); + bw.Write((byte)b.TalentValue.ATK); + bw.Write((byte)b.TalentValue.DEF); + bw.Write((byte)b.TalentValue.SPE); + bw.Write((byte)b.TalentValue.SPA); + bw.Write((byte)b.TalentValue.SPD); + bw.Write((byte)(b.TalentType == 0 ? 0 : 1)); + bw.Write((byte)b.ScaleType); + bw.Write((byte)b.ScaleValue); + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class RaidBossSizeData +{ + public void SerializePKHeX() + { + // If any property is not zero, throw an exception. + // if (HeightType != 0 || HeightValue != 0 || WeightType != 0 || WeightValue != 0 || ScaleType != 0 || ScaleValue != 0) + // throw new ArgumentException("Expected default sizes."); + } +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs new file mode 100644 index 00000000..5b3f5126 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs @@ -0,0 +1,36 @@ +using System; +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class DeliveryRaidFixedRewardItemArray { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class DeliveryRaidFixedRewardItem +{ + public const int Count = 15; + + public RaidFixedRewardItemInfo GetReward(int index) => index switch + { + 00 => RewardItem00, + 01 => RewardItem01, + 02 => RewardItem02, + 03 => RewardItem03, + 04 => RewardItem04, + 05 => RewardItem05, + 06 => RewardItem06, + 07 => RewardItem07, + 08 => RewardItem08, + 09 => RewardItem09, + 10 => RewardItem10, + 11 => RewardItem11, + 12 => RewardItem12, + 13 => RewardItem13, + 14 => RewardItem14, + _ => throw new ArgumentOutOfRangeException(nameof(index), index, null), + }; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs new file mode 100644 index 00000000..1979b098 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs @@ -0,0 +1,49 @@ +using System; +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class DeliveryRaidLotteryRewardItem +{ + public const int RewardItemCount = 30; + + // Get reward item from index + public RaidLotteryRewardItemInfo GetRewardItem(int index) => index switch + { + 00 => RewardItem00, + 01 => RewardItem01, + 02 => RewardItem02, + 03 => RewardItem03, + 04 => RewardItem04, + 05 => RewardItem05, + 06 => RewardItem06, + 07 => RewardItem07, + 08 => RewardItem08, + 09 => RewardItem09, + 10 => RewardItem10, + 11 => RewardItem11, + 12 => RewardItem12, + 13 => RewardItem13, + 14 => RewardItem14, + 15 => RewardItem15, + 16 => RewardItem16, + 17 => RewardItem17, + 18 => RewardItem18, + 19 => RewardItem19, + 20 => RewardItem20, + 21 => RewardItem21, + 22 => RewardItem22, + 23 => RewardItem23, + 24 => RewardItem24, + 25 => RewardItem25, + 26 => RewardItem26, + 27 => RewardItem27, + 28 => RewardItem28, + 29 => RewardItem29, + _ => throw new ArgumentOutOfRangeException(nameof(index), index, null) + }; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidFixedRewardItemArray.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidFixedRewardItemArray.cs new file mode 100644 index 00000000..4339f0c1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidFixedRewardItemArray.cs @@ -0,0 +1,33 @@ +using System; +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class RaidFixedRewardItem +{ + public const int Count = 15; + + public RaidFixedRewardItemInfo GetReward(int index) => index switch + { + 00 => RewardItem00, + 01 => RewardItem01, + 02 => RewardItem02, + 03 => RewardItem03, + 04 => RewardItem04, + 05 => RewardItem05, + 06 => RewardItem06, + 07 => RewardItem07, + 08 => RewardItem08, + 09 => RewardItem09, + 10 => RewardItem10, + 11 => RewardItem11, + 12 => RewardItem12, + 13 => RewardItem13, + 14 => RewardItem14, + _ => throw new ArgumentOutOfRangeException(nameof(index)) + }; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidLotteryRewardItemArray.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidLotteryRewardItemArray.cs new file mode 100644 index 00000000..4b6278f3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/Raid/RaidLotteryRewardItemArray.cs @@ -0,0 +1,49 @@ +using System; +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class RaidLotteryRewardItem +{ + public const int RewardItemCount = 30; + + // Get reward item from index + public RaidLotteryRewardItemInfo GetRewardItem(int index) => index switch + { + 00 => RewardItem00, + 01 => RewardItem01, + 02 => RewardItem02, + 03 => RewardItem03, + 04 => RewardItem04, + 05 => RewardItem05, + 06 => RewardItem06, + 07 => RewardItem07, + 08 => RewardItem08, + 09 => RewardItem09, + 10 => RewardItem10, + 11 => RewardItem11, + 12 => RewardItem12, + 13 => RewardItem13, + 14 => RewardItem14, + 15 => RewardItem15, + 16 => RewardItem16, + 17 => RewardItem17, + 18 => RewardItem18, + 19 => RewardItem19, + 20 => RewardItem20, + 21 => RewardItem21, + 22 => RewardItem22, + 23 => RewardItem23, + 24 => RewardItem24, + 25 => RewardItem25, + 26 => RewardItem26, + 27 => RewardItem27, + 28 => RewardItem28, + 29 => RewardItem29, + _ => throw new ArgumentOutOfRangeException(nameof(index), index, null) + }; +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/SpeciesConverterSV.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/SpeciesConverterSV.cs similarity index 98% rename from pkNX.Structures.FlatBuffers/Gen9/SpeciesConverterSV.cs rename to pkNX.Structures.FlatBuffers.SV/Gen9/SpeciesConverterSV.cs index 8f07c48a..42adf16e 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/SpeciesConverterSV.cs +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/SpeciesConverterSV.cs @@ -1,6 +1,6 @@ using System; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SV; /// /// does not match National Dex ID. diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/World/AreaInfo.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/World/AreaInfo.cs new file mode 100644 index 00000000..c27f0a98 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/World/AreaInfo.cs @@ -0,0 +1,13 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class AreaInfo +{ + public int ActualMinLevel => MinEncLv != 0 ? MinEncLv : 1; + public int ActualMaxLevel => MaxEncLv != 0 ? MaxEncLv : 100; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Gen9/World/PointDataArray.cs b/pkNX.Structures.FlatBuffers.SV/Gen9/World/PointDataArray.cs new file mode 100644 index 00000000..dca0d9a9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Gen9/World/PointDataArray.cs @@ -0,0 +1,9 @@ +using System.ComponentModel; +// ReSharper disable UnusedMember.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable UnusedType.Global + +namespace pkNX.Structures.FlatBuffers.SV; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PointDataArray { } diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventArray.fbs new file mode 100644 index 00000000..b832765f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventArray.fbs @@ -0,0 +1,13 @@ +include "BGMEventType.fbs"; +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +// Root Type: gfl.audio.fb.BGMEventArray +table BGMEvent { + EventName:string (required); + Type:BGMEventType; + LayerName:string (required); + WwiseEventName:string (required); +} +table BGMEventArray (fs_serializer) { + Table:[BGMEvent] (required); +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventType.fbs similarity index 60% rename from pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventType.fbs index f9ffe38f..078fd4dc 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/BGMEventType.fbs @@ -1,11 +1,5 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum BGMEventType -{ +namespace pkNX.Structures.FlatBuffers.SV; +enum BGMEventType : int { Set = 0, Play = 1, Stop = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/EnvPokeVoiceLotterySetting.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/EnvPokeVoiceLotterySetting.fbs new file mode 100644 index 00000000..5dca5ec7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Audio/EnvPokeVoiceLotterySetting.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +// Root Type: titan_audio.fb.EnvPokeVoiceLotterySetting +table EnvPokeVoiceLotterySetting (fs_serializer) { + LotteryTimer:float; + SearchRadiusMin:float; + SearchRadiusMax:float; +} +root_type EnvPokeVoiceLotterySetting; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleConfig.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleConfig.fbs new file mode 100644 index 00000000..77da203f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleConfig.fbs @@ -0,0 +1,76 @@ +include "../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table BattleConfig (fs_serializer) { + FcamZoomToprigRadius:float; + FcamZoomToprigHeight:float; + FcamZoomMidrigRadius:float; + FcamZoomMidrigHeight:float; + FcamZoomLowrigRadius:float; + FcamZoomLowrigHeight:float; + FcamZoomToprigRadius2:float; + FcamZoomToprigHeight2:float; + FcamZoomMidrigRadius2:float; + FcamZoomMidrigHeight2:float; + FcamZoomLowrigRadius2:float; + FcamZoomLowrigHeight2:float; + FcamCentToprigRadius:float; + FcamCentToprigHeight:float; + FcamCentMidrigRadius:float; + FcamCentMidrigHeight:float; + FcamCentLowrigRadius:float; + FcamCentLowrigHeight:float; + FcamOffsetCenter:Vec3f (required); + FcamOffsetPoke0:Vec3f (required); + FcamOffsetPoke1:Vec3f (required); + FcamOffsetPoke2:Vec3f (required); + FcamOffsetPoke3:Vec3f (required); + FcamOffsetTr0:Vec3f (required); + FcamOffsetTr1:Vec3f (required); + FcamOffsetTr2:Vec3f (required); + FcamOffsetTr3:Vec3f (required); + FcamZoomStartAngle:float; + FcamZoomMinAngle:float; + FcamZoomMaxAngle:float; + FcamZoomStartHeight:float; + FcamZoomStartAngle2:float; + FcamZoomMinAngle2:float; + FcamZoomMaxAngle2:float; + FcamZoomStartHeight2:float; + FcamCentStartHeightS:float; + FcamCentStartHeightM:float; + FcamCentStartHeightL:float; + FcamCentStartHeightLL:float; + FcamPokeLocator:string (required); + FcamTrainerLocator:string (required); + FcamRotSpeedX:float; + FcamRotSpeedY:float; + FcamStartStickLength:float; + FieldgemDropupRate:byte; + WazamsgIsPreMsgTime:bool; + WazamsgPreMsgTime:float; + WazamsgIsPostMsgTime:bool; + WazamsgPostMsgTime:float; + WazamsgIsSubMsgTime:bool; + WazamsgSubMsgTime:float; + WazamsgIsSubMsgCloseTime:bool; + WazamsgSubMsgCloseTime:float; + WildTrposCheckSize:float; + RandomCameraStartFrames:int; + TrainerWaitIntervalFix:int; + TrainerWaitIntervalRandom:int; + PokeRoarIntervalFix:int; + PokeRoarIntervalRandom:int; + BossCarIdlingIntervalFix:int; + BossCarIdlingIntervalRandom:int; + BossCarWaitRate:int; + BossCarRoarRate:int; + BattleAreaSize:float; + BattleHecklerAreaSize:float; + RaidPowerchargeMessageTime:float; + PokeMoveConditionDistance:float; +} + +root_type BattleConfig; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleEffectTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleEffectTableArray.fbs new file mode 100644 index 00000000..c31c7846 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/BattleEffectTableArray.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table BattleEffectTable { + Enable:bool; + TimelinePath:string (required); + TemplatePath:string (required); + RaidFrameLength:short; +} + +table BattleEffectTableArray (fs_serializer) { + Table:[BattleEffectTable] (required); +} + +root_type BattleEffectTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/ItemTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/ItemTableArray.fbs new file mode 100644 index 00000000..13d4d589 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/ItemTableArray.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ItemTable { + ItemID:int; + PlibID:int; +} + +table ItemTableArray (fs_serializer) { + Table:[ItemTable] (required); +} + +root_type ItemTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/PokeExceptionTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/PokeExceptionTableArray.fbs new file mode 100644 index 00000000..1049606d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Battle/PokeExceptionTableArray.fbs @@ -0,0 +1,23 @@ +include "../Shared/DevID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum GroundState : byte { + Default = 0, + Ground = 1, + Swim = 2, + Float = 3, +} + +table PokeExceptionTable { + DevId:DevID = DEV_NULL; + Formno:byte; + DefaultBattleState:GroundState; +} + +table PokeExceptionTableArray (fs_serializer) { + Table:[PokeExceptionTable] (required); +} + +root_type PokeExceptionTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/CookingCommonData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/CookingCommonData.fbs new file mode 100644 index 00000000..412d48bf --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/CookingCommonData.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +struct PopWildPokemonParam (fs_valueStruct) { + OccurrenceProb:[float:4]; +} + +table CookingCommonData (fs_serializer) { + PopParam:PopWildPokemonParam (required); +} + +root_type CookingCommonData; diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/FoodSkillType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/FoodSkillType.fbs similarity index 52% rename from pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/FoodSkillType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/FoodSkillType.fbs index a0733105..ea2272ec 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/FoodSkillType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/FoodSkillType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum FoodSkillType -{ +enum FoodSkillType : int { NONE = 0, EGG = 1, CAPTURE = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/IngredientType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/IngredientType.fbs similarity index 86% rename from pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/IngredientType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/IngredientType.fbs index 962cf08d..596fde68 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/IngredientType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/IngredientType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum IngredientType -{ +enum IngredientType : int { NONE = 0, TOP_BAGUETTE = 1, BOTTOM_BAGUETTE = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/RecipeType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/RecipeType.fbs similarity index 95% rename from pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/RecipeType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/RecipeType.fbs index a947123e..af46d306 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/RecipeType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/RecipeType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum RecipeType -{ +enum RecipeType : int { NONE = 0, HAM_BUTTER = 1, SUPER_HAM_BUTTER = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/SeasoningType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/SeasoningType.fbs similarity index 75% rename from pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/SeasoningType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/SeasoningType.fbs index 87a57e96..d1c6248e 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Enums/SeasoningType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Enums/SeasoningType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum SeasoningType -{ +enum SeasoningType : int { NONE = 0, MAYONNAISE = 1, KETCHUP = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/FoodPowerComboArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/FoodPowerComboArray.fbs new file mode 100644 index 00000000..fde0f62f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/FoodPowerComboArray.fbs @@ -0,0 +1,14 @@ +include "Param/FoodPowerComboParam.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FoodPowerCombo { + Param:FoodPowerComboParam (required); +} + +table FoodPowerComboArray (fs_serializer) { + Table:[FoodPowerCombo] (required); +} + +root_type FoodPowerComboArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDataArray.fbs new file mode 100644 index 00000000..83bb03b8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDataArray.fbs @@ -0,0 +1,23 @@ +include "Enums/IngredientType.fbs"; +include "Param/IngredientParam.fbs"; +include "Param/FoodPowerParam.fbs"; +include "Param/FoodPokeTypeParam.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table IngredientData { + Type:IngredientType; + Param:IngredientParam (required); + Power:FoodPowerParam (required); + PokeTypePower:FoodPokeTypeParam (required); + ObjTempName:string (required); + SetNum:int; + OnDishNum:int; +} + +table IngredientDataArray (fs_serializer) { + Table:[IngredientData] (required); +} + +root_type IngredientDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDishDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDishDataArray.fbs new file mode 100644 index 00000000..cf6807a9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/IngredientDishDataArray.fbs @@ -0,0 +1,51 @@ +include "Enums/IngredientType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +struct Float3 (fs_valueStruct) { + X:float; + Y:float; + Z:float; +} + +struct Ingredient (fs_valueStruct) { + Position:Float3; + Rotation:Float3; +} + +struct IngredientDishParam (fs_valueStruct) { + // IngredientSRT[20] + Ingredient00:Ingredient; + Ingredient01:Ingredient; + Ingredient02:Ingredient; + Ingredient03:Ingredient; + Ingredient04:Ingredient; + Ingredient05:Ingredient; + Ingredient06:Ingredient; + Ingredient07:Ingredient; + Ingredient08:Ingredient; + Ingredient09:Ingredient; + Ingredient10:Ingredient; + Ingredient11:Ingredient; + Ingredient12:Ingredient; + Ingredient13:Ingredient; + Ingredient14:Ingredient; + Ingredient15:Ingredient; + Ingredient16:Ingredient; + Ingredient17:Ingredient; + Ingredient18:Ingredient; + Ingredient19:Ingredient; +} + +table IngredientDishData { + Type:IngredientType; + Param:IngredientDishParam (required); +} + +table IngredientDishDataArray (fs_serializer) { + Table:[IngredientDishData] (required); +} + +root_type IngredientDishDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPokeTypeParam.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPokeTypeParam.fbs new file mode 100644 index 00000000..e9b2b414 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPokeTypeParam.fbs @@ -0,0 +1,23 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct FoodPokeTypeParam (fs_valueStruct) { + Normal:int; + Kakutou:int; + Hikou:int; + Doku:int; + Jimen:int; + Iwa:int; + Mushi:int; + Ghost:int; + Hagane:int; + Honoo:int; + Mizu:int; + Kusa:int; + Denki:int; + Esper:int; + Koori:int; + Dragon:int; + Aku:int; + Fairy:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerComboParam.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerComboParam.fbs new file mode 100644 index 00000000..5b561858 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerComboParam.fbs @@ -0,0 +1,14 @@ +include "../Enums/SeasoningType.fbs"; +include "../Enums/IngredientType.fbs"; +include "FoodPowerParam.fbs"; +include "FoodPokeTypeParam.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct FoodPowerComboParam (fs_valueStruct) { + Seasoning:[SeasoningType:4]; + Ingredient:[IngredientType:6]; + FoodPower:FoodPowerParam; + PokeTypePower:FoodPokeTypeParam; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerParam.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerParam.fbs new file mode 100644 index 00000000..0939c196 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/FoodPowerParam.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct FoodPowerParam (fs_valueStruct) { + EGG:int; + CAPTURE:int; + EXP:int; + LOSTPROPERTY:int; + RAID:int; + ANOTHERNAME:int; + RARE:int; + GIGANT:int; + MIINIMUM:int; + ENCOUNT:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/IngredientParam.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/IngredientParam.fbs new file mode 100644 index 00000000..7e08d022 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/Param/IngredientParam.fbs @@ -0,0 +1,11 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct IngredientParam (fs_valueStruct) { + Sweet:int; + Salty:int; + Sour:int; + Bitter:int; + Hot:int; + Deliciousness:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/RecipeDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/RecipeDataArray.fbs new file mode 100644 index 00000000..0011436c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/RecipeDataArray.fbs @@ -0,0 +1,26 @@ +include "Enums/SeasoningType.fbs"; +include "Enums/IngredientType.fbs"; +include "Enums/RecipeType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RecipeData { + Type:RecipeType = NONE; + Seasoning0:SeasoningType; // not a struct[4] + Seasoning1:SeasoningType; + Seasoning2:SeasoningType; + Seasoning3:SeasoningType; + Ingredient0:IngredientType; // not a struct[6] + Ingredient1:IngredientType; + Ingredient2:IngredientType; + Ingredient3:IngredientType; + Ingredient4:IngredientType; + Ingredient5:IngredientType; +} + +table RecipeDataArray (fs_serializer) { + Table:[RecipeData] (required); +} + +root_type RecipeDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/SeasoningDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/SeasoningDataArray.fbs new file mode 100644 index 00000000..3b051457 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/SeasoningDataArray.fbs @@ -0,0 +1,23 @@ +include "Enums/SeasoningType.fbs"; +include "Param/IngredientParam.fbs"; +include "Param/FoodPokeTypeParam.fbs"; +include "Param/FoodPowerParam.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +table SeasoningData { + Type:SeasoningType; + Param:IngredientParam (required); + Power:FoodPowerParam (required); + PokeTypePower:FoodPokeTypeParam (required); + ObjTempName:string (required); + SetNum:int; +} + +table SeasoningDataArray (fs_serializer) { + Table:[SeasoningData] (required); +} + +root_type SeasoningDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/TakaraSpicePowerTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/TakaraSpicePowerTableArray.fbs new file mode 100644 index 00000000..0ccfaa60 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Cooking/TakaraSpicePowerTableArray.fbs @@ -0,0 +1,21 @@ +include "Enums/FoodSkillType.fbs"; +include "Enums/SeasoningType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +struct TakaraSpicePowerParam (fs_valueStruct) { + TakaraSeasonings:[SeasoningType:3]; + SkillType:FoodSkillType; +} + +table TakaraSpicePowerTable { + Param:TakaraSpicePowerParam (required); +} + +table TakaraSpicePowerTableArray (fs_serializer) { + Table:[TakaraSpicePowerTable] (required); +} + +root_type TakaraSpicePowerTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/CollisionShape.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/CollisionShape.fbs new file mode 100644 index 00000000..d3f9f061 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/CollisionShape.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum CollisionShape : int { + NONE = 0, + SPHERE = 1, + BOX = 2, + CAPSULE = 3, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ComparisonOperatorType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ComparisonOperatorType.fbs new file mode 100644 index 00000000..91c607f0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ComparisonOperatorType.fbs @@ -0,0 +1,10 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum ComparisonOperatorType : int { + EQUAL = 0, + NOT_EQUAL = 1, + GREATER_THAN = 2, + GREATER_THAN_EQUAL = 3, + LESS_THAN = 4, + LESS_THAN_EQUAL = 5, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ConditionSimpleAutoBattleHecklerAreaArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ConditionSimpleAutoBattleHecklerAreaArray.fbs new file mode 100644 index 00000000..9950d557 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ConditionSimpleAutoBattleHecklerAreaArray.fbs @@ -0,0 +1,14 @@ +include "PokemonTriggerID.fbs"; +include "ComparisonOperatorType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ConditionSimpleAutoBattleHecklerAreaArray (fs_serializer) { + Table:[ConditionSimpleAutoBattleHecklerArea] (required); +} + +table ConditionSimpleAutoBattleHecklerArea { + TriggerID:PokemonTriggerID; + ComparisonOperatorType:ComparisonOperatorType; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/OwnerInfo.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/OwnerInfo.fbs new file mode 100644 index 00000000..2af0bc2e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/OwnerInfo.fbs @@ -0,0 +1,12 @@ +include "../Shared/SexType.fbs"; +include "../Shared/LangType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table OwnerInfo { + TrainerId:int; + Sex:SexType; + LangId:LangType; + Name:string (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ParamSet.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ParamSet.fbs new file mode 100644 index 00000000..c97087fb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/ParamSet.fbs @@ -0,0 +1,11 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ParamSet { + HP:int; + ATK:int; + DEF:int; + SPA:int; + SPD:int; + SPE:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokeObjArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokeObjArray.fbs new file mode 100644 index 00000000..db06728d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokeObjArray.fbs @@ -0,0 +1,61 @@ +include "../Shared/DevID.fbs"; +include "../Geometry/Vec3f.fbs"; +include "CollisionShape.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table GrassCollision { + OffsetY:float; + Radius:float; +} + +table CGemParam { + Pos:Vec3f (required); + Rot:Vec3f (required); + Scale:Vec3f (required); +} + +table PokeParameter { + ReachDistance:float; + AcceleStartDistance:float; + DeceleStartDistance:float; + MoveAccele:float; + RotationSpeed:float; + MinWaterDepthThreshold:float; + MaxWaterDepthThreshold:float; + MinAltitudeThreshold:float; + MaxAltitudeThreshold:float; +} + +table NamedFlatBuffer { + FileName:string (required); +} + +table CharaCollision { + Shape:CollisionShape = NONE; + Pos:Vec3f (required); + Radius:float; +} + +table BodyCollision { + Shape:CollisionShape = NONE; + Pos:Vec3f (required); + Radius:float; +} + +table PokeObj { + DevId:DevID = DEV_NULL; + Body:BodyCollision; + Chara:CharaCollision; + Grass:GrassCollision; + FlatBuffer:NamedFlatBuffer; + GemParam:CGemParam; + Poke:PokeParameter; +} + +table PokeObjArray (fs_serializer) { + Table:[PokeObj] (required); +} + +root_type PokeObjArray; diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonTriggerID.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonTriggerID.fbs similarity index 99% rename from pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonTriggerID.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonTriggerID.fbs index 2e8961a6..2146e1d4 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonTriggerID.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonTriggerID.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum PokemonTriggerID -{ +enum PokemonTriggerID : int { NONE = 0, JUDGE_THROUGH = 1, DUMMY_2 = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonUniquePathData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonUniquePathData.fbs new file mode 100644 index 00000000..8cf7ae10 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Entity/PokemonUniquePathData.fbs @@ -0,0 +1,1005 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table PokemonUniquePathData (fs_serializer) { + Path000:string (required); + Path001:string (required); + Path002:string (required); + Path003:string (required); + Path004:string (required); + Path005:string (required); + Path006:string (required); + Path007:string (required); + Path008:string (required); + Path009:string (required); + Path010:string (required); + Path011:string (required); + Path012:string (required); + Path013:string (required); + Path014:string (required); + Path015:string (required); + Path016:string (required); + Path017:string (required); + Path018:string (required); + Path019:string (required); + Path020:string (required); + Path021:string (required); + Path022:string (required); + Path023:string (required); + Path024:string (required); + Path025:string (required); + Path026:string (required); + Path027:string (required); + Path028:string (required); + Path029:string (required); + Path030:string (required); + Path031:string (required); + Path032:string (required); + Path033:string (required); + Path034:string (required); + Path035:string (required); + Path036:string (required); + Path037:string (required); + Path038:string (required); + Path039:string (required); + Path040:string (required); + Path041:string (required); + Path042:string (required); + Path043:string (required); + Path044:string (required); + Path045:string (required); + Path046:string (required); + Path047:string (required); + Path048:string (required); + Path049:string (required); + Path050:string (required); + Path051:string (required); + Path052:string (required); + Path053:string (required); + Path054:string (required); + Path055:string (required); + Path056:string (required); + Path057:string (required); + Path058:string (required); + Path059:string (required); + Path060:string (required); + Path061:string (required); + Path062:string (required); + Path063:string (required); + Path064:string (required); + Path065:string (required); + Path066:string (required); + Path067:string (required); + Path068:string (required); + Path069:string (required); + Path070:string (required); + Path071:string (required); + Path072:string (required); + Path073:string (required); + Path074:string (required); + Path075:string (required); + Path076:string (required); + Path077:string (required); + Path078:string (required); + Path079:string (required); + Path080:string (required); + Path081:string (required); + Path082:string (required); + Path083:string (required); + Path084:string (required); + Path085:string (required); + Path086:string (required); + Path087:string (required); + Path088:string (required); + Path089:string (required); + Path090:string (required); + Path091:string (required); + Path092:string (required); + Path093:string (required); + Path094:string (required); + Path095:string (required); + Path096:string (required); + Path097:string (required); + Path098:string (required); + Path099:string (required); + Path100:string (required); + Path101:string (required); + Path102:string (required); + Path103:string (required); + Path104:string (required); + Path105:string (required); + Path106:string (required); + Path107:string (required); + Path108:string (required); + Path109:string (required); + Path110:string (required); + Path111:string (required); + Path112:string (required); + Path113:string (required); + Path114:string (required); + Path115:string (required); + Path116:string (required); + Path117:string (required); + Path118:string (required); + Path119:string (required); + Path120:string (required); + Path121:string (required); + Path122:string (required); + Path123:string (required); + Path124:string (required); + Path125:string (required); + Path126:string (required); + Path127:string (required); + Path128:string (required); + Path129:string (required); + Path130:string (required); + Path131:string (required); + Path132:string (required); + Path133:string (required); + Path134:string (required); + Path135:string (required); + Path136:string (required); + Path137:string (required); + Path138:string (required); + Path139:string (required); + Path140:string (required); + Path141:string (required); + Path142:string (required); + Path143:string (required); + Path144:string (required); + Path145:string (required); + Path146:string (required); + Path147:string (required); + Path148:string (required); + Path149:string (required); + Path150:string (required); + Path151:string (required); + Path152:string (required); + Path153:string (required); + Path154:string (required); + Path155:string (required); + Path156:string (required); + Path157:string (required); + Path158:string (required); + Path159:string (required); + Path160:string (required); + Path161:string (required); + Path162:string (required); + Path163:string (required); + Path164:string (required); + Path165:string (required); + Path166:string (required); + Path167:string (required); + Path168:string (required); + Path169:string (required); + Path170:string (required); + Path171:string (required); + Path172:string (required); + Path173:string (required); + Path174:string (required); + Path175:string (required); + Path176:string (required); + Path177:string (required); + Path178:string (required); + Path179:string (required); + Path180:string (required); + Path181:string (required); + Path182:string (required); + Path183:string (required); + Path184:string (required); + Path185:string (required); + Path186:string (required); + Path187:string (required); + Path188:string (required); + Path189:string (required); + Path190:string (required); + Path191:string (required); + Path192:string (required); + Path193:string (required); + Path194:string (required); + Path195:string (required); + Path196:string (required); + Path197:string (required); + Path198:string (required); + Path199:string (required); + Path200:string (required); + Path201:string (required); + Path202:string (required); + Path203:string (required); + Path204:string (required); + Path205:string (required); + Path206:string (required); + Path207:string (required); + Path208:string (required); + Path209:string (required); + Path210:string (required); + Path211:string (required); + Path212:string (required); + Path213:string (required); + Path214:string (required); + Path215:string (required); + Path216:string (required); + Path217:string (required); + Path218:string (required); + Path219:string (required); + Path220:string (required); + Path221:string (required); + Path222:string (required); + Path223:string (required); + Path224:string (required); + Path225:string (required); + Path226:string (required); + Path227:string (required); + Path228:string (required); + Path229:string (required); + Path230:string (required); + Path231:string (required); + Path232:string (required); + Path233:string (required); + Path234:string (required); + Path235:string (required); + Path236:string (required); + Path237:string (required); + Path238:string (required); + Path239:string (required); + Path240:string (required); + Path241:string (required); + Path242:string (required); + Path243:string (required); + Path244:string (required); + Path245:string (required); + Path246:string (required); + Path247:string (required); + Path248:string (required); + Path249:string (required); + Path250:string (required); + Path251:string (required); + Path252:string (required); + Path253:string (required); + Path254:string (required); + Path255:string (required); + Path256:string (required); + Path257:string (required); + Path258:string (required); + Path259:string (required); + Path260:string (required); + Path261:string (required); + Path262:string (required); + Path263:string (required); + Path264:string (required); + Path265:string (required); + Path266:string (required); + Path267:string (required); + Path268:string (required); + Path269:string (required); + Path270:string (required); + Path271:string (required); + Path272:string (required); + Path273:string (required); + Path274:string (required); + Path275:string (required); + Path276:string (required); + Path277:string (required); + Path278:string (required); + Path279:string (required); + Path280:string (required); + Path281:string (required); + Path282:string (required); + Path283:string (required); + Path284:string (required); + Path285:string (required); + Path286:string (required); + Path287:string (required); + Path288:string (required); + Path289:string (required); + Path290:string (required); + Path291:string (required); + Path292:string (required); + Path293:string (required); + Path294:string (required); + Path295:string (required); + Path296:string (required); + Path297:string (required); + Path298:string (required); + Path299:string (required); + Path300:string (required); + Path301:string (required); + Path302:string (required); + Path303:string (required); + Path304:string (required); + Path305:string (required); + Path306:string (required); + Path307:string (required); + Path308:string (required); + Path309:string (required); + Path310:string (required); + Path311:string (required); + Path312:string (required); + Path313:string (required); + Path314:string (required); + Path315:string (required); + Path316:string (required); + Path317:string (required); + Path318:string (required); + Path319:string (required); + Path320:string (required); + Path321:string (required); + Path322:string (required); + Path323:string (required); + Path324:string (required); + Path325:string (required); + Path326:string (required); + Path327:string (required); + Path328:string (required); + Path329:string (required); + Path330:string (required); + Path331:string (required); + Path332:string (required); + Path333:string (required); + Path334:string (required); + Path335:string (required); + Path336:string (required); + Path337:string (required); + Path338:string (required); + Path339:string (required); + Path340:string (required); + Path341:string (required); + Path342:string (required); + Path343:string (required); + Path344:string (required); + Path345:string (required); + Path346:string (required); + Path347:string (required); + Path348:string (required); + Path349:string (required); + Path350:string (required); + Path351:string (required); + Path352:string (required); + Path353:string (required); + Path354:string (required); + Path355:string (required); + Path356:string (required); + Path357:string (required); + Path358:string (required); + Path359:string (required); + Path360:string (required); + Path361:string (required); + Path362:string (required); + Path363:string (required); + Path364:string (required); + Path365:string (required); + Path366:string (required); + Path367:string (required); + Path368:string (required); + Path369:string (required); + Path370:string (required); + Path371:string (required); + Path372:string (required); + Path373:string (required); + Path374:string (required); + Path375:string (required); + Path376:string (required); + Path377:string (required); + Path378:string (required); + Path379:string (required); + Path380:string (required); + Path381:string (required); + Path382:string (required); + Path383:string (required); + Path384:string (required); + Path385:string (required); + Path386:string (required); + Path387:string (required); + Path388:string (required); + Path389:string (required); + Path390:string (required); + Path391:string (required); + Path392:string (required); + Path393:string (required); + Path394:string (required); + Path395:string (required); + Path396:string (required); + Path397:string (required); + Path398:string (required); + Path399:string (required); + Path400:string (required); + Path401:string (required); + Path402:string (required); + Path403:string (required); + Path404:string (required); + Path405:string (required); + Path406:string (required); + Path407:string (required); + Path408:string (required); + Path409:string (required); + Path410:string (required); + Path411:string (required); + Path412:string (required); + Path413:string (required); + Path414:string (required); + Path415:string (required); + Path416:string (required); + Path417:string (required); + Path418:string (required); + Path419:string (required); + Path420:string (required); + Path421:string (required); + Path422:string (required); + Path423:string (required); + Path424:string (required); + Path425:string (required); + Path426:string (required); + Path427:string (required); + Path428:string (required); + Path429:string (required); + Path430:string (required); + Path431:string (required); + Path432:string (required); + Path433:string (required); + Path434:string (required); + Path435:string (required); + Path436:string (required); + Path437:string (required); + Path438:string (required); + Path439:string (required); + Path440:string (required); + Path441:string (required); + Path442:string (required); + Path443:string (required); + Path444:string (required); + Path445:string (required); + Path446:string (required); + Path447:string (required); + Path448:string (required); + Path449:string (required); + Path450:string (required); + Path451:string (required); + Path452:string (required); + Path453:string (required); + Path454:string (required); + Path455:string (required); + Path456:string (required); + Path457:string (required); + Path458:string (required); + Path459:string (required); + Path460:string (required); + Path461:string (required); + Path462:string (required); + Path463:string (required); + Path464:string (required); + Path465:string (required); + Path466:string (required); + Path467:string (required); + Path468:string (required); + Path469:string (required); + Path470:string (required); + Path471:string (required); + Path472:string (required); + Path473:string (required); + Path474:string (required); + Path475:string (required); + Path476:string (required); + Path477:string (required); + Path478:string (required); + Path479:string (required); + Path480:string (required); + Path481:string (required); + Path482:string (required); + Path483:string (required); + Path484:string (required); + Path485:string (required); + Path486:string (required); + Path487:string (required); + Path488:string (required); + Path489:string (required); + Path490:string (required); + Path491:string (required); + Path492:string (required); + Path493:string (required); + Path494:string (required); + Path495:string (required); + Path496:string (required); + Path497:string (required); + Path498:string (required); + Path499:string (required); + Path500:string (required); + Path501:string (required); + Path502:string (required); + Path503:string (required); + Path504:string (required); + Path505:string (required); + Path506:string (required); + Path507:string (required); + Path508:string (required); + Path509:string (required); + Path510:string (required); + Path511:string (required); + Path512:string (required); + Path513:string (required); + Path514:string (required); + Path515:string (required); + Path516:string (required); + Path517:string (required); + Path518:string (required); + Path519:string (required); + Path520:string (required); + Path521:string (required); + Path522:string (required); + Path523:string (required); + Path524:string (required); + Path525:string (required); + Path526:string (required); + Path527:string (required); + Path528:string (required); + Path529:string (required); + Path530:string (required); + Path531:string (required); + Path532:string (required); + Path533:string (required); + Path534:string (required); + Path535:string (required); + Path536:string (required); + Path537:string (required); + Path538:string (required); + Path539:string (required); + Path540:string (required); + Path541:string (required); + Path542:string (required); + Path543:string (required); + Path544:string (required); + Path545:string (required); + Path546:string (required); + Path547:string (required); + Path548:string (required); + Path549:string (required); + Path550:string (required); + Path551:string (required); + Path552:string (required); + Path553:string (required); + Path554:string (required); + Path555:string (required); + Path556:string (required); + Path557:string (required); + Path558:string (required); + Path559:string (required); + Path560:string (required); + Path561:string (required); + Path562:string (required); + Path563:string (required); + Path564:string (required); + Path565:string (required); + Path566:string (required); + Path567:string (required); + Path568:string (required); + Path569:string (required); + Path570:string (required); + Path571:string (required); + Path572:string (required); + Path573:string (required); + Path574:string (required); + Path575:string (required); + Path576:string (required); + Path577:string (required); + Path578:string (required); + Path579:string (required); + Path580:string (required); + Path581:string (required); + Path582:string (required); + Path583:string (required); + Path584:string (required); + Path585:string (required); + Path586:string (required); + Path587:string (required); + Path588:string (required); + Path589:string (required); + Path590:string (required); + Path591:string (required); + Path592:string (required); + Path593:string (required); + Path594:string (required); + Path595:string (required); + Path596:string (required); + Path597:string (required); + Path598:string (required); + Path599:string (required); + Path600:string (required); + Path601:string (required); + Path602:string (required); + Path603:string (required); + Path604:string (required); + Path605:string (required); + Path606:string (required); + Path607:string (required); + Path608:string (required); + Path609:string (required); + Path610:string (required); + Path611:string (required); + Path612:string (required); + Path613:string (required); + Path614:string (required); + Path615:string (required); + Path616:string (required); + Path617:string (required); + Path618:string (required); + Path619:string (required); + Path620:string (required); + Path621:string (required); + Path622:string (required); + Path623:string (required); + Path624:string (required); + Path625:string (required); + Path626:string (required); + Path627:string (required); + Path628:string (required); + Path629:string (required); + Path630:string (required); + Path631:string (required); + Path632:string (required); + Path633:string (required); + Path634:string (required); + Path635:string (required); + Path636:string (required); + Path637:string (required); + Path638:string (required); + Path639:string (required); + Path640:string (required); + Path641:string (required); + Path642:string (required); + Path643:string (required); + Path644:string (required); + Path645:string (required); + Path646:string (required); + Path647:string (required); + Path648:string (required); + Path649:string (required); + Path650:string (required); + Path651:string (required); + Path652:string (required); + Path653:string (required); + Path654:string (required); + Path655:string (required); + Path656:string (required); + Path657:string (required); + Path658:string (required); + Path659:string (required); + Path660:string (required); + Path661:string (required); + Path662:string (required); + Path663:string (required); + Path664:string (required); + Path665:string (required); + Path666:string (required); + Path667:string (required); + Path668:string (required); + Path669:string (required); + Path670:string (required); + Path671:string (required); + Path672:string (required); + Path673:string (required); + Path674:string (required); + Path675:string (required); + Path676:string (required); + Path677:string (required); + Path678:string (required); + Path679:string (required); + Path680:string (required); + Path681:string (required); + Path682:string (required); + Path683:string (required); + Path684:string (required); + Path685:string (required); + Path686:string (required); + Path687:string (required); + Path688:string (required); + Path689:string (required); + Path690:string (required); + Path691:string (required); + Path692:string (required); + Path693:string (required); + Path694:string (required); + Path695:string (required); + Path696:string (required); + Path697:string (required); + Path698:string (required); + Path699:string (required); + Path700:string (required); + Path701:string (required); + Path702:string (required); + Path703:string (required); + Path704:string (required); + Path705:string (required); + Path706:string (required); + Path707:string (required); + Path708:string (required); + Path709:string (required); + Path710:string (required); + Path711:string (required); + Path712:string (required); + Path713:string (required); + Path714:string (required); + Path715:string (required); + Path716:string (required); + Path717:string (required); + Path718:string (required); + Path719:string (required); + Path720:string (required); + Path721:string (required); + Path722:string (required); + Path723:string (required); + Path724:string (required); + Path725:string (required); + Path726:string (required); + Path727:string (required); + Path728:string (required); + Path729:string (required); + Path730:string (required); + Path731:string (required); + Path732:string (required); + Path733:string (required); + Path734:string (required); + Path735:string (required); + Path736:string (required); + Path737:string (required); + Path738:string (required); + Path739:string (required); + Path740:string (required); + Path741:string (required); + Path742:string (required); + Path743:string (required); + Path744:string (required); + Path745:string (required); + Path746:string (required); + Path747:string (required); + Path748:string (required); + Path749:string (required); + Path750:string (required); + Path751:string (required); + Path752:string (required); + Path753:string (required); + Path754:string (required); + Path755:string (required); + Path756:string (required); + Path757:string (required); + Path758:string (required); + Path759:string (required); + Path760:string (required); + Path761:string (required); + Path762:string (required); + Path763:string (required); + Path764:string (required); + Path765:string (required); + Path766:string (required); + Path767:string (required); + Path768:string (required); + Path769:string (required); + Path770:string (required); + Path771:string (required); + Path772:string (required); + Path773:string (required); + Path774:string (required); + Path775:string (required); + Path776:string (required); + Path777:string (required); + Path778:string (required); + Path779:string (required); + Path780:string (required); + Path781:string (required); + Path782:string (required); + Path783:string (required); + Path784:string (required); + Path785:string (required); + Path786:string (required); + Path787:string (required); + Path788:string (required); + Path789:string (required); + Path790:string (required); + Path791:string (required); + Path792:string (required); + Path793:string (required); + Path794:string (required); + Path795:string (required); + Path796:string (required); + Path797:string (required); + Path798:string (required); + Path799:string (required); + Path800:string (required); + Path801:string (required); + Path802:string (required); + Path803:string (required); + Path804:string (required); + Path805:string (required); + Path806:string (required); + Path807:string (required); + Path808:string (required); + Path809:string (required); + Path810:string (required); + Path811:string (required); + Path812:string (required); + Path813:string (required); + Path814:string (required); + Path815:string (required); + Path816:string (required); + Path817:string (required); + Path818:string (required); + Path819:string (required); + Path820:string (required); + Path821:string (required); + Path822:string (required); + Path823:string (required); + Path824:string (required); + Path825:string (required); + Path826:string (required); + Path827:string (required); + Path828:string (required); + Path829:string (required); + Path830:string (required); + Path831:string (required); + Path832:string (required); + Path833:string (required); + Path834:string (required); + Path835:string (required); + Path836:string (required); + Path837:string (required); + Path838:string (required); + Path839:string (required); + Path840:string (required); + Path841:string (required); + Path842:string (required); + Path843:string (required); + Path844:string (required); + Path845:string (required); + Path846:string (required); + Path847:string (required); + Path848:string (required); + Path849:string (required); + Path850:string (required); + Path851:string (required); + Path852:string (required); + Path853:string (required); + Path854:string (required); + Path855:string (required); + Path856:string (required); + Path857:string (required); + Path858:string (required); + Path859:string (required); + Path860:string (required); + Path861:string (required); + Path862:string (required); + Path863:string (required); + Path864:string (required); + Path865:string (required); + Path866:string (required); + Path867:string (required); + Path868:string (required); + Path869:string (required); + Path870:string (required); + Path871:string (required); + Path872:string (required); + Path873:string (required); + Path874:string (required); + Path875:string (required); + Path876:string (required); + Path877:string (required); + Path878:string (required); + Path879:string (required); + Path880:string (required); + Path881:string (required); + Path882:string (required); + Path883:string (required); + Path884:string (required); + Path885:string (required); + Path886:string (required); + Path887:string (required); + Path888:string (required); + Path889:string (required); + Path890:string (required); + Path891:string (required); + Path892:string (required); + Path893:string (required); + Path894:string (required); + Path895:string (required); + Path896:string (required); + Path897:string (required); + Path898:string (required); + Path899:string (required); + Path900:string (required); + Path901:string (required); + Path902:string (required); + Path903:string (required); + Path904:string (required); + Path905:string (required); + Path906:string (required); + Path907:string (required); + Path908:string (required); + Path909:string (required); + Path910:string (required); + Path911:string (required); + Path912:string (required); + Path913:string (required); + Path914:string (required); + Path915:string (required); + Path916:string (required); + Path917:string (required); + Path918:string (required); + Path919:string (required); + Path920:string (required); + Path921:string (required); + Path922:string (required); + Path923:string (required); + Path924:string (required); + Path925:string (required); + Path926:string (required); + Path927:string (required); + Path928:string (required); + Path929:string (required); + Path930:string (required); + Path931:string (required); + Path932:string (required); + Path933:string (required); + Path934:string (required); + Path935:string (required); + Path936:string (required); + Path937:string (required); + Path938:string (required); + Path939:string (required); + Path940:string (required); + Path941:string (required); + Path942:string (required); + Path943:string (required); + Path944:string (required); + Path945:string (required); + Path946:string (required); + Path947:string (required); + Path948:string (required); + Path949:string (required); + Path950:string (required); + Path951:string (required); + Path952:string (required); + Path953:string (required); + Path954:string (required); + Path955:string (required); + Path956:string (required); + Path957:string (required); + Path958:string (required); + Path959:string (required); + Path960:string (required); + Path961:string (required); + Path962:string (required); + Path963:string (required); + Path964:string (required); + Path965:string (required); + Path966:string (required); + Path967:string (required); + Path968:string (required); + Path969:string (required); + Path970:string (required); + Path971:string (required); + Path972:string (required); + Path973:string (required); + Path974:string (required); + Path975:string (required); + Path976:string (required); + Path977:string (required); + Path978:string (required); + Path979:string (required); + Path980:string (required); + Path981:string (required); + Path982:string (required); + Path983:string (required); + Path984:string (required); + Path985:string (required); + Path986:string (required); + Path987:string (required); + Path988:string (required); + Path989:string (required); + Path990:string (required); + Path991:string (required); + Path992:string (required); + Path993:string (required); + Path994:string (required); + Path995:string (required); + Path996:string (required); + Path997:string (required); + Path998:string (required); + Path999:string (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventAddPokemonArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventAddPokemonArray.fbs new file mode 100644 index 00000000..40a2a035 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventAddPokemonArray.fbs @@ -0,0 +1,16 @@ +include "../PokeData/PokeDataFull.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table EventAddPokemon { + Label:string (required); + PokeData:PokeDataFull (required); + PokedexRegistration:bool; +} + +table EventAddPokemonArray (fs_serializer) { + Table:[EventAddPokemon] (required); +} + +root_type EventAddPokemonArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventSub012.RewardTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventSub012.RewardTableArray.fbs new file mode 100644 index 00000000..d5a27c14 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventSub012.RewardTableArray.fbs @@ -0,0 +1,16 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV.EventSub012; +attribute "fs_serializer"; + +table RewardTable { + ItemId:ItemID = ITEMID_NONE; + ItemNum:int; + LotteryWeight:int; +} + +table RewardTableArray (fs_serializer) { + Table:[RewardTable] (required); +} + +root_type RewardTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradeListArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradeListArray.fbs new file mode 100644 index 00000000..74309c74 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradeListArray.fbs @@ -0,0 +1,16 @@ +include "../Shared/DevID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +attribute "fs_serializer"; + +table EventTradeList { + Label:string (required); + ReceivePoke:string (required); + SendPokeDevId:DevID = DEV_NULL; + SendPokeFormId:short; +} + +table EventTradeListArray (fs_serializer) { + Table:[EventTradeList] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradePokemonArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradePokemonArray.fbs new file mode 100644 index 00000000..1349576e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/EventTradePokemonArray.fbs @@ -0,0 +1,15 @@ +include "../PokeData/PokeDataTrade.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table EventTradePokemon { + Label:string (required); + PokeData:PokeDataTrade (required); +} + +table EventTradePokemonArray (fs_serializer) { + Table:[EventTradePokemon] (required); +} + +root_type EventTradePokemonArray; diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcFaceType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcFaceType.fbs similarity index 57% rename from pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcFaceType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcFaceType.fbs index 08a69b83..468c1ccc 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcFaceType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcFaceType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(uint))] -public enum FieldNpcFaceType : uint -{ +enum FieldNpcFaceType : uint { Empty = 0, Default = 1, BattleWait = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotion.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotion.fbs similarity index 78% rename from pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotion.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotion.fbs index 69b4182b..d0869496 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotion.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotion.fbs @@ -1,12 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable UnusedType.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(uint))] -public enum FieldNpcMotion : uint -{ +enum FieldNpcMotion : uint { Wait1 = 0, Wait2 = 1, Wait3 = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotionType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotionType.fbs new file mode 100644 index 00000000..39c230ca --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcMotionType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum FieldNpcMotionType : uint { + Wait = 0, + OneShot = 1, + Loop = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonDefaultMotion.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonDefaultMotion.fbs new file mode 100644 index 00000000..9bda06ec --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonDefaultMotion.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum FieldNpcPokemonDefaultMotion : uint { + Ground = 0, + Water = 1, + Sky = 2, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonMotion.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonMotion.fbs similarity index 55% rename from pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonMotion.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonMotion.fbs index 58b603f8..b187e43b 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonMotion.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/FieldNpcPokemonMotion.fbs @@ -1,12 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable UnusedType.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(uint))] -public enum FieldNpcPokemonMotion : uint -{ +enum FieldNpcPokemonMotion : uint { DefaultWait = 0, Glad = 1, Notice = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficFormation.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficFormation.fbs new file mode 100644 index 00000000..4957696c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficFormation.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum NpcTrafficFormation : int { + Right = 0, + Left = 1, + Back = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficPartnerType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficPartnerType.fbs new file mode 100644 index 00000000..551297f8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/Motion/NpcTrafficPartnerType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum NpcTrafficPartnerType : int { + None = 0, + Npc = 1, + Poke = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/NpcTrafficGenerateTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/NpcTrafficGenerateTableArray.fbs new file mode 100644 index 00000000..58ec88a5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/NpcTrafficGenerateTableArray.fbs @@ -0,0 +1,89 @@ +include "../Shared/DevID.fbs"; +include "../Shared/SexType.fbs"; +include "Motion/NpcTrafficPartnerType.fbs"; +include "Motion/FieldNpcFaceType.fbs"; +include "Motion/NpcTrafficFormation.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table NpcTrafficGenerateTable { + Id:string (required); + Data1:NpcTrafficGenerateData (required); + Data2:NpcTrafficGenerateData (required); + Data3:NpcTrafficGenerateData (required); + Data4:NpcTrafficGenerateData (required); + Data5:NpcTrafficGenerateData (required); + Data6:NpcTrafficGenerateData (required); + Data7:NpcTrafficGenerateData (required); + Data8:NpcTrafficGenerateData (required); + Data9:NpcTrafficGenerateData (required); + Data10:NpcTrafficGenerateData (required); + Data11:NpcTrafficGenerateData (required); + Data12:NpcTrafficGenerateData (required); + Data13:NpcTrafficGenerateData (required); + Data14:NpcTrafficGenerateData (required); + Data15:NpcTrafficGenerateData (required); + Data16:NpcTrafficGenerateData (required); + Data17:NpcTrafficGenerateData (required); + Data18:NpcTrafficGenerateData (required); + Data19:NpcTrafficGenerateData (required); + Data20:NpcTrafficGenerateData (required); +} + +table PokemonSimpleParam { + DevId:DevID = DEV_NULL; + FormId:short; + Sex:SexType; + IsRare:bool; + IsEgg:bool; + Scale:float; +} + +table NpcTrafficGenerateData { + Probability:uint; + Ccparam:CharaCreateParam (required); + Messageid:string (required); + PartnerType:NpcTrafficPartnerType = None; + PartnerCcparam:CharaCreateParam (required); + PartnerPkparam:PokemonSimpleParam (required); + PartnerMessageid:string (required); + PartnerRange:float; + Formation:NpcTrafficFormation = Back; + Speed:int; + FaceType:FieldNpcFaceType = Empty; + LipSync:bool; +} + +table FieldNpcMotionIntValue { + Name:string (required); + Value:int; +} + +table FieldNpcMotionBoolValue { + Name:string (required); + Value:bool; +} + +table FieldNpcAnimationConfig { + Trigger:string (required); + IntValue:FieldNpcMotionIntValue (required); + BoolValue:FieldNpcMotionBoolValue (required); +} + +table CharaCreateFilePath { + Role:string (required); + Character:string (required); +} + +table CharaCreateParam { + FilePath:CharaCreateFilePath (required); + Label:string (required); + AnimSlot:uint; +} + +table NpcTrafficGenerateTableArray (fs_serializer) { + Table:[NpcTrafficGenerateTable] (required); +} + +root_type NpcTrafficGenerateTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/PopupWindowTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/PopupWindowTableArray.fbs new file mode 100644 index 00000000..f843826f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/PopupWindowTableArray.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum WindowTypeEnum : int { + normal = 0, + burst = 1, + thinking = 2, + sub_quest = 3, + signboard = 4, + trainer_normal = 5, + trainer_strong = 6, +} + +table PopupWindowTable { + Id:string (required); + Label:string (required); + WindowType:WindowTypeEnum = normal; +} + +table PopupWindowTableArray (fs_serializer) { + Table:[PopupWindowTable] (required); +} + +root_type PopupWindowTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Event/TreeShakePokemonArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/TreeShakePokemonArray.fbs new file mode 100644 index 00000000..b3679b84 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Event/TreeShakePokemonArray.fbs @@ -0,0 +1,27 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table TreeShakePokemonSelect { + Name:string (required); + Probability:uint; +} + +table TreeShakePokemon { + Id:string (key); + Data1:TreeShakePokemonSelect; + Data2:TreeShakePokemonSelect; + Data3:TreeShakePokemonSelect; + Data4:TreeShakePokemonSelect; + Data5:TreeShakePokemonSelect; + Data6:TreeShakePokemonSelect; + Data7:TreeShakePokemonSelect; + Data8:TreeShakePokemonSelect; + Data9:TreeShakePokemonSelect; + Data10:TreeShakePokemonSelect; +} + +table TreeShakePokemonArray (fs_serializer) { + Table:[TreeShakePokemon] (required); +} + +root_type TreeShakePokemonArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec2f.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec2f.fbs new file mode 100644 index 00000000..6b814ede --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec2f.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PackedVec2f (fs_valueStruct) { + X:float; + Y:float; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec3f.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec3f.fbs new file mode 100644 index 00000000..23b4f292 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec3f.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PackedVec3f (fs_valueStruct) { + X:float; + Y:float; + Z:float; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec4f.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec4f.fbs new file mode 100644 index 00000000..cfbdf148 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/PackedVec4f.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PackedVec4f (fs_valueStruct) { + X:float; + Y:float; + Z:float; + W:float; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Transform.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Transform.fbs new file mode 100644 index 00000000..35bbe6df --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Transform.fbs @@ -0,0 +1,9 @@ +include "PackedVec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table Transform { + Scale:PackedVec3f; + Rotate:PackedVec3f; + Translate:PackedVec3f; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Vec3f.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Vec3f.fbs new file mode 100644 index 00000000..8104b61c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Geometry/Vec3f.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +table Vec3f { + X:float; + Y:float; + Z:float; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseRewardData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseRewardData.fbs new file mode 100644 index 00000000..94b4cc6e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseRewardData.fbs @@ -0,0 +1,9 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct ExerciseRewardData (fs_valueStruct) { + ItemId:ItemID = ITEMID_NONE; + ItemCount:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseSetting.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseSetting.fbs new file mode 100644 index 00000000..b9256357 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/ExerciseSetting.fbs @@ -0,0 +1,22 @@ +include "ExerciseRewardData.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct ExerciseSetting (fs_valueStruct) { + Variation:int; + InputSeconds:float; + InstructCount:int; + FixedReward:ExerciseRewardData; + + // Rewards:[ExerciseRewardData:8]; (FlatSharp doesn't do custom-type/non-primitive fixed sized struct arrays) + Rewards1:ExerciseRewardData; + Rewards2:ExerciseRewardData; + Rewards3:ExerciseRewardData; + Rewards4:ExerciseRewardData; + Rewards5:ExerciseRewardData; + Rewards6:ExerciseRewardData; + Rewards7:ExerciseRewardData; + Rewards8:ExerciseRewardData; + RewardsCount:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCoursePokemonTable.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCoursePokemonTable.fbs new file mode 100644 index 00000000..6d5903e4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCoursePokemonTable.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table GymKooriCoursePokemonTable (fs_serializer) { + MoveSpeed:float; + IsPathStartPosition:bool; + NextMoveDuration:float; + RotationDuration:float; + MoveSpeedChangeDuration:float; + BoundPower:float; +} + +root_type GymKooriCoursePokemonTable; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCourseTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCourseTableArray.fbs new file mode 100644 index 00000000..7be6ce50 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/GymKooriCourseTableArray.fbs @@ -0,0 +1,32 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table GymKooriCourseTable { + CourseId:int; + SceneName:string (required); + ClearTimeMinutes:int; + ClearTimeSeconds:int; + ClearTimeMillisecond:int; + PenaltyTimeMinutes:int; + PenaltyTimeSeconds:int; + PenaltyTimeMillisecond:int; + TimeupTimeMinutes:int; + TimeupTimeSeconds:int; + TimeupTimeMillisecond:int; + BestRecordTimeName:string (required); + ShowNewRecord:bool; + ShowClearTime:bool; + PrizeItemId:ItemID = ITEMID_NONE; + PrizeItemNum:int; + IsClearName:string (required); + FirstPrizeItemId:ItemID = ITEMID_NONE; + FirstPrizeItemNum:int; +} + +table GymKooriCourseTableArray (fs_serializer) { + Table:[GymKooriCourseTable] (required); +} + +root_type GymKooriCourseTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.denki.PopupPosTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.denki.PopupPosTableArray.fbs new file mode 100644 index 00000000..0434fb8f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.denki.PopupPosTableArray.fbs @@ -0,0 +1,23 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum WindowType : int { + Normal = 0, + Burst = 1, + Thinking = 2, + SubQuest = 3, +} + +table PopupPosTable { + AreaId:int; + PosId:int; + PosX:float; + PosY:float; + WindowType:WindowType = Normal; +} + +table PopupPosTableArray (fs_serializer) { + Table:[PopupPosTable] (required); +} + +root_type PopupPosTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.ENDLESS_BORDERArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.ENDLESS_BORDERArray.fbs new file mode 100644 index 00000000..78d6d996 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.ENDLESS_BORDERArray.fbs @@ -0,0 +1,14 @@ +include "ExerciseSetting.fbs"; +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +table ENDLESSBORDER { + Setting:ExerciseSetting; +} + +table ENDLESSBORDERArray (fs_serializer) { + Table:[ENDLESSBORDER] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.EXERCISE_COURSESArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.EXERCISE_COURSESArray.fbs new file mode 100644 index 00000000..aa50f75c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.esper.EXERCISE_COURSESArray.fbs @@ -0,0 +1,14 @@ +include "ExerciseSetting.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table EXERCISECOURSES { + SEtting:ExerciseSetting (required); +} + +table EXERCISECOURSESArray (fs_serializer) { + Table:[EXERCISECOURSES] (required); +} + +root_type EXERCISECOURSESArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.PokeTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.PokeTableArray.fbs new file mode 100644 index 00000000..ea0560d0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.PokeTableArray.fbs @@ -0,0 +1,31 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum Feature : int { + Stand = 0, + Hiding = 1, + Runaway = 2, + Tree = 3, + FlowerPot = 4, + Shopping = 5, +} + +table PokeTable { + ObjectName:string (required); + FindFlagName:string (required); + IsBattle:bool; + BattleFlagName:string (required); + BattleId:string (required); + BattleMessageName:string (required); + RanchMessageName:string (required); + Feature:Feature; + PositionXFlagName:string (required); + PositionYFlagName:string (required); + PositionZFlagName:string (required); +} + +table PokeTableArray (fs_serializer) { + Table:[PokeTable] (required); +} + +root_type PokeTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.RewardTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.RewardTableArray.fbs new file mode 100644 index 00000000..7b5a77e1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.kusa.RewardTableArray.fbs @@ -0,0 +1,16 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV.Gym; +attribute "fs_serializer"; + +table RewardTable { + Count:byte; + ItemId:ItemID = ITEMID_NONE; + ItemNum:int; +} + +table RewardTableArray (fs_serializer) { + Table:[RewardTable] (required); +} + +root_type RewardTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.FixTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.FixTableArray.fbs new file mode 100644 index 00000000..362193f6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.FixTableArray.fbs @@ -0,0 +1,19 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FixTable { + FixTableId:int; + SmallPrice:int; + LargePrice:int; + NpcSmallRate:int; + NpcLargeRate:int; + NpcWishSmallRate:int; + NpcWishLargeRate:int; + PopupDistance:float; +} + +table FixTableArray (fs_serializer) { + Table:[FixTable] (required); +} + +root_type FixTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriItemTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriItemTableArray.fbs new file mode 100644 index 00000000..ea09b1f4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriItemTableArray.fbs @@ -0,0 +1,31 @@ +include "../Shared/DevID.fbs"; +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table SeriItemTable { + SeriItemTableId:int; + ItemId:ItemID = ITEMID_NONE; + MinPrice:int; + BasePrice:int; + MinItemNum:int; + MaxItemNum:int; + DiscountRate:float; + Venue1Probability:int; + Venue2Probability:int; + Venue3Probability:int; + Venue4Probability:int; + BarkerMessageLabelName:string (required); + ItemObjectName:string (required); + BoxObjectName:string (required); + EffectName:string (required); + AcquiredFlagName:string (required); + DevId:DevID = DEV_NULL; +} + +table SeriItemTableArray (fs_serializer) { + Table:[SeriItemTable] (required); +} + +root_type SeriItemTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriNpcTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriNpcTableArray.fbs new file mode 100644 index 00000000..b6bb8ceb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriNpcTableArray.fbs @@ -0,0 +1,27 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table SeriNpcTable { + SeriNpcTableId:int; + IsEventOnly:bool; + NpcName:string (required); + TemplateName:string (required); + WishItemId:ItemID = ITEMID_NONE; + BaseBudgetRate:float; + WishBudgetRate:float; + MinBidPrice:int; + MaxBidPrice:int; + BidMessageLabelName:string (required); + LargeMessageLabelName:string (required); + WishMessageLabelName:string (required); + BlessingMessageLabelName:string (required); + WindowOffset:float; +} + +table SeriNpcTableArray (fs_serializer) { + Table:[SeriNpcTable] (required); +} + +root_type SeriNpcTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriVenueTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriVenueTableArray.fbs new file mode 100644 index 00000000..79b18bbe --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mizu.SeriVenueTableArray.fbs @@ -0,0 +1,43 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum VenueType : int { + A = 0, + B = 1, + C = 2, + D = 3, +} + +table SeriVenueTable { + SeriVenueTableId:int; + IsEventOnly:bool; + IsLegend:bool; + VenueType:VenueType; + McName:string (required); + BarkerMessageLabelName:string (required); + BarkersMessageLabelName:string (required); + EntryMessageLabelName:string (required); + EntrysMessageLabelName:string (required); + FirstBidMessageLabelName:string (required); + NextBidMessageLabelName:string (required); + PlayerBidMessageLabelName:string (required); + PlayerSuccessBidMessageLabelName:string (required); + OtherSuccessBidMessageLabelName:string (required); + ReceiveItemMessageLabelName:string (required); + InvalidMessageLabelName:string (required); + EndMessageLabelName:string (required); + UnopenedMessageLabelName:string (required); + ProgressFlagName:string (required); + ItemIdFlagName:string (required); + ItemNumFlagName:string (required); + NpcId0FlagName:string (required); + NpcId1FlagName:string (required); + ItemPositionObjectName:string (required); + WindowOffset:float; +} + +table SeriVenueTableArray (fs_serializer) { + Table:[SeriVenueTable] (required); +} + +root_type SeriVenueTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiData.fbs new file mode 100644 index 00000000..ac9f7406 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiData.fbs @@ -0,0 +1,45 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +struct SubEventParam (fs_valueStruct) { + ItemID:ItemID = ITEMID_NONE; + ItemNum:int; +} + +struct PushBallPower (fs_valueStruct) { + Forward:float; + Upper:float; + RideForward:float; + RideUpper:float; +} + +struct FreeMoveParam (fs_valueStruct) { + FadeOutTime:float; + FadeInTime:float; + GoalBallVelocity:float; + GoalTimeOut:float; +} + +struct EventCommonParam (fs_valueStruct) { + GoalBallVelocity:float; + PlayerWaitTime:float; +} + +struct BoundOutsideFence (fs_valueStruct) { + Add:float; + Magnification:float; +} + +table GymMushiData (fs_serializer) { + Ball:PushBallPower; + Fence:BoundOutsideFence; + BallStartHeightOffset:float; + FreeMove:FreeMoveParam; + CommonEvent:EventCommonParam; + SubEvent:SubEventParam; +} + +root_type GymMushiData; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiRewardArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiRewardArray.fbs new file mode 100644 index 00000000..8f41fe11 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym.mushi.GymMushiRewardArray.fbs @@ -0,0 +1,20 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table GymMushiReward { + ItemID:ItemID = ITEMID_NONE; + ItemNum:int; + ClearTimeMinutes:int; + ClearTimeSeconds:int; + ClearTimeMillisecond:int; + ItemReceivedWorkName:string (required); + IsClear:bool; +} + +table GymMushiRewardArray (fs_serializer) { + Table:[GymMushiReward] (required); +} + +root_type GymMushiRewardArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym_denki.PopupFixTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym_denki.PopupFixTableArray.fbs new file mode 100644 index 00000000..131152b1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Gym/gym_denki.PopupFixTableArray.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table PopupFixTable { + EventShowTime:float; + EventAppearFirstTime:float; + EventAppearMinTime:float; + EventAppearMaxTime:float; + EventPopup1AreaId:int; + EventPopup2AreaId:int; + EventPopup3AreaId:int; + EventPopup4AreaId:int; + BossShowTime:float; + BossPopup1AreaId:int; + BossPopup2AreaId:int; + BossPopup3AreaId:int; + BossPopup4AreaId:int; +} + +table PopupFixTableArray (fs_serializer) { + Table:[PopupFixTable] (required); +} + +root_type PopupFixTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/DLCItemGroupArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/DLCItemGroupArray.fbs new file mode 100644 index 00000000..59035238 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/DLCItemGroupArray.fbs @@ -0,0 +1,98 @@ +include "../Shared/DevID.fbs"; +include "../Shared/ItemID.fbs"; +include "../Shared/SexType.fbs"; +include "../Shared/TokuseiType.fbs"; +include "../Shared/GemType.fbs"; +include "../Shared/RareType.fbs"; +include "../Shared/SizeType.fbs"; +include "../Shared/TalentType.fbs"; +include "../Shared/SeikakuType.fbs"; +include "../Shared/BallType.fbs"; + +include "../Entity/ParamSet.fbs"; +include "../PokeData/WazaSet.fbs"; +include "../Waza/WazaType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum DLCItemGender : int { + ALL = 0, + MALE = 1, + FEMALE = 2, +} + +enum DLCItemType : int { + DLCNONE = 0, + DLCItem = 1, + DLCDressUpItem = 2, + DLCPokemon = 3, +} + +table DLCItemGroup { + ItemType:DLCItemType; + DataId:int; + SortId:int; + GroupNameTextLabel:string (required); + ItemGender:DLCItemGender; + ItemDataList:DLCItemDataList; +} + +table DLCItemDataList { + ItemData01:DLCItemData; + ItemData02:DLCItemData; + ItemData03:DLCItemData; + ItemData04:DLCItemData; + ItemData05:DLCItemData; + ItemData06:DLCItemData; + ItemData07:DLCItemData; + ItemData08:DLCItemData; + ItemData09:DLCItemData; + ItemData10:DLCItemData; + ItemData11:DLCItemData; + ItemData12:DLCItemData; +} + +table DLCItemData { + ItemType:DLCItemType; + ItemId:ItemID = ITEMID_NONE; + ItemNum:int; + DressupItemId:int; + PokemonData:PokeDataDLCGift; +} + +table PokeDataDLCGift { + DevId:DevID = DEV_NULL; + FormId:short; + Level:int; + Sex:SexType; + Tokusei:TokuseiType; + GemType:GemType; + RareType:RareType; + ScaleType:SizeType; + ScaleValue:short; + WeightType:SizeType; + WaightValue:short; + TalentType:TalentType; + TalentVnum:byte; + TalentValue:ParamSet; + EffortValue:ParamSet; + Item:ItemID = ITEMID_NONE; + Seikaku:SeikakuType; + SeikakuHosei:SeikakuType; + WazaType:WazaType; + Waza1:WazaSet; + Waza2:WazaSet; + Waza3:WazaSet; + Waza4:WazaSet; + BallId:BallType; + UseNickName:bool; + NicknameLabel:ulong; + ParentSex:SexType; +} + +table DLCItemGroupArray (fs_serializer) { + Table:[DLCItemGroup] (required); +} + +root_type DLCItemGroupArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/DropItemDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/DropItemDataArray.fbs new file mode 100644 index 00000000..4e2feeb0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/DropItemDataArray.fbs @@ -0,0 +1,22 @@ +include "../Shared/ItemID.fbs"; +include "../Shared/DevID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DropItemData { + DevId:DevID = DEV_NULL; + Item1:OneItemData (required); +} + +table OneItemData { + ItemId:ItemID = ITEMID_NONE; + Rate:byte; + Num:byte; +} + +table DropItemDataArray (fs_serializer) { + Table:[DropItemData] (required); +} + +root_type DropItemDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/BattleFunctionType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/BattleFunctionType.fbs new file mode 100644 index 00000000..03d58e4e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/BattleFunctionType.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum BattleFunctionType : int { + BTLFUNC_NONE = 0, + BTLFUNC_BALL = 1, + BTLFUNC_RECOVER = 2, + BTLFUNC_ESCAPE = 3, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/EquipEffect.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/EquipEffect.fbs similarity index 97% rename from pkNX.Structures.FlatBuffers/Gen9/Item/Enums/EquipEffect.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/EquipEffect.fbs index 0c1ea325..ccb061db 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/EquipEffect.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/EquipEffect.fbs @@ -1,11 +1,5 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum EquipEffect -{ +namespace pkNX.Structures.FlatBuffers.SV; +enum EquipEffect : int { SOUBI_NONE = 0, SOUBI_HPKAIHUKU = 1, SOUBI_DORAGONGHOSTUP = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldFunctionType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldFunctionType.fbs similarity index 75% rename from pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldFunctionType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldFunctionType.fbs index bfbf54c6..a6ba63c8 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldFunctionType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldFunctionType.fbs @@ -1,11 +1,5 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum FieldFunctionType -{ +namespace pkNX.Structures.FlatBuffers.SV; +enum FieldFunctionType : int { FIELDFUNC_NONE = 0, FIELDFUNC_RECOVER = 1, FIELDFUNC_WAZA = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldPocket.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldPocket.fbs similarity index 63% rename from pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldPocket.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldPocket.fbs index f9fb3ff3..4ad0e81f 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/FieldPocket.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/FieldPocket.fbs @@ -1,11 +1,5 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum FieldPocket -{ +namespace pkNX.Structures.FlatBuffers.SV; +enum FieldPocket : int { FPOCKET_DRUG = 0, FPOCKET_BALL = 1, FPOCKET_BATTLE = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemGroup.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemGroup.fbs similarity index 70% rename from pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemGroup.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemGroup.fbs index c4768b4b..44d58a8c 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemGroup.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemGroup.fbs @@ -1,11 +1,5 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ItemGroup -{ +namespace pkNX.Structures.FlatBuffers.SV; +enum ItemGroup : int { ITEMGROUP_NONE = 0, ITEMGROUP_BALL = 1, ITEMGROUP_POCKET = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemType.fbs similarity index 67% rename from pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemType.fbs index df107b2e..86bd2fda 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/ItemType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/ItemType.fbs @@ -1,11 +1,5 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ItemType -{ +namespace pkNX.Structures.FlatBuffers.SV; +enum ItemType : int { ITEMTYPE_POCKET = 0, ITEMTYPE_DRUG = 1, ITEMTYPE_EQUIP = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/PluckEffect.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/PluckEffect.fbs similarity index 81% rename from pkNX.Structures.FlatBuffers/Gen9/Item/Enums/PluckEffect.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/PluckEffect.fbs index 596cdf94..c98c43fc 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/PluckEffect.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/PluckEffect.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum PluckEffect -{ +enum PluckEffect : int { TUIBAMU_NONE = 0, TUIBAMU_MAHINAOSI = 1, TUIBAMU_NEMUKEZAMASI = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkPpSelTgt.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkPpSelTgt.fbs new file mode 100644 index 00000000..e71a1064 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkPpSelTgt.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum WorkPpSelTgt : int { + WORKPPSEL_NONE = 0, + WORKPPSEL_SINGLE = 1, + WORKPPSEL_OVERALL = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkType.fbs new file mode 100644 index 00000000..4f915342 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/Enums/WorkType.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum WorkType : int { + WORKTYPE_OTHER = 0, + WORKTYPE_EffectPokemon = 1, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemBiomeTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemBiomeTableArray.fbs new file mode 100644 index 00000000..ee2312b2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemBiomeTableArray.fbs @@ -0,0 +1,18 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table HiddenItemBiomeTable { + Key:HiddenItemBiomeKey (required); + TableId:string (required); +} + +table HiddenItemBiomeKey { + Area:int (key); + Biome:string (required); +} + +table HiddenItemBiomeTableArray (fs_serializer) { + Table:[HiddenItemBiomeTable] (required); +} + +root_type HiddenItemBiomeTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemDataTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemDataTableArray.fbs new file mode 100644 index 00000000..b1460013 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/HiddenItemDataTableArray.fbs @@ -0,0 +1,30 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table HiddenItemDataTable { + TableId:string (required); + Item1:HiddenItemDataTableInfo (required); + Item2:HiddenItemDataTableInfo (required); + Item3:HiddenItemDataTableInfo (required); + Item4:HiddenItemDataTableInfo (required); + Item5:HiddenItemDataTableInfo (required); + Item6:HiddenItemDataTableInfo (required); + Item7:HiddenItemDataTableInfo (required); + Item8:HiddenItemDataTableInfo (required); + Item9:HiddenItemDataTableInfo (required); + Item10:HiddenItemDataTableInfo (required); +} + +table HiddenItemDataTableInfo { + ItemId:ItemID = ITEMID_NONE; + EmergePercent:int; + DropCount:int; +} + +table HiddenItemDataTableArray (fs_serializer) { + Table:[HiddenItemDataTable] (required); +} + +root_type HiddenItemDataTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemDataArray.fbs new file mode 100644 index 00000000..f39087c2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemDataArray.fbs @@ -0,0 +1,87 @@ +include "../Waza/WazaID.fbs"; +include "Enums/BattleFunctionType.fbs"; +include "Enums/EquipEffect.fbs"; +include "Enums/FieldFunctionType.fbs"; +include "Enums/FieldPocket.fbs"; +include "Enums/ItemGroup.fbs"; +include "Enums/ItemType.fbs"; +include "Enums/PluckEffect.fbs"; +include "Enums/WorkPpSelTgt.fbs"; +include "Enums/WorkType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ItemData { + Id:int (key); + ItemType:ItemType; + IconName:string (required); + Price:int; + BP:int; + EquipEffect:EquipEffect; + EquipPower:int; + ThrowPower:int; + ThrowEffect:bool; + NaturalGiftPower:int; + NaturalGiftType:int; + PluckEffect:PluckEffect; + MachineWaza:WazaID; + SortNum:int; + ItemGroup:ItemGroup; + GroupID:int; + FieldPocket:FieldPocket; + FieldFunctionType:FieldFunctionType; + BattleFunctionType:BattleFunctionType; + BattleUseLost:bool; + BattleBagSelect:bool; + BattleBagSelectTarget:bool; + NoSpend:bool; + SetToPoke:bool; + SlotMaxNum:int; + WorkType:WorkType; + WorkCommon:int; + WorkEffectGuard:int; + WorkCritical:int; + WorkAttack:int; + WorkDefense:int; + WorkSpeed:int; + WorkAccuracy:int; + WorkSpAttack:int; + WorkSpDefense:int; + WorkLevel:int; + WorkPpSelTgt:WorkPpSelTgt; + WorkPpRcv:int; + WorkPpUp:int; + WorkStatusLimitCtrl:int; + WorkStatusHp:int; + WorkStatusAtk:int; + WorkStatusDef:int; + WorkStatusSpd:int; + WorkStatusSAtk:int; + WorkStatusSDef:int; + WorkFriendly1:int; + WorkFriendly2:int; + WorkFriendly3:int; + WorkRecvSleep:int; + WorkRecvPoison:int; + WorkRecvBurn:int; + WorkRecvFreeze:int; + WorkRecvParalyze:int; + WorkRecvConfuse:int; + WorkRecvMero:int; + WorkRecvPower:int; + WorkRevival:int; + WorkEvolutional:int; + WorkRecvNemuke:int; + WorkRecvTousyou:int; + WorkWazaDrunk:int; + WorkAvoidUp:int; + WorkOffenseUp:int; + WorkOffDefInv:int; +} + +table ItemDataArray (fs_serializer) { + Table:[ItemData] (required); +} + +root_type ItemDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemPointTypeBiomeTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemPointTypeBiomeTableArray.fbs new file mode 100644 index 00000000..cba12b45 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/ItemPointTypeBiomeTableArray.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ItemPointTypeBiomeTable { + Biome:string (required); + WeightHiddenItem:float; + WeightRummagingItem:float; +} + +table ItemPointTypeBiomeTableArray (fs_serializer) { + Table:[ItemPointTypeBiomeTable] (required); +} + +root_type ItemPointTypeBiomeTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/MonohiroiItemArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/MonohiroiItemArray.fbs new file mode 100644 index 00000000..53da27bd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/MonohiroiItemArray.fbs @@ -0,0 +1,48 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table OneMonohiroiItem { + ItemId:ItemID = ITEMID_NONE; + Rate:int; +} + +table MonohiroiItem { + Item01:OneMonohiroiItem; + Item02:OneMonohiroiItem; + Item03:OneMonohiroiItem; + Item04:OneMonohiroiItem; + Item05:OneMonohiroiItem; + Item06:OneMonohiroiItem; + Item07:OneMonohiroiItem; + Item08:OneMonohiroiItem; + Item09:OneMonohiroiItem; + Item10:OneMonohiroiItem; + Item11:OneMonohiroiItem; + Item12:OneMonohiroiItem; + Item13:OneMonohiroiItem; + Item14:OneMonohiroiItem; + Item15:OneMonohiroiItem; + Item16:OneMonohiroiItem; + Item17:OneMonohiroiItem; + Item18:OneMonohiroiItem; + Item19:OneMonohiroiItem; + Item20:OneMonohiroiItem; + Item21:OneMonohiroiItem; + Item22:OneMonohiroiItem; + Item23:OneMonohiroiItem; + Item24:OneMonohiroiItem; + Item25:OneMonohiroiItem; + Item26:OneMonohiroiItem; + Item27:OneMonohiroiItem; + Item28:OneMonohiroiItem; + Item29:OneMonohiroiItem; + Item30:OneMonohiroiItem; +} + +table MonohiroiItemArray (fs_serializer) { + Table:[MonohiroiItem] (required); +} + +root_type MonohiroiItemArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Item/RummagingItemDataTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/RummagingItemDataTableArray.fbs new file mode 100644 index 00000000..9a9f64d7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Item/RummagingItemDataTableArray.fbs @@ -0,0 +1,36 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum RummagingCategory : int { + NONE = 0, + BUSH = 1, + ROCK = 2, + UNDER_WATER = 3, + IN_THE_GROUND = 4, + HIGH_ALTITUDE = 5, +} + +enum RummagingPattern : int { + NONE = 0, + NORMAL = 1, + NUT = 2, + RARE = 3, +} + +table RummagingItemDataTable { + Category:RummagingCategory = NONE; + Pattern:RummagingPattern = NONE; + Item00:ItemID = ITEMID_NONE; + Item01:ItemID = ITEMID_NONE; + Item02:ItemID = ITEMID_NONE; + Item03:ItemID = ITEMID_NONE; + Item04:ItemID = ITEMID_NONE; +} + +table RummagingItemDataTableArray (fs_serializer) { + Table:[RummagingItemDataTable] (required); +} + +root_type RummagingItemDataTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoCommonLevelArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoCommonLevelArray.fbs new file mode 100644 index 00000000..ae69bc99 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoCommonLevelArray.fbs @@ -0,0 +1,23 @@ +include "AjitoDifficultEnum.fbs"; +include "AjitoTypeEnum.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +struct AjitoCommonLevelStruct (fs_valueStruct) { + Type:AjitoTypeEnum; + Difficulty:AjitoDifficultEnum; + ClearPokemonNum:int; + MinPokemonLv:int; + MaxPokemonLv:int; + LpCoefficient:int; +} + +table AjitoCommonLevel { + Inner:AjitoCommonLevelStruct; +} + +table AjitoCommonLevelArray (fs_serializer) { + Table:[AjitoCommonLevel] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoDifficultEnum.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoDifficultEnum.fbs new file mode 100644 index 00000000..e285bfd2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoDifficultEnum.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum AjitoDifficultEnum : int { + Easy = 0, + Normal = 1, + Hard = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoPokemonArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoPokemonArray.fbs new file mode 100644 index 00000000..4d62b762 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoPokemonArray.fbs @@ -0,0 +1,18 @@ +include "../../Shared/DevID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table AjitoPokemonTable { + PokemonId:int; + DevId:DevID = DEV_NULL; + FormNo:int; +} + +table AjitoPokemon { + Table:AjitoPokemonTable (required); +} + +table AjitoPokemonArray (fs_serializer) { + Table:[AjitoPokemon] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoTypeEnum.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoTypeEnum.fbs new file mode 100644 index 00000000..4cbdbfb2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoTypeEnum.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum AjitoTypeEnum : int { + Fire = 0, + Dark = 1, + Fairy = 2, + Fighting = 3, + Poison = 4, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoUnitArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoUnitArray.fbs new file mode 100644 index 00000000..072ef5ca --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/Ajito/AjitoUnitArray.fbs @@ -0,0 +1,28 @@ +include "AjitoDifficultEnum.fbs"; +include "AjitoTypeEnum.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table AjitoUnitTable { + Type:AjitoTypeEnum; + Difficulty:AjitoDifficultEnum; + PokemonId1:int; + PokemonId2:int; + PokemonId3:int; + PokemonId4:int; + PokemonId5:int; + PokemonId6:int; + PokemonId7:int; + PokemonId8:int; + PokemonId9:int; + PokemonId10:int; +} + +table AjitoUnit { + Inner:AjitoUnitTable (required); +} + +table AjitoUnitArray (fs_serializer) { + Table:[AjitoUnit] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/GemSettingRootTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/GemSettingRootTableArray.fbs new file mode 100644 index 00000000..ce2da538 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/GemSettingRootTableArray.fbs @@ -0,0 +1,70 @@ +include "../Geometry/PackedVec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +table GemSettingRootTable { + Name:string (required); + DefaultModelData:GemParam; + DefaultModelLocaterData:string (required); + IndividualModelData:GemArrayParam; + IndividualModelLocaterData:GemTypeLocaterTable (required); + DefaultEffectData:GemParam; + DefaultEffectLocaterData:string (required); +} + +struct GemParam (fs_valueStruct) { + Pos:PackedVec3f; + Rot:PackedVec3f; + Scale:float; +} + +struct GemArrayParam (fs_valueStruct) { + // GemParam[18] + Group00:GemParam; + Group01:GemParam; + Group02:GemParam; + Group03:GemParam; + Group04:GemParam; + Group05:GemParam; + Group06:GemParam; + Group07:GemParam; + Group08:GemParam; + Group09:GemParam; + Group10:GemParam; + Group11:GemParam; + Group12:GemParam; + Group13:GemParam; + Group14:GemParam; + Group15:GemParam; + Group16:GemParam; + Group17:GemParam; +} + +table GemTypeLocaterTable { + Normal:string (required); + Kakutou:string (required); + Hikou:string (required); + Doku:string (required); + Jimen:string (required); + Iwa:string (required); + Mushi:string (required); + Ghost:string (required); + Hagane:string (required); + Honoo:string (required); + Mizu:string (required); + Kusa:string (required); + Denki:string (required); + Esper:string (required); + Koori:string (required); + Dragon:string (required); + Aku:string (required); + Fairy:string (required); +} + +table GemSettingRootTableArray (fs_serializer) { + Table:[GemSettingRootTable] (required); +} + +root_type GemSettingRootTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/RibbonDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/RibbonDataArray.fbs new file mode 100644 index 00000000..b6c831fe --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Misc/RibbonDataArray.fbs @@ -0,0 +1,16 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RibbonData { + Id:int; + DispOrder:int; + NameLabel:string (required); + DescLabel:string (required); + TitleLabel:string (required); +} + +table RibbonDataArray (fs_serializer) { + Table:[RibbonData] (required); +} + +root_type RibbonDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleDataArray.fbs new file mode 100644 index 00000000..67398aa3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleDataArray.fbs @@ -0,0 +1,57 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum GemModeLimit : int { + USABLE = 0, + PROHIBITION = 1, +} + +enum LevelRateRule : int { + NONE = 0, + OR_MORE = 1, + OR_LESS = 2, + OR_MORE_REVISE = 3, + ALL_REVISE = 4, + OR_LESS_REVISE = 5, +} + +enum PokeShowType : int { + NOT_SHOW = 0, + SHOW = 1, +} + +enum TimeLimitType : int { + TOTAL = 0, + WAIT = 1, + TOTALWAIT = 2, +} + +enum UseCheck : int { + USABLE = 0, + NOT_USE = 1, +} + +table NetBattleRuleData { + BattleRuleId:int; + BattleteamPokeMin:int; + BattleteamPokeMax:int; + SelectPokeMin:int; + SelectPokeMax:int; + JoinLevel:int; + LevelRateRule:LevelRateRule; + SamePokeCheck:UseCheck = USABLE; + SameItemCheck:UseCheck = USABLE; + TimelimitType:TimeLimitType = TOTAL; + LimitTime:int; + WaitTime:int; + DecideTime:int; + PokeShowType:PokeShowType = NOT_SHOW; + PokeShowTime:int; + GemModeFlag:GemModeLimit = USABLE; +} + +table NetBattleRuleDataArray (fs_serializer) { + Table:[NetBattleRuleData] (required); +} + +root_type NetBattleRuleDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleParamArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleParamArray.fbs new file mode 100644 index 00000000..dc3c3c6b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/NetBattle/NetBattleRuleParamArray.fbs @@ -0,0 +1,22 @@ +include "../Shared/BattleType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum LevelType : int { + NORMAL = 0, + FLAT = 1, + NON_LIMITED = 2, +} + +table NetBattleRuleParam { + BattleRuleId:int; + BattleType:BattleType; + LevelType:LevelType = NORMAL; +} + +table NetBattleRuleParamArray (fs_serializer) { + Table:[NetBattleRuleParam] (required); +} + +root_type NetBattleRuleParamArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDetail.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDetail.fbs new file mode 100644 index 00000000..a75b148b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDetail.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PersonalInfoDetail { // give me a class, not struct. + SpeciesInternal : ushort; + Form : ushort; + SpeciesNational : ushort; + Color : ubyte ; + BodyType : ubyte ; + Height : ushort; + Weight : ushort; + Reserved0 : uint ; + Reserved1 : uint ; + Reserved2 : uint ; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDex.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDex.fbs new file mode 100644 index 00000000..ca7d8f18 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoDex.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PersonalInfoDex { // give me a class, not struct. + Index:ushort; + Group:ubyte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoEvolution.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoEvolution.fbs new file mode 100644 index 00000000..6306d272 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoEvolution.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PersonalInfoEvolution { // give me a class, not struct. + Level:ushort; + Method:ushort; + Argument:ushort; + Reserved3:ushort; + Reserved4:ushort; + Reserved5:ushort; + SpeciesInternal:ushort; + Form:ushort; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoGender.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoGender.fbs new file mode 100644 index 00000000..7bf0598f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoGender.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +enum SexGroup : ubyte { + BOTH = 0, + MALE = 1, + FEMALE = 2, + UNKNOWN = 3, +} + +struct PersonalInfoGender { // give me a class, not struct. + Group:SexGroup = BOTH; + Ratio:ubyte; // {rand(100) < value} => gender. +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoHatch.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoHatch.fbs new file mode 100644 index 00000000..604efc9d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoHatch.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PersonalInfoHatch { // give me a class, not struct. + SpeciesInternal:ushort; + Form:ushort; + RegionalFlags:ushort; + EverstoneForm:ushort; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoMove.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoMove.fbs new file mode 100644 index 00000000..384c94c7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoMove.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PersonalInfoMove { // give me a class, not struct. + Move:ushort; + Level:byte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoStats.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoStats.fbs new file mode 100644 index 00000000..5fd71ace --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalInfoStats.fbs @@ -0,0 +1,11 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct PersonalInfoStats { // give me a class, not struct. + HP :ubyte; + ATK:ubyte; + DEF:ubyte; + SPA:ubyte; + SPD:ubyte; + SPE:ubyte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalTable.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalTable.fbs new file mode 100644 index 00000000..690407fc --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Personal/PersonalTable.fbs @@ -0,0 +1,45 @@ +include "PersonalInfoDetail.fbs"; +include "PersonalInfoDex.fbs"; +include "PersonalInfoEvolution.fbs"; +include "PersonalInfoGender.fbs"; +include "PersonalInfoHatch.fbs"; +include "PersonalInfoMove.fbs"; +include "PersonalInfoStats.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table PersonalInfo { + Info:PersonalInfoDetail (required); + IsPresentInGame:bool; + Dex:PersonalInfoDex; // not required + Type1:ubyte; + Type2:ubyte; + Ability1:ushort; + Ability2:ushort; + AbilityH:ushort; + EXPGrowth:ubyte; + CatchRate:ubyte; + Gender:PersonalInfoGender (required); + EggGroup1:ubyte; + EggGroup2:ubyte; + Hatch:PersonalInfoHatch (required); + HatchCycles:ubyte; + BaseFriendship:ubyte; + BaseEXPAddend:short; + EvoStage:ubyte; + IsTypeChangeDisallowed:bool; // Silvally, Arceus (and Sylveon in 1.0.0, fixed) + EVYield:PersonalInfoStats (required); + Base:PersonalInfoStats (required); + Evolutions:[PersonalInfoEvolution] (required); + TechnicalMachine:[ushort] (required); + EggMoves:[ushort] (required); + ReminderMoves:[ushort] (required); + Learnset:[PersonalInfoMove] (required); +} + +table PersonalTable (fs_serializer) { + Table:[PersonalInfo] (required); +} + +root_type PersonalTable; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicPokemon.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicPokemon.fbs new file mode 100644 index 00000000..1a0268c2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicPokemon.fbs @@ -0,0 +1,91 @@ +include "../Geometry/PackedVec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table WashData { + HappyBoneInfoList:PokemonContactJointList (required); + HateBoneInfoList:PokemonContactJointList (required); + UseUniqueData:bool; + UniqueData:UniqueWashData (required); + DisableEraseFaceEffect:bool; + DisableWink:bool; + DisableAwaJoints:DisableAwaJointParam (required); +} + +table UniqueWashJointParam { + Valid:bool; + JointName:string (required); + Offset:PackedVec3f; +} + +table UniqueWashData { + Joint0:UniqueWashJointParam (required); + Joint1:UniqueWashJointParam (required); + Joint2:UniqueWashJointParam (required); + Joint3:UniqueWashJointParam (required); + Joint4:UniqueWashJointParam (required); + Joint5:UniqueWashJointParam (required); + Joint6:UniqueWashJointParam (required); + Joint7:UniqueWashJointParam (required); + Joint8:UniqueWashJointParam (required); + Joint9:UniqueWashJointParam (required); + Joint10:UniqueWashJointParam (required); + Joint11:UniqueWashJointParam (required); + Joint12:UniqueWashJointParam (required); + Joint13:UniqueWashJointParam (required); + Joint14:UniqueWashJointParam (required); + Joint15:UniqueWashJointParam (required); + Joint16:UniqueWashJointParam (required); + Joint17:UniqueWashJointParam (required); + Joint18:UniqueWashJointParam (required); + Joint19:UniqueWashJointParam (required); +} + +table PokemonContactJointList { + Value0:PokemonContactJointInfo (required); + Value1:PokemonContactJointInfo (required); + Value2:PokemonContactJointInfo (required); + Value3:PokemonContactJointInfo (required); + Value4:PokemonContactJointInfo (required); +} + +table PokemonContactJointInfo { + Name:string (required); + CollisionRad:float; +} + +table PettingData { + HappyBoneInfoList:PokemonContactJointList (required); + HateBoneInfoList:PokemonContactJointList (required); +} + +table DisableAwaJointParam { + Joint0:string (required); + Joint1:string (required); + Joint2:string (required); + Joint3:string (required); + Joint4:string (required); + Joint5:string (required); + Joint6:string (required); + Joint7:string (required); + Joint8:string (required); + Joint9:string (required); + Joint10:string (required); + Joint11:string (required); + Joint12:string (required); + Joint13:string (required); + Joint14:string (required); + Joint15:string (required); + Joint16:string (required); + Joint17:string (required); + Joint18:string (required); + Joint19:string (required); +} + +table PicnicPokemon (fs_serializer) { + Petting:PettingData (required); + Wash:WashData (required); +} + +root_type PicnicPokemon; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicSystemData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicSystemData.fbs new file mode 100644 index 00000000..fa7e0bd7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicSystemData.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table PicnicSystemData (fs_serializer) { + PicnicRangeRadius:float; +} + +root_type PicnicSystemData; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicTablesetData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicTablesetData.fbs new file mode 100644 index 00000000..5613e768 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicTablesetData.fbs @@ -0,0 +1,80 @@ +include "../Geometry/Transform.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table PicnicTablePlayerItemInfo { + ChairPos:Transform (required); + WaterBottlePos:Transform (required); + TumblerPos:Transform (required); +} + +table NormalPicnicTableInfo { + BucketPos:Transform (required); + LanternPos:Transform (required); + Player0:PicnicTablePlayerItemInfo (required); + Player1:PicnicTablePlayerItemInfo (required); + Player2:PicnicTablePlayerItemInfo (required); + Player3:PicnicTablePlayerItemInfo (required); +} + +table IngredientPicnicTableInfo { + Pos0:Transform (required); + Pos1:Transform (required); + Pos2:Transform (required); + Pos3:Transform (required); + Pos4:Transform (required); + Pos5:Transform (required); + Pos6:Transform (required); + Pos7:Transform (required); + Pos8:Transform (required); + Pos9:Transform (required); +} + +table CookingPicnicTableInfo { + DishPos:Transform (required); + BucketPos:Transform (required); + LanternPos:Transform (required); + Ingredient:IngredientPicnicTableInfo (required); + Seasoning:SeasoningPicnicTableInfo (required); +} + +table CookedPicnicTableInfo { + Berryjam01Pos:Transform (required); + Berryjam02Pos:Transform; // not required + BottleRedPos:Transform (required); + BottleYellowPos:Transform (required); + BucketPos:Transform (required); + Butter01Pos:Transform (required); + Butter02Pos:Transform (required); + Creamcheese01Pos:Transform; // not required + DishPos:Transform (required); + LanternPos:Transform (required); + Marmalade04Pos:Transform (required); + Oliveoil03Pos:Transform (required); + Smallbowl01OliveoilPos:Transform (required); + Smallbowl01VinegarPos:Transform (required); + Watercress01Pos:Transform (required); + Watercress02Pos:Transform (required); + Watercress03Pos:Transform (required); + Watercress01Shadow01Pos:Transform (required); + Watercress01Shadow02Pos:Transform (required); + Cocotteplate06WhippedcreamPos:Transform (required); + Marmalade01Pos:Transform (required); + Chilisauce01Pos:Transform (required); +} + +table SeasoningPicnicTableInfo { + Pos0:Transform (required); + Pos1:Transform (required); + Pos2:Transform (required); + Pos3:Transform (required); +} + +table PicnicTablesetData (fs_serializer) { + Normal:NormalPicnicTableInfo (required); + Cooking:CookingPicnicTableInfo (required); + Cooked:CookedPicnicTableInfo (required); +} + +root_type PicnicTablesetData; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicWagonData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicWagonData.fbs new file mode 100644 index 00000000..6612daa7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Picnic/PicnicWagonData.fbs @@ -0,0 +1,22 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table LoveLevelProb { + Good:float; + Normal:float; + Bad:float; + Worst:float; +} + +table PokemonEggCommonData { + CreateEggTimer:float; + CreateEggTimerShort:float; + CreateEggProb:LoveLevelProb (required); +} + +table PicnicWagonData (fs_serializer) { + WagonSize:int; + EggCommonData:PokemonEggCommonData (required); +} + +root_type PicnicWagonData; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataBattle.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataBattle.fbs new file mode 100644 index 00000000..3fa71e8e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataBattle.fbs @@ -0,0 +1,40 @@ +include "../Shared/DevID.fbs"; +include "../Shared/GemType.fbs"; +include "../Shared/SexType.fbs"; +include "../Shared/ItemID.fbs"; +include "../Shared/SeikakuType.fbs"; +include "../Shared/TokuseiType.fbs"; +include "../Shared/TalentType.fbs"; +include "../Shared/RareType.fbs"; +include "../Shared/SizeType.fbs"; +include "../Shared/BallType.fbs"; + +include "../PokeData/WazaSet.fbs"; +include "../Entity/ParamSet.fbs"; +include "../Waza/WazaType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table PokeDataBattle { + DevId:DevID = DEV_NULL; + FormId:short; + Sex:SexType; + Item:ItemID = ITEMID_NONE; + Level:int; + BallId:BallType; + WazaType:WazaType; + Waza1:WazaSet (required); + Waza2:WazaSet (required); + Waza3:WazaSet (required); + Waza4:WazaSet (required); + GemType:GemType; + Seikaku:SeikakuType; + Tokusei:TokuseiType; + TalentType:TalentType; + TalentValue:ParamSet (required); + TalentVnum:byte; + EffortValue:ParamSet (required); + RareType:RareType; + ScaleType:SizeType; + ScaleValue:short; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataEventBattle.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataEventBattle.fbs new file mode 100644 index 00000000..97f47798 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataEventBattle.fbs @@ -0,0 +1,43 @@ +include "../Shared/DevID.fbs"; +include "../Shared/GemType.fbs"; +include "../Shared/SexType.fbs"; +include "../Shared/ItemID.fbs"; +include "../Shared/SeikakuType.fbs"; +include "../Shared/TokuseiType.fbs"; +include "../Shared/TalentType.fbs"; +include "../Shared/RareType.fbs"; +include "../Shared/SizeType.fbs"; +include "../Shared/RibbonType.fbs"; + +include "../PokeData/WazaSet.fbs"; +include "../Entity/ParamSet.fbs"; +include "../Waza/WazaType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table PokeDataEventBattle { + DevId:DevID = DEV_NULL; + FormId:short; + Sex:SexType; + Level:int; + RareType:RareType; + TalentType:TalentType; + TalentVnum:byte; + TalentValue:ParamSet (required); + EffortValue:ParamSet (required); + Item:ItemID = ITEMID_NONE; + DropItem:ItemID = ITEMID_NONE; + DropItemNum:byte; + Seikaku:SeikakuType; + SeikakuHosei:SeikakuType; + Tokusei:TokuseiType; + WazaType:WazaType; + Waza1:WazaSet (required); + Waza2:WazaSet (required); + Waza3:WazaSet (required); + Waza4:WazaSet (required); + GemType:GemType; + ScaleType:SizeType; + ScaleValue:short; + SetRibbon:RibbonType; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataFull.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataFull.fbs new file mode 100644 index 00000000..41ad5e71 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataFull.fbs @@ -0,0 +1,70 @@ +include "../Shared/DevID.fbs"; +include "../Shared/GemType.fbs"; +include "../Shared/SexType.fbs"; +include "../Shared/ItemID.fbs"; +include "../Shared/SeikakuType.fbs"; +include "../Shared/TokuseiType.fbs"; +include "../Shared/TalentType.fbs"; +include "../Shared/RareType.fbs"; +include "../Shared/SizeType.fbs"; + +include "../Entity/ParamSet.fbs"; +include "../Shared/LangType.fbs"; +include "../Shared/BallType.fbs"; +include "../Shared/RibbonType.fbs"; +include "../Shared/PokeMemoType.fbs"; +include "../Waza/WazaType.fbs"; +include "WazaSet.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table PokeDataFull { + DevId:DevID = DEV_NULL; + FormId:short; + Item:ItemID = ITEMID_NONE; + Level:int; + Sex:SexType; + Seikaku:SeikakuType; + SeikakuHosei:SeikakuType; + Tokusei:TokuseiType; + RareType:RareType; + RareTryCount:int; + TalentType:TalentType; + TalentValue:ParamSet; + TalentVnum:byte; + EffortValue:ParamSet; + Friendship:int; + HeightType:SizeType; + HeightValue:short; + WeightType:SizeType; + WeightValue:short; + ScaleType:SizeType; + ScaleValue:short; + SetPersonalRand:bool; + PersonalRand:ulong; + SetRandSeed:bool; + RandSeed:ulong; + WazaType:WazaType; + Waza1:WazaSet; + Waza2:WazaSet; + Waza3:WazaSet; + Waza4:WazaSet; + UseNickName:bool; + NicknameLabel:ulong; + ParentNameLabel:ulong; + ParentSex:SexType; + ParentLangId:LangType; + ParentMemoryCode:int; + ParentMemoryData:int; + ParentMemoryFeel:int; + ParentMemoryLevel:int; + LangId:LangType; + BallId:BallType; + SetRibbon:RibbonType; + EventFlg:bool; + GemType:GemType; + WazaConfirmLevel:byte; + PokeMemo:PokeMemoType; + PokeMemoPlace:int; + TrainerId:long; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataSymbol.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataSymbol.fbs new file mode 100644 index 00000000..d25fa8d5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataSymbol.fbs @@ -0,0 +1,33 @@ +include "../Shared/DevID.fbs"; +include "../Shared/SexType.fbs"; +include "../Shared/RareType.fbs"; +include "../Shared/TalentType.fbs"; +include "../Shared/TokuseiType.fbs"; +include "../Shared/SizeType.fbs"; +include "../Shared/GemType.fbs"; + +include "../PokeData/WazaSet.fbs"; +include "../Entity/ParamSet.fbs"; +include "../Waza/WazaType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table PokeDataSymbol { + DevId:DevID = DEV_NULL; + FormId:short; + Level:int; + Sex:SexType; + RareType:RareType; + TalentType:TalentType; + TalentValue:ParamSet (required); + TalentVNum:byte; + WazaType:WazaType; + Waza1:WazaSet (required); + Waza2:WazaSet (required); + Waza3:WazaSet (required); + Waza4:WazaSet (required); + TokuseiIndex:TokuseiType; + ScaleType:SizeType; + ScaleValue:short; + GemType:GemType; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataTrade.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataTrade.fbs new file mode 100644 index 00000000..68fa8fde --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/PokeDataTrade.fbs @@ -0,0 +1,48 @@ +include "../Shared/DevID.fbs"; +include "../Shared/GemType.fbs"; +include "../Shared/SexType.fbs"; +include "../Shared/ItemID.fbs"; +include "../Shared/SeikakuType.fbs"; +include "../Shared/TokuseiType.fbs"; +include "../Shared/TalentType.fbs"; +include "../Shared/RareType.fbs"; +include "../Shared/SizeType.fbs"; +include "../Shared/BallType.fbs"; + +include "../Entity/ParamSet.fbs"; +include "../PokeData/WazaSet.fbs"; +include "../Waza/WazaType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table PokeDataTrade { + DevId:DevID = DEV_NULL; + FormId:short; + Level:int; + Sex:SexType; + Tokusei:TokuseiType; + GemType:GemType; + RareType:RareType; + ScaleType:SizeType; + ScaleValue:short; + WeightType:SizeType; + WeightValue:short; + TalentType:TalentType; + TalentVnum:byte; + TalentValue:ParamSet; + EffortValue:ParamSet; + Item:ItemID = ITEMID_NONE; + Seikaku:SeikakuType; + SeikakuHosei:SeikakuType; + WazaType:WazaType; + Waza1:WazaSet; + Waza2:WazaSet; + Waza3:WazaSet; + Waza4:WazaSet; + BallId:BallType; + UseNickName:bool; + NicknameLabel:ulong; + ParentNameLabel:ulong; + TrainerId:long; + ParentSex:SexType; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/WazaSet.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/WazaSet.fbs new file mode 100644 index 00000000..31d13151 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/PokeData/WazaSet.fbs @@ -0,0 +1,8 @@ +include "../Waza/WazaID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table WazaSet { + WazaId:WazaID; + PointUp:byte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidEnemyTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidEnemyTableArray.fbs new file mode 100644 index 00000000..38b8f9c0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidEnemyTableArray.fbs @@ -0,0 +1,14 @@ +include "RaidEnemyInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DeliveryRaidEnemyTable { + Info:RaidEnemyInfo (required); +} + +table DeliveryRaidEnemyTableArray (fs_serializer) { + Table:[DeliveryRaidEnemyTable] (required); +} + +root_type DeliveryRaidEnemyTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidFixedRewardItemArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidFixedRewardItemArray.fbs new file mode 100644 index 00000000..b9566dcf --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidFixedRewardItemArray.fbs @@ -0,0 +1,29 @@ +include "RaidFixedRewardItemInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DeliveryRaidFixedRewardItem { + TableName:ulong (key); + RewardItem00:RaidFixedRewardItemInfo (required); + RewardItem01:RaidFixedRewardItemInfo (required); + RewardItem02:RaidFixedRewardItemInfo (required); + RewardItem03:RaidFixedRewardItemInfo (required); + RewardItem04:RaidFixedRewardItemInfo (required); + RewardItem05:RaidFixedRewardItemInfo (required); + RewardItem06:RaidFixedRewardItemInfo (required); + RewardItem07:RaidFixedRewardItemInfo (required); + RewardItem08:RaidFixedRewardItemInfo (required); + RewardItem09:RaidFixedRewardItemInfo (required); + RewardItem10:RaidFixedRewardItemInfo (required); + RewardItem11:RaidFixedRewardItemInfo (required); + RewardItem12:RaidFixedRewardItemInfo (required); + RewardItem13:RaidFixedRewardItemInfo (required); + RewardItem14:RaidFixedRewardItemInfo (required); +} + +table DeliveryRaidFixedRewardItemArray (fs_serializer) { + Table:[DeliveryRaidFixedRewardItem] (required); +} + +root_type DeliveryRaidFixedRewardItemArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidLotteryRewardItemArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidLotteryRewardItemArray.fbs new file mode 100644 index 00000000..c60803c5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidLotteryRewardItemArray.fbs @@ -0,0 +1,44 @@ +include "RaidLotteryRewardItemInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DeliveryRaidLotteryRewardItem { + TableName:ulong (key); + RewardItem00:RaidLotteryRewardItemInfo (required); + RewardItem01:RaidLotteryRewardItemInfo (required); + RewardItem02:RaidLotteryRewardItemInfo (required); + RewardItem03:RaidLotteryRewardItemInfo (required); + RewardItem04:RaidLotteryRewardItemInfo (required); + RewardItem05:RaidLotteryRewardItemInfo (required); + RewardItem06:RaidLotteryRewardItemInfo (required); + RewardItem07:RaidLotteryRewardItemInfo (required); + RewardItem08:RaidLotteryRewardItemInfo (required); + RewardItem09:RaidLotteryRewardItemInfo (required); + RewardItem10:RaidLotteryRewardItemInfo (required); + RewardItem11:RaidLotteryRewardItemInfo (required); + RewardItem12:RaidLotteryRewardItemInfo (required); + RewardItem13:RaidLotteryRewardItemInfo (required); + RewardItem14:RaidLotteryRewardItemInfo (required); + RewardItem15:RaidLotteryRewardItemInfo (required); + RewardItem16:RaidLotteryRewardItemInfo (required); + RewardItem17:RaidLotteryRewardItemInfo (required); + RewardItem18:RaidLotteryRewardItemInfo (required); + RewardItem19:RaidLotteryRewardItemInfo (required); + RewardItem20:RaidLotteryRewardItemInfo (required); + RewardItem21:RaidLotteryRewardItemInfo (required); + RewardItem22:RaidLotteryRewardItemInfo (required); + RewardItem23:RaidLotteryRewardItemInfo (required); + RewardItem24:RaidLotteryRewardItemInfo (required); + RewardItem25:RaidLotteryRewardItemInfo (required); + RewardItem26:RaidLotteryRewardItemInfo (required); + RewardItem27:RaidLotteryRewardItemInfo (required); + RewardItem28:RaidLotteryRewardItemInfo (required); + RewardItem29:RaidLotteryRewardItemInfo (required); +} + +table DeliveryRaidLotteryRewardItemArray (fs_serializer) { + Table:[DeliveryRaidLotteryRewardItem] (required); +} + +root_type DeliveryRaidLotteryRewardItemArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidPriorityArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidPriorityArray.fbs new file mode 100644 index 00000000..e6587b8d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/DeliveryRaidPriorityArray.fbs @@ -0,0 +1,22 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +table DeliveryGroupID { + Groups:GroupSet (required); +} + +struct GroupSet (fs_valueStruct) { + Groups:[ubyte:10]; +} + +table DeliveryRaidPriority { + VersionNo:int; + GroupID:DeliveryGroupID (required); +} + +table DeliveryRaidPriorityArray (fs_serializer) { + Table:[DeliveryRaidPriority] (required); +} + +root_type DeliveryRaidPriorityArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraActType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraActType.fbs new file mode 100644 index 00000000..682dc366 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraActType.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum RaidBossExtraActType : short { + NONE = 0, + BOSS_STATUS_RESET = 1, + PLAYER_STATUS_RESET = 2, + WAZA = 3, + GEM_COUNT = 4, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraTimingType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraTimingType.fbs new file mode 100644 index 00000000..f2eb8f5e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidBossExtraTimingType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum RaidBossExtraTimingType : short { + NONE = 0, + TIME = 1, + HP = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemCategoryType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemCategoryType.fbs new file mode 100644 index 00000000..fc58bcca --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemCategoryType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum RaidRewardItemCategoryType : int { + ITEM = 0, + POKE = 1, + GEM = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemSubjectType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemSubjectType.fbs new file mode 100644 index 00000000..0d1b0227 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRewardItemSubjectType.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum RaidRewardItemSubjectType : int { + ALL = 0, + HOST = 1, + CLIENT = 2, + ONCE = 3, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRomType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRomType.fbs new file mode 100644 index 00000000..cc063a53 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/Enums/RaidRomType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum RaidRomType : short { + BOTH = 0, + TYPE_A = 1, + TYPE_B = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidDifficultyLotteryTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidDifficultyLotteryTableArray.fbs new file mode 100644 index 00000000..d27cd569 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidDifficultyLotteryTableArray.fbs @@ -0,0 +1,22 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidLotteryParam { + Difficulty:int; + Rate:int; +} + +table RaidDifficultyLotteryTable { + Target01:RaidLotteryParam (required); + Target02:RaidLotteryParam (required); + Target03:RaidLotteryParam (required); + Target04:RaidLotteryParam (required); + Target05:RaidLotteryParam (required); + Target06:RaidLotteryParam (required); +} + +table RaidDifficultyLotteryTableArray (fs_serializer) { + Table:[RaidDifficultyLotteryTable] (required); +} + +root_type RaidDifficultyLotteryTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyInfo.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyInfo.fbs new file mode 100644 index 00000000..3b667a5d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyInfo.fbs @@ -0,0 +1,72 @@ +include "Enums/RaidRomType.fbs"; +include "Enums/RaidBossExtraTimingType.fbs"; +include "Enums/RaidBossExtraActType.fbs"; +include "../Waza/WazaID.fbs"; +include "../PokeData/PokeDataBattle.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidTimeData { + IsActive:bool; + GameLimit:int; + ClientLimit:int; + CommandLimit:int; + PokeReviveTime:int; + AiIntervalTime:int; + AiIntervalRand:int; +} + +table RaidBossExtraData { + Timing:RaidBossExtraTimingType = NONE; + Action:RaidBossExtraActType = NONE; + Value:short; + Wazano:WazaID = WAZA_NULL; +} + +table RaidBossSizeData { + HeightType:SizeType; + HeightValue:short; + WeightType:SizeType; + WeightValue:short; + ScaleType:SizeType; + ScaleValue:short; +} + +table RaidBossData { + HpCoef:short; + PowerChargeTrigerHp:byte; + PowerChargeTrigerTime:byte; + PowerChargeLimitTime:short; + PowerChargeCancelDamage:byte; + PowerChargePenaltyTime:short; + PowerChargePenaltyAction:WazaID = WAZA_NULL; + PowerChargeDamageRate:byte; + PowerChargeGemDamageRate:byte; + PowerChargeChangeGemDamageRate:byte; + ExtraAction1:RaidBossExtraData (required); + ExtraAction2:RaidBossExtraData (required); + ExtraAction3:RaidBossExtraData (required); + ExtraAction4:RaidBossExtraData (required); + ExtraAction5:RaidBossExtraData (required); + ExtraAction6:RaidBossExtraData (required); + DoubleActionTriggerHp:byte; + DoubleActionTriggerTime:byte; + DoubleActionRate:byte; +} + +table RaidEnemyInfo { + RomVer:RaidRomType = BOTH; + No:int; + DeliveryGroupID:byte; + Difficulty:int; + Rate:byte; + DropTableFix:ulong; + DropTableRandom:ulong; + CaptureRate:byte; + CaptureLv:byte; + BossPokePara:PokeDataBattle (required); + BossPokeSize:RaidBossSizeData (required); + BossDesc:RaidBossData (required); + TimeDesc:RaidTimeData (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyTableArray.fbs new file mode 100644 index 00000000..f07677c3 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidEnemyTableArray.fbs @@ -0,0 +1,14 @@ +include "RaidEnemyInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidEnemyTable { + Info:RaidEnemyInfo (required); +} + +table RaidEnemyTableArray (fs_serializer) { + Table:[RaidEnemyTable] (required); +} + +root_type RaidEnemyTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemArray.fbs new file mode 100644 index 00000000..96c543f0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemArray.fbs @@ -0,0 +1,29 @@ +include "RaidFixedRewardItemInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidFixedRewardItem { + TableName:ulong (key); + RewardItem00:RaidFixedRewardItemInfo (required); + RewardItem01:RaidFixedRewardItemInfo (required); + RewardItem02:RaidFixedRewardItemInfo (required); + RewardItem03:RaidFixedRewardItemInfo (required); + RewardItem04:RaidFixedRewardItemInfo (required); + RewardItem05:RaidFixedRewardItemInfo (required); + RewardItem06:RaidFixedRewardItemInfo (required); + RewardItem07:RaidFixedRewardItemInfo (required); + RewardItem08:RaidFixedRewardItemInfo (required); + RewardItem09:RaidFixedRewardItemInfo (required); + RewardItem10:RaidFixedRewardItemInfo (required); + RewardItem11:RaidFixedRewardItemInfo (required); + RewardItem12:RaidFixedRewardItemInfo (required); + RewardItem13:RaidFixedRewardItemInfo (required); + RewardItem14:RaidFixedRewardItemInfo (required); +} + +table RaidFixedRewardItemArray (fs_serializer) { + Table:[RaidFixedRewardItem] (required); +} + +root_type RaidFixedRewardItemArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemInfo.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemInfo.fbs new file mode 100644 index 00000000..01824067 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidFixedRewardItemInfo.fbs @@ -0,0 +1,12 @@ +include "../Shared/ItemID.fbs"; +include "Enums/RaidRewardItemCategoryType.fbs"; +include "Enums/RaidRewardItemSubjectType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table RaidFixedRewardItemInfo { + Category:RaidRewardItemCategoryType; + SubjectType:RaidRewardItemSubjectType; + ItemID:ItemID = ITEMID_NONE; + Num:byte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidGemSetting.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidGemSetting.fbs new file mode 100644 index 00000000..ea9ba4aa --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidGemSetting.fbs @@ -0,0 +1,38 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table MeteorSetting { + ShowerInterval:int; + QuantityMin:int; + QuantityMax:int; + DelayMin:float; + DelayMax:float; +} + +table GemSetting { + MaxNumUnexplored:int; + MaxNumExplored:int; + MaxNumAnAreaUnexplored:int; + MaxNumAnAreaExplored:int; + AreaMax:int; + GroupMax:int; + GemMax:int; + LotteryGroupMax:int; + LotteryKwmMax:int; + GemFetchLength:float; + GemReleaseLength:float; + LeaguePayDifficulty01:int; + LeaguePayDifficulty02:int; + LeaguePayDifficulty03:int; + LeaguePayDifficulty04:int; + LeaguePayDifficulty05:int; + LeaguePayDifficulty06:int; + LeaguePayDifficulty07:int; +} + +table RaidGemSetting (fs_serializer) { + Meteor:MeteorSetting (required); + Gem:GemSetting (required); +} + +root_type RaidGemSetting; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemArray.fbs new file mode 100644 index 00000000..6a3ca81e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemArray.fbs @@ -0,0 +1,45 @@ +include "../Shared/ItemID.fbs"; +include "/RaidLotteryRewardItemInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidLotteryRewardItem { + TableName:ulong (key); + RewardItem00:RaidLotteryRewardItemInfo (required); + RewardItem01:RaidLotteryRewardItemInfo (required); + RewardItem02:RaidLotteryRewardItemInfo (required); + RewardItem03:RaidLotteryRewardItemInfo (required); + RewardItem04:RaidLotteryRewardItemInfo (required); + RewardItem05:RaidLotteryRewardItemInfo (required); + RewardItem06:RaidLotteryRewardItemInfo (required); + RewardItem07:RaidLotteryRewardItemInfo (required); + RewardItem08:RaidLotteryRewardItemInfo (required); + RewardItem09:RaidLotteryRewardItemInfo (required); + RewardItem10:RaidLotteryRewardItemInfo (required); + RewardItem11:RaidLotteryRewardItemInfo (required); + RewardItem12:RaidLotteryRewardItemInfo (required); + RewardItem13:RaidLotteryRewardItemInfo (required); + RewardItem14:RaidLotteryRewardItemInfo (required); + RewardItem15:RaidLotteryRewardItemInfo (required); + RewardItem16:RaidLotteryRewardItemInfo (required); + RewardItem17:RaidLotteryRewardItemInfo (required); + RewardItem18:RaidLotteryRewardItemInfo (required); + RewardItem19:RaidLotteryRewardItemInfo (required); + RewardItem20:RaidLotteryRewardItemInfo (required); + RewardItem21:RaidLotteryRewardItemInfo (required); + RewardItem22:RaidLotteryRewardItemInfo (required); + RewardItem23:RaidLotteryRewardItemInfo (required); + RewardItem24:RaidLotteryRewardItemInfo (required); + RewardItem25:RaidLotteryRewardItemInfo (required); + RewardItem26:RaidLotteryRewardItemInfo (required); + RewardItem27:RaidLotteryRewardItemInfo (required); + RewardItem28:RaidLotteryRewardItemInfo (required); + RewardItem29:RaidLotteryRewardItemInfo (required); +} + +table RaidLotteryRewardItemArray (fs_serializer) { + Table:[RaidLotteryRewardItem] (required); +} + +root_type RaidLotteryRewardItemArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemInfo.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemInfo.fbs new file mode 100644 index 00000000..4ce0564c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidLotteryRewardItemInfo.fbs @@ -0,0 +1,12 @@ +include "../Shared/ItemID.fbs"; +include "Enums/RaidRewardItemCategoryType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table RaidLotteryRewardItemInfo { + Category:RaidRewardItemCategoryType; + ItemID:ItemID = ITEMID_NONE; + Num:byte; + Rate:int; + RareItemFlag:bool; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidPokeScaleDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidPokeScaleDataArray.fbs new file mode 100644 index 00000000..7b662c41 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidPokeScaleDataArray.fbs @@ -0,0 +1,19 @@ +include "../Shared/DevID.fbs"; +include "../Shared/SexType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidPokeScaleData { + Monsno:DevID = DEV_NULL; + Formno:short; + Sex:SexType; + Scale:float; + Offset:float; +} + +table RaidPokeScaleDataArray (fs_serializer) { + Table:[RaidPokeScaleData] (required); +} + +root_type RaidPokeScaleDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidRewardSlotArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidRewardSlotArray.fbs new file mode 100644 index 00000000..8e04fa26 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidRewardSlotArray.fbs @@ -0,0 +1,21 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidRewardSlotInfo { + SlotNum:int; + Rate:int; +} + +table RaidRewardSlot { + Slot01:RaidRewardSlotInfo (required); + Slot02:RaidRewardSlotInfo (required); + Slot03:RaidRewardSlotInfo (required); + Slot04:RaidRewardSlotInfo (required); + Slot05:RaidRewardSlotInfo (required); +} + +table RaidRewardSlotArray (fs_serializer) { + Table:[RaidRewardSlot] (required); +} + +root_type RaidRewardSlotArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidTrainerArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidTrainerArray.fbs new file mode 100644 index 00000000..789f654f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Raid/RaidTrainerArray.fbs @@ -0,0 +1,12 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RaidTrainerArray (fs_serializer) { + Table:[RaidTrainer] (required); +} + +table RaidTrainer { + RaidTrainerInfo:string (required); + NpcPresetIndex:int; + NameTextLabel:string (required); +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/BallType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BallType.fbs similarity index 78% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/BallType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BallType.fbs index 0319dae9..1a7518b2 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/BallType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BallType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum BallType -{ +enum BallType : int { NONE = 0, MASUTAABOORU = 1, HAIPAABOORU = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BattleType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BattleType.fbs new file mode 100644 index 00000000..ce0b9fc4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/BattleType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum BattleType : int { + SINGLE = 0, + DOUBLE = 1, + MULTI = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DataType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DataType.fbs new file mode 100644 index 00000000..8baf3fac --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DataType.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum DataType : int { + NORMAL = 0, + ITEM = 1, + WAZA = 2, + MULTI = 3, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/DevID.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DevID.fbs similarity index 99% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/DevID.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DevID.fbs index 2b650a7b..a6426a3a 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/DevID.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/DevID.fbs @@ -1,11 +1,7 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ushort))] -public enum DevID : ushort -{ +/// Internal Species ID (not National Dex ID) +enum DevID : ushort { DEV_NULL = 0, DEV_HUSIGIDANE = 1, DEV_HUSIGISOU = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/GemType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/GemType.fbs similarity index 66% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/GemType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/GemType.fbs index 4c020226..80f6f9e6 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/GemType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/GemType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum GemType -{ +enum GemType : int { DEFAULT = 0, RANDOM = 1, NORMAL = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/ItemID.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/ItemID.fbs similarity index 99% rename from pkNX.Structures.FlatBuffers/Gen9/Item/ItemID.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/ItemID.fbs index 0c127a15..5c2fb1bf 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/ItemID.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/ItemID.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ItemID -{ +enum ItemID : int { ITEMID_NONE = 0, ITEMID_MASUTAABOORU = 1, ITEMID_HAIPAABOORU = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/LangType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/LangType.fbs similarity index 53% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/LangType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/LangType.fbs index 494adef9..08f24aca 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/LangType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/LangType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum LangType -{ +enum LangType : int { ROM_LANG = 0, JAPAN = 1, ENGLISH = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/MoveType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/MoveType.fbs similarity index 63% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/MoveType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/MoveType.fbs index e4ed2ea4..6bc08e33 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/MoveType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/MoveType.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(byte))] -public enum MoveType : byte -{ +enum MoveType : byte { Normal = 0, Kakutou = 1, Hikou = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/PokeMemoType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/PokeMemoType.fbs similarity index 51% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/PokeMemoType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/PokeMemoType.fbs index 812041d5..ba75af23 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/PokeMemoType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/PokeMemoType.fbs @@ -1,12 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(byte))] -public enum PokeMemoType : byte -{ - NONE = 0, +enum PokeMemoType : byte { NONE = 0, Capture = 1, EventGet = 2, EventCapture = 3, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RareType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RareType.fbs new file mode 100644 index 00000000..d7c6dac8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RareType.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum RareType : int { DEFAULT = 0, + NO_RARE = 1, + RARE = 2, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/RibbonType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RibbonType.fbs similarity index 93% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/RibbonType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RibbonType.fbs index c6594345..80994a3c 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/RibbonType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/RibbonType.fbs @@ -1,12 +1,7 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum RibbonType -{ - NONE = 0, +enum RibbonType : int +{ NONE = 0, CAROS_CHAMP = 1, HOUEN_CHAMP = 2, SINOU_CHAMP = 3, diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/SeikakuType.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SeikakuType.fbs similarity index 70% rename from pkNX.Structures.FlatBuffers/Gen9/Shared/SeikakuType.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SeikakuType.fbs index 7e19bdc3..57e39eb0 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/SeikakuType.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SeikakuType.fbs @@ -1,12 +1,7 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum SeikakuType -{ - DEFAULT = 0, +enum SeikakuType : int +{ DEFAULT = 0, GANBARIYA = 1, SAMISIGARIYA = 2, YUUKAN = 3, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/Sex.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/Sex.fbs new file mode 100644 index 00000000..ce56e951 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/Sex.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +/// Actual Gender +enum Sex : int { + MALE = 0, + FEMALE = 1, + UNKNOWN = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SexType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SexType.fbs new file mode 100644 index 00000000..42714d0c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SexType.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +/// Gender Spec +enum SexType : int { + DEFAULT = 0, + MALE = 1, + FEMALE = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SizeType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SizeType.fbs new file mode 100644 index 00000000..b617e440 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/SizeType.fbs @@ -0,0 +1,11 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum SizeType : int { + RANDOM = 0, + XS = 1, + S = 2, + M = 3, + L = 4, + XL = 5, + VALUE = 6, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TalentType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TalentType.fbs new file mode 100644 index 00000000..88997d24 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TalentType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum TalentType : int { + RANDOM = 0, + V_NUM = 1, + VALUE = 2, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TokuseiType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TokuseiType.fbs new file mode 100644 index 00000000..99ba5fa2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Shared/TokuseiType.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum TokuseiType : int { + RANDOM_12 = 0, + RANDOM_123 = 1, + SET_1 = 2, + SET_2 = 3, + SET_3 = 4, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/System/ObjectGenerationRangeArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/System/ObjectGenerationRangeArray.fbs new file mode 100644 index 00000000..286f7e51 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/System/ObjectGenerationRangeArray.fbs @@ -0,0 +1,30 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum ObjectType : int { + None = -1, + RaidGem = 0, + EncountPokemon = 1, + DistantViewEffect = 2, + GroundEffect = 3, + HiddenItem = 4, + CrashRock = 5, + TrafficNpc = 6, + FieldNpc = 7, + FixEncout = 8, +} + +table ObjectGenerationRange { + Type:ObjectType; + MinCreateDistance:float; + MaxCreateDistance:float; + MinDestroyDistance:float; + MaxDestroyDistance:float; + MaxGenerationNum:int; +} + +table ObjectGenerationRangeArray (fs_serializer) { + Table:[ObjectGenerationRange] (required); +} + +root_type ObjectGenerationRangeArray; diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/CheckCategory.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/CheckCategory.fbs similarity index 77% rename from pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/CheckCategory.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/CheckCategory.fbs index c023c51a..9c4b4448 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/CheckCategory.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/CheckCategory.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum CheckCategory -{ +enum CheckCategory : int { TurnCheck = 0, PokemonCheck = 1, FirstDamage = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkData.fbs new file mode 100644 index 00000000..8025a303 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkData.fbs @@ -0,0 +1,13 @@ +include "CheckCategory.fbs"; +include "TalkRankEffect.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table TalkData { + EventName:string (required); + Category:CheckCategory; + ValueA:int; + ValueB:int; + ValueC:int; + RankEffect:TalkRankEffect; +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkRankEffect.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkRankEffect.fbs similarity index 56% rename from pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkRankEffect.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkRankEffect.fbs index c926bfb0..99ceb48b 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkRankEffect.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/Talk/TalkRankEffect.fbs @@ -1,12 +1,7 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(uint))] -public enum TalkRankEffect: uint -{ - Non = 0, +enum TalkRankEffect: uint { + None = 0, Attack = 1, Defence = 2, SpAttack = 3, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerBodySize.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerBodySize.fbs new file mode 100644 index 00000000..6b23a8fd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerBodySize.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum TrainerBodySize : int { + S = 0, + M = 1, + L = 2, + LL = 3, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerCategory.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerCategory.fbs new file mode 100644 index 00000000..1f7db913 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerCategory.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum TrainerCategory: ubyte { + NORMAL = 0, + GYM_LEADER = 1, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerDataArray.fbs new file mode 100644 index 00000000..74d51eee --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerDataArray.fbs @@ -0,0 +1,41 @@ +include "../PokeData/PokeDataBattle.fbs"; +include "../Shared/BattleType.fbs"; +include "../Shared/DataType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table TrDataMain { + TrId:string (required); + TrNameLabel:string (required); + TrainerType:string (required); + IsStrong:bool; + BattleType:BattleType; + DataType:DataType; + MoneyRate:byte; + ChangeGem:bool; + Poke1:PokeDataBattle (required); + Poke2:PokeDataBattle (required); + Poke3:PokeDataBattle (required); + Poke4:PokeDataBattle (required); + Poke5:PokeDataBattle (required); + Poke6:PokeDataBattle (required); + AiBasic:bool; + AiHigh:bool; + AiExpert:bool; + AiDouble:bool; + AiRaid:bool; + AiWeak:bool; + AiItem:bool; + AiChange:bool; + PopupLabelNormal1:string (required); + PopupLabelNormal2:string (required); + PopupLabelPinch1:string (required); + PopupLabelPinch2:string (required); +} + +table TrDataMainArray (fs_serializer) { + Table:[TrDataMain] (required); +} + +root_type TrDataMainArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerEnvArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerEnvArray.fbs new file mode 100644 index 00000000..6b8e914d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerEnvArray.fbs @@ -0,0 +1,36 @@ +include "Talk/TalkData.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table TrainerEnv { + TrEnvId:string (required); + TalkData1:TalkData (required); + TalkData2:TalkData (required); + TalkData3:TalkData (required); + TalkData4:TalkData (required); + TalkData5:TalkData (required); + TalkData6:TalkData (required); + TalkData7:TalkData (required); + TalkData8:TalkData (required); + TalkData9:TalkData (required); + TalkData10:TalkData (required); + TalkData11:TalkData; // not required + TalkData12:TalkData; // not required + TalkData13:TalkData; // not required + TalkData14:TalkData; // not required + TalkData15:TalkData; // not required + IntroTml:string (required); + ThrowTml:string (required); + CameraObjectName:string (required); + LoseTml:string (required); + IntroObjectName:string (required); + LoseObjectName:string (required); + bgmEventName:string (required); +} + +table TrainerEnvArray (fs_serializer) { + Table:[TrainerEnv] (required); +} + +root_type TrainerEnvArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerTypeArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerTypeArray.fbs new file mode 100644 index 00000000..ecfb917c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trainers/TrainerTypeArray.fbs @@ -0,0 +1,27 @@ +include "TrainerCategory.fbs"; +include "TrainerBodySize.fbs"; +include "../Shared/Sex.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table TrainerType { + NameLabel:string (required); + MsgLabel:string (required); + Sex:Sex; + Category:TrainerCategory; + IntroTml:string (required); + ThrowTml:string (required); + CameraObjectName:string (required); + LoseTml:string (required); + IntroObjectName:string (required); + LoseObjectName:string (required); + BGMEventName:string (required); + TrainerBodySize:TrainerBodySize; +} + +table TrainerTypeArray (fs_serializer) { + Table:[TrainerType] (required); +} + +root_type TrainerTypeArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityComponent.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityComponent.fbs new file mode 100644 index 00000000..1dc23656 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityComponent.fbs @@ -0,0 +1,64 @@ +include "../Geometry/Vec3f.fbs"; +include "../Geometry/PackedVec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table Sphere { + TrcolFilePath:string (required); + Field_01:PackedVec3f (required); + Field_02:PackedVec3f (required); + Field_03:PackedVec3f (required); +} + +table Box { + // Just a box. No TrcolFilePath. + Field_01:PackedVec3f (required); + Field_02:PackedVec3f (required); + Field_03:PackedVec3f (required); +} + +table Capsule { + TrcolFilePath:string (required); + Field_01:PackedVec3f (required); + Field_02:PackedVec3f (required); + Field_03:PackedVec3f (required); +} + +table Havok { + TrcolFilePath:string (required); + Field_01:PackedVec3f (required); + Field_02:PackedVec3f (required); + Field_03:PackedVec3f (required); +} + +table Vec3f { + X:float; + Y:float; + Z:float; +} + +union CollisionUnion {Sphere, Box, Capsule, Havok} + +table CollisionComponent (fs_serializer) { + Shape:CollisionUnion (required); + // field 01 is the object ptr for ^ + Field_02:uint; + Field_03:byte; + Field_04:uint; + Field_05:uint; + Field_06:uint; + Field_07:uint; + Field_08:Vec3f (required); + Field_09:string (required); + Field_0A:uint; + Field_0B:byte; +} + +union ComponentUnion {CollisionComponent} + +table TrinityComponent (fs_serializer) { + Component:ComponentUnion (required); +} + +root_type TrinityComponent; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileDescriptors.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileDescriptors.fbs new file mode 100644 index 00000000..ac04cdec --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileDescriptors.fbs @@ -0,0 +1,23 @@ +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table TrinityFileDescriptorSubFileUnknown { + Field_00:uint; // TODO +} + +table TrinityFileDescriptorSubFileInfo { + Index:ulong; + SubInfo:TrinityFileDescriptorSubFileUnknown (required); +} + +table TrinityFileDescriptorInfo { + FileSize:ulong; + FileCount:ulong; +} + +table TrinityFileDescriptors (fs_serializer) { + SubFileHashes:[ulong] (required); + FilePaths:[string] (required); + SubFileInfos:[TrinityFileDescriptorSubFileInfo] (required); + FileInfos:[TrinityFileDescriptorInfo] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileSystemMetadata.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileSystemMetadata.fbs new file mode 100644 index 00000000..4751878d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityFileSystemMetadata.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table TrinityFileSystemMetadata (fs_serializer) { + FileHashes:[ulong] (required); + FileOffsets:[ulong] (required); +} + +root_type TrinityFileSystemMetadata; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPak.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPak.fbs new file mode 100644 index 00000000..7c0af30a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPak.fbs @@ -0,0 +1,27 @@ +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +enum CompressionType : ushort +{ + None = 0, + Zlib = 1, + Lz4 = 2, + OodleKraken = 3, + OodleLeviathan = 4, + OodleMermaid = 5, + OodleSelkie = 6, + OodleHydra = 7, +} + +table TrinityPakFileData { + Field_00:uint; + CompressionType:ubyte; + Field_02:ubyte; + UncompressedSize:ulong; + Data:[ubyte] (required); +} + +table TrinityPak (fs_serializer:"Lazy") { + Hashes:[ulong] (required); + Files:[TrinityPakFileData] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPropertySheet.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPropertySheet.fbs new file mode 100644 index 00000000..c02b8bf9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityPropertySheet.fbs @@ -0,0 +1,39 @@ +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table TrinityPropertySheetField1 { Value:ulong; FieldType:byte; } +table TrinityPropertySheetField2 { Value:uint; FieldType:byte; } +table TrinityPropertySheetFieldStringValue { Value:string (required); } +table TrinityPropertySheetField4 { } +table TrinityPropertySheetField5 { } +table TrinityPropertySheetField6 { } +table TrinityPropertySheetField7 { } +table TrinityPropertySheetField8 { } + + /// Recursive! +table TrinityPropertySheetObject { Fields:[TrinityPropertySheetField] (required); } + +union TrinityPropertySheetValue { + TrinityPropertySheetField1, + TrinityPropertySheetField2, + TrinityPropertySheetFieldStringValue, + TrinityPropertySheetField4, + TrinityPropertySheetField5, + TrinityPropertySheetField6, + TrinityPropertySheetField7, + TrinityPropertySheetField8, + TrinityPropertySheetObject +} + +table TrinityPropertySheetField { + Name:string (required); + Data:TrinityPropertySheetValue (required); +} + +table TrinityPropertySheet (fs_serializer) { + Name:string (required); + Extra:string (required); + Properties:[TrinityPropertySheetObject] (required); +} + +root_type TrinityPropertySheet; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObject.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObject.fbs new file mode 100644 index 00000000..08465c29 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObject.fbs @@ -0,0 +1,24 @@ +include "../Geometry/PackedVec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table TrinitySceneObjectPosition { + Field_00:PackedVec3f (required); + Field_01:PackedVec3f (required); + Field_02:PackedVec3f (required); +} + +table TrinitySceneObject (fs_serializer) { + ObjectName:string (required); + ObjectPosition:TrinitySceneObjectPosition (required); + Field_02:uint; + Field_03:uint; + Field_04:string (required); + Field_05:ubyte; + Field_06:uint; + Field_07:string (required); + Field_08:[string] (required); +} + +root_type TrinitySceneObject; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObjectTemplate.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObjectTemplate.fbs new file mode 100644 index 00000000..c0f06c53 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinitySceneObjectTemplate.fbs @@ -0,0 +1,29 @@ +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table TrinitySceneObjectTemplateData (fs_serializer) { + ObjectTemplateName:string (required); + ObjectTemplateExtra:string (required); + ObjectTemplatePath:string (required); + Field_03:ubyte; + Type:string (required); + Data:[ubyte] (required); +} + +table TrinitySceneObjectTemplateEntry { + Type:string (required); + Data:[ubyte] (required); + SubObjects:[TrinitySceneObjectTemplateEntry] (required); // Recursive ! +} + +table TrinitySceneObjectTemplate (fs_serializer) { + ObjectTemplateName:string (required); + ObjectTemplateExtra:string (required); + Field_02:uint; + Field_03:uint; + Objects:[TrinitySceneObjectTemplateEntry] (required); + Field_05:[uint] (required); + Field_06:ubyte; +} + +root_type TrinitySceneObjectTemplate; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityScenePoint.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityScenePoint.fbs new file mode 100644 index 00000000..edcc615f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Trinity/TrinityScenePoint.fbs @@ -0,0 +1,12 @@ +include "../Geometry/PackedVec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV.Trinity; +attribute "fs_serializer"; + +table TrinityScenePoint (fs_serializer) { + Name:string (required); + Position:PackedVec3f (required); + Field_02:ubyte; +} + +root_type TrinityScenePoint; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/BattleBgmSelectTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/BattleBgmSelectTableArray.fbs new file mode 100644 index 00000000..e1c8fbb4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/BattleBgmSelectTableArray.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum BGMSELECTTYPE : int { + BGM = 0, + OMAKASE = 1, + NO_BGM = 2, +} + +table BattleBgmSelectTable { + BgmEventCallName:string (required); + SoundCallName:string (required); + TextLabel:string (required); + SortNum:int; + IsInitialRelease:bool; + ReleaseFlagName:string (required); + BgmSelectType:BGMSELECTTYPE = BGM; +} + +table BattleBgmSelectTableArray (fs_serializer) { + Table:[BattleBgmSelectTable] (required); +} + +root_type BattleBgmSelectTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/BufDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/BufDataArray.fbs new file mode 100644 index 00000000..1ecfa30f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/BufDataArray.fbs @@ -0,0 +1,24 @@ +include "../Cooking/Enums/FoodSkillType.fbs"; +include "../Shared/MoveType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table BufData { + Bufid:string (required); + Buftype01:FoodSkillType; + Buflevel01:int; + BufPoketype01:MoveType; + Buftype02:FoodSkillType; + Buflevel02:int; + BufPoketype02:MoveType; + Buftype03:FoodSkillType; + Buflevel03:int; + BufPoketype03:MoveType; +} + +table BufDataArray (fs_serializer) { + Table:[BufData] (required); +} + +root_type BufDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupCategoryDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupCategoryDataArray.fbs new file mode 100644 index 00000000..d48cc1bf --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupCategoryDataArray.fbs @@ -0,0 +1,20 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DressupCategoryData { + Shopid:string (required); + Uniform:bool; + Leg:bool; + Foot:bool; + Glove:bool; + Bag:bool; + Head:bool; + Eye:bool; + Rotom:bool; +} + +table DressupCategoryDataArray (fs_serializer) { + Table:[DressupCategoryData] (required); +} + +root_type DressupCategoryDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupItemDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupItemDataArray.fbs new file mode 100644 index 00000000..ed189317 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupItemDataArray.fbs @@ -0,0 +1,48 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum DressupBlandType : int { + DUMMY = -1, + BROTHERFOOT = 0, + chica = 1, + DOPEGRANMA = 2, + MOTHAT = 3, + DENSOKU = 4, + ALL_AGES = 5, + SO_ATUMORI = 6, + ULINGEAR = 7, + STARCRAZY = 8, + DEFOG = 9, + YOCINOSOMEI = 10, + DECA_SPORTS = 11, + Ruggle = 12, + Ortiga = 13, + ROTOM = 14, +} + +enum DressupItemType : int { + UNIFORM = 0, + LEG = 1, + FOOT = 2, + GLOVE = 3, + BAG = 4, + HEAD = 5, + EYE = 6, + ROTOM = 7, +} + +table DressupItemData { + DressupItemid:int; + Dressup:DressupItemType; + Bland:DressupBlandType; + Name:string (required); + Subname:string (required); + Price:int; + Sortnum:int; + ModelLabel:string (required); + SoundTag:string (required); +} + +table DressupItemDataArray (fs_serializer) { + Table:[DressupItemData] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupShopDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupShopDataArray.fbs new file mode 100644 index 00000000..f8cfb9b0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupShopDataArray.fbs @@ -0,0 +1,187 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DressupShopData { + ShopId:string (required); + DressupItemid1:int; + DressupItemid2:int; + DressupItemid3:int; + DressupItemid4:int; + DressupItemid5:int; + DressupItemid6:int; + DressupItemid7:int; + DressupItemid8:int; + DressupItemid9:int; + DressupItemid10:int; + DressupItemid11:int; + DressupItemid12:int; + DressupItemid13:int; + DressupItemid14:int; + DressupItemid15:int; + DressupItemid16:int; + DressupItemid17:int; + DressupItemid18:int; + DressupItemid19:int; + DressupItemid20:int; + DressupItemid21:int; + DressupItemid22:int; + DressupItemid23:int; + DressupItemid24:int; + DressupItemid25:int; + DressupItemid26:int; + DressupItemid27:int; + DressupItemid28:int; + DressupItemid29:int; + DressupItemid30:int; + DressupItemid31:int; + DressupItemid32:int; + DressupItemid33:int; + DressupItemid34:int; + DressupItemid35:int; + DressupItemid36:int; + DressupItemid37:int; + DressupItemid38:int; + DressupItemid39:int; + DressupItemid40:int; + DressupItemid41:int; + DressupItemid42:int; + DressupItemid43:int; + DressupItemid44:int; + DressupItemid45:int; + DressupItemid46:int; + DressupItemid47:int; + DressupItemid48:int; + DressupItemid49:int; + DressupItemid50:int; + DressupItemid51:int; + DressupItemid52:int; + DressupItemid53:int; + DressupItemid54:int; + DressupItemid55:int; + DressupItemid56:int; + DressupItemid57:int; + DressupItemid58:int; + DressupItemid59:int; + DressupItemid60:int; + DressupItemid61:int; + DressupItemid62:int; + DressupItemid63:int; + DressupItemid64:int; + DressupItemid65:int; + DressupItemid66:int; + DressupItemid67:int; + DressupItemid68:int; + DressupItemid69:int; + DressupItemid70:int; + DressupItemid71:int; + DressupItemid72:int; + DressupItemid73:int; + DressupItemid74:int; + DressupItemid75:int; + DressupItemid76:int; + DressupItemid77:int; + DressupItemid78:int; + DressupItemid79:int; + DressupItemid80:int; + DressupItemid81:int; + DressupItemid82:int; + DressupItemid83:int; + DressupItemid84:int; + DressupItemid85:int; + DressupItemid86:int; + DressupItemid87:int; + DressupItemid88:int; + DressupItemid89:int; + DressupItemid90:int; + DressupItemid91:int; + DressupItemid92:int; + DressupItemid93:int; + DressupItemid94:int; + DressupItemid95:int; + DressupItemid96:int; + DressupItemid97:int; + DressupItemid98:int; + DressupItemid99:int; + DressupItemid100:int; + DressupItemid101:int; + DressupItemid102:int; + DressupItemid103:int; + DressupItemid104:int; + DressupItemid105:int; + DressupItemid106:int; + DressupItemid107:int; + DressupItemid108:int; + DressupItemid109:int; + DressupItemid110:int; + DressupItemid111:int; + DressupItemid112:int; + DressupItemid113:int; + DressupItemid114:int; + DressupItemid115:int; + DressupItemid116:int; + DressupItemid117:int; + DressupItemid118:int; + DressupItemid119:int; + DressupItemid120:int; + DressupItemid121:int; + DressupItemid122:int; + DressupItemid123:int; + DressupItemid124:int; + DressupItemid125:int; + DressupItemid126:int; + DressupItemid127:int; + DressupItemid128:int; + DressupItemid129:int; + DressupItemid130:int; + DressupItemid131:int; + DressupItemid132:int; + DressupItemid133:int; + DressupItemid134:int; + DressupItemid135:int; + DressupItemid136:int; + DressupItemid137:int; + DressupItemid138:int; + DressupItemid139:int; + DressupItemid140:int; + DressupItemid141:int; + DressupItemid142:int; + DressupItemid143:int; + DressupItemid144:int; + DressupItemid145:int; + DressupItemid146:int; + DressupItemid147:int; + DressupItemid148:int; + DressupItemid149:int; + DressupItemid150:int; + DressupItemid151:int; + DressupItemid152:int; + DressupItemid153:int; + DressupItemid154:int; + DressupItemid155:int; + DressupItemid156:int; + DressupItemid157:int; + DressupItemid158:int; + DressupItemid159:int; + DressupItemid160:int; + DressupItemid161:int; + DressupItemid162:int; + DressupItemid163:int; + DressupItemid164:int; + DressupItemid165:int; + DressupItemid166:int; + DressupItemid167:int; + DressupItemid168:int; + DressupItemid169:int; + DressupItemid170:int; + DressupItemid171:int; + DressupItemid172:int; + DressupItemid173:int; + DressupItemid174:int; + DressupItemid175:int; +} + +table DressupShopDataArray (fs_serializer) { + Table:[DressupShopData] (required); +} + +root_type DressupShopDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStyleDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStyleDataArray.fbs new file mode 100644 index 00000000..c677c154 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStyleDataArray.fbs @@ -0,0 +1,30 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum DressupStyleType : int { + Eye = 0, + EyeColor = 1, + Eyelashes = 2, + EyelashesColor = 3, + Eyebrows = 4, + EyeBrowsColor = 5, + Mouth = 6, + Lip = 7, + Mole = 8, + Freckles = 9, +} + +table DressupStyleData { + DressupStyleId:int; + DressupStyleType:DressupStyleType; + Sortnum:int; + Name:string (required); + PatternNum:int; + MultiplePatternNum:int; +} + +table DressupStyleDataArray (fs_serializer) { + Table:[DressupStyleData] (required); +} + +root_type DressupStyleDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStylePresetDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStylePresetDataArray.fbs new file mode 100644 index 00000000..79ac6ad1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Dressup/DressupStylePresetDataArray.fbs @@ -0,0 +1,37 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table DressupStylePresetData { + Base:string (required); + Acc:string (required); + Bag:string (required); + EyeWear:string (required); + Foot:string (required); + Glove:string (required); + Head:string (required); + Hair:string (required); + Leg:string (required); + Uniform:string (required); + Face:string (required); + Gender:int; + SkinColor:int; + Lip:int; + EyeColor:int; + Eye:int; + EyeBrowsColor:int; + EyeBrows:int; + EyeBrowsVolume:int; + EyeLashesColor:int; + EyeLashes:int; + EyeLashesVolume:int; + Mouth:int; + Mole:int; + Freckles:int; + HairColor:int; +} + +table DressupStylePresetDataArray (fs_serializer) { + Table:[DressupStylePresetData] (required); +} + +root_type DressupStylePresetDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ClerkType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ClerkType.fbs new file mode 100644 index 00000000..e4bb30f8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ClerkType.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum ClerkType : int { + CLERK = 0, + NO_CLERK = 1, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/CondEnum.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/CondEnum.fbs new file mode 100644 index 00000000..df044eb9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/CondEnum.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum CondEnum : int { + NONE = 0, + SYSTEM_FLAG = 1, + SCENARIO = 2, + GYMBADGENUM = 3, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/PayType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/PayType.fbs new file mode 100644 index 00000000..52ba03ef --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/PayType.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum PayType : int { + OKOZUKAI = 0, + LP = 1, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/SellType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/SellType.fbs new file mode 100644 index 00000000..25a59c7b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/SellType.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum SellType : int { + SELL_BUY = 0, + BUY_ONLY = 1, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ShopKind.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ShopKind.fbs similarity index 64% rename from pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ShopKind.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ShopKind.fbs index b59b7ea3..e5bd8e55 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ShopKind.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Enums/ShopKind.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ShopKind -{ +enum ShopKind : int { NONE = 0, FRIENDLYSHOP = 1, RESTAURANT = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/DanQuestClearArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/DanQuestClearArray.fbs new file mode 100644 index 00000000..83859439 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/DanQuestClearArray.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum DanQuestClearNo :int { + NONE = 0, + HONOO = 1, + AKU = 2, + DOKU = 3, + KAKUTOU = 4, + FAIRY = 5, +} + +table DanQuestClear { + ID:DanQuestClearNo; + EventNpcSceneName:string (required); + EventNpcObjName:string (required); + DanClearQuestType:string (required); +} + +table DanQuestClearArray (fs_serializer) { + Table:[DanQuestClear] (required); +} + +root_type DanQuestClearArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/EventSkyFlyArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/EventSkyFlyArray.fbs new file mode 100644 index 00000000..766a42f0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/EventSkyFlyArray.fbs @@ -0,0 +1,111 @@ +include "../../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum EndCameraType : int { + FRONT = 0, + BACK = 1, +} + +enum IconAnimPtn : int { + NONE = 0, + MUSHI = 1, + KUSA = 2, + MIZU = 3, + DENKI = 4, + NORMAL = 5, + KOORI = 6, + GHOST = 7, + ESPER = 8, + AKU = 9, + FAIRY = 10, + HONOO = 11, + DOKU = 12, + KAKUTOU = 13, + HIKOU = 14, + HAGANE = 15, + IWA = 16, + JIMEN = 17, + DRAGON = 18, +} +enum IconColorPtn : int { + GYM = 0, + DAN = 1, + NUSHI = 2, + UTIL = 3, +} +enum IconDisplayLevel : int { + FULLVIEW = 0, + ZOOMOUT = 1, + DEFAULT = 2, + ZOOMIN = 3, +} +enum MapIconKind : int { + POKECEN = 0, + JIM = 1, + DAN = 2, + NUSHI = 3, + COMMON = 4, + TREASURE_RAID = 5, + GREAT_OCCUR = 6, + NETWORK_PLAYER = 7, + TOWN = 8, + HAIRSALON = 9, + BOUTIQUE = 10, + RESTAURANT = 11, + SHOP_UTIL = 12, + FOOD_SHOP = 13, + LANDMARK = 14, + IDO_JUNDEN = 15, + FLY_POINT = 16, +} + +enum OnCursorDataKind : int { + NONE = 0, + TOWN = 1, + POINT = 2, + MISSION = 3, +} + +enum SkyFlyPointType : int { + NORMAL = 0, + SAFETY = 1, + PLAYER = 2, +} + +table EventSkyFly { + ID:string (required); + MapIconKind:MapIconKind; + FollowSceneName:string (required); + FollowObjectName:string (required); + FollowPositionOffset:Vec3f (required); + IconPosition:Vec3f (required); + EffectRadius:float; + ReleasePointFlagStr:string (required); + IsIncludeSkyFly:bool; + EndPlayerRotationY:float; + EndCameraType:EndCameraType; + EnableFlyFlagStr:string (required); + SkyFlyPointKind:SkyFlyPointType; + SkyFlyPointOffset:Vec3f (required); + OnCursorDataKind:OnCursorDataKind; + OnCursorDataID:string (required); + IconTextureReplaceFileName:string (required); + IsDisplayInZoomOut:bool; + IsDisplayInZoomNormal:bool; + IsDisplayInZoomIn:bool; + PointName:string (required); + ExInfoTextureName:string (required); + ExInfoTextLabelName:string (required); + IconThumbnailTextureName:string (required); + IconDisplayLevel:IconDisplayLevel; + IconAnimPtn:IconAnimPtn; + IconColorPtn:IconColorPtn; +} + +table EventSkyFlyArray (fs_serializer) { + Table:[EventSkyFly] (required); +} + +root_type EventSkyFlyArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/GymQuestClearArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/GymQuestClearArray.fbs new file mode 100644 index 00000000..867f8e9f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/GymQuestClearArray.fbs @@ -0,0 +1,28 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum GymQuestClearNo : int { + NONE = 0, + MUSHI = 1, + KUSA = 2, + MIZU = 3, + DENKI = 4, + NORMAL = 5, + KOORI = 6, + GHOST = 7, + ESPER = 8, +} + + +table GymQuestClear { + ID:GymQuestClearNo = NONE; + EventNpcSceneName:string (required); + EventNpcObjName:string (required); + GymClearQuestType:string (required); +} + +table GymQuestClearArray (fs_serializer) { + Table:[GymQuestClear] (required); +} + +root_type GymQuestClearArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/NushiQuestClearArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/NushiQuestClearArray.fbs new file mode 100644 index 00000000..143bd667 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Quest/NushiQuestClearArray.fbs @@ -0,0 +1,33 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum NushiQuestClearNo : int { + NONE = 0, + IWA = 1, + HAGANE = 2, + JIMEN = 3, + HIKOU = 4, + DRAGON = 5, +} + +table NushiQuestClear { + ID:NushiQuestClearNo = NONE; + NushiClearQuestType:string (required); + TrackName:string (required); + EventNpcSceneName1:string (required); + EventNpcObjectName1:string (required); + EventNpcSceneName2:string (required); + EventNpcObjectName2:string (required); + EventNpcSceneName3:string (required); + EventNpcObjectName3:string (required); + EventNpcSceneName4:string (required); + EventNpcObjectName4:string (required); + EventNpcSceneName5:string (required); + EventNpcObjectName5:string (required); +} + +table NushiQuestClearArray (fs_serializer) { + Table:[NushiQuestClear] (required); +} + +root_type NushiQuestClearArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantMenuDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantMenuDataArray.fbs new file mode 100644 index 00000000..cf387528 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantMenuDataArray.fbs @@ -0,0 +1,37 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum TasteCategory : int { + Spicy = 0, + Sweet = 1, + Salty = 2, + Sour = 3, + Bitter = 4, +} + +enum TasteDeliciousness : int { + Bad = 0, + Normal = 1, + Delicious = 2, + VeryDelicious = 3, +} + +table RestaurantMenuData { + Menuid:string (required); + Sortnum:int; + IsPicnic:bool; + FoodTextureIndex:int; + Cond:string (required); + Price:int; + Menuname:string (required); + MenuInfoText:string (required); + Bufid:string (required); + TasteCategory:TasteCategory; + TasteDeliciousness:TasteDeliciousness; +} + +table RestaurantMenuDataArray (fs_serializer) { + Table:[RestaurantMenuData] (required); +} + +root_type RestaurantMenuDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantShopDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantShopDataArray.fbs new file mode 100644 index 00000000..83e862f9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Restaurant/RestaurantShopDataArray.fbs @@ -0,0 +1,18 @@ +include "../Enums/PayType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table RestaurantShopData { + Shopid:string (required); + Shopname:string (required); + Shopsubname:string (required); + Paykind:PayType = OKOZUKAI; + Menuid:string (required); +} + +table RestaurantShopDataArray (fs_serializer) { + Table:[RestaurantShopData] (required); +} + +root_type RestaurantShopDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/SchoolMapDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/SchoolMapDataArray.fbs new file mode 100644 index 00000000..7c0fd825 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/SchoolMapDataArray.fbs @@ -0,0 +1,33 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum SchoolMapIDEnum : int { + Entrance = 0, + Dining = 1, + Shop = 2, + BiologicalRoom = 3, + ArtRoom = 4, + HomeEconomicsRoom = 5, + StaffRoom = 6, + PrincipalsRoom = 7, + HealthRoom = 8, + Schoolyard = 9, + PlayerClassRoom = 10, + Friend03ClassRoom = 11, + Friend02ClassRoom = 12, + PlayerRoom = 13, + Friend01Room = 14, + Friend02Room = 15, + Friend03Room = 16, +} + +table SchoolMapData { + MapID:SchoolMapIDEnum; + SystemFlagName:string (required); +} + +table SchoolMapDataArray (fs_serializer) { + Table:[SchoolMapData] (required); +} + +root_type SchoolMapDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/FriendlyShopDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/FriendlyShopDataArray.fbs new file mode 100644 index 00000000..8bd5cd34 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/FriendlyShopDataArray.fbs @@ -0,0 +1,22 @@ +include "../Enums/SellType.fbs"; +include "../Enums/PayType.fbs"; +include "../Enums/ClerkType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FriendlyShopData { + Id:string (required); + ShopName:string (required); + ShopSubName:string (required); + SellType:SellType = SELL_BUY; + PayKind:PayType = OKOZUKAI; + Lineup:string (required); + Clerktype:ClerkType = CLERK; +} + +table FriendlyShopDataArray (fs_serializer) { + Table:[FriendlyShopData] (required); +} + +root_type FriendlyShopDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/LineupDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/LineupDataArray.fbs new file mode 100644 index 00000000..dee86ad6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/LineupDataArray.fbs @@ -0,0 +1,20 @@ +include "../Enums/CondEnum.fbs"; +include "../../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table LineupData { + Lineupid:string (required); + Sortnum:int; + Item:ItemID = ITEMID_NONE; + ItemCondkind:CondEnum = NONE; + ItemCondvalue:string (required); + GymBadgeNum:int; +} + +table LineupDataArray (fs_serializer) { + Table:[LineupData] (required); +} + +root_type LineupDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopDataArray.fbs new file mode 100644 index 00000000..7d05d038 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopDataArray.fbs @@ -0,0 +1,15 @@ +include "../Enums/ShopKind.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ShopData { + Id:string (required); + Kind:ShopKind; +} + +table ShopDataArray (fs_serializer) { + Table:[ShopData] (required); +} + +root_type ShopDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopWazamachineDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopWazamachineDataArray.fbs new file mode 100644 index 00000000..5a3a2602 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/Shop/ShopWazamachineDataArray.fbs @@ -0,0 +1,28 @@ +include "../../Shared/ItemID.fbs"; +include "../Enums/CondEnum.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ShopWazamachineData { + WazaNo:int; + WazaItemID:ItemID = ITEMID_NONE; + LP:int; + Cond:CondEnum = NONE; + CondValue:string (required); + Item01:ItemID = ITEMID_NONE; + ItemNum01:int; + DevNo01:int; + Item02:ItemID = ITEMID_NONE; + ItemNum02:int; + DevNo02:int; + Item03:ItemID = ITEMID_NONE; + ItemNum03:int; + DevNo03:int; +} + +table ShopWazamachineDataArray (fs_serializer) { + Table:[ShopWazamachineData] (required); +} + +root_type ShopWazamachineDataArray; diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/SystemBgArray.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/SystemBgArray.fbs similarity index 71% rename from pkNX.Structures.FlatBuffers/Gen9/UI/SystemBgArray.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/UI/SystemBgArray.fbs index 7e0c94aa..078220c0 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/SystemBgArray.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/SystemBgArray.fbs @@ -1,32 +1,8 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SystemBgArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public SystemBg[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SystemBg -{ - [FlatBufferItem(0)] public IdSystemBg ID { get; set; } - [FlatBufferItem(1)] public bool IsValid { get; set; } - [FlatBufferItem(2)] public int Priority { get; set; } - [FlatBufferItem(3)] public BgType BgType { get; set; } - [FlatBufferItem(4)] public PtclType PtclType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum BgType -{ - Non = 0, +enum BgType : int { + None = 0, Common = 1, Fill = 2, BG_Box = 3, @@ -46,9 +22,20 @@ public enum BgType BG_Shop5 = 17, } -[FlatBufferEnum(typeof(int))] -public enum IdSystemBg -{ +enum PtclType : int { + None = 0, + General = 1, + Btlspot1 = 2, + Btlspot2 = 3, + Btlspot3 = 4, + Btlspot4 = 5, + VsDemo1 = 6, + VSDemo2 = 7, + VSDemo3 = 8, + VSDemo4 = 9, +} + +enum IdSystemBg : int { NONE = 0, msg = 1, msg_sys = 2, @@ -143,17 +130,16 @@ public enum IdSystemBg luxuryRestaurant = 136, } -[FlatBufferEnum(typeof(int))] -public enum PtclType -{ - None = 0, - General = 1, - Btlspot1 = 2, - Btlspot2 = 3, - Btlspot3 = 4, - Btlspot4 = 5, - VsDemo1 = 6, - VSDemo2 = 7, - VSDemo3 = 8, - VSDemo4 = 9, +table SystemBg { + ID:IdSystemBg; + IsValid:bool; + Priority:int; + BgType:BgType; + PtclType:PtclType; } + +table SystemBgArray (fs_serializer) { + Table:[SystemBg] (required); +} + +root_type SystemBgArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/TipsDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/TipsDataArray.fbs new file mode 100644 index 00000000..1f598850 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/TipsDataArray.fbs @@ -0,0 +1,46 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table TipsData { + Id:int (key); + Sortnum:int; + TipslistTitle:string (required); + Page1Title:string (required); + Page1Text:string (required); + Page1Pic:string (required); + Page2Title:string (required); + Page2Text:string (required); + Page2Pic:string (required); + Page3Title:string (required); + Page3Text:string (required); + Page3Pic:string (required); + Page4Title:string (required); + Page4Text:string (required); + Page4Pic:string (required); + Page5Title:string (required); + Page5Text:string (required); + Page5Pic:string (required); + Page6Title:string (required); + Page6Text:string (required); + Page6Pic:string (required); + Page7Title:string (required); + Page7Text:string (required); + Page7Pic:string (required); + Page8Title:string (required); + Page8Text:string (required); + Page8Pic:string (required); + Page9Title:string (required); + Page9Text:string (required); + Page9Pic:string (required); + Page10Title:string; // not required + Page10Text:string; // not required + Page10Pic:string; // not required + NewflagName:string (required); + DispflagName:string (required); +} + +table TipsDataArray (fs_serializer) { + Table:[TipsData] (required); +} + +root_type TipsDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/DestinationDataTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/DestinationDataTableArray.fbs new file mode 100644 index 00000000..709f69ed --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/DestinationDataTableArray.fbs @@ -0,0 +1,24 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum MapIconMode : int { + INVISIBLE = 0, + ACTIVE = 1, + ADDON_MARK = 2, +} + +table DestinationDataTable { + EventID:string (required); + MapIconMode:MapIconMode = INVISIBLE; + IconID:string (required); + IsNotice:bool; + ChapterTitle:string (required); + DestinationName:string (required); + SubDestinationName:string (required); +} + +table DestinationDataTableArray (fs_serializer) { + Table:[DestinationDataTable] (required); +} + +root_type DestinationDataTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/NpcDestinationDataTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/NpcDestinationDataTableArray.fbs new file mode 100644 index 00000000..d708f677 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/NpcDestinationDataTableArray.fbs @@ -0,0 +1,26 @@ +include "../../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum YmapNpcDistinationType : int { + POSITION_XYZ = 0, + MAPICON_ID = 1, + SCENE_OBJECT = 2, +} + +table NpcDestinationDataTable { + ID:string (required); + Type:YmapNpcDistinationType = POSITION_XYZ; + Position:Vec3f (required); + MapIconID:string (required); + SceneName:string (required); + ObjectName:string (required); + MstxtLabel:string (required); +} + +table NpcDestinationDataTableArray (fs_serializer) { + Table:[NpcDestinationDataTable] (required); +} + +root_type NpcDestinationDataTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/PlaceNameDataTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/PlaceNameDataTableArray.fbs new file mode 100644 index 00000000..4843e924 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/UI/ymap/PlaceNameDataTableArray.fbs @@ -0,0 +1,19 @@ +include "../../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table PlaceNameDataTable { + ID:string (required); + PlaceNameMstxtLabl:string (required); + Field3DPos:Vec3f (required); + IsDisplayInZoomOut:bool; + IsDisplayInZoomNormal:bool; + IsDisplayInZoomIn:bool; +} + +table PlaceNameDataTableArray (fs_serializer) { + Table:[PlaceNameDataTable] (required); +} + +root_type PlaceNameDataTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/Waza.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/Waza.fbs new file mode 100644 index 00000000..aeb6f161 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/Waza.fbs @@ -0,0 +1,87 @@ +include "WazaInflict.fbs"; +include "WazaAffinity.fbs"; +include "WazaEntityStat.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table Waza { + MoveID:ushort; + CanUseMove:bool; + Type:ubyte; + Quality:ubyte; + Category:ubyte; + Power:ubyte; + Accuracy:ubyte; + PP:ubyte; + Priority:byte; + HitMax:ubyte; + HitMin:ubyte; + Inflict:WazaInflict (required); + CritStage:ubyte; + Flinch:ubyte; + EffectSequence:ushort; + Recoil:byte; + RawHealing:ubyte; + RawTarget:ubyte; + StatAmps:WazaEntityStat (required); + Affinity:WazaAffinity = None; + Flag_MakesContact:bool; + Flag_Charge:bool; + Flag_Recharge:bool; + Flag_Protect:bool; + Flag_Reflectable:bool; + Flag_Snatch:bool; + Flag_Mirror:bool; + Flag_Punch:bool; + Flag_Sound:bool; + Flag_Dance:bool; + Flag_Gravity:bool; + Flag_Defrost:bool; + Flag_DistanceTriple:bool; + Flag_Heal:bool; + Flag_IgnoreSubstitute:bool; + Flag_FailSkyBattle:bool; + Flag_AnimateAlly:bool; + Flag_Metronome:bool; + Flag_FailEncore:bool; + Flag_FailMeFirst:bool; + Flag_FutureAttack:bool; + Flag_Pressure:bool; + Flag_Combo:bool; + Flag_NoSleepTalk:bool; + Flag_NoAssist:bool; + Flag_FailCopycat:bool; + Flag_FailMimic:bool; + Flag_FailInstruct:bool; + Flag_Powder:bool; + Flag_Bite:bool; + Flag_Bullet:bool; + Flag_NoMultiHit:bool; + Flag_NoEffectiveness:bool; + Flag_SheerForce:bool; + Flag_Slicing:bool; + Flag_Wind:bool; + Unknown_56:bool; + Unknown_57:bool; + Unknown_58:bool; + Unknown_59:bool; + Unknown_60:bool; + Unused_61:bool; + Unused_62:bool; + Unused_63:bool; + Unused_64:bool; + Unused_65:bool; + Unused_66:bool; + Unused_67:bool; + Unused_68:bool; + Unused_69:bool; + Unused_70:bool; + Flag_CantUseTwice:bool; +} + +table WazaTable (fs_serializer) { + Table:[Waza] (required); +} + +root_type WazaTable; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaAffinity.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaAffinity.fbs new file mode 100644 index 00000000..6eb9aebb --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaAffinity.fbs @@ -0,0 +1,10 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum WazaAffinity : byte { + None = 0, + Support = 3, + Self = 4, + Attack = 5, + Strong = 6, + Shuriken = 7, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaEntityStat.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaEntityStat.fbs new file mode 100644 index 00000000..8fd87c9b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaEntityStat.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct WazaEntityStat (fs_valueStruct) { + Stat1:byte; + Stat2:byte; + Stat3:byte; + Stat1Stage:byte; + Stat2Stage:byte; + Stat3Stage:byte; + Stat1Percent:ubyte; + Stat2Percent:ubyte; + Stat3Percent:ubyte; +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Move/WazaID.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaID.fbs similarity index 99% rename from pkNX.Structures.FlatBuffers/Gen9/Move/WazaID.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaID.fbs index a16c7769..49d03fb9 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/Move/WazaID.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaID.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ushort))] -public enum WazaID : ushort -{ +enum WazaID : ushort { WAZA_NULL = 0, WAZA_HATAKU = 1, WAZA_KARATETYOPPU = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaInflict.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaInflict.fbs new file mode 100644 index 00000000..9e4d65e7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaInflict.fbs @@ -0,0 +1,10 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct WazaInflict (fs_valueStruct) { + Value:ushort; + Chance:ubyte; + Turn1:ubyte; + Turn2:ubyte; + Turn3:ubyte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaType.fbs new file mode 100644 index 00000000..b043ce90 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Waza/WazaType.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum WazaType : int +{ DEFAULT = 0, + MANUAL = 1, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaInfo.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaInfo.fbs new file mode 100644 index 00000000..19246664 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaInfo.fbs @@ -0,0 +1,34 @@ +include "AreaTag.fbs"; +include "AreaType.fbs"; +include "EncBiome.fbs"; +include "OverrideBiome.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table AreaInfo { + Type:AreaType = Default; + LocationNameMain:string (required); + LocationNameSub:string (required); + Bgm:string (required); + EnvBaseSound:string (required); + WeatherTable:string (required); + LightFileP1:string (required); + LightFileP2:string (required); + LightFileP3:string (required); + ShadowClipHeightOffset:float; + ShadowClipHeightMinOffset:float; + DisableLightOffset:bool; + NoDisplayLocationName:bool; + NoRide:bool; + NoFly:bool; + NoPicnic:bool; + NoPartner:bool; + NoSpawnSection:bool; + NoPokeExchange:bool; + NoOcclusionCulling:bool; + MinEncLv:int; + MaxEncLv:int; + BiomeBase:EncBiome = None; + Tag:AreaTag = None; + BiomeOverride:OverrideBiome (required); +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaTag.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaTag.fbs similarity index 50% rename from pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaTag.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaTag.fbs index ab442631..cb01edc0 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaTag.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaTag.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum AreaTag -{ +enum AreaTag : int { None = 0, NG_Encount = 1, Area_EncountLv = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaType.fbs new file mode 100644 index 00000000..07136f87 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/AreaType.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum AreaType : int { + Default = 0, + Field = 1, + Town = 2, + Cave = 3, + Room = 4, +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BandType.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BandType.fbs new file mode 100644 index 00000000..db24aa83 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BandType.fbs @@ -0,0 +1,7 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +enum BandType : short { + NONE = 0, + SAME = 1, + BOSS = 2, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/Biome.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/Biome.fbs similarity index 69% rename from pkNX.Structures.FlatBuffers/Gen9/World/Area/Biome.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/Biome.fbs index b5ad77a5..9f9c495b 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/Biome.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/Biome.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(short))] -public enum Biome : short -{ +enum Biome : short { NONE = 0, GRASS = 1, FOREST = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BringItem.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BringItem.fbs new file mode 100644 index 00000000..fe97d28a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/BringItem.fbs @@ -0,0 +1,9 @@ +include "../../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct BringItem (fs_valueStruct) { + ItemID:ItemID = ITEMID_NONE; + BringRate:byte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EnableTable.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EnableTable.fbs new file mode 100644 index 00000000..5dcec603 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EnableTable.fbs @@ -0,0 +1,10 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_valueStruct"; + +struct EnableTable (fs_valueStruct) { + Land:bool; + UpWater:bool; + Underwater:bool; + Air1:bool; + Air2:bool; +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/EncAttr.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncAttr.fbs similarity index 67% rename from pkNX.Structures.FlatBuffers/Gen9/World/Area/EncAttr.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncAttr.fbs index 63cc8fbd..c35c80ae 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/EncAttr.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncAttr.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(byte))] -public enum EncAttr : byte -{ +enum EncAttr : ubyte { kusamura = 0, umi = 1, sabaku = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/EncBiome.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncBiome.fbs similarity index 70% rename from pkNX.Structures.FlatBuffers/Gen9/World/Area/EncBiome.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncBiome.fbs index 6a57ce13..31d7c724 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/EncBiome.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/EncBiome.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(byte))] -public enum EncBiome : byte -{ +enum EncBiome : ubyte { None = 0, Prairie = 1, Forest = 2, diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldAttrKey.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldAttrKey.fbs similarity index 81% rename from pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldAttrKey.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldAttrKey.fbs index cbbce996..08be157b 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldAttrKey.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldAttrKey.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum FieldAttrKey -{ +enum FieldAttrKey : int { kusamura = 0, kusamura_kare = 1, kusamura_yuki = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldDungeonAreaArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldDungeonAreaArray.fbs new file mode 100644 index 00000000..db5e7faf --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldDungeonAreaArray.fbs @@ -0,0 +1,15 @@ +include "AreaInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldDungeonArea { + Name:string (required); + Info:AreaInfo (required); +} + +table FieldDungeonAreaArray (fs_serializer) { + Table:[FieldDungeonArea] (required); +} + +root_type FieldDungeonAreaArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldInsideAreaArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldInsideAreaArray.fbs new file mode 100644 index 00000000..20aaf0be --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldInsideAreaArray.fbs @@ -0,0 +1,15 @@ +include "AreaInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldInsideArea { + Name:string (required); + Info:AreaInfo (required); +} + +table FieldInsideAreaArray (fs_serializer) { + Table:[FieldInsideArea] (required); +} + +root_type FieldInsideAreaArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldLocationArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldLocationArray.fbs new file mode 100644 index 00000000..75e2518f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldLocationArray.fbs @@ -0,0 +1,15 @@ +include "AreaInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldLocation { + Name:string (required); + Info:AreaInfo (required); +} + +table FieldLocationArray (fs_serializer) { + Table:[FieldLocation] (required); +} + +root_type FieldLocationArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldMainAreaArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldMainAreaArray.fbs new file mode 100644 index 00000000..bb3ca495 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldMainAreaArray.fbs @@ -0,0 +1,15 @@ +include "AreaInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldMainArea { + Name:string (required); + Info:AreaInfo (required); +} + +table FieldMainAreaArray (fs_serializer) { + Table:[FieldMainArea] (required); +} + +root_type FieldMainAreaArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldSubAreaArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldSubAreaArray.fbs new file mode 100644 index 00000000..42234d58 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/FieldSubAreaArray.fbs @@ -0,0 +1,15 @@ +include "AreaInfo.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldSubArea { + Name:string (required); + Info:AreaInfo (required); +} + +table FieldSubAreaArray (fs_serializer) { + Table:[FieldSubArea] (required); +} + +root_type FieldSubAreaArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/OverrideBiome.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/OverrideBiome.fbs new file mode 100644 index 00000000..6808840b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Area/OverrideBiome.fbs @@ -0,0 +1,13 @@ +include "EncBiome.fbs"; +include "FieldAttrKey.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table OverrideBiome { + Attr1:FieldAttrKey = dummy; + Biome1:EncBiome = None; + Attr2:FieldAttrKey = dummy; + Biome2:EncBiome = None; + Attr3:FieldAttrKey = dummy; + Biome3:EncBiome = None; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/EncountPokeDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/EncountPokeDataArray.fbs new file mode 100644 index 00000000..7a97e0af --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/EncountPokeDataArray.fbs @@ -0,0 +1,50 @@ +include "../Shared/DevID.fbs"; +include "../Shared/SexType.fbs"; +include "TimeTable.fbs"; +include "VersionTable.fbs"; +include "Area/BandType.fbs"; +include "Area/BringItem.fbs"; +include "Area/EnableTable.fbs"; +include "Area/Biome.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table EncountPokeData { + DevId:DevID = DEV_NULL; + Sex:SexType = DEFAULT; + Form:byte; + MinLevel:short; + MaxLevel:short; + LotValue:short; + Biome1:Biome; + LotValue1:short; + Biome2:Biome; + LotValue2:short; + Biome3:Biome; + LotValue3:short; + Biome4:Biome; + LotValue4:short; + Area:string (required); + LocationName:string (required); + MinHeight:int; + MaxHeight:int; + Enable:EnableTable (required); + Time:TimeTable (required); + FlagName:string (required); + BandRate:short; + Band:BandType = NONE; + BandPoke:DevID = DEV_NULL; + BandSex:SexType; + BandForm:byte; + OutbreakLotValue:byte; + PokeVoiceClassification:string (required); + Version:VersionTable; + Item:BringItem; +} + +table EncountPokeDataArray (fs_serializer) { + Table:[EncountPokeData] (required); +} + +root_type EncountPokeDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/EventBattlePokemonArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/EventBattlePokemonArray.fbs new file mode 100644 index 00000000..12c66f37 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/EventBattlePokemonArray.fbs @@ -0,0 +1,16 @@ +include "../PokeData/PokeDataEventBattle.fbs"; +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table EventBattlePokemon { + Label:string (required); + PokeData:PokeDataEventBattle (required); + DisableBattleOut:bool; + EventEncount:bool; +} + +table EventBattlePokemonArray (fs_serializer) { + Table:[EventBattlePokemon] (required); +} + +root_type EventBattlePokemonArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/AreaFlyFlagArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/AreaFlyFlagArray.fbs new file mode 100644 index 00000000..446ae2aa --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/AreaFlyFlagArray.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table AreaFlyFlag { + AreaName:string (required); + FlyFlag1:string (required); + FlyFlag2:string (required); +} + +table AreaFlyFlagArray (fs_serializer) { + Table:[AreaFlyFlag] (required); +} + +root_type AreaFlyFlagArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/CoinSymbolManager.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/CoinSymbolManager.fbs new file mode 100644 index 00000000..aca5acee --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/CoinSymbolManager.fbs @@ -0,0 +1,53 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table BoxRevival { + RevivalRate:int; + QuantityData:CoinQuantityData (required); + NumData:CoinNumData (required); +} + +table WalkRevival { + RevivalRate:int; + QuantityData:CoinQuantityData (required); + NumData:CoinNumData (required); +} + +table CoinQuantityData { + Lottery00:CoinRevivalLotteryData (required); + Lottery01:CoinRevivalLotteryData (required); + Lottery02:CoinRevivalLotteryData (required); + Lottery03:CoinRevivalLotteryData (required); + Lottery04:CoinRevivalLotteryData (required); +} + +table CoinNumData { + Lottery00:CoinRevivalLotteryData (required); + Lottery01:CoinRevivalLotteryData (required); + Lottery02:CoinRevivalLotteryData (required); + Lottery03:CoinRevivalLotteryData (required); + Lottery04:CoinRevivalLotteryData (required); + Lottery05:CoinRevivalLotteryData (required); + Lottery06:CoinRevivalLotteryData (required); + Lottery07:CoinRevivalLotteryData (required); + Lottery08:CoinRevivalLotteryData (required); +} + +table CoinRevivalLotteryData { + Rate:int; + Num:int; +} + +table CoinSymbolManager (fs_serializer) { + WalkFetchRange:float; + WalkReleaseRange:float; + BoxFetchRange:float; + BoxReleaseRange:float; + Box:BoxRevival (required); + Walk:WalkRevival (required); + WalkVoiceLength:float; + WalkVoiceIntervalMin:int; + WalkVoiceIntervalMax:int; +} + +root_type CoinSymbolManager; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/ExclusionGroupArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/ExclusionGroupArray.fbs new file mode 100644 index 00000000..27d05d69 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/ExclusionGroupArray.fbs @@ -0,0 +1,26 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table ExclusionContentSet { + RaidGem:bool; + Item:bool; + SymbolPokemon:bool; + CommonNpc:bool; + TrafficNpc:bool; + CoinPokemon:bool; + PartnerPokemon:bool; + Picnic:bool; + Rotom:bool; + OtherPlayerThings:bool; +} + +table ExclusionGroup { + Id:string (required); + Content:ExclusionContentSet (required); +} + +table ExclusionGroupArray (fs_serializer) { + Table:[ExclusionGroup] (required); +} + +root_type ExclusionGroupArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutoReturnPosTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutoReturnPosTableArray.fbs new file mode 100644 index 00000000..7440e248 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutoReturnPosTableArray.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldAutoReturnPosTable { + Name:string (required); + PosX:float; + PosY:float; + PosZ:float; +} + +table FieldAutoReturnPosTableArray (fs_serializer) { + Table:[FieldAutoReturnPosTable] (required); +} + +root_type FieldAutoReturnPosTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutomaticReturnTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutomaticReturnTableArray.fbs new file mode 100644 index 00000000..ca4c64de --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldAutomaticReturnTableArray.fbs @@ -0,0 +1,17 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldAutomaticReturnTable { + AutoReturnFallTime:float; + AutoReturnSlideTime:float; + AutoReturnMoveAmount:float; + AutoReturnTiltAngle:float; + CliffReturnHeavyLandingHeight:float; + CliffReturnInvalidDistance:float; +} + +table FieldAutomaticReturnTableArray (fs_serializer) { + Table:[FieldAutomaticReturnTable] (required); +} + +root_type FieldAutomaticReturnTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldCamera.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldCamera.fbs new file mode 100644 index 00000000..a77225a1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldCamera.fbs @@ -0,0 +1,69 @@ +include "../../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldCameraTrackingData { + TrackingOffset:Vec3f (required); +} + +table FieldCameraOrbitRotationData { + TargetMoveTolerance:float; + AutoRotationTimeTolerance:float; + AutoRotationYawSpeed:float; + AutoRotationPitchSpeed:float; + RotationYawSpeed:float; + RotationPitchSpeed:float; + DefaultResetRotationTime:float; + DefaultEasingPosTime:float; +} + +table FieldCameraLockOnData { + RotationYawSpeed:float; + RotationPitchSpeed:float; + PitchMax:float; + PitchMin:float; +} + +table FieldCameraHidData { + StickTolerance:float; +} + +table FieldCameraCollisionData { + ResolveSpeed:float; + ResolveStartMargin:float; + DistanceLimitMax:float; + DistanceLimitMin:float; + DistanceToWater:float; + CastLengthToWater:float; +} + +table FieldCamera (fs_serializer) { + CenterDistance:float; + TopDistance:float; + BottomDistance:float; + GazeOffset:Vec3f (required); + RotationTurn:float; + RotationPitch:float; + PitchCenter:float; + PitchUpperMax:float; + PitchLowerMax:float; + FollowFactor:float; + WallOffset:float; + FloorOffset:float; + DistanceMin:float; + DistanceMax:float; + RevertFactor:float; + DepthFollowFactor:float; + DepthFollowLerpExponential:float; + ZoomHoldTime:float; + ZoomDistance:float; + StickTolerance:float; + Hid:FieldCameraHidData (required); + Tracking:FieldCameraTrackingData (required); + Orbit:FieldCameraOrbitRotationData (required); + LockOn:FieldCameraLockOnData (required); + Collision:FieldCameraCollisionData (required); +} + +root_type FieldCamera; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldInteriorCamera.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldInteriorCamera.fbs new file mode 100644 index 00000000..0c36a409 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldInteriorCamera.fbs @@ -0,0 +1,20 @@ +include "../../Geometry/Vec3f.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table Range { + Origin:float; + Max:float; + Min:float; +} + +table FieldInteriorCamera (fs_serializer) { + Yaw:Range (required); + Pitch:Range (required); + Distance:float; + DelayFactor:float; + Offset:Vec3f (required); +} + +root_type FieldInteriorCamera; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldOutOfRangeTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldOutOfRangeTableArray.fbs new file mode 100644 index 00000000..547e2539 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldOutOfRangeTableArray.fbs @@ -0,0 +1,17 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldOutOfRangeTable { + OutOfRangeLowerX:float; + OutOfRangeLowerY:float; + OutOfRangeLowerZ:float; + OutOfRangeUpperX:float; + OutOfRangeUpperY:float; + OutOfRangeUpperZ:float; +} + +table FieldOutOfRangeTableArray (fs_serializer) { + Table:[FieldOutOfRangeTable] (required); +} + +root_type FieldOutOfRangeTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldPlayer.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldPlayer.fbs new file mode 100644 index 00000000..7990e44b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldPlayer.fbs @@ -0,0 +1,61 @@ +include "FieldRide.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FieldPlayer (fs_serializer) { + Gravity:GravityParameter (required); + Input:InputParameter (required); + Move:MoveParameter (required); + Totter:TotterParameter (required); + Ground:GroundParameter (required); + SlideDrop:SlideDropParameter (required); + Ladder:LadderParameter (required); + Facial:FacialParameter (required); + Unique:PlayerUniqueParameter (required); + GroundKinesis:GroundKinesisParameter (required); + AerialKinesis:AerialKinesisParameter (required); + SlideDropKinesis:SlideDropKinesisParameter (required); + SquatKinesis:SquatKinesisParameter (required); + SlidingKinesis:SlidingKinesisParameter (required); + Selfie:SelfieParameter (required); + Floatation:FloatationParameter (required); +} + +table TotterParameter { + Interval:float; + Height:float; + DistanceMax:float; + BackDistance:float; +} + +table SelfieParameter{ + MaxFactor:float; + RotAngleMax:float; +} + +table PlayerUniqueParameter{ + IdlingIntervalMin:float; + IdlingIntervalMax:float; + FacialIdlingCountMin:int; + FacialIdlingCountMax:int; + RunFacialIntervalMin:float; + RunFacialIntervalMax:float; + RunMouthIntervalMin:float; + RunMouthIntervalMax:float; + SlideDropLeanAngle:float; + SlideDropFwdAngle:float; + SquatRate:float; + RideChangeCheckHeight:float; + RideChangeBottomOffset:float; + RideChangeRadiusScale:float; + HiddenMargin:float; +} +table LadderParameter { + LowerCorrectRate:float; + UpperCorrectRate:float; + UpperLaunchAngle:float; + LowerLaunchAngle:float; + UpperForwardAngle:float; + LowerForwardAngle:float; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldRide.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldRide.fbs new file mode 100644 index 00000000..f275049e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/FieldRide.fbs @@ -0,0 +1,376 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +enum Easing : int { + InSine = 0, + OutSine = 1, + InOutSin = 2, + InQuad = 3, + OutQuad = 4, + InOutQuad = 5, + InCubic = 6, + OutCubic = 7, + InOutCubic = 8, + InQuart = 9, + OutQuart = 10, + InOutQuart = 11, + InQuint = 12, + OutQuint = 13, + InOutQuint = 14, + InExpo = 15, + OutExpo = 16, + InOutExpo = 17, + InCirc = 18, + OutCirc = 19, + InOutCirc = 20, + InBack = 21, + OutBack = 22, + InOutBack = 23, + InElastic = 24, + OutElastic = 25, + InOutElastic = 26, + InBounce = 27, + OutBounce = 28, + InOutBounce = 29, + Linear = 30, +} + +struct EaseColor (fs_valueStruct) { + Red:float; + Green:float; + Blue:float; + Alpha:float; +} + +table UniqueParameter { + FrontLegDistance:float; + RearLegDistance:float; + GlideTurnCameraFactor:float; + IdlingIntervalMin:float; + IdlingIntervalMax:float; + ImpactAngle:float; + TreeImpactRate:float; + RollbackDepth:float; + ChangeOffsetA:ChangeOffsetSet; + ChangeOffsetB:ChangeOffsetSet; +} + +table SwimKinesisParameter { + SelfSpeedMax:float; + Accel:float; + Friction:float; + MinGripAngle:float; + MaxGripAngle:float; +} + +table SquatKinesisParameter { + SpeedFixed:float; + SlipFriction:float; + GripFactor:float; +} + +table SlidingKinesisParameter { + Friction:float; + SlipFriction:float; + InitVelocityRate:float; + BreakDecrease:float; + BreakIncrease:float; +} + +table SlideDropParameter { + ForwardDirFactor:float; + BackwardDirFactor:float; + UpwardDirFactor:float; + BackwardTime:float; + LeanFactor:float; +} + +table SlideDropKinesisParameter { + ForwardGripFactor:float; + BackwardGripFactor:float; + Accel:float; + Friction:float; + SpeedMax:float; + CurveAngle:float; + SpeedUpInputThreshold:float; + SideInputTolerance:float; + SideMaxVelocityRate:float; + SideFriction:float; + SpeedUpRate:float; + SpeedDownRate:float; + ForwardSideAccel:float; + BackwardSideAccel:float; +} + +struct EaseFloatValue (fs_valueStruct) { + Time:float; + Value:float; + Ease:Easing; +} + +struct EaseColorValue (fs_valueStruct) { + Time:float; + Value:EaseColor; + Ease:Easing; +} + +struct RadialBlurParameter (fs_valueStruct) { + // EaseFloatValue[3] + Intensities0:EaseFloatValue; + Intensities1:EaseFloatValue; + Intensities2:EaseFloatValue; + + // EaseFloatValue[3] + Offsets0:EaseFloatValue; + Offsets1:EaseFloatValue; + Offsets2:EaseFloatValue; + + Duration:float; + YawLimit:float; + PitchLimit:float; + KillTime:float; + KillEase:Easing; +} + +struct OffsetVector (fs_valueStruct) { + X:float; + Y:float; + Z:float; +} + +table MoveParameter { + PitchFactor:float; + LeanAngle:float; + LeanFactor:float; + RotationFactor:float; + ReverseSpeedFactor:float; + ReverseTurnAngle:float; + ReverseFrictionFactor:float; + LightLandingHeight:float; + HeavyLandingHeight:float; + DynamicsResetCount:int; + SpinCount:int; + SpinMaxSpeed:float; + SpinMaxAnimationSpeed:float; + SpinInterpolation:float; + SlideDropToleranceTime:float; + StopToleranceTime:float; + TurnStickDiffThreashold:float; + SliderModeRate:float; + BallThrowFrictionFactor:float; + BallThrowBackFrictionFactor:float; + UnlandablePushVelocity:float; +} + +table JumpParameter { + HeightHi:float; + HeightLow:float; + TapDuration:float; + WaterHeightHi:float; + WaterHeightLow:float; +} + +table InputParameter { + StickTolerance:float; + SpinThreshold:float; +} + +table GroundParameter { + SlideDropThreshold:float; + VerticalMargin:float; + WallHitAngle:float; + WaterDraftLine:float; + WaterSurfaceMargin:float; + WaterWithstandLine:float; + UnderWaterThreshold:float; + ShallowWaterThreshold:float; + AcceptableRadiusRate:float; +} + +table GroundKinesisParameter { + FirstSpeedMax:float; + SecondSpeedMax:float; + SlowSpeedMax:float; + FirstAccel:float; + SecondAccel:float; + SlowAccel:float; + Friction:float; + SlipFriction:float; + SlipFrictionExp:float; + MaxGripFactor:float; + MinGripFactor:float; + RunStickThreshold:float; +} + +table GravityParameter { + Accel:float; + SpeedMax:float; +} + +table GlideParameter { + DampingRate:float; + DampingThreshold:float; + StaminaMax:float; + StaminaCost:float; + StaminaGain:float; +} + +table GlideKinesisParameter { + SelfSpeedMax:float; + Accel:float; + Friction:float; + MinGripAngle:float; + MaxGripAngle:float; + GravityRate:float; + FlareSpeedMax:float; +} + +table FloatationParameter { + Floatage:float; + Dumping:float; + SpeedMax:float; + SurfaceDumpingRate:float; +} + +table FlightKinesisParameter { + Accel:float; + PitchMaxUpAngle:float; + PitchMaxDownAngle:float; + PitchMaxTotalAngle:float; + YawAngleSpeed:float; + PitchAngleSpeed:float; + PitchUpSpeedRate:float; + PitchDownSpeedRate:float; + PitchStableSpeedRate:float; + PitchBaseAngle:float; + RollMaxAngle:float; + RollFactor:float; + UpAccelRate:float; + DownAccelRate:float; + MaxSpeed:float; + MaxDiveSpeed:float; + PitchUpSpeedThreshold:float; + PitchRateExp:float; + ReadyScale:float; + FaintThreshold:float; + AirRegist:float; +} + +table FacialParameter { + AutoBlinkIntervalMin:float; + AutoBlinkIntervalMax:float; +} + +struct EmissiveColorParameter (fs_valueStruct) { + // EaseColorValue[3] Blend + // EaseColorValue[3] Rim + // EaseColorValue[3] Power + // EaseColorValue[3] Intensity + // float Duration + + Blend0:EaseColorValue; + Blend1:EaseColorValue; + Blend2:EaseColorValue; + Rim0:EaseColorValue; + Rim1:EaseColorValue; + Rim2:EaseColorValue; + + Power0:EaseFloatValue; + Power1:EaseFloatValue; + Power2:EaseFloatValue; + Intensity0:EaseFloatValue; + Intensity1:EaseFloatValue; + Intensity2:EaseFloatValue; + + Duration:float; +} + +table EffectParameter { + Emissive:EmissiveColorParameter; + DashRadialBlur:RadialBlurParameter; + SwimRadialBlur:RadialBlurParameter; + GlideRadialBlur:RadialBlurParameter; + GlideBlurThreshold:float; + LargeSplayRangeMin:float; + LargeSplayRangeMax:float; + SmallSplayRangeMin:float; + SmallSplayRangeMax:float; +} + +table DashParameter { + SpeedMax:float; + AccelTime:float; + AccelRate:float; + AccelAnimationRate:float; + SwimSpeedMax:float; + SwimAccelTime:float; + SwimAccelRate:float; + SwimAccelAnimationRate:float; + GripFactor:float; +} + +table ClimbParameter { + BackJumpInitialVelocity:float; + UpStickAngle:float; + SideUpperStickAngle:float; + SideLowerStickAngle:float; + MoveSpeed:float; + PositionMergeFactor:float; + VertUpMergeFactor:float; + HorzUpMergeFactor:float; + Radius:float; + DownAccel:float; + ReverseAngle:float; + FlipEndCheckOffset:float; + FlipEndCheckLength:float; + JumpChargeExponent:float; + GroundDistanceTolerance:float; + WallHitLength:float; + WallHitOffset:float; + OppositeAngle:float; + AutoStartToleranceFactor:float; +} + +struct ChangeOffset (fs_valueStruct) { + Trans:OffsetVector; + Rot:OffsetVector; +} + +struct ChangeOffsetSet (fs_valueStruct) { + Stand:ChangeOffset; + Run:ChangeOffset; +} + +table AerialKinesisParameter { + Accel:float; + Friction:float; + SelfSpeedMax:float; + BackwardAngle:float; + GripAngle:float; +} + +table FieldRide (fs_serializer) { + Unique:UniqueParameter; + Gravity:GravityParameter; + Input:InputParameter; + Move:MoveParameter; + Jump:JumpParameter; + Ground:GroundParameter; + Dash:DashParameter; + Climb:ClimbParameter; + SlideDrop:SlideDropParameter; + GroundKinesis:GroundKinesisParameter; + AerialKinesis:AerialKinesisParameter; + SlideDropKinesis:SlideDropKinesisParameter; + GlideKinesis:GlideKinesisParameter; + Glide:GlideParameter; + SwimKinesis:SwimKinesisParameter (required); + BadSwimKinesis:SwimKinesisParameter (required); + Floatation:FloatationParameter; + Facial:FacialParameter; + Effect:EffectParameter; + FlightKinesis:FlightKinesisParameter; +} + +root_type FieldRide; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolLotteryTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolLotteryTableArray.fbs new file mode 100644 index 00000000..1fb04b47 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolLotteryTableArray.fbs @@ -0,0 +1,26 @@ +include "../../Shared/MoveType.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +attribute "fs_serializer"; + +table GemSymbolLotteryTable { + LotteryKey:string (required); + GemMoveType:MoveType = Normal; + TableKey0:string (required); + TableKey1:string (required); + TableKey2:string (required); + TableKey3:string (required); + TableKey4:string (required); + TableKey5:string (required); + TableKey6:string (required); + TableKey7:string (required); + TableKey8:string (required); + TableKey9:string (required); +} + +table GemSymbolLotteryTableArray (fs_serializer) { + Table:[GemSymbolLotteryTable] (required); +} + +root_type GemSymbolLotteryTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolSetting.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolSetting.fbs new file mode 100644 index 00000000..c3364d3e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/GemSymbolSetting.fbs @@ -0,0 +1,9 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table GemSymbolSetting (fs_serializer) { + MinScale:short; + RepopPercent:byte; + AddItemNum:byte; + AddItemPercent:byte; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/MapChangeParametersArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/MapChangeParametersArray.fbs new file mode 100644 index 00000000..ae50e519 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/Field/MapChangeParametersArray.fbs @@ -0,0 +1,20 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table MapChangeParameters { + LhLadderWait:float; + LhLadderFadeDuration:float; + MapChangeSingleDoorAngle:float; + MapChangeDoubleDoorAngle:float; + MapChangeAutoDoorAngle:float; + MapChangePosAngle:float; + MapChangeCampusDoorAngle:float; + MapChangeAtlantisDoorAngle:float; + MapChangeStickAngle:float; +} + +table MapChangeParametersArray (fs_serializer) { + Table:[MapChangeParameters] (required); +} + +root_type MapChangeParametersArray; diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/BehaviorFrequency.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/BehaviorFrequency.fbs similarity index 61% rename from pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/BehaviorFrequency.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/BehaviorFrequency.fbs index 1ab8c76a..311189f4 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/BehaviorFrequency.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/BehaviorFrequency.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum BehaviorFrequency -{ +enum BehaviorFrequency : int { NONE = -1, kEvery1Frame = 0, KEvery2Frames = 1, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolAI.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolAI.fbs new file mode 100644 index 00000000..0830dd6d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolAI.fbs @@ -0,0 +1,14 @@ +include "PokemonActionID.fbs"; +include "BehaviorFrequency.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; + +table FixedSymbolAI { + ActionId:PokemonActionID = NONE; + Hunger:float; + Fatigue:float; + Sleepiness:float; + Priority:int; + TriggerActionId:PokemonActionID = NONE; + OverrideFrequency:BehaviorFrequency; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolArray.fbs new file mode 100644 index 00000000..cdccd3db --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolArray.fbs @@ -0,0 +1,19 @@ +include "../../PokeData/PokeDataSymbol.fbs"; +include "FixedSymbolAI.fbs"; +include "FixedSymbolGeneration.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FixedSymbolTable { + TableKey:string (required); + Symbol:PokeDataSymbol (required); + PokeAI:FixedSymbolAI (required); + PokeGeneration:FixedSymbolGeneration (required); +} + +table FixedSymbolTableArray (fs_serializer) { + Table:[FixedSymbolTable] (required); +} + +root_type FixedSymbolTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolGeneration.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolGeneration.fbs new file mode 100644 index 00000000..c246154e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolGeneration.fbs @@ -0,0 +1,12 @@ +include "GenerationPattern.fbs"; +namespace pkNX.Structures.FlatBuffers.SV; + +table FixedSymbolGeneration { + MinCreateDistance:float; + MaxCreateDistance:float; + MinDestroyDistance:float; + MaxDestroyDistance:float; + GenerationPattern:GenerationPattern = Encount; + FirstGenerate:bool; + RepopProbability:int; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolManager.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolManager.fbs new file mode 100644 index 00000000..d5d636e8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/FixedSymbolManager.fbs @@ -0,0 +1,11 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table FixedSymbolManager (fs_serializer) { + PointFetchRange:float; + PointReleaseRange:float; + PointFetchRangeGem:float; + PointReleaseRangeGem:float; +} + +root_type FixedSymbolManager; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/GenerationPattern.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/GenerationPattern.fbs new file mode 100644 index 00000000..96253f9b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/GenerationPattern.fbs @@ -0,0 +1,5 @@ +namespace pkNX.Structures.FlatBuffers.SV; +enum GenerationPattern : int { + Encount = 0, + Watch = 1, +} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/PokemonActionID.cs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/PokemonActionID.fbs similarity index 99% rename from pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/PokemonActionID.cs rename to pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/PokemonActionID.fbs index 6a80c039..fed3a83b 100644 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/PokemonActionID.cs +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/FixedSymbol/PokemonActionID.fbs @@ -1,11 +1,6 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global +namespace pkNX.Structures.FlatBuffers.SV; -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum PokemonActionID -{ +enum PokemonActionID : int { NONE = 0, OLD_AMPHIBIAN_PROMENADE_ACTIVE = 1, OLD_AMPHIBIAN_PROMENADE_INACTIVE = 2, diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/PointDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/PointDataArray.fbs new file mode 100644 index 00000000..59d96f21 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/PointDataArray.fbs @@ -0,0 +1,22 @@ +include "../Geometry/PackedVec3f.fbs"; +include "../Geometry/PackedVec2f.fbs"; +include "Area/EncBiome.fbs"; +include "Area/EncAttr.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +attribute "fs_valueStruct"; + +struct PointData (fs_valueStruct) { + Position:PackedVec3f; + LevelRange:PackedVec2f; + Biome:EncBiome = None; + Substance:EncAttr = kusamura; + AreaNo:byte; +} + +table PointDataArray (fs_serializer) { + Table:[PointData] (required); +} + +root_type PointDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/SettingData.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/SettingData.fbs new file mode 100644 index 00000000..80f20d00 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/SettingData.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table SettingData (fs_serializer) { + SpawnTime:float; +} + +root_type SettingData; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/TimeTable.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/TimeTable.fbs new file mode 100644 index 00000000..c7b48fb5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/TimeTable.fbs @@ -0,0 +1,8 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +table TimeTable { + Morning:bool; + Noon:bool; + Evening:bool; + Night:bool; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/World/VersionTable.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/World/VersionTable.fbs new file mode 100644 index 00000000..8d17f517 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/World/VersionTable.fbs @@ -0,0 +1,6 @@ +namespace pkNX.Structures.FlatBuffers.SV; + +table VersionTable { + A:bool; + B:bool; +} diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/BlacklistArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/BlacklistArray.fbs new file mode 100644 index 00000000..a74aaf85 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/BlacklistArray.fbs @@ -0,0 +1,13 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table Blacklist { + DevNo:int; + FormNo:int; +} + +table BlacklistArray (fs_serializer) { + Table:[Blacklist] (required); +} + +root_type BlacklistArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/DistributionRootArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/DistributionRootArray.fbs new file mode 100644 index 00000000..63c24ee2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/DistributionRootArray.fbs @@ -0,0 +1,25 @@ +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +table GridParam { + X:int; + Y:int; +} + +table DistributionData { + DevNo:int; + FormNo:int; + VersionA:bool; + VersionB:bool; + Grid:GridParam (required); +} + +table DistributionRoot { + Table:[DistributionData] (required); +} + +table DistributionRootArray (fs_serializer) { + Table:[DistributionRoot] (required); +} + +root_type DistributionRootArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/MemoPokeTableArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/MemoPokeTableArray.fbs new file mode 100644 index 00000000..b2ebd919 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/MemoPokeTableArray.fbs @@ -0,0 +1,13 @@ +include "../Shared/DevID.fbs"; +include "../Shared/Sex.fbs"; +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; +table MemoPokeTable { + DevNo:DevID = DEV_NULL; + Sex:Sex; + FormNo:int; +} +table MemoPokeTableArray (fs_serializer) { + Table:[MemoPokeTable] (required); +} +root_type MemoPokeTableArray; diff --git a/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/RewardDataArray.fbs b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/RewardDataArray.fbs new file mode 100644 index 00000000..257557d0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/Schemas/Zukan/RewardDataArray.fbs @@ -0,0 +1,21 @@ +include "../Shared/ItemID.fbs"; + +namespace pkNX.Structures.FlatBuffers.SV; +attribute "fs_serializer"; + +enum PokedexType : int { + TITAN = 0, +} + +table RewardData { + PokedexType:PokedexType; + CaptureNum:int; + ItemId:ItemID = ITEMID_NONE; + ItemNum:int; +} + +table RewardDataArray (fs_serializer) { + Table:[RewardData] (required); +} + +root_type RewardDataArray; diff --git a/pkNX.Structures.FlatBuffers.SV/pkNX.Structures.FlatBuffers.SV.csproj b/pkNX.Structures.FlatBuffers.SV/pkNX.Structures.FlatBuffers.SV.csproj new file mode 100644 index 00000000..1d316bfd --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SV/pkNX.Structures.FlatBuffers.SV.csproj @@ -0,0 +1,25 @@ + + + net7.0 + enable + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerPokeArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerPokeArchive.cs new file mode 100644 index 00000000..dcfa221b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerPokeArchive.cs @@ -0,0 +1,14 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class BattleTowerPokeArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class BattleTowerPoke { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerTrainerArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerTrainerArchive.cs new file mode 100644 index 00000000..80daba22 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/BattleTower/BattleTowerTrainerArchive.cs @@ -0,0 +1,14 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class BattleTowerTrainerArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class BattleTowerTrainer8 { } diff --git a/pkNX.Structures.FlatBuffers/Gen8/Gift/EncounterGift8Archive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/EncounterGiftArchive.cs similarity index 50% rename from pkNX.Structures.FlatBuffers/Gen8/Gift/EncounterGift8Archive.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/EncounterGiftArchive.cs index 41cefd13..8a06e03a 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Gift/EncounterGift8Archive.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/EncounterGiftArchive.cs @@ -1,5 +1,4 @@ using System.ComponentModel; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable MemberCanBePrivate.Global @@ -7,10 +6,7 @@ // ReSharper disable UnusedMember.Global #nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterGift8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EncounterGift8[] Table { get; set; } -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterGiftArchive { } diff --git a/pkNX.Structures.FlatBuffers/Gen8/Gift/GiftEncounter8.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/GiftEncounter.cs similarity index 53% rename from pkNX.Structures.FlatBuffers/Gen8/Gift/GiftEncounter8.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/GiftEncounter.cs index 72e92610..257c2012 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Gift/GiftEncounter8.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Gift/GiftEncounter.cs @@ -1,49 +1,15 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable MemberCanBePrivate.Global // ReSharper disable UnusedType.Global // ReSharper disable UnusedMember.Global -#nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterGift8 +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterGift { - [FlatBufferItem(00)] public int IsEgg { get; set; } - [FlatBufferItem(01)] public byte Form { get; set; } - [FlatBufferItem(02)] public byte DynamaxLevel { get; set; } - [FlatBufferItem(03)] public int BallItemID { get; set; } - [FlatBufferItem(04)] public byte Field_04 { get; set; } - [FlatBufferItem(05)] public ulong Hash1 { get; set; } - [FlatBufferItem(06)] public bool CanGigantamax { get; set; } - [FlatBufferItem(07)] public int HeldItem { get; set; } - [FlatBufferItem(08)] public byte Level { get; set; } - [FlatBufferItem(09)] public int Species { get; set; } - [FlatBufferItem(10)] public byte Field_0A { get; set; } - [FlatBufferItem(11)] public byte MemoryCode { get; set; } - [FlatBufferItem(12)] public ushort MemoryData { get; set; } - [FlatBufferItem(13)] public byte MemoryFeel { get; set; } - [FlatBufferItem(14)] public byte MemoryLevel { get; set; } - [FlatBufferItem(15)] public ulong OtNameID { get; set; } - [FlatBufferItem(16)] public int OtGender { get; set; } - [FlatBufferItem(17)] public int ShinyLock { get; set; } - [FlatBufferItem(18)] public int Nature { get; set; } - [FlatBufferItem(19)] public byte Gender { get; set; } - [FlatBufferItem(20)] public sbyte IV_SPE { get; set; } - [FlatBufferItem(21)] public sbyte IV_ATK { get; set; } - [FlatBufferItem(22)] public sbyte IV_DEF { get; set; } - [FlatBufferItem(23)] public sbyte IV_HP { get; set; } - [FlatBufferItem(24)] public sbyte IV_SPA { get; set; } - [FlatBufferItem(25)] public sbyte IV_SPD { get; set; } - [FlatBufferItem(26)] public int Ability { get; set; } - [FlatBufferItem(27)] public int SpecialMove { get; set; } - public Species SpeciesID => (Species)Species; public static readonly int[] BallToItem = @@ -85,16 +51,16 @@ public Ball Ball public int[] IVs { - get => new int[] { IV_HP, IV_ATK, IV_DEF, IV_SPE, IV_SPA, IV_SPD }; + get => new int[] { IVHP, IVATK, IVDEF, IVSPE, IVSPA, IVSPD }; set { - if (value?.Length != 6) return; - IV_HP = (sbyte)value[0]; - IV_ATK = (sbyte)value[1]; - IV_DEF = (sbyte)value[2]; - IV_SPE = (sbyte)value[3]; - IV_SPA = (sbyte)value[4]; - IV_SPD = (sbyte)value[5]; + if (value.Length != 6) return; + IVHP = (sbyte)value[0]; + IVATK = (sbyte)value[1]; + IVDEF = (sbyte)value[2]; + IVSPE = (sbyte)value[3]; + IVSPA = (sbyte)value[4]; + IVSPD = (sbyte)value[5]; } } diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterNest8Archive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterNestArchive.cs similarity index 69% rename from pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterNest8Archive.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterNestArchive.cs index e527f718..cd4a1b79 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterNest8Archive.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterNestArchive.cs @@ -1,31 +1,19 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; -using System.Linq; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable MemberCanBePrivate.Global // ReSharper disable UnusedType.Global // ReSharper disable UnusedMember.Global -#nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterNest8Archive : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterNestArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterNestTable { - [FlatBufferItem(0)] public EncounterNest8Table[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterNest8Table -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public int GameVersion { get; set; } - [FlatBufferItem(2)] public EncounterNest8[] Entries { get; set; } - public string GetSummarySimple() { var tableID = TableID.ToString("X16"); @@ -44,7 +32,7 @@ public IEnumerable GetSummary(IReadOnlyList species, int index) yield return string.Empty; - IEnumerable Summary(EncounterNest8 e) + IEnumerable Summary(EncounterNest e) { var comment = $" // {species[e.Species]}{(e.Form == 0 ? string.Empty : "-" + e.Form)}"; var gender = e.Gender == 0 ? string.Empty : $", Gender = {e.Gender - 1}"; @@ -84,7 +72,7 @@ IEnumerable Summary(EncounterNest8 e) } public IEnumerable GetPrettySummary(IReadOnlyList species, IReadOnlyList items, IReadOnlyList moves, IReadOnlyList tmtrs, - IReadOnlyList drop_tables, IReadOnlyList bonus_tables, int index) + IList drop_tables, IList bonus_tables, int index) { yield return $"Nest ID: {TableID}"; Debug.WriteLine(index); @@ -97,7 +85,7 @@ IEnumerable Summary(EncounterNest8 e) yield return string.Empty; - IEnumerable PrettySummary(EncounterNest8 e) + IEnumerable PrettySummary(EncounterNest e) { var giga = e.IsGigantamax ? "Gigantamax " : string.Empty; var form = e.Form != 0 ? $"-{e.Form}" : string.Empty; @@ -115,7 +103,7 @@ IEnumerable PrettySummary(EncounterNest8 e) }; yield return $"\tAbility: {ability}"; yield return "\tSelection Probabilities:"; - for (var i = 0; i < e.Probabilities.Length; i++) + for (var i = 0; i < e.Probabilities.Count; i++) { if (e.Probabilities[i] != 0) yield return $"\t\t{i + 1}-Star Desired: {e.Probabilities[i]:00}%"; @@ -132,11 +120,11 @@ IEnumerable PrettySummary(EncounterNest8 e) yield return string.Empty; } - IEnumerable GetOrderedDrops(IReadOnlyList rewards, ulong tableID, int encounterRank) + IEnumerable GetOrderedDrops(IList rewards, ulong tableID, int encounterRank) { var table = rewards.First(t => t.TableID == tableID); var list = table.Rewards - .Where(d => encounterRank < d.Values.Length && d.Values[encounterRank] != 0) + .Where(d => encounterRank < d.Values.Count && d.Values[encounterRank] != 0) .OrderByDescending(d => d.Values[encounterRank]) .ThenBy(d => GetItemName(d.Item)); @@ -153,21 +141,9 @@ string GetItemName(uint itemID) } } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterNest8 +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterNest { - [FlatBufferItem(00)] public int EntryIndex { get; set; } - [FlatBufferItem(01)] public int Species { get; set; } - [FlatBufferItem(02)] public int Form { get; set; } - [FlatBufferItem(03)] public ulong LevelTableID { get; set; } - [FlatBufferItem(04)] public byte Ability { get; set; } - [FlatBufferItem(05)] public bool IsGigantamax { get; set; } - [FlatBufferItem(06)] public ulong DropTableID { get; set; } - [FlatBufferItem(07)] public ulong BonusTableID { get; set; } - [FlatBufferItem(08)] public uint[] Probabilities { get; set; } - [FlatBufferItem(09)] public byte Gender { get; set; } - [FlatBufferItem(10)] public byte FlawlessIVs { get; set; } - public Species SpeciesID => (Species)Species; public FixedAbility AbilityPermitted @@ -176,17 +152,8 @@ public FixedAbility AbilityPermitted set => Ability = (byte)value; } - public int MinRank => Array.FindIndex(Probabilities, z => z != 0); - public int MaxRank => Array.FindLastIndex(Probabilities, z => z != 0); + public int MinRank => Array.FindIndex(Probabilities.ToArray(), z => z != 0); + public int MaxRank => Array.FindLastIndex(Probabilities.ToArray(), z => z != 0); public override string ToString() => $"{EntryIndex:00} - {Species:000}"; } - -public enum FixedAbility -{ - Ability1 = 0, - Ability2 = 1, - AbilityH = 2, - Ability1_2 = 3, - Any = 4, -} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterUndergroundArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterUndergroundArchive.cs new file mode 100644 index 00000000..29d9b0b1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/EncounterUndergroundArchive.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterUndergroundArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterUnderground +{ + public int Gender => 0; // Random + public bool IsGigantamax => GigantamaxState == 2; + + public override string ToString() => $"{IndexNum:00} - {Species:000}"; + + public string GetSummary(IReadOnlyList species) + { + var gender = Gender == 0 ? string.Empty : $", Gender = {Gender - 1}"; + var comment = $" // {species[Species]}{(Form == 0 ? string.Empty : "-" + Form)}"; + var moves = $", Moves = new[] {{{Move0:000},{Move1:000},{Move2:000},{Move3:000}}}"; + var game = Version != 0 ? Version == 1 ? ", Version = GameVersion.SW" : ", Version = GameVersion.SH" : ""; + var g = IsGigantamax ? ", CanGigantamax = true" : ""; + return $" new({Species:000},{Form},{Level:00}) {{ Ability = A{Ability}{gender}{moves}{g}{game} }},{comment}"; + } +} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleCrystalEncounter8Archive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleCrystalEncounterArchive.cs similarity index 56% rename from pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleCrystalEncounter8Archive.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleCrystalEncounterArchive.cs index e001857c..c5593527 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleCrystalEncounter8Archive.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleCrystalEncounterArchive.cs @@ -1,9 +1,5 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; -using System.Linq; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable MemberCanBePrivate.Global @@ -11,30 +7,23 @@ // ReSharper disable UnusedMember.Global #nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleCrystalEncounter8Archive : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleCrystalEncounterArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleCrystalEncounterTable { - [FlatBufferItem(0)] public NestHoleCrystalEncounter8Table[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleCrystalEncounter8Table -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public uint GameVersion { get; set; } - [FlatBufferItem(2)] public NestHoleCrystalEncounter8[] Entries { get; set; } - public IEnumerable GetPrettySummary(IReadOnlyList species, IReadOnlyList items, IReadOnlyList moves, IReadOnlyList tmtrs, - IReadOnlyList nest_drop_tables, IReadOnlyList nest_bonus_tables, IReadOnlyList dist_drop_tables, IReadOnlyList dist_bonus_tables, int index) + IEnumerable nest_drop_tables, IEnumerable nest_bonus_tables, IEnumerable dist_drop_tables, IEnumerable dist_bonus_tables, int index) { var drop_tables = nest_drop_tables.Concat(dist_drop_tables).ToArray(); var bonus_tables = nest_bonus_tables.Concat(dist_bonus_tables).ToArray(); Debug.WriteLine(index); - for (uint i = 0; i < Entries.Length; i++) + for (int i = 0; i < Entries.Count; i++) { if (Entries[i].Species == 0) continue; @@ -45,7 +34,7 @@ public class NestHoleCrystalEncounter8Table yield return string.Empty; - IEnumerable PrettySummary(NestHoleCrystalEncounter8 e) + IEnumerable PrettySummary(NestHoleCrystalEncounter e) { var encounter_rank = GetEncounterRank(e.Level); // TODO: How is this actually encoded? var giga = e.IsGigantamax ? "Gigantamax " : string.Empty; @@ -55,7 +44,7 @@ IEnumerable PrettySummary(NestHoleCrystalEncounter8 e) yield return $"\tLv. {e.Level}"; yield return $"\tDynamax Level: {e.DynamaxLevel}"; yield return $"\tDynamax Boost: {e.DynamaxBoost:0.0}x"; - yield return $"\tIVs: {e.IV_HP}/{e.IV_ATK}/{e.IV_DEF}/{e.IV_SPA}/{e.IV_SPD}/{e.IV_SPE}"; + yield return $"\tIVs: {e.IVHP}/{e.IVATK}/{e.IVDEF}/{e.IVSPA}/{e.IVSPD}/{e.IVSPE}"; /*yield return $"\tGender: {new[] { "Random", "Male", "Female", "Genderless" }[e.Gender]}"; var ability = e.Ability switch @@ -74,11 +63,11 @@ IEnumerable PrettySummary(NestHoleCrystalEncounter8 e) yield return "\tDrops:"; foreach (var entry in GetOrderedDrops(drop_tables, e.DropTableID, encounter_rank - 1)) - yield return $"\t\t{entry.Values[encounter_rank - 1],3}% {GetItemName(entry.Item)}"; + yield return $"\t\t{entry.Values[encounter_rank - 1],3}% {GetItemName((int)entry.Item)}"; yield return "\tBonus Drops:"; foreach (var entry in GetOrderedDrops(bonus_tables, e.BonusTableID, encounter_rank - 1)) - yield return $"\t\t{entry.Values[encounter_rank - 1]} x {GetItemName(entry.Item)}"; + yield return $"\t\t{entry.Values[encounter_rank - 1]} x {GetItemName((int)entry.Item)}"; yield return string.Empty; } @@ -89,17 +78,17 @@ IEnumerable GetOrderedDrops(IReadOnlyList var list = table.Rewards .Where(d => d.Values[encounterRank] != 0) .OrderByDescending(d => d.Values[encounterRank]) - .ThenBy(d => GetItemName(d.Item)); + .ThenBy(d => GetItemName((int)d.Item)); foreach (var entry in list) yield return entry; } - string GetItemName(uint itemID) + string GetItemName(int itemID) { if (itemID is >= 1130 and < 1230) // TR - return $"{items[(int)itemID]} {moves[tmtrs[100 + (int)itemID - 1130]]}"; - return items[(int)itemID]; + return $"{items[itemID]} {moves[tmtrs[100 + itemID - 1130]]}"; + return items[itemID]; } } @@ -115,7 +104,7 @@ string GetItemName(uint itemID) public IEnumerable GetSummary(IReadOnlyList species, IReadOnlyList items) { - for (uint i = 0; i < Entries.Length; i++) + for (int i = 0; i < Entries.Count; i++) { if (Entries[i].Species == 0) continue; @@ -123,10 +112,10 @@ public IEnumerable GetSummary(IReadOnlyList species, IReadOnlyLi } yield return string.Empty; - string Summary(NestHoleCrystalEncounter8 e, uint x) + string Summary(NestHoleCrystalEncounter e, int x) { // Comment - var crystal = items[(int)(1279 + x)]; + var crystal = items[1279 + x]; var form = e.Form != 0 ? $"-{e.Form}" : string.Empty; var gprefix = e.IsGigantamax ? "Gigantamax " : string.Empty; var comment = $"{crystal} {gprefix}{species[e.Species]}{form}"; @@ -148,7 +137,7 @@ string Summary(NestHoleCrystalEncounter8 e, uint x) var abil = $", Ability = {ability}"; var dyna = $", DynamaxLevel = {e.DynamaxLevel}"; var moves = $", Moves = new[] {{{e.Move0:000},{e.Move1:000},{e.Move2:000},{e.Move3:000}}}"; - var ivs = $", IVs = new[] {{{e.IV_HP},{e.IV_ATK},{e.IV_DEF},{e.IV_SPE},{e.IV_SPA},{e.IV_SPD}}}"; + var ivs = $", IVs = new[] {{{e.IVHP},{e.IVATK},{e.IVDEF},{e.IVSPE},{e.IVSPA},{e.IVSPD}}}"; var altform = e.Form == 0 ? string.Empty : $", Form = {e.Form}"; var giga = !e.IsGigantamax ? string.Empty : ", CanGigantamax = true"; @@ -165,43 +154,5 @@ public string GetSummarySimple() } } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleCrystalEncounter8 -{ - [FlatBufferItem(00)] public int EntryIndex { get; set; } - [FlatBufferItem(01)] public int Species { get; set; } - [FlatBufferItem(02)] public int Form { get; set; } - [FlatBufferItem(03)] public int Level { get; set; } - [FlatBufferItem(04)] public byte DynamaxLevel { get; set; } - [FlatBufferItem(05)] public byte Ability { get; set; } - [FlatBufferItem(06)] public bool IsGigantamax { get; set; } - [FlatBufferItem(07)] public ulong DropTableID { get; set; } - [FlatBufferItem(08)] public ulong BonusTableID { get; set; } - [FlatBufferItem(09)] public byte Field_09 { get; set; } - [FlatBufferItem(10)] public byte Field_0A { get; set; } - [FlatBufferItem(11)] public byte Field_0B { get; set; } - [FlatBufferItem(12)] public byte Field_0C { get; set; } - [FlatBufferItem(13)] public byte Field_0D { get; set; } - [FlatBufferItem(14)] public byte Nature { get; set; } - [FlatBufferItem(15)] public short IV_HP { get; set; } - [FlatBufferItem(16)] public short IV_ATK { get; set; } - [FlatBufferItem(17)] public short IV_DEF { get; set; } - [FlatBufferItem(18)] public short IV_SPA { get; set; } - [FlatBufferItem(19)] public short IV_SPD { get; set; } - [FlatBufferItem(20)] public short IV_SPE { get; set; } - [FlatBufferItem(21)] public uint Field_15 { get; set; } - [FlatBufferItem(22)] public uint Move0 { get; set; } - [FlatBufferItem(23)] public uint Move1 { get; set; } - [FlatBufferItem(24)] public uint Move2 { get; set; } - [FlatBufferItem(25)] public uint Move3 { get; set; } - [FlatBufferItem(26)] public float DynamaxBoost { get; set; } - [FlatBufferItem(27)] public uint Field_1B { get; set; } - [FlatBufferItem(28)] public uint Field_1C { get; set; } - [FlatBufferItem(29)] public uint Field_1D { get; set; } // Shield - [FlatBufferItem(30)] public uint Field_1E { get; set; } // % only if move - [FlatBufferItem(31)] public uint Field_1F { get; set; } // Move ID - [FlatBufferItem(32)] public uint Field_20 { get; set; } // Shield only if move - [FlatBufferItem(33)] public uint Field_21 { get; set; } // % only if move - [FlatBufferItem(34)] public uint Field_22 { get; set; } // Move ID - [FlatBufferItem(35)] public uint Field_23 { get; set; } // shield? only if move -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleCrystalEncounter { } diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionEncounter8Archive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionEncounterArchive.cs similarity index 61% rename from pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionEncounter8Archive.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionEncounterArchive.cs index c0b05404..a75e27ee 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionEncounter8Archive.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionEncounterArchive.cs @@ -11,25 +11,16 @@ // ReSharper disable UnusedMember.Global #nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleDistributionEncounter8Archive : IFlatBufferArchive +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleDistributionEncounterArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleDistributionEncounterTable { - [FlatBufferItem(0)] public NestHoleDistributionEncounter8Table[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleDistributionEncounter8Table -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public uint GameVersion { get; set; } - [FlatBufferItem(2)] public byte Field_02 { get; set; } - [FlatBufferItem(3)] public byte EncounterRate { get; set; } - [FlatBufferItem(4)] public NestHoleDistributionEncounter8[] Entries { get; set; } - public IEnumerable GetPrettySummary(IReadOnlyList species, IReadOnlyList items, IReadOnlyList moves, IReadOnlyList tmtrs, - IReadOnlyList nest_drop_tables, IReadOnlyList nest_bonus_tables, IReadOnlyList dist_drop_tables, IReadOnlyList dist_bonus_tables, int index) + IEnumerable nest_drop_tables, IEnumerable nest_bonus_tables, IEnumerable dist_drop_tables, IEnumerable dist_bonus_tables, int index) { var drop_tables = nest_drop_tables.Concat(dist_drop_tables).ToArray(); var bonus_tables = nest_bonus_tables.Concat(dist_bonus_tables).ToArray(); @@ -45,7 +36,7 @@ public class NestHoleDistributionEncounter8Table yield return string.Empty; - IEnumerable PrettySummary(NestHoleDistributionEncounter8 e) + IEnumerable PrettySummary(NestHoleDistributionEncounter e) { if (!e.Exists) yield break; @@ -55,7 +46,7 @@ IEnumerable PrettySummary(NestHoleDistributionEncounter8 e) var rank = $"{e.MinRank + 1}-Star"; yield return $"{rank} {giga}{species[e.Species]}{form}"; yield return $"\tLv. {e.Level}"; - if (e.Field_13 == 6 && e.Field_14 == 6) // related to whether or not the raid boss can be caught; enums/bitflags? + if (e.Field13 == 6 && e.Field14 == 6) // related to whether or not the raid boss can be caught; enums/bitflags? yield return "\tCatchable: No"; if (e.ShinyLock == 1) yield return "\tShiny: Never"; @@ -80,7 +71,7 @@ IEnumerable PrettySummary(NestHoleDistributionEncounter8 e) if (e.Move3 != 0) yield return $"\t\t- {moves[(int)e.Move3]}"; yield return "\tSelection Probabilities:"; - for (var i = 0; i < e.Probabilities.Length; i++) + for (var i = 0; i < e.Probabilities.Count; i++) { if (e.Probabilities[i] != 0) yield return $"\t\t{i + 1}-Star Desired: {e.Probabilities[i]:00}%"; @@ -127,7 +118,7 @@ public IEnumerable GetSummary(IReadOnlyList species, int index) } yield return string.Empty; - string Summary(NestHoleDistributionEncounter8 e, int encounterIndex) + string Summary(NestHoleDistributionEncounter e, int encounterIndex) { var comment = $" // {species[e.Species]}{(e.Form == 0 ? string.Empty : "-" + e.Form)}"; var gender = e.Gender == 0 ? string.Empty : $", Gender = {e.Gender - 1}"; @@ -162,7 +153,7 @@ string Summary(NestHoleDistributionEncounter8 e, int encounterIndex) } var flawless = e.FlawlessIVs; var line = $" new({e.Level:00},{e.DynamaxLevel:00},{flawless}) {{ Species = {e.Species:000}, Ability = {ability}{moves}{istr}{gender}{altform}{giga}{shiny} }},{comment}"; - if (e.Field_13 == 6 && e.Field_14 == 6) + if (e.Field13 == 6 && e.Field14 == 6) line = line.Insert(12, "//").Remove(10, 2); // comment out uncatchable encounters return line; } @@ -177,49 +168,11 @@ public string GetSummarySimple() } } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleDistributionEncounter8 +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleDistributionEncounter { - [FlatBufferItem(00)] public int EntryIndex { get; set; } - [FlatBufferItem(01)] public int Species { get; set; } - [FlatBufferItem(02)] public int Form { get; set; } - [FlatBufferItem(03)] public int Level { get; set; } - [FlatBufferItem(04)] public ushort DynamaxLevel { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get; set; } // probably EVs - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public uint Field_07 { get; set; } - [FlatBufferItem(08)] public uint Field_08 { get; set; } - [FlatBufferItem(09)] public uint Field_09 { get; set; } - [FlatBufferItem(10)] public uint Field_0A { get; set; } - [FlatBufferItem(11)] public byte Ability { get; set; } - [FlatBufferItem(12)] public bool IsGigantamax { get; set; } - [FlatBufferItem(13)] public ulong DropTableID { get; set; } - [FlatBufferItem(14)] public ulong BonusTableID { get; set; } - [FlatBufferItem(15)] public int[] Probabilities { get; set; } - [FlatBufferItem(16)] public byte Gender { get; set; } - [FlatBufferItem(17)] public byte FlawlessIVs { get; set; } - [FlatBufferItem(18)] public byte ShinyLock { get; set; } - [FlatBufferItem(19)] public byte Field_13 { get; set; } // 3/4 - [FlatBufferItem(20)] public byte Field_14 { get; set; } // 3/4/5 -- +1 for second entries - [FlatBufferItem(21)] public byte Nature { get; set; } - [FlatBufferItem(22)] public int Field_16 { get; set; } - [FlatBufferItem(23)] public uint Move0 { get; set; } - [FlatBufferItem(24)] public uint Move1 { get; set; } - [FlatBufferItem(25)] public uint Move2 { get; set; } - [FlatBufferItem(26)] public uint Move3 { get; set; } - [FlatBufferItem(27)] public float DynamaxBoost { get; set; } - [FlatBufferItem(28)] public uint Field_1C { get; set; } - [FlatBufferItem(29)] public uint Field_1D { get; set; } - [FlatBufferItem(30)] public uint Field_1E { get; set; } // Shield - [FlatBufferItem(31)] public uint Field_1F { get; set; } // % only if move - [FlatBufferItem(32)] public uint Field_20 { get; set; } // Move ID - [FlatBufferItem(33)] public uint Field_21 { get; set; } // Shield only if move - [FlatBufferItem(34)] public uint Field_22 { get; set; } // % only if move - [FlatBufferItem(35)] public uint Field_23 { get; set; } // Move ID - [FlatBufferItem(36)] public uint Field_24 { get; set; } // shield? only if move - - public int MinRank => Array.FindIndex(Probabilities, z => z != 0); - public int MaxRank => Array.FindLastIndex(Probabilities, z => z != 0); + public int MinRank => Array.FindIndex(Probabilities.ToArray(), z => z != 0); + public int MaxRank => Array.FindLastIndex(Probabilities.ToArray(), z => z != 0); public bool Exists => Probabilities.Any(z => z != 0); public override string ToString() => $"[{MinRank},{MaxRank}] {(Species)Species}-{Form}"; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionRewardArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionRewardArchive.cs new file mode 100644 index 00000000..8db2da3f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleDistributionRewardArchive.cs @@ -0,0 +1,36 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleDistributionRewardArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleDistributionRewardTable : INestHoleRewardTable +{ + public IList Rewards => (IList)Entries; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleDistributionReward : INestHoleReward +{ + public uint Item => ItemID; + + public IList Values + { + get => new uint[] { Value0, Value1, Value2, Value3, Value4 }; + set + { + Value0 = (byte)value[0]; + Value1 = (byte)value[1]; + Value2 = (byte)value[2]; + Value3 = (byte)value[3]; + Value4 = (byte)value[4]; + } + } +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleLevelArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleLevelArchive.cs new file mode 100644 index 00000000..b219b524 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleLevelArchive.cs @@ -0,0 +1,19 @@ +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 +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleLevelArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleLevelTable { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleLevel { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleRewardArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleRewardArchive.cs new file mode 100644 index 00000000..70907c4c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Nest/NestHoleRewardArchive.cs @@ -0,0 +1,37 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleRewardArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleRewardTable : INestHoleRewardTable +{ + public IList Rewards => (IList)Entries; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class NestHoleReward : INestHoleReward +{ + public uint Item => ItemID; + public override string ToString() => $"{EntryID:0} - {ItemID:0000}"; +} + +public interface INestHoleReward +{ + uint Item { get; } + IList Values { get; } +} + +public interface INestHoleRewardTable +{ + ulong TableID { get; set; } + IList Rewards { get; } +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ArchiveContent.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ArchiveContent.cs new file mode 100644 index 00000000..d067a62e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ArchiveContent.cs @@ -0,0 +1,16 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// archive_contents.bin -- 7707 entry table (file, files) +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ArchiveContents { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ArchiveContent { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/CellTable.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/CellTable.cs new file mode 100644 index 00000000..01b570f7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/CellTable.cs @@ -0,0 +1,70 @@ +using System.ComponentModel; +using System.Text; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// poke_memory_data.prmb and others +// this is oddly similar to the map data FlatBuffer, assumed the same schema to encode an excel table? +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class CellTable +{ + public string[] Dump(int cellsPerRow, char tab = '\t') + { + var result = new string[MainTable.Count / cellsPerRow]; + for (int i = 0; i < result.Length; i++) + { + var index = i * cellsPerRow; + var sb = new StringBuilder(); + for (int j = 0; j < cellsPerRow; j++) + { + if (j != 0) + sb.Append(tab); + sb.Append(MainTable[index + j]); + } + result[i] = sb.ToString(); + } + return result; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class CellMetaQuad +{ + public override string ToString() => $"{Field0}|{Field1}|{Field2}|{Field3}"; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial struct CellUnion +{ + public override string ToString() + { + return Discriminator switch + { + 1 => Item1.ToString(), + 2 => Item2.ToString(), + 3 => Item3.ToString(), + 4 => Item4.ToString(), + _ => $"Unrecognized: {Discriminator}", + }; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] public partial class CellInt { public override string ToString() => Value.ToString(); } +[TypeConverter(typeof(ExpandableObjectConverter))] public partial class CellFloat { public override string ToString() => Value.ToString("R"); } +[TypeConverter(typeof(ExpandableObjectConverter))] public partial class CellBool { public override string ToString() => Flag.ToString(); } +[TypeConverter(typeof(ExpandableObjectConverter))] public partial class CellString { public override string ToString() => Name; } +[TypeConverter(typeof(ExpandableObjectConverter))] public partial class CellHash { public override string ToString() => Hash.ToString("X16"); } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class CellMetaHashes { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class CellHashTuple +{ + public override string ToString() => $"{Hash0:X16} {Hash1:X16}"; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/PokeResourceTable.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/PokeResourceTable.cs new file mode 100644 index 00000000..54ec604e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/PokeResourceTable.cs @@ -0,0 +1,15 @@ +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.SWSH; + +// poke_resource_table.gfbpmcatalog +/// for Sword/Shield +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class Gfbpmcatalog { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Rental.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Rental.cs new file mode 100644 index 00000000..a237ef9f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Rental.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class RentalArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class Rental +{ + public Species SpeciesID => (Species)Species; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ScriptMeta.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ScriptMeta.cs new file mode 100644 index 00000000..ecab4ce8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/ScriptMeta.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// script_id_record.bin +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ScriptMeta { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class ScriptMetaEntry { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/SymbolBehavior.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/SymbolBehavior.cs new file mode 100644 index 00000000..12c7bb0c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/SymbolBehavior.cs @@ -0,0 +1,18 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// symbol_encount_mons_param.bin +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class SymbolBehaveRoot { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class SymbolBehave +{ + public Species Species => (Species)SpeciesID; +} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8Archive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Waza.cs similarity index 50% rename from pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8Archive.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Waza.cs index 038d2c7d..741da6c1 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8Archive.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/Waza.cs @@ -1,5 +1,4 @@ using System.ComponentModel; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable MemberCanBePrivate.Global @@ -7,10 +6,7 @@ // ReSharper disable UnusedMember.Global #nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterTrade8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EncounterTrade8[] Table { get; set; } -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class Waza8 { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/WeatherEntry.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/WeatherEntry.cs new file mode 100644 index 00000000..0182c12d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Other/WeatherEntry.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// field\param\weather\weather_data.bin +// field\param\weather\weather_data_alt.bin +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class WeatherTable { } +public partial class WeatherEntry { } +public partial class PentaFloat { } +public partial class QuadFloatSet { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8Archive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8Archive.cs new file mode 100644 index 00000000..1a1831f2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8Archive.cs @@ -0,0 +1,11 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneArchive { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F04.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F04.cs new file mode 100644 index 00000000..459bec97 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F04.cs @@ -0,0 +1,11 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementArea_F04 { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F24.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F24.cs new file mode 100644 index 00000000..f131a725 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/PlacementArea8_F24.cs @@ -0,0 +1,20 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementArea_F24 +{ + public override string ToString() => $"{Field00}, {Field02}: {Field01}"; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementAreaUnknownTiny +{ + public override string ToString() => $"{Field00}, {Field01}, {Field02}"; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneAdvancedTipHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneAdvancedTipHolder.cs new file mode 100644 index 00000000..7d213248 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneAdvancedTipHolder.cs @@ -0,0 +1,26 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneAdvancedTipHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneAdvancedTip { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F14 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F14_B { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F14_Union { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F14_Sub { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneBerryTreeHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneBerryTreeHolder.cs new file mode 100644 index 00000000..3444b8d0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneBerryTreeHolder.cs @@ -0,0 +1,30 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneBerryTreeHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F22_0 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F22_0_0 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F22_Sub { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F22_BoolObject14 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F22_Inner { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneBerryTreeRandom { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneEnvironmentHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneEnvironmentHolder.cs new file mode 100644 index 00000000..9f612738 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneEnvironmentHolder.cs @@ -0,0 +1,15 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneEnvironmentHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F10 { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFieldItemHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFieldItemHolder.cs new file mode 100644 index 00000000..a0a78c07 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFieldItemHolder.cs @@ -0,0 +1,18 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFieldItemHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFieldItem { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFieldItem_A { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFishingPointHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFishingPointHolder.cs new file mode 100644 index 00000000..8b893518 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFishingPointHolder.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFishingPointHolder +{ + public override string ToString() => $"{Object.Identifier}" + (Object.IterateForSlotsExceptLastN == 0 ? "" : $" SkipLast{Object.IterateForSlotsExceptLastN}"); +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFishingPoint { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFlightAnchorHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFlightAnchorHolder.cs new file mode 100644 index 00000000..a361df8c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneFlightAnchorHolder.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// player flying to location +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFlightAnchorHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneFlightAnchor { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneHiddenItemHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneHiddenItemHolder.cs new file mode 100644 index 00000000..6baa95a6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneHiddenItemHolder.cs @@ -0,0 +1,21 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneHiddenItemHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneHiddenItem { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneHiddenItemValue { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneHiddenItemChance { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneIKStepHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneIKStepHolder.cs new file mode 100644 index 00000000..a6cba096 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneIKStepHolder.cs @@ -0,0 +1,19 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// IK_Step +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneIKStepHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F25 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F25_X { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneLadderHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneLadderHolder.cs new file mode 100644 index 00000000..d3f12060 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneLadderHolder.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneLadderHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneLadder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F23_Sub { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneMovementPathHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneMovementPathHolder.cs new file mode 100644 index 00000000..dd6b31ab --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneMovementPathHolder.cs @@ -0,0 +1,20 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneMovementPathHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_V3f +{ + public string Location3f => $"({LocationX}, {LocationY}, {LocationZ})"; + + public override string ToString() => Location3f; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNPCHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNPCHolder.cs new file mode 100644 index 00000000..8956e64b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNPCHolder.cs @@ -0,0 +1,15 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneNPCHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneNPC { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNestHoleHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNestHoleHolder.cs new file mode 100644 index 00000000..eb7b658b --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneNestHoleHolder.cs @@ -0,0 +1,27 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneNestHoleHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F21_A { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F21_B { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F21_IntFloat { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F21_BoolObject14 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F21_Inner { } diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8OtherNPCHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneOtherNPCHolder.cs similarity index 62% rename from pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8OtherNPCHolder.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneOtherNPCHolder.cs index c9643393..b5bcf649 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8OtherNPCHolder.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneOtherNPCHolder.cs @@ -1,37 +1,16 @@ -using System; -using System.Collections.Generic; 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 -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; // more NPCs? Trainers? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8OtherNPCHolder +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneOtherNPCHolder { - [FlatBufferItem(00)] public PlacementZone8_F16 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public uint ModelVariant { get; set; } - [FlatBufferItem(02)] public ulong Hash_02 { get; set; } - [FlatBufferItem(03)] public ulong Hash_03 { get; set; } - [FlatBufferItem(04)] public PlacementZone8_F16_ArrayEntry[] Field_04 { get; set; } = Array.Empty(); // a_0201.bin[0].[76] @ AAE8 - [FlatBufferItem(05)] public ulong Hash_05 { get; set; } - [FlatBufferItem(06)] public bool Flag_06 { get; set; } - [FlatBufferItem(07)] public bool Flag_07 { get; set; } - [FlatBufferItem(08)] public uint Field_08 { get; set; } - [FlatBufferItem(09)] public FlatModelState State { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } - [FlatBufferItem(11)] public PlacementZone8_F02_Nine Field_11 { get; set; } = new(); - [FlatBufferItem(12)] public uint Field_12 { get; set; } - [FlatBufferItem(13)] public uint AnimationIndexPrimary { get; set; } - [FlatBufferItem(14)] public uint Field_14 { get; set; } - [FlatBufferItem(15)] public uint Field_15 { get; set; } - [FlatBufferItem(16)] public uint Field_16 { get; set; } - public static readonly Dictionary Models = new() { // { 0xFAB9E0BC5EB53C61, "???" }, // CROSS_SHADOW_CHR_0 @@ -185,103 +164,21 @@ public class PlacementZone8OtherNPCHolder public override string ToString() { - var ident = Field_00.Field_00.Identifier; - var hashModel = Field_00.Field_00.HashModel; + var ident = Field00.Field00.Identifier; + var hashModel = Field00.Field00.HashModel; var name = Models.TryGetValue(hashModel, out var model) ? model : hashModel.ToString("X16"); return $"{name}: {ident.HashObjectName:X16} v{ModelVariant} @ {ident.Location3f}"; } - - public PlacementZone8OtherNPCHolder Clone() => new() - { - Field_00 = Field_00.Clone(), - ModelVariant = ModelVariant, - Hash_02 = Hash_02, - Hash_03 = Hash_03, - Field_04 = Field_04, - Hash_05 = Hash_05, - Flag_06 = Flag_06, - Flag_07 = Flag_07, - Field_08 = Field_08, - State = State, - Field_10 = Field_10, - Field_11 = Field_11.Clone(), - Field_12 = Field_12, - AnimationIndexPrimary = AnimationIndexPrimary, - Field_14 = Field_14, - Field_15 = Field_15, - Field_16 = Field_16, - }; } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F16_ArrayEntry -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public byte Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F16_ArrayEntry { } -[FlatBufferEnum(typeof(uint))] -public enum FlatModelState : uint -{ - Standing = 0, - Sitting = 2, -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F16 { } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F16 -{ - [FlatBufferItem(00)] public PlacementZone8_F16_A Field_00 { get; set; } = new(); +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F16_A { } - public PlacementZone8_F16 Clone() => new() - { - Field_00 = Field_00.Clone(), - }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F16_A -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Identifier { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public ulong HashModel { get; set; } - [FlatBufferItem(03)] public ulong Hash_03 { get; set; } - [FlatBufferItem(04)] public PlacementZone8_F16_IntFloat Field_04 { get; set; } = new(); - [FlatBufferItem(05)] public bool Flag_05 { get; set; } - [FlatBufferItem(06)] public ulong HashMessage { get; set; } - [FlatBufferItem(07)] public PlacementZone8_F16_IntFloat Field_07 { get; set; } = new(); - - public PlacementZone8_F16_A Clone() => new() - { - Identifier = Identifier.Clone(), - Hash_01 = Hash_01, - HashModel = HashModel, - Hash_03 = Hash_03, - Field_04 = Field_04.Clone(), - Flag_05 = Flag_05, - HashMessage = HashMessage, - Field_07 = Field_07.Clone(), - }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F16_IntFloat -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - - public PlacementZone8_F16_IntFloat Clone() => new() - { - Field_00 = Field_00, - Field_01 = Field_01, - Field_02 = Field_02, - Field_03 = Field_03, - Field_04 = Field_04, - }; -} +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F16_IntFloat { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneParticleHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneParticleHolder.cs new file mode 100644 index 00000000..61e02e50 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneParticleHolder.cs @@ -0,0 +1,17 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneParticleHolder +{ + public override string ToString() => Field00.ParticleFile; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneParticle { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePokeCenterSpawnAnchorHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePokeCenterSpawnAnchorHolder.cs new file mode 100644 index 00000000..7701b8c1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePokeCenterSpawnAnchorHolder.cs @@ -0,0 +1,14 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZonePokeCenterSpawnAnchorHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F12 { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePopupHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePopupHolder.cs new file mode 100644 index 00000000..cedfd374 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZonePopupHolder.cs @@ -0,0 +1,22 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZonePopupHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F24 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F24_Table { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F24_IntFloat { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneQuadrantHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneQuadrantHolder.cs new file mode 100644 index 00000000..3268a977 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneQuadrantHolder.cs @@ -0,0 +1,19 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// highplace? +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneQuadrantHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F17 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F17_Sub { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneRotomRallyEntry.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneRotomRallyEntry.cs new file mode 100644 index 00000000..c7e7155f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneRotomRallyEntry.cs @@ -0,0 +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// No maps have data for this. +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneRotomRallyEntry { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSpeciesHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSpeciesHolder.cs new file mode 100644 index 00000000..bda5f9d4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSpeciesHolder.cs @@ -0,0 +1,30 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneSpeciesHolder +{ + public override string ToString() => $"{(Species)Species}{(Form != 0 ? $"-{Form}" : "")}"; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F02_Nine { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F02 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F02_Field1 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F02_Inner { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F02_IntFloat { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStaticObjectsHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStaticObjectsHolder.cs new file mode 100644 index 00000000..f8ee1ebc --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStaticObjectsHolder.cs @@ -0,0 +1,39 @@ +using System.ComponentModel; +using FlatSharp; + +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneStaticObjectsHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneStaticObject { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneStaticObjectSpawn +{ + public IEnumerable GetSummary(IList statics, IReadOnlyList species) + { + var enc = statics.BinarySearchByFlatBufferKey(SpawnID)!; + var index = statics.IndexOf(enc); + yield return $"{species[enc.Species]}{(enc.Form == 0 ? string.Empty : "-" + enc.Form)} Lv. {enc.Level}"; + yield return $"Index: {index}"; + yield return $"EncounterID: {SpawnID:X016}"; + if (Field02 != 0xCBF29CE484222645) + yield return $"Hash: {Field02:X16}"; + yield return $"Value: {Field03}"; + yield return $"Unknown: {Field04}"; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneStaticObjectUnknown +{ + public override string ToString() => $"{Field00} {Field01} {Field02} {Field03} {Field04}"; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStepJumpHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStepJumpHolder.cs new file mode 100644 index 00000000..9f9648cf --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneStepJumpHolder.cs @@ -0,0 +1,14 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneStepJumpHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneStepJump { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSymbolSpawnHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSymbolSpawnHolder.cs new file mode 100644 index 00000000..efd129af --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneSymbolSpawnHolder.cs @@ -0,0 +1,18 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// wild encounter spawner? +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneSymbolSpawnHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneSymbolSpawn { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F20_Sub { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerHolder.cs new file mode 100644 index 00000000..84b4f1c5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerHolder.cs @@ -0,0 +1,35 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneTrainerHolder +{ + public override string ToString() + { + var hashModel = Field00.Field00.HashModel; + var name = PlacementZoneOtherNPCHolder.Models.TryGetValue(hashModel, out var model) ? model : hashModel.ToString("X16"); + return name; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F08_ArrayEntry { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F08_Nine { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F08 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F08_A { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F08_IntFloat { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerTipHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerTipHolder.cs new file mode 100644 index 00000000..0171e09d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTrainerTipHolder.cs @@ -0,0 +1,24 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneTrainerTipHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneTrainerTip { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F09 { } + +// union? +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F09_Union { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone_F09_Sub { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTriggerHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTriggerHolder.cs new file mode 100644 index 00000000..08c6ade7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneTriggerHolder.cs @@ -0,0 +1,21 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// Trigger tiles? +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneTriggerHolder { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneTrigger { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneDeepX { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneDeepY { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneUnitObjectHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneUnitObjectHolder.cs new file mode 100644 index 00000000..d75b504f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneUnitObjectHolder.cs @@ -0,0 +1,29 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +// Gates, Elevators, Tents, Flags, FossilRepair? +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneUnitObjectHolder +{ + public override string ToString() => Object.NameModel; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneUnitObject { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneUnitObjectDetails { } + +// probably a union, with only 1 object type used +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneUnitObjectToggle { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneUnitObjectInner { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneWarpHolder.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneWarpHolder.cs new file mode 100644 index 00000000..79814f30 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/Holders/PlacementZoneWarpHolder.cs @@ -0,0 +1,21 @@ +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 + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneWarpHolder +{ + public override string ToString() => $"{Field00.NameAreaOther} via {Field00.NameModel}"; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneWarp8 { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneWarpDetails8 { } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/PlacementZone8.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/PlacementZone8.cs new file mode 100644 index 00000000..d5a2099a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Placement/Zone/PlacementZone8.cs @@ -0,0 +1,103 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZone +{ + public override string ToString() => Meta.ZoneID.ToString("X16"); + + // More tables exist here + + public IEnumerable GetSummary(IList statics, + IReadOnlyList species, + IReadOnlyDictionary zone_names, + IReadOnlyDictionary zone_descs, + IReadOnlyDictionary objects, + IReadOnlyList weathers) + { + var zoneID = Meta.ZoneID; + var name = zone_names[zoneID]; + yield return zone_descs.TryGetValue(zoneID, out var desc) + ? $"{name} ({desc}):" + : $"{name}:"; + + foreach (var sym in Symbols) + { + var obj = sym.Object; + var ident = obj.Identifier; + yield return $" {objects[ident.HashObjectName]}:"; + yield return $" Location: {ident.Location3f}"; + if (obj.SymbolHash is 0 or 0xCBF29CE484222645) + { + yield return " No symbols."; // shouldn't hit here, if we have a holder we should have a symbol to hold. + break; + } + + var line = $"SymbolHash: {obj.SymbolHash:X16}, ObjectHash:{obj.Identifier.HashObjectName:X16}, {nameof(PlacementZoneSymbolSpawn.Field06)}: {obj.Field06}, {nameof(PlacementZoneSymbolSpawn.Field01)}: {obj.Field01}"; + yield return $" {line}"; + } + + foreach (var so in StaticObjects) + { + var obj = so.Object; + var ident = obj.Identifier; + yield return $" {objects[ident.HashObjectName]}:"; + yield return $" Location: {ident.Location3f}"; + if (obj.Spawns.Count == 0) + { + yield return " No spawns."; // shouldn't hit here, if we have a holder we should have a spawn to hold. + break; + } + + var s = obj.Spawns; + var first = s[0]; + var spawnId = first.SpawnID; + if (s.All(z => z.SpawnID == spawnId)) + { + yield return " All Weather:"; + foreach (var line in first.GetSummary(statics, species)) + yield return $" {line}"; + } + else + { + for (var i = 0; i < s.Count; i++) + { + yield return $" {weathers[i]}:"; + foreach (var line in s[i].GetSummary(statics, species)) + yield return $" {line}"; + } + } + } + + yield return string.Empty; + } +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneMeta +{ + public override string ToString() => $"{Field00.HashObjectName:X16}"; +} + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class PlacementZoneMetaTripleXYZ +{ + public string Location3f => $"({LocationX}, {LocationY}, {LocationZ})"; + + public void Upscale(float factor) + { + ScaleX *= factor; + ScaleY *= factor; + ScaleZ *= factor; + } + + public void ResetScale() => ScaleX = ScaleY = ScaleZ = 1; + + public override string ToString() => $"{HashObjectName:X16} @ {Location3f}"; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Static/EncounterStaticArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Static/EncounterStaticArchive.cs new file mode 100644 index 00000000..28368b14 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Static/EncounterStaticArchive.cs @@ -0,0 +1,75 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterStaticArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterStatic +{ + public Species SpeciesID => (Species)Species; + + public int[] IVs + { + get => new int[] { IVHP, IVATK, IVDEF, IVSPE, IVSPA, IVSPD }; + set + { + if (value?.Length != 6) return; + IVHP = (sbyte)value[0]; + IVATK = (sbyte)value[1]; + IVDEF = (sbyte)value[2]; + IVSPE = (sbyte)value[3]; + IVSPA = (sbyte)value[4]; + IVSPD = (sbyte)value[5]; + } + } + + public int[] Moves + { + get => new[] { Move0, Move1, Move2, Move3 }; + set + { + if (value?.Length != 4) return; + Move0 = value[0]; + Move1 = value[1]; + Move2 = value[2]; + Move3 = value[3]; + } + } + + public string GetSummary(IReadOnlyList species) + { + var comment = $" // {species[Species]}{(Form == 0 ? string.Empty : "-" + Form)}"; + var ability = Ability switch + { + 0 => string.Empty, + 3 => ", Ability = 4", + _ => $", Ability = {Ability}", + }; + + var ivs = IVs[0] switch + { + 31 when IVs.All(z => z == 31) => ", FlawlessIVCount = 6", + -1 when IVs.All(z => z == -1) => string.Empty, + -4 => ", FlawlessIVCount = 3", + _ => $", IVs = new[]{{{string.Join(",", IVs)}}}", + }; + + var gender = Gender == (int)FixedGender.Random ? string.Empty : $", Gender = {Gender - 1}"; + var nature = (Nature)Nature == Structures.Nature.Random25 ? string.Empty : $", Nature = Nature.{(Nature)Nature}"; + var altform = Form == 0 ? string.Empty : $", Form = {Form:00}"; + var moves = Move0 == 0 ? string.Empty : $", Moves = new[] {{{Move0:000},{Move1:000},{Move2:000},{Move3:000}}}"; + var shiny = (Shiny)ShinyLock == Shiny.Random ? string.Empty : $", Shiny = {(Shiny)ShinyLock}"; + var giga = !CanGigantamax ? string.Empty : ", CanGigantamax = true"; + var dyna = DynamaxLevel == 0 ? string.Empty : $", DynamaxLevel = {DynamaxLevel}"; + + return + $" new(SWSH) {{ Species = {Species:000}, Level = {Level:00}, Location = -01{moves}{ivs}{shiny}{gender}{ability}{nature}{altform}{giga}{dyna} }},{comment}"; + } +} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Trade/EncounterTradeArchive.cs similarity index 51% rename from pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Trade/EncounterTradeArchive.cs index d3723a5c..b14a9707 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Trade/EncounterTrade8.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Trade/EncounterTradeArchive.cs @@ -1,56 +1,18 @@ -using System; -using System.Collections.Generic; using System.ComponentModel; -using System.Linq; -using FlatSharp.Attributes; // ReSharper disable UnusedAutoPropertyAccessor.Global // ReSharper disable ClassNeverInstantiated.Global // ReSharper disable MemberCanBePrivate.Global // ReSharper disable UnusedType.Global // ReSharper disable UnusedMember.Global -#nullable disable -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterTrade8 +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterTradeArchive { } + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterTrade { - [FlatBufferItem(00)] public byte Form { get; set; } - [FlatBufferItem(01)] public byte DynamaxLevel { get; set; } - [FlatBufferItem(02)] public int BallItemID { get; set; } - [FlatBufferItem(03)] public int Field_03 { get; set; } - [FlatBufferItem(04)] public ulong Hash0 { get; set; } - [FlatBufferItem(05)] public bool CanGigantamax { get; set; } - [FlatBufferItem(06)] public int HeldItem { get; set; } - [FlatBufferItem(07)] public byte Level { get; set; } - [FlatBufferItem(08)] public int Species { get; set; } - [FlatBufferItem(09)] public ulong Hash1 { get; set; } - [FlatBufferItem(10)] public int TrainerID { get; set; } - [FlatBufferItem(11)] public byte Memory { get; set; } - [FlatBufferItem(12)] public ushort TextVar { get; set; } - [FlatBufferItem(13)] public byte Feeling { get; set; } - [FlatBufferItem(14)] public byte Intensity { get; set; } - [FlatBufferItem(15)] public ulong Hash2 { get; set; } - [FlatBufferItem(16)] public byte OTGender { get; set; } - [FlatBufferItem(17)] public byte RequiredForm { get; set; } - [FlatBufferItem(18)] public int RequiredSpecies { get; set; } - [FlatBufferItem(19)] public int RequiredNature { get; set; } - [FlatBufferItem(20)] public byte UnknownRequirement { get; set; } // all 0; we know this field is a trade requirement, but unsure what exactly - [FlatBufferItem(21)] public int ShinyLock { get; set; } - [FlatBufferItem(22)] public int Nature { get; set; } - [FlatBufferItem(23)] public byte Gender { get; set; } - [FlatBufferItem(24)] public sbyte IV_SPE { get; set; } - [FlatBufferItem(25)] public sbyte IV_ATK { get; set; } - [FlatBufferItem(26)] public sbyte IV_DEF { get; set; } - [FlatBufferItem(27)] public sbyte IV_HP { get; set; } - [FlatBufferItem(28)] public sbyte IV_SPA { get; set; } - [FlatBufferItem(29)] public sbyte IV_SPD { get; set; } - [FlatBufferItem(30)] public byte AbilityNumber { get; set; } - [FlatBufferItem(31)] public ushort Relearn1 { get; set; } - [FlatBufferItem(32)] public ushort Relearn2 { get; set; } - [FlatBufferItem(33)] public ushort Relearn3 { get; set; } - [FlatBufferItem(34)] public ushort Relearn4 { get; set; } - public Species SpeciesID => (Species)Species; public static readonly int[] BallToItem = @@ -92,16 +54,16 @@ public Ball Ball public int[] IVs { - get => new int[] { IV_HP, IV_ATK, IV_DEF, IV_SPE, IV_SPA, IV_SPD }; + get => new int[] { IVHP, IVATK, IVDEF, IVSPE, IVSPA, IVSPD }; set { if (value?.Length != 6) return; - IV_HP = (sbyte)value[0]; - IV_ATK = (sbyte)value[1]; - IV_DEF = (sbyte)value[2]; - IV_SPE = (sbyte)value[3]; - IV_SPA = (sbyte)value[4]; - IV_SPD = (sbyte)value[5]; + IVHP = (sbyte)value[0]; + IVATK = (sbyte)value[1]; + IVDEF = (sbyte)value[2]; + IVSPE = (sbyte)value[3]; + IVSPA = (sbyte)value[4]; + IVSPD = (sbyte)value[5]; } } diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Waza/Waza.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Waza/Waza.cs new file mode 100644 index 00000000..b7d00bf7 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Waza/Waza.cs @@ -0,0 +1,38 @@ +namespace pkNX.Structures.FlatBuffers.SWSH +{ + public partial class Waza : IMove + { + public byte[] Write() => this.SerializeFrom(); + + public MoveInflictDuration InflictCount { get => (MoveInflictDuration)RawInflictCount; set => RawInflictCount = (byte)value; } + public Heal Healing { get => (Heal)RawHealing; set => RawHealing = (sbyte)value; } + public MoveTarget Target { get => (MoveTarget)RawTarget; set => RawTarget = (byte)value; } + + int IMove.Type { get => Type ; set => Type = (byte)value; } + int IMove.Quality { get => Quality ; set => Quality = (byte)value; } + int IMove.Category { get => Category ; set => Category = (byte)value; } + int IMove.Power { get => Power ; set => Power = (byte)value; } + int IMove.Accuracy { get => Accuracy ; set => Accuracy = (byte)value; } + int IMove.PP { get => PP ; set => PP = (byte)value; } + int IMove.Priority { get => Priority; set => Priority= (sbyte)value; } + int IMove.HitMin { get => HitMin; set => HitMin = (byte)value; } + int IMove.HitMax { get => HitMax; set => HitMax = (byte)value; } + int IMove.Inflict { get => Inflict; set => Inflict = (byte)value; } + int IMove.InflictPercent { get => InflictPercent; set => InflictPercent = (byte)value; } + int IMove.TurnMin { get => TurnMin; set => TurnMin = (byte)value; } + int IMove.TurnMax { get => TurnMax; set => TurnMax = (byte)value; } + int IMove.CritStage { get => CritStage; set => CritStage = (sbyte)value; } + int IMove.Flinch { get => Flinch; set => Flinch = (byte)value; } + int IMove.EffectSequence { get => EffectSequence; set => EffectSequence = (byte)value; } + int IMove.Recoil { get => Recoil; set => Recoil = (sbyte)value; } + int IMove.Stat1 { get => Stat1; set => Stat1 = (byte)value; } + int IMove.Stat2 { get => Stat2; set => Stat2 = (byte)value; } + int IMove.Stat3 { get => Stat3; set => Stat3 = (byte)value; } + int IMove.Stat1Stage { get => Stat1Stage; set => Stat1Stage = (sbyte)value; } + int IMove.Stat2Stage { get => Stat2Stage; set => Stat2Stage = (sbyte)value; } + int IMove.Stat3Stage { get => Stat3Stage; set => Stat3Stage = (sbyte)value; } + int IMove.Stat1Percent { get => Stat1Percent; set => Stat1Percent = (byte)value; } + int IMove.Stat2Percent { get => Stat2Percent; set => Stat2Percent = (byte)value; } + int IMove.Stat3Percent { get => Stat3Percent; set => Stat3Percent = (byte)value; } + } +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterArchive.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterArchive.cs new file mode 100644 index 00000000..4062cf62 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterArchive.cs @@ -0,0 +1,15 @@ +using System.ComponentModel; +// ReSharper disable UnusedAutoPropertyAccessor.Global +// ReSharper disable ClassNeverInstantiated.Global +// ReSharper disable MemberCanBePrivate.Global +// ReSharper disable UnusedType.Global +// ReSharper disable UnusedMember.Global +#nullable disable + +namespace pkNX.Structures.FlatBuffers.SWSH; + +[TypeConverter(typeof(ExpandableObjectConverter))] +public partial class EncounterArchive { } +public partial class EncounterTable { } +public partial class EncounterSubTable { } +public partial class EncounterSlot { } diff --git a/pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterTable8Util.cs b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterTableUtil.cs similarity index 93% rename from pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterTable8Util.cs rename to pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterTableUtil.cs index 3efecf5f..6f0644ef 100644 --- a/pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterTable8Util.cs +++ b/pkNX.Structures.FlatBuffers.SWSH/Gen8/Wild/EncounterTableUtil.cs @@ -1,14 +1,10 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using static pkNX.Structures.FlatBuffers.EncounterTable8Util.SWSHSlotType; +using static pkNX.Structures.FlatBuffers.SWSH.EncounterTable8Util.SWSHSlotType; -namespace pkNX.Structures.FlatBuffers; +namespace pkNX.Structures.FlatBuffers.SWSH; public static class EncounterTable8Util { - public static byte[][] GetBytes(IReadOnlyDictionary zone_loc, IReadOnlyDictionary zone_type, EncounterArchive8 t, bool hiddenTreeFix = false) + public static byte[][] GetBytes(IReadOnlyDictionary zone_loc, IReadOnlyDictionary zone_type, EncounterArchive t, bool hiddenTreeFix = false) { var result = new List(); foreach (var zone in t.EncounterTables) @@ -37,7 +33,7 @@ public static byte[][] GetBytes(IReadOnlyDictionary zone_loc, IRead return result.ConvertAll(z => z.Serialize()).ToArray(); } - private static DumpableLocation GetDumpable(EncounterTable8 zone, IReadOnlyDictionary zoneLoc, IReadOnlyDictionary zoneType) + private static DumpableLocation GetDumpable(EncounterTable zone, IReadOnlyDictionary zoneLoc, IReadOnlyDictionary zoneType) { // Don't dump data that we can't correlate to a zone if (!zoneLoc.TryGetValue(zone.ZoneID, out var location)) @@ -48,7 +44,7 @@ private static DumpableLocation GetDumpable(EncounterTable8 zone, IReadOnlyDicti return DumpableLocation.Empty; var list = new List(); - for (int i = 0; i < zone.SubTables.Length; i++) + for (int i = 0; i < zone.SubTables.Count; i++) { var weather = (SWSHEncounterType)(1 << i); @@ -233,9 +229,9 @@ public override bool Equals(object? obj) public override int GetHashCode() => HashCode.Combine(Species, Form, Min, Max); } - public static IEnumerable GetLines(EncounterArchive8 t, IReadOnlyDictionary zone_names, string[] subtable_names, string[] species) + public static IEnumerable GetLines(EncounterArchive t, IReadOnlyDictionary zone_names, string[] subtable_names, string[] species) { - for (var i = 0; i < t.EncounterTables.Length; i++) + for (var i = 0; i < t.EncounterTables.Count; i++) { var enc = t.EncounterTables[i]; bool known = zone_names.TryGetValue(enc.ZoneID, out var zoneName); @@ -243,7 +239,7 @@ public static IEnumerable GetLines(EncounterArchive8 t, IReadOnlyDiction zoneName = enc.ZoneID.ToString("X16"); yield return $"{i:000} - {zoneName}:"; - if (enc.SubTables.Length != 0) + if (enc.SubTables.Count != 0) { var j = 0; const int NUM_WEATHER_TABLES = 9; @@ -254,7 +250,7 @@ public static IEnumerable GetLines(EncounterArchive8 t, IReadOnlyDiction j = NUM_WEATHER_TABLES; } - while (j < enc.SubTables.Length) + while (j < enc.SubTables.Count) { foreach (var line in GetSubTableSummary(enc.SubTables[j], subtable_names[j], species)) yield return $"\t{line}"; @@ -266,7 +262,7 @@ public static IEnumerable GetLines(EncounterArchive8 t, IReadOnlyDiction } } - private static IEnumerable GetSubTableSummary(EncounterSubTable8 subtable, string name, string[] species) + private static IEnumerable GetSubTableSummary(EncounterSubTable subtable, string name, string[] species) { if (subtable.LevelMin == 0 || subtable.LevelMax == 0) yield break; @@ -275,9 +271,9 @@ private static IEnumerable GetSubTableSummary(EncounterSubTable8 subtabl yield return $"\t{line}"; } - private static bool AllWeatherTablesIdentical(EncounterSubTable8[] subtables, int numWeatherTables) + private static bool AllWeatherTablesIdentical(IList subtables, int numWeatherTables) { - if (numWeatherTables >= subtables.Length) + if (numWeatherTables >= subtables.Count) throw new ArgumentOutOfRangeException(nameof(numWeatherTables), numWeatherTables, message: "Must be less than the number of sub-tables"); var first_table = subtables[0]; @@ -286,8 +282,8 @@ private static bool AllWeatherTablesIdentical(EncounterSubTable8[] subtables, in var cur_table = subtables[i]; if (cur_table.LevelMin != first_table.LevelMin) return false; if (cur_table.LevelMax != first_table.LevelMax) return false; - if (cur_table.Slots.Length != first_table.Slots.Length) return false; - for (var j = 0; j < cur_table.Slots.Length; j++) + if (cur_table.Slots.Count != first_table.Slots.Count) return false; + for (var j = 0; j < cur_table.Slots.Count; j++) { if (cur_table.Slots[j].Species != first_table.Slots[j].Species) return false; if (cur_table.Slots[j].Form != first_table.Slots[j].Form) return false; @@ -300,7 +296,7 @@ private static bool AllWeatherTablesIdentical(EncounterSubTable8[] subtables, in private static string GetSubSummary(int min, int max) => $"Lv. {min}-{max}"; - private static IEnumerable GetLines(IReadOnlyList arr, IReadOnlyList species) + private static IEnumerable GetLines(IList arr, IReadOnlyList species) { foreach (var slot in arr.OrderByDescending(sl => sl.Probability)) { diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/ArchiveContent.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/ArchiveContent.fbs new file mode 100644 index 00000000..ed08acd8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/ArchiveContent.fbs @@ -0,0 +1,14 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table ArchiveContent { + Hash:ulong (key); + Hashes:string (required); +} + +// archive_contents.bin -- 7707 entry table (file, files) +table ArchiveContents (fs_serializer) { + Table:[ArchiveContent] (required); +} + +root_type ArchiveContents; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerPoke.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerPoke.fbs new file mode 100644 index 00000000..2ec0d312 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerPoke.fbs @@ -0,0 +1,37 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table BattleTowerPoke { + Field_00:bool; + Field_01:bool; + Field_02:bool; + Field_03:uint; + Field_04:bool; + Field_05:bool; + Field_06:bool; + Form:uint; + Field_08:uint; + HeldItem:uint; + Species:uint; + EntryID:uint; + Field_0C:uint; + Nature:uint; + Field_0E:uint; + IV_HP:uint; + IV_ATK:uint; + IV_DEF:uint; + IV_SPA:uint; + IV_SPD:uint; + IV_SPE:uint; + Field_15:uint; + Move0:uint; + Move1:uint; + Move2:uint; + Move3:uint; +} + +table BattleTowerPokeArchive (fs_serializer) { + Table:[BattleTowerPoke] (required); +} + +root_type BattleTowerPokeArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerTrainer.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerTrainer.fbs new file mode 100644 index 00000000..c8ebb639 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/BattleTowerTrainer.fbs @@ -0,0 +1,17 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table BattleTowerTrainer { + Hash0:ulong; + Hash1:ulong; + EntryID:ushort; + Field_03:ushort; + Field_04:ushort; + Choices:[ushort] (required); +} + +table BattleTowerTrainerArchive (fs_serializer) { + Table:[BattleTowerTrainer] (required); +} + +root_type BattleTowerTrainerArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/CellTable.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/CellTable.fbs new file mode 100644 index 00000000..ac5ada60 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/CellTable.fbs @@ -0,0 +1,39 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +// poke_memory_data.prmb and others +// this is oddly similar to the map data FlatBuffer, assumed the same schema to encode an excel table? + +file_extension "prmb"; + +table CellMetaQuad { + Field0:int; + Field1:int; + Field2:int; + Field3:int; +} + +table CellInt { Value : int ; } +table CellFloat { Value : float ; } +table CellBool { Flag : bool ; } +table CellString { Name : string (required); } +table CellHash { Hash : ulong ; } +union CellUnion {CellInt, CellFloat, CellString, CellHash} + +table CellMetaHashes { + Hash:ulong; + Pairs:[CellHashTuple] (required); +} + +table CellHashTuple { + Hash0:ulong; + Hash1:ulong; +} + +table CellTable (fs_serializer) { + QuadTable:[CellMetaQuad] (required); + MainTable:[CellUnion] (required); + DualTable:[CellMetaHashes] (required); +} + +root_type CellTable; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterArchive.fbs new file mode 100644 index 00000000..dedb11e5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterArchive.fbs @@ -0,0 +1,26 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table EncounterArchive (fs_serializer) { + Field_00:uint; + EncounterTables:[EncounterTable] (required); +} + +table EncounterTable { + ZoneID:ulong; + SubTables:[EncounterSubTable] (required); +} + +table EncounterSubTable { + LevelMin:ubyte; + LevelMax:ubyte; + Slots:[EncounterSlot] (required); +} + +table EncounterSlot { + Probability:ubyte; + Species:int; + Form:ubyte; +} + +root_type EncounterArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterNestArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterNestArchive.fbs new file mode 100644 index 00000000..3a578458 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterNestArchive.fbs @@ -0,0 +1,36 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table EncounterNestTable { + TableID:ulong; + GameVersion:int; + Entries:[EncounterNest] (required); +} + +table EncounterNest { + EntryIndex:int; + Species:int; + Form:int; + LevelTableID:ulong; + Ability:ubyte; + IsGigantamax:bool; + DropTableID:ulong; + BonusTableID:ulong; + Probabilities:[uint] (required); + Gender:byte; + FlawlessIVs:byte; +} + +enum FixedAbility : int { + Ability1 = 0, + Ability2 = 1, + AbilityH = 2, + Ability1_2 = 3, + Any = 4, +} + +table EncounterNestArchive (fs_serializer) { + Table:[EncounterNestTable] (required); +} + +root_type EncounterNestArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterStaticArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterStaticArchive.fbs new file mode 100644 index 00000000..fb353004 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterStaticArchive.fbs @@ -0,0 +1,74 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +enum FixedGender : byte { + Random = 0, + Male = 1, + Female = 2, + Genderless = 2, +} + +// scenarios that are set for specific story encounters, most don't work on encounters that are not meant to have them +enum Scenario : int { + None, + Legendary_Pokemon, + _2, + _3, + Eternatus, + Eternamax_Eternatus_1, + Eternamax_Eternatus_2, + Zacian_Zamazenta_Fog, + Motostoke_Gym_Challenge, + Max_Raid_Battle_1, + Max_Raid_Battle_2, + Max_Raid_Battle_3, + Max_Raid_Battle_4, + Zacian_Zamazenta_Boss, + Fast_Slowpoke, + Regigigas_Raid_Battle, + Special_Raid_Battle, + Calyrex, + Glastrier_Spectrier, + Calyrex_Fusion, +} + +table EncounterStatic { + BackgroundFarTypeID:ulong; + BackgroundNearTypeID:ulong; + EV_SPE:ubyte; + EV_ATK:ubyte; + EV_DEF:ubyte; + EV_HP:ubyte; + EV_SPA:ubyte; + EV_SPD:ubyte; + Form:ubyte; + DynamaxLevel:ubyte; + Field_0A:int; + EncounterID:ulong (key); + Field_0C:ubyte; + CanGigantamax:bool; + HeldItem:int; + Level:ubyte; + EncounterScenario:Scenario; + Species:int; + ShinyLock:uint; + Nature:uint; + Gender:byte; + IV_SPE:byte; + IV_ATK:byte; + IV_DEF:byte; + IV_HP:byte; + IV_SPA:byte; + IV_SPD:byte; + Ability:int; + Move0:int; + Move1:int; + Move2:int; + Move3:int; +} + +table EncounterStaticArchive (fs_serializer) { + Table:[EncounterStatic] (required); +} + +root_type EncounterStaticArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterTradeArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterTradeArchive.fbs new file mode 100644 index 00000000..8147d7f2 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/EncounterTradeArchive.fbs @@ -0,0 +1,46 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table EncounterTrade { + Form:ubyte; + DynamaxLevel:ubyte; + BallItemID:int; + Field_03:int; + Hash0:ulong; + CanGigantamax:bool; + HeldItem:int; + Level:ubyte; + Species:int; + Hash1:ulong; + TrainerID:int; + Memory:ubyte; + TextVar:ushort; + Feeling:ubyte; + Intensity:ubyte; + Hash2:ulong; + OTGender:ubyte; + RequiredForm:ubyte; + RequiredSpecies:int; + RequiredNature:int; + UnknownRequirement:ubyte; // all 0; we know this field is a trade requirement, but unsure what exactly + ShinyLock:int; + Nature:int; + Gender:byte; + IV_SPE:byte; + IV_ATK:byte; + IV_DEF:byte; + IV_HP:byte; + IV_SPA:byte; + IV_SPD:byte; + AbilityNumber:ubyte; + Relearn1:ushort; + Relearn2:ushort; + Relearn3:ushort; + Relearn4:ushort; +} + +table EncounterTradeArchive (fs_serializer) { + Table:[EncounterTrade] (required); +} + +root_type EncounterTradeArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/GiftArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/GiftArchive.fbs new file mode 100644 index 00000000..06bf7da1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/GiftArchive.fbs @@ -0,0 +1,39 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table EncounterGift { + IsEgg:int; + Form:ubyte; + DynamaxLevel:ubyte; + BallItemID:int; + Field_04:ubyte; + Hash1:ulong; + CanGigantamax:bool; + HeldItem:int; + Level:ubyte; + Species:int; + Field_0A:ubyte; + MemoryCode:ubyte; + MemoryData:ushort; + MemoryFeel:ubyte; + MemoryLevel:ubyte; + OtNameID:ulong; + OtGender:int; + ShinyLock:int; + Nature:int; + Gender:ubyte; + IV_SPE:byte; + IV_ATK:byte; + IV_DEF:byte; + IV_HP:byte; + IV_SPA:byte; + IV_SPD:byte; + Ability:int; + SpecialMove:int; +} + +table EncounterGiftArchive (fs_serializer) { + Table:[EncounterGift] (required); +} + +root_type EncounterGiftArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleCrystalEncounterArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleCrystalEncounterArchive.fbs new file mode 100644 index 00000000..45f693f4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleCrystalEncounterArchive.fbs @@ -0,0 +1,53 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table NestHoleCrystalEncounterTable { + TableID:ulong; + GameVersion:uint; + Entries:[NestHoleCrystalEncounter] (required); +} + +table NestHoleCrystalEncounter { + EntryIndex:int; + Species:int; + Form:int; + Level:int; + DynamaxLevel:ubyte; + Ability:ubyte; + IsGigantamax:bool; + DropTableID:ulong; + BonusTableID:ulong; + Field_09:ubyte; + Field_0A:ubyte; + Field_0B:ubyte; + Field_0C:ubyte; + Field_0D:ubyte; + Nature:byte; + IV_HP:short; + IV_ATK:short; + IV_DEF:short; + IV_SPA:short; + IV_SPD:short; + IV_SPE:short; + Field_15:uint; + Move0:uint; + Move1:uint; + Move2:uint; + Move3:uint; + DynamaxBoost:float; + Field_1B:uint; + Field_1C:uint; + Field_1D:uint; // Shield + Field_1E:uint; // % only if move + Field_1F:uint; // Move ID + Field_20:uint; // Shield only if move + Field_21:uint; // % only if move + Field_22:uint; // Move ID + Field_23:uint; // shield? only if move +} + +table NestHoleCrystalEncounterArchive (fs_serializer) { + Table:[NestHoleCrystalEncounterTable] (required); +} + +root_type NestHoleCrystalEncounterArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionEncounterArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionEncounterArchive.fbs new file mode 100644 index 00000000..ba5587e4 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionEncounterArchive.fbs @@ -0,0 +1,56 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table NestHoleDistributionEncounterTable { + TableID:ulong; + GameVersion:uint; + Field_02:ubyte; + EncounterRate:ubyte; + Entries:[NestHoleDistributionEncounter] (required); +} + +table NestHoleDistributionEncounter { + EntryIndex:int; + Species:int; + Form:int; + Level:int; + DynamaxLevel:ushort; + Field_05:uint; // probably EVs + Field_06:uint; + Field_07:uint; + Field_08:uint; + Field_09:uint; + Field_0A:uint; + Ability:ubyte; + IsGigantamax:bool; + DropTableID:ulong; + BonusTableID:ulong; + Probabilities:[int] (required); + Gender:byte; + FlawlessIVs:byte; + ShinyLock:ubyte; + Field_13:ubyte; // 3/4 + Field_14:ubyte; // 3/4/5 -- +1 for second entries + Nature:byte; + Field_16:int; + Move0:uint; + Move1:uint; + Move2:uint; + Move3:uint; + DynamaxBoost:float; + Field_1C:uint; + Field_1D:uint; + Field_1E:uint; // Shield + Field_1F:uint; // % only if move + Field_20:uint; // Move ID + Field_21:uint; // Shield only if move + Field_22:uint; // % only if move + Field_23:uint; // Move ID + Field_24:uint; // shield? only if move +} + +table NestHoleDistributionEncounterArchive (fs_serializer) { + Table:[NestHoleDistributionEncounterTable] (required); +} + +root_type NestHoleDistributionEncounterArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionRewardArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionRewardArchive.fbs new file mode 100644 index 00000000..12102e7d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleDistributionRewardArchive.fbs @@ -0,0 +1,22 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table NestHoleDistributionRewardTable { + TableID:ulong; + Entries:[NestHoleDistributionReward] (required); +} + +table NestHoleDistributionReward { + Value0:ubyte; + Value1:ubyte; + Value2:ubyte; + Value3:ubyte; + Value4:ubyte; + ItemID:ushort; +} + +table NestHoleDistributionRewardArchive (fs_serializer) { + Table:[NestHoleDistributionRewardTable] (required); +} + +root_type NestHoleDistributionRewardArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleLevelArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleLevelArchive.fbs new file mode 100644 index 00000000..58451418 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleLevelArchive.fbs @@ -0,0 +1,18 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table NestHoleLevelTable (fs_serializer) { + TableID:ulong; + Levels:[NestHoleLevel] (required); +} + +table NestHoleLevel { + MinLevel:uint; + MaxLevel:uint; +} + +table NestHoleLevelArchive { + Table:[NestHoleLevelTable] (required); +} + +root_type NestHoleLevelArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleRewardArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleRewardArchive.fbs new file mode 100644 index 00000000..a790d4f6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleRewardArchive.fbs @@ -0,0 +1,19 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table NestHoleRewardTable { + TableID:ulong; + Entries:[NestHoleReward] (required); +} + +table NestHoleReward { + EntryID:uint; + ItemID:uint; + Values:[uint] (required); +} + +table NestHoleRewardArchive (fs_serializer) { + Table:[NestHoleRewardTable] (required); +} + +root_type NestHoleRewardArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleUndergroundArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleUndergroundArchive.fbs new file mode 100644 index 00000000..052dd0fe --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/NestHoleUndergroundArchive.fbs @@ -0,0 +1,36 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table EncounterUnderground { + HasFlagRequirement:bool; + FlagRequirementID:ulong; + Field_02:ubyte; // all zero, Gender? + Form:ubyte; + GigantamaxState:uint; + Ball:uint; + IndexNum:uint; + Level:uint; + Species:int; + UiMessageID:ulong; + OT_Gender:uint; + Version:ubyte; + Shiny:uint; + IV_SPE:byte; + IV_ATK:byte; + IV_DEF:byte; + IV_HP:byte; + IV_SPA:byte; + IV_SPD:byte; + Ability:uint; // 1,2,4 + Field_14:ubyte; // ultra beasts only, selectability + Move0:uint; + Move1:uint; + Move2:uint; + Move3:uint; +} + +table EncounterUndergroundArchive (fs_serializer) { + Table:[EncounterUnderground] (required); +} + +root_type EncounterUndergroundArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/Placement.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/Placement.fbs new file mode 100644 index 00000000..e4b2623a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/Placement.fbs @@ -0,0 +1,72 @@ +include "PlacementZone.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneArchive (fs_serializer) { + Table:[PlacementZone] (required); + Hash:ulong; + Description:string (required); + OtherDescription:string (required); + Unknown:PlacementArea_F04 (required); + Field_05:float; // unused + Field_06:float; + Field_07:float; + Field_08:float; // unused + Field_09:float; // unused + Field_10:float; // unused + Field_11:float; // unused + Field_12:float; + Field_13:float; + Field_14:float; + Field_15:float; + Field_16:float; + Field_17:float; + Field_18:float; // unused + Field_19:float; // unused + Field_20:float; + Field_21:float; + Field_22:float; + Field_23:float; + Field_24:PlacementArea_F24(required); + Field_25:uint; // 3000 + Field_26:float; + Field_27:ubyte; + Field_28:ubyte; + Field_29:ubyte; // present in a_d0101 + Field_30:ubyte; + Field_31:float; + Field_32:float; + Field_33:ubyte; +} + +table PlacementArea_F04 { + Field_00:float; // unused, assumed to be same shape as other v3f-hash triplets + Field_01:float; // unused, assumed to be same shape as other v3f-hash triplets + Field_02:float; // unused, assumed to be same shape as other v3f-hash triplets + + Field_03:float; // unused, assumed to be same shape as other v3f-hash triplets + Field_04:float; // unused, assumed to be same shape as other v3f-hash triplets + Field_05:float; // unused, assumed to be same shape as other v3f-hash triplets + + Field_06:float; + Field_07:float; + Field_08:float; + + Field_09:ulong; // unused, assumed to be same shape as other v3f-hash triplets + Field_10:ulong; + Field_11:ulong; +} + +table PlacementArea_F24 +{ + Field_00:ubyte; + Field_01:PlacementAreaUnknownTiny (required); + Field_02:float; +} + +table PlacementAreaUnknownTiny { + Field_00:float; + Field_01:float; + Field_02:float; +} + +root_type PlacementZoneArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementShared.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementShared.fbs new file mode 100644 index 00000000..f3b1a608 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementShared.fbs @@ -0,0 +1,75 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_defaultCtor"; +attribute "fs_setter"; + +table PlacementZoneMetaTripleXYZ { + LocationX:float; + LocationY:float; + LocationZ:float; + RotationX:float; // assumed + RotationY:float; + RotationZ:float; // assumed + ScaleX:float; + ScaleY:float; + ScaleZ:float; + HashObjectName:ulong; + Hash_10:ulong; + Hash_11:ulong; +} + +table PlacementZone_V3f { + LocationX:float; + LocationY:float; + LocationZ:float; +} + +table FlatDummyObject { + Field_00:ubyte (fs_setter:"None"); +} + +table PlacementZone_F02_Nine { + Field_00:ubyte; + Field_01:ubyte; + Field_02:ubyte; + Field_03:uint; // either 0 or 1, for only 3 objects in the game + Hash_04:ulong; + Field_05:ubyte; + Field_06:uint; // unused + Hash_07:ulong; + AnimationIndexSecondary:uint; + Field_09:uint; +} + +table FlatDummyEntry (fs_defaultCtor:"None") { } + +table PlacementZoneDeepX { + Field_00:float; + Field_01:float; + Field_02:float; + + Field_03:float; + Field_04:float; + Field_05:float; + + Field_06:float; + Field_07:float; + Field_08:float; + + Field_09:ulong; + Field_10:ulong; + Field_11:ulong; +} + +table PlacementZoneDeepY { + Field_00:uint; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; + Field_05:float; + Field_06:float; + Field_07:float; + Field_08:float; + Field_09:float; + Field_10:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZone.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZone.fbs new file mode 100644 index 00000000..4061927d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZone.fbs @@ -0,0 +1,81 @@ +include "PlacementZoneUnitObjectHolder.fbs"; +include "PlacementZoneSpeciesHolder.fbs"; +include "PlacementZoneWarpHolder.fbs"; +include "PlacementZoneStepJumpHolder.fbs"; +include "PlacementZoneParticleHolder.fbs"; +include "PlacementZoneFieldItemHolder.fbs"; +include "PlacementZoneTriggerHolder.fbs"; +include "PlacementZoneTrainerHolder.fbs"; +include "PlacementZoneTrainerTipHolder.fbs"; +include "PlacementZoneEnvironmentHolder.fbs"; +include "PlacementZoneFlightAnchorHolder.fbs"; +include "PlacementZonePokeCenterSpawnAnchorHolder.fbs"; +include "PlacementZoneNPCHolder.fbs"; +include "PlacementZoneAdvancedTipHolder.fbs"; +include "PlacementZoneMovementPathHolder.fbs"; +include "PlacementZoneOtherNPCHolder.fbs"; +include "PlacementZoneQuadrantHolder.fbs"; +include "PlacementZoneFishingPointHolder.fbs"; +include "PlacementZoneHiddenItemHolder.fbs"; +include "PlacementZoneSymbolSpawnHolder.fbs"; +include "PlacementZoneNestHoleHolder.fbs"; +include "PlacementZoneBerryTreeHolder.fbs"; +include "PlacementZoneLadderHolder.fbs"; +include "PlacementZonePopupHolder.fbs"; +include "PlacementZoneIKStepHolder.fbs"; +include "PlacementZoneStaticObjectsHolder.fbs"; +include "PlacementZoneRotomRallyEntry.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table PlacementZone (fs_serializer) { + Meta:PlacementZoneMeta (required); + UnitObjects:[PlacementZoneUnitObjectHolder] (required); + Critters:[PlacementZoneSpeciesHolder] (required); + Warps:[PlacementZoneWarpHolder] (required); + StepJumps:[PlacementZoneStepJumpHolder] (required); + Particles:[PlacementZoneParticleHolder] (required); + FieldItems:[PlacementZoneFieldItemHolder] (required); + Triggers:[PlacementZoneTriggerHolder] (required); + Trainers:[PlacementZoneTrainerHolder] (required); + TrainerTips:[PlacementZoneTrainerTipHolder] (required); + Environments:[PlacementZoneEnvironmentHolder] (required); + FlyTo:[PlacementZoneFlightAnchorHolder] (required); + PokeCenterAnchor:[PlacementZonePokeCenterSpawnAnchorHolder] (required); + NPCType1:[PlacementZoneNPCHolder] (required); + AdvancedTips:[PlacementZoneAdvancedTipHolder] (required); + Paths:[PlacementZoneMovementPathHolder] (required); + NPCType2:[PlacementZoneOtherNPCHolder] (required); + Quadrants:[PlacementZoneQuadrantHolder] (required); + FishingPoint:[PlacementZoneFishingPointHolder] (required); + HiddenItems:[PlacementZoneHiddenItemHolder] (required); + Symbols:[PlacementZoneSymbolSpawnHolder] (required); + Nests:[PlacementZoneNestHoleHolder] (required); + BerryTrees:[PlacementZoneBerryTreeHolder] (required); + Ladders:[PlacementZoneLadderHolder] (required); + Popups:[PlacementZonePopupHolder] (required); + IKStep:[PlacementZoneIKStepHolder] (required); + StaticObjects:[PlacementZoneStaticObjectsHolder] (required); + RotomRally:[PlacementZoneRotomRallyEntry] (required); +} + +table PlacementZoneMeta { + Field_00:PlacementZoneMetaTripleXYZ (required); + ZoneID:ulong; + Hash_02:ulong; + Field_03:string (required); // none have this + Field_04:uint; + Music:string (required); + Field_06:float; + Hash_07:ulong; + Hash_08:ulong; + Hash_09:ulong; + Field_10:ubyte; + Field_11:ubyte; + Hash_12:ulong; + Field_13:ubyte; + Field_14:ubyte; + Num_15:int; +} + +root_type PlacementZone; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneAdvancedTipHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneAdvancedTipHolder.fbs new file mode 100644 index 00000000..b52bb50f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneAdvancedTipHolder.fbs @@ -0,0 +1,55 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneAdvancedTipHolder { + Field_00:PlacementZoneAdvancedTip (required); + Field_01:uint; // unused + Field_02:uint; // unused + SignHash:ulong; +} + +table PlacementZoneAdvancedTip { + Field_00:PlacementZone_F14; +} + +table PlacementZone_F14 { + Field_00:PlacementZoneMetaTripleXYZ (required); + NameModel:string (required); + NameAnimation:string (required); // none have this + Field_03:float; + Field_04:float; + Field_05:string (required); // none have this + Field_06:string (required); // none have this + Field_07:float; + Field_08:float; + Field_09:float; + Field_10:float; // unused + Field_11:PlacementZone_F14_B (required); + Field_12:uint; // unused + Field_13:PlacementZone_F14_B (required); + Field_14:PlacementZone_F14_Union (required); +} + +table PlacementZone_F14_B { + Field_00:uint = 2; + Field_01:float; // unused + Field_02:float; // unused + Field_03:float; + Field_04:float; // unused + Field_05:float; // unused + Field_06:float; + Field_07:float; // unused + Field_08:float; + Field_09:float; + Field_10:float; +} + +table PlacementZone_F14_Union { + Field_00:bool = true; + Field_01:PlacementZone_F14_Sub (required); +} + +table PlacementZone_F14_Sub { + Field_00:float; // unused + Field_01:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneBerryTreeHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneBerryTreeHolder.fbs new file mode 100644 index 00000000..18cf3f4c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneBerryTreeHolder.fbs @@ -0,0 +1,53 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneBerryTreeHolder { + Field_00:PlacementZone_F22_0 (required); // meta + Field_01:[PlacementZoneBerryTreeRandom] (required); +} + +table PlacementZone_F22_0 { + Field_00:PlacementZone_F22_0_0 (required); +} + +table PlacementZone_F22_0_0 { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:string (required); // none have this + Field_02:string (required); // none have this + Field_03:float; + Field_04:float; + Field_05:string (required); // none have this + Field_06:string (required); // none have this + Field_07:float; // unused + Field_08:float; // unused + Field_09:float; // unused + Field_10:float; + Field_11:PlacementZone_F22_Sub (required); + Field_12:uint; // unused + Field_13:PlacementZone_F22_Sub (required); + Field_14:PlacementZone_F22_BoolObject14 (required); +} + +table PlacementZone_F22_Sub { + Field_00:uint; + Field_01:float; // unused in all + Field_02:float; // unused in all + Field_03:float; // unused in all + Field_04:float; +} + +table PlacementZone_F22_BoolObject14 { + Type:ubyte; + Object:PlacementZone_F22_Inner (required); +} + +table PlacementZone_F22_Inner { + Field_00:float; // unused + Field_01:float; +} + +table PlacementZoneBerryTreeRandom { + Hash:ulong; + Rate:uint; + Quantity:uint; // always 1? +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneEnvironmentHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneEnvironmentHolder.fbs new file mode 100644 index 00000000..d03a545a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneEnvironmentHolder.fbs @@ -0,0 +1,16 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneEnvironmentHolder { + Field_00:PlacementZone_F10 (required); +} + +table PlacementZone_F10 { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:[PlacementZone_V3f] (required); + PlayName:string (required); + StopName:string (required); + Field_04:float; + Field_05:int; + Field_06:int; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFieldItemHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFieldItemHolder.fbs new file mode 100644 index 00000000..fe303eb1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFieldItemHolder.fbs @@ -0,0 +1,24 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneFieldItemHolder { + Field_00:PlacementZoneFieldItem (required); +} + +table PlacementZoneFieldItem { + Field_00:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + Field_02:string (required); + Field_03:float; + Field_04:float; + Hash_05:ulong; + Flags:[ulong] (required); + Items:[uint] (required); + Quantity:ubyte; + Field_09:PlacementZoneFieldItem_A (required); +} + +table PlacementZoneFieldItem_A { + Field_00:bool; + Field_01:FlatDummyObject (required); +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFishingPointHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFishingPointHolder.fbs new file mode 100644 index 00000000..6051de1a --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFishingPointHolder.fbs @@ -0,0 +1,20 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneFishingPointHolder { + Object:PlacementZoneFishingPoint (required); +} + +table PlacementZoneFishingPoint { + Identifier:PlacementZoneMetaTripleXYZ (required); + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; + Field_05:float; + Field_06:float; + Field_07:float; + + /// When iterating over slots to pick a random one, the iteration will skip the last (value) amount of slots. + IterateForSlotsExceptLastN:uint; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFlightAnchorHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFlightAnchorHolder.fbs new file mode 100644 index 00000000..b768b610 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneFlightAnchorHolder.fbs @@ -0,0 +1,12 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// player flying to location +table PlacementZoneFlightAnchorHolder { + FlightAnchor:PlacementZoneFlightAnchor (required); +} + +table PlacementZoneFlightAnchor { + Placement:PlacementZoneMetaTripleXYZ (required); + UnlockFlagHash:ulong; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneHiddenItemHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneHiddenItemHolder.fbs new file mode 100644 index 00000000..2eee29ce --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneHiddenItemHolder.fbs @@ -0,0 +1,31 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneHiddenItemHolder +{ + Field_00:PlacementZoneHiddenItem (required); +} + +table PlacementZoneHiddenItem +{ + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:PlacementZoneHiddenItemValue (required); + Field_02:[PlacementZoneHiddenItemChance] (required); + Field_03:int; + Field_04:uint; + Field_05:float; +} + +table PlacementZoneHiddenItemValue { + Field_00:int; + Field_01:float; // unused + Field_02:float; // unused + Field_03:float; // unused + Field_04:float; +} + +table PlacementZoneHiddenItemChance { + Hash:ulong; + Chance:int; + Quantity:int; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneIKStepHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneIKStepHolder.fbs new file mode 100644 index 00000000..4db2fcef --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneIKStepHolder.fbs @@ -0,0 +1,30 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// IK_Step +table PlacementZoneIKStepHolder { + Field_00:PlacementZone_F25 (required); + Field_01:ubyte; + Field_02:ubyte; // unused + Field_03:ubyte; +} + +table PlacementZone_F25 { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:ulong; + Field_02:PlacementZone_F25_X (required); +} + +table PlacementZone_F25_X { + Field_00:uint; + Field_01:uint; // unused + Field_02:float; // unused + Field_03:float; // unused + Field_04:float; // unused + Field_05:float; // unused + Field_06:float; + Field_07:float; // unused + Field_08:float; + Field_09:float; + Field_10:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneLadderHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneLadderHolder.fbs new file mode 100644 index 00000000..d889bcb8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneLadderHolder.fbs @@ -0,0 +1,21 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneLadderHolder { + Field_00:PlacementZoneLadder (required); +} + +table PlacementZoneLadder { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:PlacementZone_F23_Sub (required); + Field_02:int; // 1 + Field_03:int; // 10 +} + +table PlacementZone_F23_Sub { + Field_00:int; // 10 or -20 + Field_01:float; // unused + Field_02:float; // unused + Field_03:float; // unused + Field_04:float; // 10 +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneMovementPathHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneMovementPathHolder.fbs new file mode 100644 index 00000000..101a85a1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneMovementPathHolder.fbs @@ -0,0 +1,11 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneMovementPathHolder { + Field_00:PlacementZoneMetaTripleXYZ (required); + PathName:ulong; + Field_02:uint; + Field_03:uint; + Field_04:bool; + Field_05:[PlacementZone_V3f] (required); +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNPCHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNPCHolder.fbs new file mode 100644 index 00000000..58359484 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNPCHolder.fbs @@ -0,0 +1,19 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneNPCHolder { + Field_00:PlacementZoneNPC (required); +} + +table PlacementZoneNPC { + Field_00:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + Message:ulong; + Field_03:uint; + WorkValue:ulong; + Field_05:uint; + Field_06:uint; + Field_07:ubyte; // unused + Byte_08:ubyte; + Hash_09:ulong; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNestHoleHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNestHoleHolder.fbs new file mode 100644 index 00000000..91e890f5 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneNestHoleHolder.fbs @@ -0,0 +1,55 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneNestHoleHolder +{ + Field_00:PlacementZone_F21_A (required); + Field_01:bool; + Field_02:int; // 0,2,6,270,64,12 + Common:ulong; + Rare:ulong; + Field_05:bool; + + /// If a flag hash is specified, the savefile value must be true in order for the nest to be enabled. + EnableSpawns:ulong; +} + +table PlacementZone_F21_A { + Field_00:PlacementZone_F21_B (required); +} + +table PlacementZone_F21_B { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:string (required); // none have this + Field_02:string (required); // none have this + Field_03:float; + Field_04:float; + Field_05:string (required); // none have this + Field_06:string (required); // none have this + Field_07:float; // unused + Field_08:float; // unused + Field_09:float; // unused + Field_10:float; + Field_11:PlacementZone_F21_IntFloat (required); + Field_12:uint; // unused + Field_13:PlacementZone_F21_IntFloat (required); + Field_14:PlacementZone_F21_BoolObject14 (required); +} + +table PlacementZone_F21_IntFloat { + Field_00:int; + Field_01:float; // unused in all + Field_02:float; // unused in all + Field_03:float; // unused in all + Field_04:float; +} + +table PlacementZone_F21_BoolObject14 { + Type:ubyte; + Object:PlacementZone_F21_Inner (required); +} + +table PlacementZone_F21_Inner { + Field_00:float; // unused + Field_01:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneOtherNPCHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneOtherNPCHolder.fbs new file mode 100644 index 00000000..68423677 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneOtherNPCHolder.fbs @@ -0,0 +1,60 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +enum FlatModelState : uint { + Standing = 0, + Sitting = 2, +} + +// more NPCs? Trainers? +table PlacementZoneOtherNPCHolder { + Field_00:PlacementZone_F16 (required); + ModelVariant:uint; + Hash_02:ulong; + Hash_03:ulong; + Field_04:[PlacementZone_F16_ArrayEntry] (required); + Hash_05:ulong; + Flag_06:bool; + Flag_07:bool; + Field_08:uint; + State:FlatModelState; + Field_10:float; + Field_11:PlacementZone_F02_Nine (required); + Field_12:uint; + AnimationIndexPrimary:uint; + Field_14:uint; + Field_15:uint; + Field_16:uint; +} + +table PlacementZone_F16_ArrayEntry { + Field_00:uint; + Field_01:uint; + Field_02:uint; + Field_03:float; + Field_04:ubyte; + Field_05:float; +} + +table PlacementZone_F16 { + Field_00:PlacementZone_F16_A (required); +} + +table PlacementZone_F16_A { + Identifier:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + HashModel:ulong; + Hash_03:ulong; + Field_04:PlacementZone_F16_IntFloat (required); + Flag_05:bool; + HashMessage:ulong; + Field_07:PlacementZone_F16_IntFloat (required); +} + +table PlacementZone_F16_IntFloat { + Field_00:int; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneParticleHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneParticleHolder.fbs new file mode 100644 index 00000000..8e0bbfa1 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneParticleHolder.fbs @@ -0,0 +1,12 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneParticleHolder { + Field_00:PlacementZoneParticle (required); +} + +table PlacementZoneParticle { + Field_00:PlacementZoneMetaTripleXYZ (required); + ParticleFile:string (required); + Number:uint; // 1200 for birds? +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePokeCenterSpawnAnchorHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePokeCenterSpawnAnchorHolder.fbs new file mode 100644 index 00000000..500079d8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePokeCenterSpawnAnchorHolder.fbs @@ -0,0 +1,10 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZonePokeCenterSpawnAnchorHolder { + Field_00:PlacementZone_F12 (required); +} + +table PlacementZone_F12 { + Field_00:PlacementZoneMetaTripleXYZ (required); +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePopupHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePopupHolder.fbs new file mode 100644 index 00000000..678ebc36 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZonePopupHolder.fbs @@ -0,0 +1,36 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZonePopupHolder { + Field_00:PlacementZone_F24 (required); +} + +table PlacementZone_F24 { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:PlacementZone_F24_IntFloat (required); + Field_02:float; + Field_03:float; + Field_04:float; + Field_05:float; + Hash_06:ulong; + Field_07:string (required); // none have this + Hash_08:[PlacementZone_F24_Table] (required); + Field_09:float; + Field_10:float; + Field_11:float; + Hash_12:ulong; +} + +table PlacementZone_F24_Table { + Hash_00:ulong; + Hash_01:ulong; + Field_02:uint; // multiples of 10, usually +10 from previous entry. +} + +table PlacementZone_F24_IntFloat { + Field_00:int; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneQuadrantHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneQuadrantHolder.fbs new file mode 100644 index 00000000..5e33d006 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneQuadrantHolder.fbs @@ -0,0 +1,28 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// highplace? +table PlacementZoneQuadrantHolder { + Field_00:PlacementZone_F17 (required); +} + +table PlacementZone_F17 +{ + Field_00:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + Field_02:PlacementZone_F17_Sub; +} + +table PlacementZone_F17_Sub { + Field_00:uint; // 1 or 2 + Field_01:float; + Field_02:float; // unused + Field_03:float; + Field_04:float; + Field_05:float; // unused + Field_06:float; + Field_07:float; // unused + Field_08:float; + Field_09:float; + Field_10:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneRotomRallyEntry.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneRotomRallyEntry.fbs new file mode 100644 index 00000000..81071e48 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneRotomRallyEntry.fbs @@ -0,0 +1,8 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// No maps have data for this. +table PlacementZoneRotomRallyEntry { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:uint; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSpeciesHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSpeciesHolder.fbs new file mode 100644 index 00000000..0cf261c0 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSpeciesHolder.fbs @@ -0,0 +1,67 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneSpeciesHolder { + Field_00:PlacementZone_F02 (required); + Field_01:PlacementZone_F02_Field1 (required); + + /// Species Model to load + Species:uint; + /// Form Model to load + Form:uint; + /// Gender Model to load: Male and Genderless 0, Female 1 + Gender:uint; + + /// Color Model to load: Normal 0, Shiny 1 + Shiny:uint; + Unused2:uint; + + Hash_07:ulong; + Hash_08:ulong; + Hash_09:ulong; + Field_10:[FlatDummyEntry] (required); // none have this + Field_11:float; + Field_12:PlacementZone_F02_Nine (required); + Field_13:int; // 0, 1, 3, 4 + Field_14:int; // 6, 11, 14 or 0 + Num_15:ubyte; // 0 or 1 (bool?) +} + +table PlacementZone_F02 { + Field_00:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + Hash_02:ulong; + Hash_03:ulong; + Hash_04:ulong; + Field_05:uint; // unused + Field_06:uint; // unused + Field_07:uint; // unused + Field_08:uint; // unused + Field_09:FlatDummyObject (required); // no fields present in any existing + Field_10:uint; // unused + Field_11:FlatDummyObject (required); // no fields present in any existing + Hash_12:ulong; +} + +table PlacementZone_F02_Field1 { + Field_00:PlacementZone_F02_Inner (required); +} + +table PlacementZone_F02_Inner { + Field_00:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + Hash_02:ulong; + Hash_03:ulong; + Field_04:PlacementZone_F02_IntFloat (required); + Num_05:ubyte; // 0 or 1 (bool?) + Hash_06:ulong; + Field_07:PlacementZone_F02_IntFloat (required); +} + +table PlacementZone_F02_IntFloat { + Field_00:int ; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStaticObjectsHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStaticObjectsHolder.fbs new file mode 100644 index 00000000..4130b82d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStaticObjectsHolder.fbs @@ -0,0 +1,33 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneStaticObjectsHolder { + Object:PlacementZoneStaticObject (required); +} + +table PlacementZoneStaticObject { + Identifier:PlacementZoneMetaTripleXYZ (required); + Field_01:uint; + Rate:uint; // usually 100, but + Field_03:uint; + Field_04:ubyte; + Spawns:[PlacementZoneStaticObjectSpawn] (required); + Field_06:PlacementZoneStaticObjectUnknown (required); + Field_07:PlacementZoneStaticObjectUnknown (required); +} + +table PlacementZoneStaticObjectSpawn { + SpawnID:ulong; + Behavior:string (required); // passed to Lua script for animating + Field_02:ulong; // default hash for all, likely empty string + Field_03:uint; + Field_04:PlacementZoneStaticObjectUnknown (required); +} + +table PlacementZoneStaticObjectUnknown { + Field_00:uint; + Field_01:float; // unused, assumed same shape as other i4f + Field_02:float; // unused, assumed same shape as other i4f + Field_03:float; // unused, assumed same shape as other i4f + Field_04:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStepJumpHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStepJumpHolder.fbs new file mode 100644 index 00000000..59c0b60c --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneStepJumpHolder.fbs @@ -0,0 +1,14 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneStepJumpHolder { + Field_00:PlacementZoneStepJump (required); +} + +table PlacementZoneStepJump { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSymbolSpawnHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSymbolSpawnHolder.fbs new file mode 100644 index 00000000..5c3b8d22 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneSymbolSpawnHolder.fbs @@ -0,0 +1,32 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// wild encounter spawner? +table PlacementZoneSymbolSpawnHolder { + Object:PlacementZoneSymbolSpawn (required); +} + +table PlacementZoneSymbolSpawn { + Identifier:PlacementZoneMetaTripleXYZ (required); + Field_01:int; + Field_02:PlacementZone_F20_Sub (required); + Field_03:PlacementZone_F20_Sub (required); + Field_04:PlacementZone_F20_Sub (required); + Field_05:PlacementZone_F20_Sub (required); + Field_06:int; + SymbolHash:ulong; +} + +table PlacementZone_F20_Sub { + Field_00:int; + Field_01:float; // unused + Field_02:float; // unused + Field_03:float; // unused + Field_04:float; + Field_05:float; // unused + Field_06:float; + Field_07:float; // unused + Field_08:float; + Field_09:float; + Field_10:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerHolder.fbs new file mode 100644 index 00000000..8c0519aa --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerHolder.fbs @@ -0,0 +1,63 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneTrainerHolder { + Field_00:PlacementZone_F08 (required); + Field_01:float; + TrainerID:ulong; + Hash_03:ulong; + MovementPath:ulong; + Unknown:[PlacementZone_F08_ArrayEntry] (required); + Field_06:uint; + Field_07:PlacementZone_F08_Nine (required); + Field_08:uint; // unused + Field_09:uint; // unused + Field_10:uint; + Field_11:uint; + Field_12:uint; +} + +// same as PlacementZone_F16_ArrayEntry +table PlacementZone_F08_ArrayEntry { + Field_00:uint; + Field_01:uint; + Field_02:uint; + Field_03:float; + Field_04:ubyte; + Field_05:ulong; +} + +table PlacementZone_F08_Nine { + Field_00:ubyte; + Field_01:ubyte; + Field_02:ubyte; + Field_03:uint; // unused + Hash_04:ulong; + Field_05:ubyte; + Field_06:uint; // unused + Hash_07:ulong; + Field_08:uint; // unused +} + +table PlacementZone_F08 { + Field_00:PlacementZone_F08_A (required); +} + +table PlacementZone_F08_A { + Field_00:PlacementZoneMetaTripleXYZ (required); + Hash_01:ulong; + HashModel:ulong; + Hash_03:ulong; + Field_04:PlacementZone_F08_IntFloat (required); + Field_06:uint; // unused + Hash_06:ulong; + Field_07:PlacementZone_F08_IntFloat (required); +} + +table PlacementZone_F08_IntFloat { + Field_00:int; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerTipHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerTipHolder.fbs new file mode 100644 index 00000000..28c3e627 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTrainerTipHolder.fbs @@ -0,0 +1,42 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneTrainerTipHolder { + Field_00:PlacementZoneTrainerTip (required); +} + +table PlacementZoneTrainerTip { + Field_00:PlacementZoneMetaTripleXYZ (required); + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; + Field_05:ulong; + Field_06:PlacementZone_F09 (required); + Field_07:PlacementZone_F09_Union (required); +} + +table PlacementZone_F09 { + Field_00:uint; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; + Field_05:float; + Field_06:float; + Field_07:float; + Field_08:float; + Field_09:float; + Field_10:float; +} + +// union? +table PlacementZone_F09_Union { + Field_00:ubyte; + Field_01:PlacementZone_F09_Sub (required); +} + +table PlacementZone_F09_Sub { + Field_00:float; + Field_01:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTriggerHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTriggerHolder.fbs new file mode 100644 index 00000000..87eadfd8 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneTriggerHolder.fbs @@ -0,0 +1,15 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// Trigger tiles? +table PlacementZoneTriggerHolder { + Object:PlacementZoneTrigger (required); +} + +table PlacementZoneTrigger { + Field_00:PlacementZoneDeepX (required); + TriggerName:ulong; + Field_02:uint; + Field_03:PlacementZoneDeepY (required); + Field_04:uint; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneUnitObjectHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneUnitObjectHolder.fbs new file mode 100644 index 00000000..f9db307e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneUnitObjectHolder.fbs @@ -0,0 +1,50 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +// Gates, Elevators, Tents, Flags, FossilRepair? +table PlacementZoneUnitObjectHolder { + Object:PlacementZoneUnitObject (required); +} + +table PlacementZoneUnitObject{ + Field_00:PlacementZoneMetaTripleXYZ (required); + NameModel:string (required); + NameAnimation:string (required); + Field_03:float; + Field_04:float; + Field_05:string (required); // none have this + Field_06:string (required); // none have this + Field_07:float; + Field_08:float; + Field_09:float; + Field_10:float; + Unknown:PlacementZoneDeepY (required); + Number:ubyte; + Details:PlacementZoneUnitObjectDetails (required); + Dummy:PlacementZoneUnitObjectToggle (required); +} + +table PlacementZoneUnitObjectDetails { + Field_00:int; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; + Field_05:float; // unused + Field_06:float; + Field_07:float; // unused + Field_08:float; + Field_09:float; + Field_10:float; +} + +// probably a union, with only 1 object type used +table PlacementZoneUnitObjectToggle { + Field_00:bool; + Field_01:PlacementZoneUnitObjectInner (required); +} + +table PlacementZoneUnitObjectInner { + Field_00:float; // 50 for only 1 entry + Field_01:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneWarpHolder.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneWarpHolder.fbs new file mode 100644 index 00000000..0e578c5e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Placement/PlacementZoneWarpHolder.fbs @@ -0,0 +1,35 @@ +include "PlacementShared.fbs"; +namespace pkNX.Structures.FlatBuffers.SWSH; + +table PlacementZoneWarpHolder { + Field_00:PlacementZoneWarp (required); +} + +table PlacementZoneWarp { + Field_00:PlacementZoneMetaTripleXYZ; + Hash_01:ulong; + NameAreaOther:string (required); + NameModel:string (required); + NameAnimation:string (required); + Field_05:int; + Field_06:float; + Field_07:bool; + Hash_08:ulong; + SubMeta:PlacementZoneWarpDetails8; + NameSoundEffect1:string (required); + NameSoundEffect2:string (required); +} + +table PlacementZoneWarpDetails8 { + Field_00:int; + Field_01:float; + Field_02:float; // unused + Field_03:float; + Field_04:float; // unused + Field_05:float; // unused + Field_06:float; // unused + Field_07:float; // unused + Field_08:float; + Field_09:float; + Field_10:float; +} diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/PokeResourceTable.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/PokeResourceTable.fbs new file mode 100644 index 00000000..5491f21d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/PokeResourceTable.fbs @@ -0,0 +1,35 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table Version { + major:ushort; + minor:ushort; +} + +table PokemonModel { + SpeciesInfo:Meta (required); + ModelPath:string (required); + ConfigPath:string (required); + ArchivePath:string (required); + Animations:[Animation] (required); +} + +table Meta { + Species:ushort; + Forme:ushort; + Gender:ubyte; + Shiny:ubyte; +} + +table Animation { + Name:string (required); + Path:string (required); +} + +table GFBpmcatalog (fs_serializer) { + CatalogVersion:Version (required); + Models:[PokemonModel] (required); +} + +file_extension "gfbpmcatalog"; +root_type GFBpmcatalog; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/RentalArchive.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/RentalArchive.fbs new file mode 100644 index 00000000..8ff9e2ed --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/RentalArchive.fbs @@ -0,0 +1,38 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table Rental { + EV_SPE:ubyte; + EV_ATK:ubyte; + EV_DEF:ubyte; + EV_HP:ubyte; + EV_SPA:ubyte; + EV_SPD:ubyte; + Form:ubyte; + Ball:int; + Hash1:ulong; + Item:int; + Level:ubyte; + Species:int; + Hash2:ulong; + TrainerID:uint; // maybe?? no entries have this + Nature:int; + Gender:int; + IV_SPE:byte; + IV_ATK:byte; + IV_DEF:byte; + IV_HP:byte; + IV_SPA:byte; + IV_SPD:byte; + Ability:int; // 0,1,2(Hidden) + Move1:int; + Move2:int; + Move3:int; + Move4:int; +} + +table RentalArchive (fs_serializer) { + Table:[Rental] (required); +} + +root_type RentalArchive; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/ScriptMeta.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/ScriptMeta.fbs new file mode 100644 index 00000000..a6990ed9 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/ScriptMeta.fbs @@ -0,0 +1,15 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table ScriptMetaEntry { + Hash:ulong (key); + PathAMX:string (required); + PathText:string (required); +} + +// script_id_record.bin +table ScriptMeta (fs_serializer) { + Table:[ScriptMetaEntry] (required); +} + +root_type ScriptMeta; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/SymbolBehavior.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/SymbolBehavior.fbs new file mode 100644 index 00000000..b628252d --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/SymbolBehavior.fbs @@ -0,0 +1,58 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table SymbolBehave { + Field_00:float; + Field_01:float; + ModelPart:string (required); + Field_03:float; + Hash1:ulong; + Hash2:ulong; + HitboxRadius:float; + Field_07:float; + Field_08:float; // unused default, assumed float + Field_09:float; + Form:int; + Field_11:ubyte; + Field_12:ubyte; // unused default, assumed byte + SpeciesID:int; + Field_14:ubyte; // unused default, assumed byte + Field_15:ubyte; // unused default, assumed byte + Field_16:float; + Field_17:float; + Field_18:int; + Field_19:float; + Field_20:float; + Field_21:float; + SpeciesNameJPN:string (required); // internal name + Field_23:float; + Field_24:float; + Field_25:float; + Field_26:float; + GrassShakeRadius:float; + Field_28:float; // unused default, assumed float + Field_29:int; + Field_30:int; // unused default, assumed int + Behavior:string (required); + Field_32:int; + Field_33:int; // unused default, assumed int + Field_34:int; // unused default, assumed int + Field_35:int; // unused default, assumed int + Field_36:int; // unused default, assumed int + Field_37:float; + Field_38:float; + Field_39:float; + Field_40:float; + Field_41:float; + Field_42:float; // unused default, assumed float + Field_43:float; // unused default, assumed float + Field_44:float; + Field_45:float; +} + +// symbol_encount_mons_param.bin +table SymbolBehaveRoot (fs_serializer) { + Table:[SymbolBehave] (required); +} + +root_type SymbolBehaveRoot; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/Waza.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Waza.fbs new file mode 100644 index 00000000..9cf22598 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/Waza.fbs @@ -0,0 +1,58 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table Waza (fs_serializer) { + Version:uint; + MoveID:uint; + CanUseMove:bool; + Type:ubyte; + Quality:ubyte; + Category:ubyte; + Power:ubyte; + Accuracy:ubyte; + PP:ubyte; + Priority:byte; + HitMax:ubyte; + HitMin:ubyte; + Inflict:ushort; + InflictPercent:ubyte; + RawInflictCount:ubyte; + TurnMin:ubyte; + TurnMax:ubyte; + CritStage:byte; + Flinch:ubyte; + EffectSequence:ushort; + Recoil:byte; + RawHealing:byte; + RawTarget:ubyte; + Stat1:ubyte; + Stat2:ubyte; + Stat3:ubyte; + Stat1Stage:byte; + Stat2Stage:byte; + Stat3Stage:byte; + Stat1Percent:ubyte; + Stat2Percent:ubyte; + Stat3Percent:ubyte; + GigantamaxPower:ubyte; + Flag_MakesContact:bool; + Flag_Charge:bool; + Flag_Recharge:bool; + Flag_Protect:bool; + Flag_Reflectable:bool; + Flag_Snatch:bool; + Flag_Mirror:bool; + Flag_Punch:bool; + Flag_Sound:bool; + Flag_Gravity:bool; + Flag_Defrost:bool; + Flag_DistanceTriple:bool; + Flag_Heal:bool; + Flag_IgnoreSubstitute:bool; + Flag_FailSkyBattle:bool; + Flag_AnimateAlly:bool; + Flag_Dance:bool; + Flag_Metronome:bool; +} + +root_type Waza; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/WeatherEntry.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/WeatherEntry.fbs new file mode 100644 index 00000000..471c1f1f --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/WeatherEntry.fbs @@ -0,0 +1,57 @@ +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +// field\param\weather\weather_data.bin +// field\param\weather\weather_data_alt.bin + +table WeatherEntry { + Field_00:ubyte ; // all except 0 + Field_01:[int] (required); // unused in main, used in _alt + Field_02:[string] (required); + Field_03:float; // entry 2 3 4 5 6 7 8 + Field_04:float; // entry 2 3 4 5 6 7 8 + Field_05:float; // entry 2 3 4 5 6 7 8 9 10 11 12 14 + Field_06:float; // unused + Field_07:float; // entry 2 3 + Field_08:float; // entry 2 3 7 + Field_09:uint; + Field_10:uint; + Field_11:float; // entry 1 2 3 4 5 7 8 10 11 12 13 14 + Field_12:PentaFloat (required); + Field_13:[float] (required); + Field_14:[float] (required); + Field_15:QuadFloatSet (required); + Field_16:QuadFloatSet (required); + Field_17:PentaFloat (required); + Field_18:float; // entry 1 2 3 4 5 7 8 10 11 12 13 14 + Field_19:float; + Field_20:float; + Field_21:[float] (required); + Field_22:[float] (required); + Field_23:[int] (required); + Field_24:ubyte; // entry 9 10 11 12 13 14 + Field_25:uint; // unused + Field_26:uint; // unused + Field_27:ubyte; // entry 6 +} + +table PentaFloat { + Field_00:float; + Field_01:float; + Field_02:float; + Field_03:float; + Field_04:float; +} + +table QuadFloatSet { + Field_00:[float] (required); + Field_01:[float] (required); + Field_02:[float] (required); + Field_03:[float] (required); +} + +table WeatherTable (fs_serializer) { + Table:[WeatherEntry] (required); +} + +root_type WeatherTable; diff --git a/pkNX.Structures.FlatBuffers.SWSH/Schemas/shop.fbs b/pkNX.Structures.FlatBuffers.SWSH/Schemas/shop.fbs new file mode 100644 index 00000000..3e2d904e --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/Schemas/shop.fbs @@ -0,0 +1,26 @@ +// This is exactly the same as the LGP/E schema. + +namespace pkNX.Structures.FlatBuffers.SWSH; +attribute "fs_serializer"; + +table ShopInventory (fs_serializer) { + Single:[SingleShop] (required); + Multi:[MultiShop] (required); +} + +table SingleShop { + Hash:ulong; + Inventories:Inventory (required); +} + +table MultiShop +{ + Hash:ulong; + Inventories:[Inventory] (required); +} + +table Inventory { + Items:[int] (required); +} + +root_type ShopInventory; diff --git a/pkNX.Structures.FlatBuffers.SWSH/pkNX.Structures.FlatBuffers.SWSH.csproj b/pkNX.Structures.FlatBuffers.SWSH/pkNX.Structures.FlatBuffers.SWSH.csproj new file mode 100644 index 00000000..5d1c4df6 --- /dev/null +++ b/pkNX.Structures.FlatBuffers.SWSH/pkNX.Structures.FlatBuffers.SWSH.csproj @@ -0,0 +1,25 @@ + + + + net7.0 + enable + enable + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + diff --git a/pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8a.cs deleted file mode 100644 index b69b3b18..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Condition/Condition8a.cs +++ /dev/null @@ -1,16 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum Condition8a : ulong -{ - GreaterThanEqual = 0x34F605C97C571896, - LessThanEqual = 0x488B1F9FBC949365, - NotEqual = 0x88C99E99F1FC6C55, - Equal = 0xB763CBE88B6F844F, - None = 0xCBF29CE484222645, - Between = 0xE5E34D77DC75E2EF, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Condition/ConditionType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Condition/ConditionType8a.cs deleted file mode 100644 index 42c57fe1..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Condition/ConditionType8a.cs +++ /dev/null @@ -1,56 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -#pragma warning disable RCS1154 // Sort enum members. - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum ConditionType8a : ulong -{ - BattleWin = 0xB2EE750DBCD8FFD6, // "battle_win" // UNUSED - EventEndFlagComparison = 0xB1D54CA3ACFD951C, // "event_end_flag_comparison" - FlagComparison = 0x3DDD5FEB4A68A149, // "flag_comparison" - FlagComparisonMultiAnd = 0x1474C7C46A813955, // "flag_comparison_multi_and" - FlagComparisonMultiOr = 0x99A60B9D95356789, // "flag_comparison_multi_or" - Force = 0x344570C1301A7584, // "force" - IsRide = 0xE1DBDA285AC7E0C4, // "is_ride" - ItemNum = 0x4218EEEA9BFE8019, // "item_num" - MkrgCondition = 0xF8ADF49E06E61C30, // "mkrg_condition - MoonType = 0x9C765A1AAAC34605, // "moon_type" - MydressupParts = 0x6E4AB6860240F386, // "mydressup_parts" - NpcPassPokeForm = 0xDD65C7864951449B, // "npc_pass_poke_form" - NpcPassPokeIndividualNum = 0xCE6FB5F32B6297C5, // "npc_pass_poke_individual_num" - NpcPassPokeMonsNum = 0x26D399D556EE1C2D, // "npc_pass_poke_mons_num" - NpcPassPokeOybn = 0x769FC8C156B7CDBD, // "npc_pass_poke_oybn" - NpcPassPokeSeikaku = 0xF27E3B012D8F762C, // "npc_pass_poke_seikaku" // UNUSED - NpcPassPokeSex = 0xABE95BDC028692F3, // "npc_pass_poke_sex" - NpcPassPokeSizeAbsolute = 0xA6F824297967B404, // "npc_pass_poke_size_absolute" // UNUSED - NpcPassPokeSizeIndividual = 0x4CED96920003025E, // "npc_pass_poke_size_individual" // UNUSED - NpcPassPokeType = 0xC4BB08F0E0BB1979, // "npc_pass_poke_type" - NpcPassPokeWaza = 0xF26110F743861738, // "npc_pass_poke_waza" - PartyMonsNoNum = 0x0B830B240F28E61C, // "party_mons_no_num" - PartyPokeNum = 0x313CB8E1DEBB01DE, // "party_poke_num" - PhaseCondition = 0x8E77D62D1E38721E, // "phase_condition" - PlayerSex = 0xFA75906B85AE950F, // "player_sex" - PokeGetNum = 0x56E50D419BFB3A2C, // "poke_get_num" - PokeGetSelf = 0x7AAB4D6FEBAC4C0E, // "poke_get_self" - PokeResearchComplete = 0x5B017A2B0C07CD1A, // "poke_research_complete" // UNUSED - PokeTotalNum = 0x892E20D02629F1FA, // "poke_total_num" - Probability = 0x5E53C6367A2D36BC, // "probability" - ProgressWorkCondition = 0x43C4820F12B5385C, // "progress_work_condition" - ProgressWorkConditionHash = 0x409A7F367B037545, // "progress_work_condition_hash" - ProgressResidentWorkCondition = 0xD0D514A85FC0B50F, // "progress_resident_work_condition" // UNUSED - ProgressResidentWorkConditionHash = 0x1C5747049C3B1920, // "progress_resident_work_condition_hash" - QuestProgressCondition = 0x2041C674206FE0A7, // "quest_progress_condition" - QuestTaskClearCheck = 0x4BBF494C6CE53FEA, // "quest_task_clear_check" // UNUSED - ThrowItemCondition = 0x15C4DB49A2D05975, // "throw_item_condition" // UNUSED - TimeZone = 0x46EBE59F660B132B, // "time_zone" - TimeZoneAfternoon = 0x8E0F436D4E20E310, // "time_zone_afternoon" - TimeZoneNight = 0xD95B681BFE1BB762, // "time_zone_night" - WorkCondition = 0x2557279B949C81D6, // "work_condition" - ZukanResearchCondition = 0x854B2B1FDB9AC9B4, // "zukan_research_condition" - ZukanStageCondition = 0x9A193E701C7F9A61, // "zukan_stage_condition" - - None = 0xCBF29CE484222645, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigEntry8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigEntry8a.cs deleted file mode 100644 index b55aa242..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigEntry8a.cs +++ /dev/null @@ -1,23 +0,0 @@ -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 AppconfigEntry8a -{ - [FlatBufferItem(00)] public uint Hash { get; set; } - [FlatBufferItem(01)] public string OriginalPath { get; set; } = string.Empty; - [FlatBufferItem(02)] public string Folder { get; set; } = string.Empty; - [FlatBufferItem(03)] public string FileNameWithoutExtension { get; set; } = string.Empty; - [FlatBufferItem(04)] public byte Unused { get => 0; set { } } - [FlatBufferItem(05)] public string[] UnusedEntries { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigList8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigList8a.cs deleted file mode 100644 index 603f9363..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Config/AppConfigList8a.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 AppConfigList8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public AppconfigEntry8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Config/ConfigureTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Config/ConfigureTable8a.cs deleted file mode 100644 index 3a842a03..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Config/ConfigureTable8a.cs +++ /dev/null @@ -1,38 +0,0 @@ -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 ConfigArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ConfigEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ConfigEntry8a -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public ulong Hash { get; set; } - [FlatBufferItem(02)] public int Field_02 { get; set; } - [FlatBufferItem(03)] public string DebugMin { get; set; } = string.Empty; - [FlatBufferItem(04)] public string DebugMax { get; set; } = string.Empty; - [FlatBufferItem(05)] public string[] Parameters { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public string Description { get; set; } = string.Empty; - - public string ConfiguredValue - { - get => Parameters[0]; - set => Parameters[0] = value; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpColorType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpColorType8a.cs deleted file mode 100644 index 5c411a61..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpColorType8a.cs +++ /dev/null @@ -1,168 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum DressUpColorType8a : ulong -{ - color_18 = 2891003964593718860, - color_19 = 2891005064105347071, - color_14 = 2891008362640231704, - color_15 = 2891009462151859915, - color_16 = 2891010561663488126, - color_10 = 2891012760686744548, - color_11 = 2891013860198372759, - color_12 = 2891014959710000970, - color_13 = 2891016059221629181, - color_09 = 2891994624570547746, - color_08 = 2891995724082175957, - color_07 = 2891996823593804168, - color_06 = 2891997923105432379, - color_05 = 2891999022617060590, - color_04 = 2892000122128688801, - color_03 = 2892001221640317012, - color_02 = 2892002321151945223, - color_01 = 2892003420663573434, - color_21 = 2893951755268384876, - color_20 = 2893952854780013087, - color_23 = 2893953954291641298, - color_22 = 2893955053803269509, - eyecolor_02 = 6322591128752503552, - eyecolor_03 = 6322592228264131763, - eyecolor_01 = 6322594427287388185, - eyecolor_06 = 6322595526799016396, - eyecolor_07 = 6322596626310644607, - eyecolor_04 = 6322597725822272818, - eyecolor_05 = 6322598825333901029, - eyecolor_08 = 6322602123868785662, - eyecolor_09 = 6322603223380413873, - eyecolor_14 = 6323580689217704227, - eyecolor_11 = 6323583987752588860, - eyecolor_10 = 6323585087264217071, - eyecolor_13 = 6323586186775845282, - eyecolor_12 = 6323587286287473493, - pattern_103 = 10331589887632757080, - pattern_102 = 10331590987144385291, - pattern_101 = 10331592086656013502, - pattern_100 = 10331593186167641713, - pattern_107 = 10331594285679269924, - pattern_106 = 10331595385190898135, - pattern_105 = 10331596484702526346, - pattern_104 = 10331597584214154557, - haircolor_10 = 10635347013515536152, - haircolor_11 = 10635348113027164363, - haircolor_12 = 10635349212538792574, - haircolor_13 = 10635350312050420785, - haircolor_14 = 10635351411562048996, - haircolor_15 = 10635352511073677207, - haircolor_09 = 10636328877399339350, - haircolor_08 = 10636329976910967561, - haircolor_03 = 10636335474469108616, - haircolor_02 = 10636336573980736827, - haircolor_01 = 10636337673492365038, - haircolor_07 = 10636339872515621460, - haircolor_06 = 10636340972027249671, - haircolor_05 = 10636342071538877882, - haircolor_04 = 10636343171050506093, - pattern_20 = 17864479963209587296, - pattern_21 = 17864481062721215507, - pattern_22 = 17864482162232843718, - pattern_23 = 17864483261744471929, - pattern_24 = 17864484361256100140, - pattern_25 = 17864485460767728351, - pattern_26 = 17864486560279356562, - pattern_27 = 17864487659790984773, - pattern_28 = 17864488759302612984, - pattern_29 = 17864489858814241195, - pattern_33 = 17865468424163159760, - pattern_32 = 17865469523674787971, - pattern_31 = 17865470623186416182, - pattern_30 = 17865471722698044393, - pattern_37 = 17865472822209672604, - pattern_36 = 17865473921721300815, - pattern_35 = 17865475021232929026, - pattern_34 = 17865476120744557237, - pattern_39 = 17865479419279441870, - pattern_38 = 17865480518791070081, - pattern_06 = 17866316147628321216, - pattern_07 = 17866317247139949427, - pattern_04 = 17866318346651577638, - pattern_05 = 17866319446163205849, - pattern_02 = 17866320545674834060, - pattern_03 = 17866321645186462271, - pattern_01 = 17866323844209718693, - pattern_08 = 17866331540791116170, - pattern_09 = 17866332640302744381, - pattern_19 = 17867304608581893680, - pattern_18 = 17867305708093521891, - pattern_11 = 17867313404674919368, - pattern_10 = 17867314504186547579, - pattern_13 = 17867315603698175790, - pattern_12 = 17867316703209804001, - pattern_15 = 17867317802721432212, - pattern_14 = 17867318902233060423, - pattern_17 = 17867320001744688634, - pattern_16 = 17867321101256316845, - pattern_68 = 17868297467581978988, - pattern_69 = 17868298567093607199, - pattern_64 = 17868301865628491832, - pattern_65 = 17868302965140120043, - pattern_66 = 17868304064651748254, - pattern_67 = 17868305164163376465, - pattern_60 = 17868306263675004676, - pattern_61 = 17868307363186632887, - pattern_62 = 17868308462698261098, - pattern_63 = 17868309562209889309, - pattern_79 = 17869288127558807874, - pattern_78 = 17869289227070436085, - pattern_77 = 17869290326582064296, - pattern_76 = 17869291426093692507, - pattern_75 = 17869292525605320718, - pattern_74 = 17869293625116948929, - pattern_73 = 17869294724628577140, - pattern_72 = 17869295824140205351, - pattern_71 = 17869296923651833562, - pattern_70 = 17869298023163461773, - pattern_42 = 17870252399256559696, - pattern_43 = 17870253498768187907, - pattern_40 = 17870254598279816118, - pattern_41 = 17870255697791444329, - pattern_46 = 17870256797303072540, - pattern_47 = 17870257896814700751, - pattern_44 = 17870258996326328962, - pattern_45 = 17870260095837957173, - pattern_48 = 17870263394372841806, - pattern_49 = 17870264493884470017, - pattern_55 = 17871100122721721152, - pattern_54 = 17871101222233349363, - pattern_57 = 17871102321744977574, - pattern_56 = 17871103421256605785, - pattern_51 = 17871104520768233996, - pattern_50 = 17871105620279862207, - pattern_53 = 17871106719791490418, - pattern_52 = 17871107819303118629, - pattern_59 = 17871113316861259684, - pattern_58 = 17871114416372887895, - pattern_88 = 17874072102652207810, - pattern_89 = 17874073202163836021, - pattern_86 = 17874074301675464232, - pattern_87 = 17874075401187092443, - pattern_84 = 17874076500698720654, - pattern_85 = 17874077600210348865, - pattern_82 = 17874078699721977076, - pattern_83 = 17874079799233605287, - pattern_80 = 17874080898745233498, - pattern_81 = 17874081998256861709, - pattern_91 = 17875036374349959632, - pattern_90 = 17875037473861587843, - pattern_93 = 17875038573373216054, - pattern_92 = 17875039672884844265, - pattern_95 = 17875040772396472476, - pattern_94 = 17875041871908100687, - pattern_97 = 17875042971419728898, - pattern_96 = 17875044070931357109, - pattern_99 = 17875045170442985320, - pattern_98 = 17875046269954613531, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpHideFlagType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpHideFlagType8a.cs deleted file mode 100644 index 4c723a88..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpHideFlagType8a.cs +++ /dev/null @@ -1,19 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -#pragma warning disable RCS1154 // Sort enum members. - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum DressUpHideFlagType8a : ulong -{ - HEADWEAR_D = 4173530696190938758, //None of these hashes match the given name - HEADWEAR_B = 4173532895214195180, //Will update them as soon as they're found - HEADWEAR_C = 4173533994725823391, - HEADWEAR_A = 4173536193749079813, - FOOT_2 = 9746162982005607639, - FOOT_0 = 9746164081517235850, - FOOT_1 = 9746165181028864061, - None = 14695981039346656837, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpPartType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpPartType8a.cs deleted file mode 100644 index 2611a144..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpPartType8a.cs +++ /dev/null @@ -1,97 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -#pragma warning disable RCS1154 // Sort enum members. - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum DressupPartType8a : ulong -{ - parts18 = 6903015007463139916, - parts19 = 6903016106974768127, - parts14 = 6903019405509652760, - parts15 = 6903020505021280971, - parts16 = 6903021604532909182, - parts17 = 6903022704044537393, - parts10 = 6903023803556165604, - parts11 = 6903024903067793815, - parts12 = 6903026002579422026, - parts13 = 6903027102091050237, - parts09 = 6904005667439968802, - parts08 = 6904006766951597013, - parts07 = 6904007866463225224, - parts06 = 6904008965974853435, - parts05 = 6904010065486481646, - parts03 = 6904012264509738068, - parts02 = 6904013364021366279, - parts01 = 6904014463532994490, - eyewear_02 = 10272035885664184152, - eyewear_03 = 10272036985175812363, - eyewear_01 = 10272039184199068785, - eyewear_04 = 10272042482733953418, - bottoms_04 = 10359267226314862496, - bottoms_05 = 10359268325826490707, - bottoms_07 = 10359270524849747129, - bottoms_02 = 10359273823384631762, - bottoms_03 = 10359274922896259973, - bottoms_08 = 10359280420454401028, - bottoms_09 = 10359281519966029239, - dress_07 = 12188030453032964832, - dress_06 = 12188031552544593043, - dress_05 = 12188032652056221254, - dress_04 = 12188033751567849465, - dress_03 = 12188034851079477676, - dress_02 = 12188035950591105887, - dress_01 = 12188037050102734098, - sample_08 = 14634454961443655760, - sample_09 = 14634456060955283971, - sample_01 = 14634464857048309659, - sample_02 = 14634465956559937870, - sample_03 = 14634467056071566081, - sample_04 = 14634468155583194292, - sample_05 = 14634469255094822503, - sample_06 = 14634470354606450714, - sample_07 = 14634471454118078925, - sample_13 = 14635311481001842904, - sample_12 = 14635312580513471115, - sample_11 = 14635313680025099326, - sample_10 = 14635314779536727537, - None = 14695981039346656837, - bag_01 = 14734734204301661357, - tops_02 = 16061217059906153264, - tops_03 = 16061218159417781475, - tops_01 = 16061220358441037897, - tops_06 = 16061221457952666108, - tops_07 = 16061222557464294319, - tops_04 = 16061223656975922530, - tops_05 = 16061224756487550741, - tops_08 = 16061228055022435374, - tops_09 = 16061229154534063585, - headwear_11 = 16753771910153104131, - headwear_12 = 16753773009664732342, - headwear_13 = 16753774109176360553, - headwear_03 = 16754618534106637376, - headwear_02 = 16754619633618265587, - headwear_01 = 16754620733129893798, - headwear_07 = 16754622932153150220, - headwear_06 = 16754624031664778431, - headwear_05 = 16754625131176406642, - headwear_04 = 16754626230688034853, - headwear_09 = 16754629529222919486, - headwear_08 = 16754630628734547697, - shoes_08 = 16783999652752055500, - shoes_09 = 16784000752263683711, - shoes_04 = 16784004050798568344, - shoes_05 = 16784005150310196555, - shoes_06 = 16784006249821824766, - shoes_07 = 16784007349333452977, - shoes_01 = 16784009548356709399, - shoes_02 = 16784010647868337610, - shoes_03 = 16784011747379965821, - shoes_14 = 16784995810287025441, - shoes_13 = 16784996909798653652, - shoes_12 = 16784998009310281863, - shoes_11 = 16784999108821910074, - shoes_10 = 16785000208333538285, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpTable8a.cs deleted file mode 100644 index dec9f597..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpTable8a.cs +++ /dev/null @@ -1,79 +0,0 @@ -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 DressUpTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public DressUpEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressUpEntry8a -{ - [FlatBufferItem(00)] public string EntryName { get; set; } = string.Empty; - [FlatBufferItem(01)] public uint Field_1 { get; set; } - [FlatBufferItem(02)] public uint Field_2 { get; set; } - [FlatBufferItem(03)] public DressupPartType8a PartHash { get; set; } - [FlatBufferItem(04)] public uint Field_4 { get; set; } - [FlatBufferItem(05)] public DressUpColorType8a ColorHash { get; set; } - [FlatBufferItem(06)] public uint Field_6 { get; set; } - [FlatBufferItem(07)] public uint Field_7 { get; set; } - [FlatBufferItem(08)] public uint Field_8 { get; set; } - [FlatBufferItem(09)] public DressUpUnlockFlagType8a UnlockFlag { get; set; } - [FlatBufferItem(10)] public uint Field_10 { get; set; } - [FlatBufferItem(11)] public uint Field_11 { get; set; } - [FlatBufferItem(12)] public uint Field_12 { get; set; } - [FlatBufferItem(13)] public uint Field_13 { get; set; } - [FlatBufferItem(14)] public uint Field_14 { get; set; } //Never used - [FlatBufferItem(15)] public string Field_15 { get; set; } = string.Empty; //Might be a string? - [FlatBufferItem(16)] public uint Field_16 {get; set;} - [FlatBufferItem(17)] public uint Field_17 {get; set;} - [FlatBufferItem(18)] public uint Field_18 {get; set;} - [FlatBufferItem(19)] public uint Field_19 {get; set;} - [FlatBufferItem(20)] public string Field_20 { get; set; } = string.Empty; //Might be a string? - [FlatBufferItem(21)] public uint Field_21 {get; set;} - [FlatBufferItem(22)] public uint Field_22 {get; set;} - [FlatBufferItem(23)] public uint Field_23 {get; set;} - [FlatBufferItem(24)] public uint Field_24 {get; set;} - [FlatBufferItem(25)] public DressUpHideFlagType8a HideHash_0 { get; set; } - [FlatBufferItem(26)] public DressUpHideFlagType8a HideHash_1 { get; set; } - [FlatBufferItem(27)] public string HairStyleName { get; set; } = string.Empty; - [FlatBufferItem(28)] public string FaceName { get; set; } = string.Empty; - [FlatBufferItem(29)] public string EyeBName { get; set; } = string.Empty; - [FlatBufferItem(30)] public string EyeWName { get; set; } = string.Empty; - [FlatBufferItem(31)] public string HeadwearName { get; set; } = string.Empty; - [FlatBufferItem(32)] public string TopName { get; set; } = string.Empty; - [FlatBufferItem(33)] public string BottomName { get; set; } = string.Empty; - [FlatBufferItem(34)] public string DressName { get; set; } = string.Empty; - [FlatBufferItem(35)] public string FootwearName { get; set; } = string.Empty; - [FlatBufferItem(36)] public string BagName { get; set; } = string.Empty; - [FlatBufferItem(37)] public string UnusedName { get; set; } = string.Empty; - [FlatBufferItem(38)] public byte Field_38 { get; set; } - [FlatBufferItem(39)] public string SlotName { get; set; } = string.Empty; - [FlatBufferItem(40)] public string PartIndex0 { get; set; } = string.Empty; - [FlatBufferItem(41)] public string PartIndex1 { get; set; } = string.Empty; - [FlatBufferItem(42)] public string PartIndex2 { get; set; } = string.Empty; - [FlatBufferItem(43)] public string PartIndex3 { get; set; } = string.Empty; - [FlatBufferItem(44)] public string PartIndex4 { get; set; } = string.Empty; - [FlatBufferItem(45)] public string ConfigMotionPath { get; set; } = string.Empty; - [FlatBufferItem(46)] public string DefaultMotionPath { get; set; } = string.Empty; - [FlatBufferItem(47)] public string DataPath { get; set; } = string.Empty; - [FlatBufferItem(48)] public string DefaultPartName { get; set; } = string.Empty; - [FlatBufferItem(49)] public string MotionPath { get; set; } = string.Empty; - [FlatBufferItem(50)] public byte Field_50 { get; set; } - [FlatBufferItem(51)] public uint Field_51 { get; set; } // Unused - [FlatBufferItem(52)] public string CategoryName { get; set; } = string.Empty; - [FlatBufferItem(53)] public string SubCategoryName { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpUnlockFlagType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpUnlockFlagType8a.cs deleted file mode 100644 index e6e984d4..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/DressUp/DressUpUnlockFlagType8a.cs +++ /dev/null @@ -1,81 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -#pragma warning disable RCS1154 // Sort enum members. - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum DressUpUnlockFlagType8a : ulong -{ - FSYS_CLOTH_LINEUP_POKEDEX_CHERIM = 591014019222870535, - FSYS_CLOTH_LINEUP_VALID_5 = 601059371957738448, - FSYS_CLOTH_LINEUP_VALID_4 = 601060471469366659, - FSYS_CLOTH_LINEUP_VALID_7 = 601061570980994870, - FSYS_CLOTH_LINEUP_VALID_6 = 601062670492623081, - FSYS_CLOTH_LINEUP_VALID_1 = 601063770004251292, - FSYS_CLOTH_LINEUP_VALID_3 = 601065969027507714, - FSYS_CLOTH_LINEUP_VALID_2 = 601067068539135925, - FSYS_CLOTH_LINEUP_VALID_9 = 601072566097276980, - FSYS_CLOTH_LINEUP_VALID_8 = 601073665608905191, - FSYS_CLOTH_LINEUP_POKEDEX_PINPUKU = 668244299588547903, - FSYS_CLOTH_LINEUP_TYPE_POISON = 762198591379775591, - FSYS_CLOTH_LINEUP_TYPE_FIGHT = 879105040050391547, - FSYS_CLOTH_LINEUP_POKEDEX_KORINKU = 953557403781300896, - FSYS_HAIRSALON_LINEUP_VALID_1 = 955960319567494979, - FSYS_HAIRSALON_LINEUP_VALID_2 = 955961419079123190, - FSYS_HAIRSALON_LINEUP_VALID_3 = 955962518590751401, - FSYS_HAIRSALON_LINEUP_VALID_4 = 955963618102379612, - FSYS_CLOTH_LINEUP_QUEST_KURESERIA = 1138708913947219392, - FSYS_CLOTH_LINEUP_POKEDEX_BAKUHUUN = 2107719549688140776, - FSYS_CLOTH_LINEUP_POKEDEX_MIZYUMARU = 2450735524783681790, - FSYS_CLOTH_LINEUP_TYPE_NORMAL = 2710260862360287428, - FSYS_CLOTH_LINEUP_POKEDEX_MIMIRORU = 2931104617690656759, - FSYS_CLOTH_LINEUP_POKEDEX_BIPPA = 3352953886938966463, - FSYS_CLOTH_LINEUP_POKEDEX_MANENE = 3433584707350021807, - FSYS_CLOTH_LINEUP_POKEDEX_GUREGGURU = 3597245179816146064, - FSYS_CLOTH_LINEUP_QUEST_DAAKURAI = 4179973821432122863, - FSYS_SCENARIO_CLEARED_URA = 4332737758890160083, - FSYS_CLOTH_LINEUP_TYPE_FAIRY = 4645654458369602704, - FSYS_CLOTH_LINEUP_TYPE_ELECTRIC = 4944349959251318296, - FSYS_CLOTH_LINEUP_POKEDEX_NYUURA = 5045843427055255463, - FSYS_CLOTH_LINEUP_POKEDEX_DONKARASU = 5718043735745602935, - FSYS_CLOTH_LINEUP_TYPE_INSECT = 5784715642659255595, - FSYS_CLOTH_LINEUP_TYPE_FLY = 6480904299831626584, - FSYS_CLOTH_LINEUP_POKEDEX_MOKUROO = 7342558870617253019, - FSYS_CLOTH_LINEUP_TYPE_GROUND = 7665075221008126372, - FSYS_CLOTH_LINEUP_POKEDEX_ZYUNAIPAA = 7676315139508336957, - FSYS_CLOTH_LINEUP_TYPE_GRASS = 8477424519323444199, - FSYS_RIDE_OPEN_10 = 9486202334094772242, - FSYS_RIDE_OPEN_01 = 9487192994071601128, - FSYS_RIDE_OPEN_03 = 9487195193094857550, - FSYS_RIDE_OPEN_05 = 9487197392118113972, - FSYS_RIDE_OPEN_07 = 9487199591141370394, - FSYS_CLOTH_LINEUP_RANK_05 = 9678855863771390502, - FSYS_CLOTH_LINEUP_RANK_04 = 9678856963283018713, - FSYS_CLOTH_LINEUP_RANK_03 = 9678858062794646924, - FSYS_CLOTH_LINEUP_RANK_02 = 9678859162306275135, - FSYS_CLOTH_LINEUP_TYPE_ESPER = 9746426133877037146, - FSYS_CLOTH_LINEUP_POKEDEX_PATIRISU = 9922022756243548620, - FSYS_CLOTH_LINEUP_QUEST_HIIDORAN = 10597259435141781569, - FSYS_NS_05_CLEARED = 10638948307601104653, - FSYS_CLOTH_LINEUP_SUB_68_98 = 10904829162649723105, - FSYS_MKRG_VALID_SPAWN = 11290851310576955241, - FSYS_CLOTH_LINEUP_QUEST_REZIGIGASU = 11507226841363911861, - FSYS_CLOTH_LINEUP_TYPE_DRAGON = 12045727952417850052, - FSYS_NS_02_CLEARED = 12085264512736821260, - FSYS_CLOTH_LINEUP_TYPE_WATER = 12181663625201796266, - FSYS_CLOTH_LINEUP_TYPE_FIRE = 12862440709027350263, - FSYS_CLOTH_LINEUP_TYPE_ROCK = 13367098236714066082, - FSYS_CLOTH_LINEUP_POKEDEX_GYARADOSU = 13368741839090461676, - FSYS_CLOTH_LINEUP_TYPE_GHOST = 13806176536290911590, - FSYS_NS_01_CLEARED = 14254010689939522593, - None = 14695981039346656837, - FSYS_CLOTH_LINEUP_POKEDEX_DAIKENKI = 15893824492344084853, - FSYS_CLOTH_LINEUP_POKEDEX_NUMERA = 16178318950596057123, - FSYS_NS_04_CLEARED = 16918307584500549394, - FSYS_CLOTH_LINEUP_POKEDEX_HINOARASI = 17078238844561697321, - FSYS_CLOTH_LINEUP_TYPE_EVIL = 17384219706264182017, - FSYS_SCENARIO_CLEARED_OMOTE = 18009350863169210567, - FSYS_CLOTH_LINEUP_TYPE_ICE = 18179352876230274046, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Event/Trigger8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Event/Trigger8a.cs deleted file mode 100644 index 4e07579a..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Event/Trigger8a.cs +++ /dev/null @@ -1,59 +0,0 @@ -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 TriggerTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public Trigger8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Trigger8a -{ - [FlatBufferItem(00)] public TriggerMeta8a Meta { get; set; } = new(); - [FlatBufferItem(01)] public TriggerCondition8a[] Conditions { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public TriggerCommand8a[] Commands { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TriggerMeta8a -{ - [FlatBufferItem(00)] public TriggerType8a TriggerTypeID { get; set; } - [FlatBufferItem(01)] public ulong Unused_01 { get; set; } - [FlatBufferItem(02)] public string TriggerMetaArg1 { get; set; } = string.Empty; - [FlatBufferItem(03)] public string TriggerMetaArg2 { get; set; } = string.Empty; - [FlatBufferItem(04)] public string TriggerMetaArg3 { get; set; } = string.Empty; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TriggerCondition8a : 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; - - // For interface compat - public string ConditionArg4 { get; set; } = string.Empty; - public string ConditionArg5 { get; set; } = string.Empty; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TriggerCommand8a -{ - [FlatBufferItem(00)] public TriggerCommandType8a CommandTypeID { get; set; } - [FlatBufferItem(01)] public string[] Arguments { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Event/TriggerCommandType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Event/TriggerCommandType8a.cs deleted file mode 100644 index 66bc849e..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Event/TriggerCommandType8a.cs +++ /dev/null @@ -1,127 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -#pragma warning disable RCS1154 // Sort enum members. - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum TriggerCommandType8a : ulong -{ - AgunomuThrowEnd = 0xFA1DFCCE926904E0, // "agunomu_throw_end" - AgunomuThrowStart = 0xB0F3255086108A01, // "agunomu_throw_start" - AdventureResultCall = 0x3D79D6D0058D4D92, // "adventure_result_call" // UNUSED - AdventureResultInit = 0xE716459F5EBE2E94, // "adventure_result_init" - AiChange = 0x909AE490410B6058, // "ai_change" // UNUSED - AiChangeTarget = 0xC0A167CE4DAEFCA8, // "ai_change_target" // UNUSED - AllPokeRecover = 0x35AE11B202B33FAB, // "all_poke_recover" - AutoSaveNg = 0x396A9D10B0C06938, // "auto_save_ng" - AutoSaveNgReset = 0x5A23A70C90B2E3C0, // "auto_save_ng_reset" - BagCall = 0x633E78A0C793496E, // "bag_call" // UNUSED - BagLostCall = 0x8CF3D91B280B82C9, // "bag_lost_call" - BgmPlay = 0x1EBC09E17E96F774, // "bgm_play" - BgmStop = 0xD5092EDB9DAFA972, // "bgm_stop" - BgmLock = 0x672CF23B33EA0505, // "bgm_lock" // UNUSED - BgmUnlock = 0xF428A39FF598D116, // "bgm_unlock" - BoutiqueCall = 0x8212CBCB399C7F54, // "boutique_call" - CallBattle = 0xB54D19CA9F2B27A8, // "call_battle" - CallEvent = 0x466C5DFFFA6047DE, // "call_event" - CallRealTimeEvent = 0x1608695374913BA9, // "call_real_time_event" - CallStaffroll = 0x39A9DB57ED643E63, // "call_staffroll" // UNUSED - CallTips = 0x5B249F4C1C8A2800, // "call_tips" // UNUSED - CallTrainerBattle = 0x81FE18C0B68BFC12, // "call_trainer_battle" - CallTriggerBoot = 0xA6C73C7E028A667B, // "call_trigger_boot" - ClearVigilance = 0xD458C18CE2A7E801, // "clear_vigilance" // UNUSED - CraCall = 0x8520F45674D19E44, // "cra_call" - CreateFieldObjectRequest = 0x0D9BB98942D0BCF6, // "create_field_object_request" - CreateFieldObjectRequestCategory = 0x4E3742139786576F, // "create_field_object_request_category" - CreateFieldObjectRequestCategoryExecute = 0xF6D071052A9A65DF, // "create_field_object_request_category_execute" // UNUSED - CreateFieldObjectRequestSet = 0xA7C532B0D5AF6F59, // "create_field_object_request_set" - DemoPlay = 0xC68C92A921029B81, // "demo_play" - DemoPlayD220 = 0xB651089382810DEA, // "demo_play_d220" - EasyItemEvent = 0xCDCB1E4485BD64AC, // "easy_item_event" // UNUSED - EventBattleHookEnd = 0xEF0F31CCE66E7CBA, // "event_battle_hook_end" // UNUSED - EndNushiBattle = 0xF4F2BE33D270D1F7, // "end_nushi_battle" - FadeIn = 0xFB3E07E0FFD1B25B, // "fade_in" - FadeOut = 0xA9BA3A52A69DD7A8, // "fade_out - FadeWait = 0xECC548B7B9448DD5, // "fade_wait" - FinishRealTimeEvent = 0x6C0A8D2940D8F34A, // "finish_real_time_event" - FlagReset = 0x861AC906050FBC07, // "flag_reset" - FlagSet = 0x2719CB6B0BCC8398, // "flag_set" - ForceReport = 0x949ED0E99A38A7AF, // "force_report" - ForceReportExecute = 0x65852F23188ED61F, // "force_report_execute" // UNUSED - HugeOutbreakClear = 0x5B3F92D4849AB3AE, // "huge_outbreak_clear" - HugeOutbreakLottery = 0x1D29BC9A7BA7D242, // "huge_outbreak_lottery" - ImageShow = 0xF8218ADC727F3F92, // "image_show" // UNUSED - ItemAdd = 0x6D35E2EAB45C0F6E, // "item_add" - ItemBoxCall = 0x2D01C6B3EE7EC58D, // "item_box_call" - ItemDelete = 0xC59A0CC763D2A7A8, // "item_delete" - ItemGet = 0x7F6616EABEE84FB5, // "item_get" // UNUSED - ItemSelectCall = 0x79C506A26ABE4C0C, // "item_select_call" // UNUSED - ItemSub = 0xD20CF4EA5CB0BEEF, // "item_sub" - LeaveWildPokemon = 0x635B9BF9C7B6BEA3, // "leave_wild_pokemon" - MapChange = 0x1223758E1F82495E, // "map_change" - MapChangeGameOver = 0xA93595533A427B98, // "map_change_game_over" - MapChangeDoorId = 0xF688862E367CF429, // "map_change_door_id" - MoneyAdd = 0x5195731EE2BCA693, // "money_add" - MoneyGet = 0x8496771EFF5A370C, // "money_get" // UNUSED - MoneySub = 0xD73D391E9D2276B2, // "money_sub" // UNUSED - NpcTalkCall = 0x4393E4FD10599008, // "npc_talk_call" // UNUSED - PhaseUpdate = 0x0145D669ED9CCD14, // "phase_update" // UNUSED - PlayerAnimationStateReset = 0x3221105676A499B3, // "player_animation_state_reset" - PlayerPinchRecover = 0x836C7B20B1BC4A14, // "player_pinch_recover" - PlayerWarp = 0x4CC0659046F12EF7, // "player_warp" // UNUSED - PlayerWarpXyz = 0x5F5F59AA1A454253, // "player_warp_xyz" - PlayreportAddvalue = 0x36BD72700FE8335A, // "playreport_addvalue" // UNUSED - PlayreportSetvalue = 0x09FBF53A8261403F, // "playreport_setvalue" // UNUSED - PokeAdd = 0x82E032DE25CE78E0, // "poke_add" - PokeBoxCall = 0x1F24A4FCF859527B, // "poke_box_call" - PokePassEvolution = 0x36C4EA8E0C07226A, // "poke_pass_evolution - PokePassEvolutionAdaptation = 0xF6BD3323D7EC7F2E, // "poke_pass_evolution_adaptation" - PokemonSelectCall = 0xE69AEB1CB355CFD4, // "pokemon_select_call" // UNUSED - PokeSelectMenuCall = 0xE75986350917856A, // "poke_select_menu_call" - PokeSelectResultAdaptation = 0x9CEE05CE2A7DF249, // "poke_select_result_adaptation" - QuestActivationConditionCheck = 0xDA1ECE532B4484D3, // "quest_activation_condition_check" // UNUSED - QuestAdvance = 0x1F9C392CEFBB1B58, // "quest_advance" - QuestAdvanceExecute = 0x3739AA4DFE7142D8, // "quest_advance_execute" // UNUSED - QuestCal = 0x91530CCB04EA81A2, // "quest_cal" // UNUSED, Typo? - QuestEnd = 0x7F22B0CAFA5DFD63, // "quest_end" - QuestProgressSet = 0x8F4ECBA903BE3CD2, // "quest_progress_set" - QuestStart = 0xACDCFB9B749A3D26, // "quest_start" - ResetWormhole = 0xEEE8243BDF3948B0, // "reset_wormhole" - ResidentWorkClear = 0x908FC6969AB5250D, // "resident_work_clear" - SelectAreaCall = 0xDA71107BF9807C04, // "select_area_call" - SetMydressupItem = 0x28CF7A6F7273496A, // "set_mydressup_item" // UNUSED - SetDressupItem = 0x2D7A8BD9982C8840, // "set_dressup_item" - SetFocusItem = 0x3F669C91AF847B32, // "set_focus_item" - SetFocusMyPoke = 0xF6CC19EBA86582D5, // "set_focus_mypoke" // UNUSED - SetThrowItem = 0xDBEF9BBF00919F52, // "set_throw_item" // UNUSED - ShopCall = 0x9E3A5EB597D7F7A6, // "shop_call" - ShowExpResult = 0x6C9C2C4BF7EC3138, // "show_exp_result" - SimpleMessageChara = 0xEA08F03627CA535F, // "simple_message_chara" - SimpleMessagePokemon = 0x512653C97AF7F269, // "simple_message_pokemon" // UNUSED - SimpleMessageSystem = 0x388689E19B68D6F9, // "simple_message_system" - SleepWormhole = 0x6C50ACC5A3018C28, // "sleep_wormhole" - SoundEventPost = 0x53D11252A6F42576, // "sound_event_post" - SoundPostSaveStory = 0x2BAED33B647A894F, // "sound_post_save_story" - SoundPostSaveVillage = 0x58D65502484672BE, // "sound_post_save_village" - SoundSetRtpc = 0xAE39DFCB98B7358B, // "sound_set_rtpc" // UNUSED - SoundSetState = 0xA4C6918F875B40FD, // "sound_set_state" // UNUSED - SoundSituationMixer = 0x82EBFDB54C8107A5, // "sound_situation_mixer" - SpawnWildPokemon = 0x39A6CB761A05967B, // "spawn_wild_pokemon" - StartNsAi = 0xC2FC48F79D5F53BA, // "start_ns_ai" // UNUSED - StartNushiBattle = 0x081BF500D5709C9C, // "start_nushi_battle" - StartWormhole = 0x2156F9E8ED44730D, // "start_wormhole" - TerrainSuspend = 0xAEC1A8869FBFFAB1, // "terrain_suspend" - TimeChange = 0x48D69D8788B2FE61, // "time_change" - TimeLock = 0xF7911B293C7F980E, // "time_lock" - TimeRelease = 0x6A28CB95A4BBFF62, // "time_release" - TriggerCommandPreset = 0x8CD4CD78EA36EF55, // "trigger_command_preset" - WeatherOverrideEnd = 0x0B590FB0E4757ECE, // "weather_override_end" - WeatherOverrideStart = 0xD7000A2DA20F2AEB, // "weather_override_start - WeatherOverrideStartNowDepending = 0xE4B9EFCF8B1793D1, // "weather_override_start_now_depending" - WorkAdd = 0xB956CAA67E5EB58C, // "work_add" - WorkSet = 0x555FCEA6D6C83ADB, // "work_set" - - None = 0xCBF29CE484222645, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Event/TriggerType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Event/TriggerType8a.cs deleted file mode 100644 index e14057a5..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Event/TriggerType8a.cs +++ /dev/null @@ -1,49 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -#pragma warning disable RCS1154 // Sort enum members. - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum TriggerType8a : ulong -{ - AreaChange = 0x7E23ECD43CE201A1, // "area_change" - BattleLose = 0x054B378194CDEB91, // "battle_lose" - BattleWin = 0xB2EE750DBCD8FFD6, // "battle_win" - BgEvent = 0x64224581923358E9, // "bg_event" - BootUrankUpgrade = 0x77E1D0135FEDD0E0, // "boot_urank_upgrade" - CaptureFailedPoke = 0xC09BBA82558CCB11, // "capture_failed_poke" - CapturedEventPoke = 0x82DCDEC11E4B902C, // "captured_event_poke" - CapturedPoke = 0xF9DCAFF7B9A4A1B5, // "captured_poke" - DigHit = 0xDEDAFE9CD0903841, // "dig_hit" - DoorEvent = 0xF8026805B0390A1E, // "door_event" - EventBattleLose = 0x956AB57BCBE24AC2, // "event_battle_lose" - EventBattleWin = 0x78891EA1EB1719B7, // "event_battle_win" - FinishCraTutorial = 0xCB28FF671A2BF67C, // "finish_cra_tutorial" - FinishEventKisekaeHome = 0xEC5C94E0F6AF0025, // "finish_event_kisekae_home" - FinishEventScript = 0x2E632ED350D2BC4D, // "finish_event_script" - FinishFastTravel = 0x114FE10EEDD9D9BE, // "finish_fast_travel" - FinishNushiBattle = 0x3B78EA5ACF12B68F, // "finish_nushi_battle" - FinishRideMiniGame = 0x43264D2AEB95F420, // "finish_ride_mini_game" - FinishSelectArea = 0xAB29E81B22E196F1, // "finish_select_area" - FinishThrowMiniGame = 0x474D107BF9969EDC, // "finish_throw_mini_game" - GameOver = 0x57BA8020944AD222, // "game_over" - GameOverAfterward = 0x5F2F50327A48756D, // "game_over_afterward" - GetMkrg = 0x9FE3F0D2163599C7, // "get_mkrg" - NpcTalk = 0xAB00E1A6F5D27687, // "npc_talk" - PokeSelectMenuAfter = 0x3C6FC069B47DBF4C, // "poke_select_menu_after" - PosEnter = 0xBD5314EC693575D4, // "pos_enter" - PosExit = 0xC01E67CA2AAD4DFA, // "pos_exit" - PosStay = 0xDB75191D739E26DF, // "pos_stay" - ThrowNg = 0x63CFDE902FA005E7, // "throw_ng" - TrainerBanditLose = 0xA4E0055DFAB6E157, // "trainer_bandit_lose" - TrainerBanditWin = 0x2E11B56C5A55E9E8, // "trainer_bandit_win" - TrainerBattleLose = 0x7DACDFC0F3964597, // "trainer_battle_lose" - TrainerBattleWin = 0xB7942BC60882A228, // "trainer_battle_win" - WildPokeAvoidThrowable = 0xCAAD203D7ABFF4F6, // "wild_poke_avoid_throwable" - WildPokeEscape = 0xE22F524AAE64337F, // "wild_poke_escape" - WildPokeHitThrowable = 0x4A182F2782FFD34E, // "wild_poke_hit_throwable" - - None = 0xCBF29CE484222645, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/MassOutbreakTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/MassOutbreakTable8a.cs deleted file mode 100644 index f701f1c2..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/MassOutbreakTable8a.cs +++ /dev/null @@ -1,45 +0,0 @@ -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 MassOutbreakTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public MassOutbreak8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MassOutbreak8a : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ulong AlphaLevelBoostEntryHash { get; set; } // oybn_settings; all entries are identical so this is useless - [FlatBufferItem(1)] public int OutbreakChangeChance { get; set; } // rand(100) < value -> spawn/de-spawn - [FlatBufferItem(2)] public MassOutbreakCondition8a[] Table { get; set; } = Array.Empty(); // parameters to check if able to activate - [FlatBufferItem(3)] public string WorkValueName { get; set; } = string.Empty; // savefile block to set the result of new outbreak indexes - [FlatBufferItem(4)] public int RandEntryCount { get; set; } // rand value to write to the save file, and pick out which outbreak to spawn - [FlatBufferItem(5)] public int SpawnMinCount { get; set; } - [FlatBufferItem(6)] public int SpawnMaxCount { get; set; } - [FlatBufferItem(7)] public int ShinyRollBonus { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MassOutbreakCondition8a : 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; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroup8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroup8a.cs deleted file mode 100644 index eef3f9bf..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroup8a.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -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 -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public NewHugeOutbreakGroup8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NewHugeOutbreakGroup8a : IFlatBufferArchive -{ - [FlatBufferItem(00)] public ulong Group { get; set; } - [FlatBufferItem(01)] public NewHugeOutbreakDetail8a[] Table { get; set; } = Array.Empty(); // successive tables - [FlatBufferItem(02)] public ulong EncounterTableID { get; set; } - - public int SumTable => Table.Sum(z => z.Rate); - - public bool UsesTable(ulong tableID) - { - if (EncounterTableID == tableID) - return true; - var matches = Array.Find(Table, z => z.EncounterTableID == tableID); - return matches is not null; - } -} - -[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 EncounterTableID { get; set; } - [FlatBufferItem(8)] public int Rate { get; set; } - public override string ToString() => $"PlacementParameters(/* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {EncounterTableID:X16}, {Rate})"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery8a.cs deleted file mode 100644 index ca9da920..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakGroupLottery8a.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -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 -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public NewHugeOutbreakGroupLottery8a[] Table { get; set; } = Array.Empty(); - - public bool IsAreaGroup(PlacementSpawner8a spawner, NewHugeOutbreakGroupArchive8a groups, ulong tableID) - { - var hash = spawner.Field_20_Value.EncounterTableID; - var group = Array.Find(Table, z => z.LotteryGroup == hash); - if (group == null) - return false; - - return group.IsUseTable(groups, tableID); - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NewHugeOutbreakGroupLottery8a -{ - [FlatBufferItem(00)] public ulong LotteryGroup { get; set; } - [FlatBufferItem(01)] public NewHugeOutbreakGroupLotteryDetail8a[] TableCommon { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public NewHugeOutbreakGroupLotteryDetail8a[] TableRare1 { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public NewHugeOutbreakGroupLotteryDetail8a[] TableRare2 { get; set; } = Array.Empty(); - - public int SumTableCommon => TableCommon.Sum(z => z.Rate); - public int SumTableRare1 => TableRare1.Sum(z => z.Rate); - public int SumTableRare2 => TableRare2.Sum(z => z.Rate); - - public bool IsUseTable(NewHugeOutbreakGroupArchive8a groups, ulong tableID) - { - foreach (var lotteryChoice in TableCommon) - { - if (lotteryChoice.UsesTable(groups, tableID)) - return true; - } - foreach (var lotteryChoice in TableRare1) - { - if (lotteryChoice.UsesTable(groups, tableID)) - return true; - } - foreach (var lotteryChoice in TableRare2) - { - if (lotteryChoice.UsesTable(groups, tableID)) - return true; - } - return false; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NewHugeOutbreakGroupLotteryDetail8a -{ - [FlatBufferItem(00)] public ulong Group { get; set; } - [FlatBufferItem(01)] public int Rate { get; set; } - - public override string ToString() => $"{Group:X16}|{Rate}"; - - public bool UsesTable(NewHugeOutbreakGroupArchive8a groups, ulong tableID) - { - var lottery = Array.Find(groups.Table, z => z.Group == Group); - if (lottery is null) - return false; - return lottery.UsesTable(tableID); - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakLottery8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakLottery8a.cs deleted file mode 100644 index 3de85381..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakLottery8a.cs +++ /dev/null @@ -1,80 +0,0 @@ -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 -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public NewHugeOutbreakLottery8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NewHugeOutbreakLottery8a -{ - private const string Access = nameof(Access); - private const string MapSetting = nameof(MapSetting); - private const string OutbreakSetting = nameof(OutbreakSetting); - - [Category(Access), Description("Map hash")] - [FlatBufferItem(00)] public ulong Hash { get; set; } - - [Category(Access), Description("Map outbreak lottery name")] - [FlatBufferItem(01)] public string LotteryGroupString { get; set; } = string.Empty; - - [Category(MapSetting), Description("Percent chance a massive mass outbreak occurs for an area map if a mass outbreak is not generated.")] - [FlatBufferItem(02)] public int OutbreakChance { get; set; } - - [Category(MapSetting), Description("Minimum amount of outbreak spots to create.")] - [FlatBufferItem(03)] public int OutbreakTotalMin { get; set; } - - [Category(MapSetting), Description("Maximum amount of outbreak spots to create.")] - [FlatBufferItem(04)] public int OutbreakTotalMax { get; set; } - - [Category(MapSetting), Description("Number of outbreaks that use the Rare2 table.")] - [FlatBufferItem(05)] public int OutbreakRare2 { get; set; } - - [Category(MapSetting), Description("Number of outbreaks that use the Rare1 table.")] - [FlatBufferItem(06)] public int OutbreakRare1 { get; set; } - - [Category(OutbreakSetting), Description("Minimum number of Pokémon to spawn in the first wave.")] - [FlatBufferItem(07)] public int CountFirstMin { get; set; } - - [Category(OutbreakSetting), Description("Maximum number of Pokémon to spawn in the first wave.")] - [FlatBufferItem(08)] public int CountFirstMax { get; set; } - - [Category(OutbreakSetting), Description("Minimum number of Pokémon to spawn in the second wave.")] - [FlatBufferItem(09)] public int CountSecondMin { get; set; } - - [Category(OutbreakSetting), Description("Maximum number of Pokémon to spawn in the second wave.")] - [FlatBufferItem(10)] public int CountSecondMax { get; set; } - - [Category(MapSetting), Description("Chance to successfully upgrade an outbreak to have a second wave.")] // Stars are checked before berries - [FlatBufferItem(11)] public int ChanceExtraBonus { get; set; } - - [Category(MapSetting), Description("Chance for extra bonus outbreaks to be visible with a star. Tries Aguav Berry chance if failed.")] - [FlatBufferItem(12)] public int ChanceExtraVisibleStar { get; set; } - - [Category(MapSetting), Description("Chance to upgrade an outbreak to Aguav Berry if no second wave.")] - [FlatBufferItem(13)] public int ChanceAguavBerry { get; set; } - - [Category(OutbreakSetting), Description("Base shiny rolls.")] - [FlatBufferItem(14)] public int RollBonus { get; set; } - [FlatBufferItem(15)] public string[] SpawnerFlagNames { get; set; } = Array.Empty(); // all FSYS_NEW_OUTBREAK_AREA0#_# - - [Category(MapSetting), Description("List of outbreak total thresholds to determine minimum stars.")] - [FlatBufferItem(16)] public int[] OutbreakTotalThresholds { get; set; } = Array.Empty(); - - [Category(MapSetting), Description("List of star outbreak counts to give if an outbreak size is reached.")] - [FlatBufferItem(17)] public int[] StarOutbreaksPerThreshold { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit8a.cs deleted file mode 100644 index caacbc56..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/NewHuge/NewHugeOutbreakTimeLimit8a.cs +++ /dev/null @@ -1,29 +0,0 @@ -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 -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public NewHugeOutbreakTimeLimit8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NewHugeOutbreakTimeLimit8a -{ - [FlatBufferItem(00)] public int Duration { get; set; } - [FlatBufferItem(01)] public int Chance { get; set; } - [FlatBufferItem(02)] public int[] RemainingTimeWarning { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public int[] RemainingTimeStringIndex { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/OybnSettingTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/OybnSettingTable8a.cs deleted file mode 100644 index 9faa66de..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/OybnSettingTable8a.cs +++ /dev/null @@ -1,31 +0,0 @@ -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 OybnSettingTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public OybnSetting8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class OybnSetting8a -{ - [FlatBufferItem(00)] public ulong Hash { 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; } - [FlatBufferItem(04)] public int Field_04 { get; set; } - [FlatBufferItem(05)] public int Field_05 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementItemArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementItemArchive8a.cs deleted file mode 100644 index 3d717eff..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementItemArchive8a.cs +++ /dev/null @@ -1,51 +0,0 @@ -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 PlacementItemArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlacementItem8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementItem8a -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public ulong Field_01 { get; set; } - [FlatBufferItem(02)] public ulong Field_02 { get; set; } - [FlatBufferItem(03)] public PlacementItem8a_F03[] Field_03 { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementItem8a_F03 -{ - [FlatBufferItem(00)] public byte Field_00 { get; set; } - [FlatBufferItem(01)] public byte Field_01 { get; set; } - [FlatBufferItem(02)] public string Field_02 { get; set; } = string.Empty; - [FlatBufferItem(03)] public string Field_03 { get; set; } = string.Empty; - [FlatBufferItem(04)] public string Field_04 { get; set; } = string.Empty; - [FlatBufferItem(05)] public string Field_05 { get; set; } = string.Empty; - [FlatBufferItem(06)] public string Field_06 { get; set; } = string.Empty; - [FlatBufferItem(07)] public Vec3f Field_07 { get; set; } = new(); - [FlatBufferItem(08)] public PlacementItem8a_F08 Field_08 { get; set; } = new(); - [FlatBufferItem(09)] public Vec3f Field_09 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementItem8a_F08 -{ - [FlatBufferItem(00)] public byte Field_00 { get; set; } // unk - [FlatBufferItem(01)] public float Field_01 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocationArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocationArchive8a.cs deleted file mode 100644 index ae5d3d25..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementLocationArchive8a.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 PlacementLocationArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlacementLocation8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementMkrgTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementMkrgTable.cs deleted file mode 100644 index 2d2214e8..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementMkrgTable.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -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 PlacementMkrgTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlacementMkrgEntry[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementMkrgEntry -{ - [FlatBufferItem(0)] public string Identifier { get; set; } = string.Empty; - [FlatBufferItem(1)] public ulong Hash_01 { get; set; } - [FlatBufferItem(2)] public PlacementParameters8a[] Field_02 { get; set; } = Array.Empty(); - [FlatBufferItem(3)] public float Field_03 { get; set; } - [FlatBufferItem(4)] public float Field_04 { get; set; } - - public PlacementParameters8a Parameters - { - get { if (Field_02.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_02)}"); return Field_02[0]; } - set { if (Field_02.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_02)}"); Field_02[0] = value; } - } - - public override string ToString() => $"Mikaruge(\"{Identifier}\", 0x{Hash_01:X16}, {Parameters}, {Field_03}, {Field_04})"; - - public IEnumerable GetContainingLocations(IReadOnlyList locations) - { - var result = new List(); - foreach (var loc in locations) - { - if (!loc.IsNamedPlace) - continue; - if (loc.Contains(Parameters.Coordinates)) - result.Add(loc); - } - if (result.Count == 0) - result.Add(locations.First(l => l.IsNamedPlace)); // base area name - return result; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementParameters8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementParameters8a.cs deleted file mode 100644 index ceb133a7..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementParameters8a.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 PlacementParameters8a : 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 Vec3f Coordinates { get; set; } = new(); - [FlatBufferItem(8)] public Vec3f Rotation { get; set; } = new(); - [FlatBufferItem(9)] public Vec3f Scale { get; set; } = new(); - - public override string ToString() => $"PlacementParameters(/* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {Coordinates}, {Rotation}, {Scale})"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSearchItemTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSearchItemTable.cs deleted file mode 100644 index bb04ed20..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSearchItemTable.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -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 PlacementSearchItemTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlacementSearchItem[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementSearchItem -{ - [FlatBufferItem(0)] public string Identifier { get; set; } = string.Empty; - [FlatBufferItem(1)] public ulong Hash_01 { get; set; } - [FlatBufferItem(2)] public PlacementParameters8a[] Field_02 { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public string Field_03 { get; set; } = string.Empty; - [FlatBufferItem(04)] public string Field_04 { get; set; } = string.Empty; - [FlatBufferItem(05)] public int Rate { get; set; } - [FlatBufferItem(06)] public bool Field_06 { get; set; } // bool - [FlatBufferItem(07)] public bool Field_07 { get; set; } // bool - [FlatBufferItem(08)] public Vec3f Field_08 { get; set; } = new(); - [FlatBufferItem(09)] public byte Field_09 { get; set; } // bool - [FlatBufferItem(10)] public Vec3f Field_10 { get; set; } = new(); - [FlatBufferItem(11)] public bool Field_11 { get; set; } // bool - [FlatBufferItem(12)] public Vec3f Field_12 { get; set; } = new(); - [FlatBufferItem(13)] public bool Field_13 { get; set; } // bool - [FlatBufferItem(14)] public Vec3f Field_14 { get; set; } = new(); - [FlatBufferItem(15)] public bool Field_15 { get; set; } // bool - [FlatBufferItem(16)] public Vec3f Field_16 { get; set; } = new(); - [FlatBufferItem(17)] public bool Field_17 { get; set; } // bool - [FlatBufferItem(18)] public Vec3f Field_18 { get; set; } = new(); - [FlatBufferItem(19)] public bool Field_19 { get; set; } // bool - [FlatBufferItem(20)] public Vec3f Field_20 { get; set; } = new(); - [FlatBufferItem(21)] public bool Field_21 { get; set; } // bool - [FlatBufferItem(22)] public Vec3f Field_22 { get; set; } = new(); - [FlatBufferItem(23)] public bool Field_23 { get; set; } // bool - [FlatBufferItem(24)] public Vec3f Field_24 { get; set; } = new(); - [FlatBufferItem(25)] public bool Field_25 { get; set; } // bool - [FlatBufferItem(26)] public Vec3f Field_26 { get; set; } = new(); - - public PlacementParameters8a Parameters - { - get { if (Field_02.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_02)}"); return Field_02[0]; } - set { if (Field_02.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_02)}"); Field_02[0] = value; } - } - - public override string ToString() => $"SearchItem(\"{Identifier}\", 0x{Hash_01:X16}, {Parameters}, {Rate}, {Field_03}, {Field_04})"; - - public IEnumerable GetContainingLocations(IReadOnlyList locations) - { - var result = new List(); - foreach (var loc in locations) - { - if (!loc.IsNamedPlace) - continue; - if (loc.Contains(Parameters.Coordinates)) - result.Add(loc); - } - if (result.Count == 0) - result.Add(locations.First(l => l.IsNamedPlace)); // base area name - return result; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawner8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawner8a.cs deleted file mode 100644 index aebfeb9c..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawner8a.cs +++ /dev/null @@ -1,222 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using FlatSharp.Attributes; -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; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementSpawner8a : ISlotTableConsumer -{ - [FlatBufferItem(0)] public ulong SpawnerID { get; set; } - [FlatBufferItem(1)] public ulong Field_01 { get; set; } - [FlatBufferItem(2)] public PlacementParameters8a[] Field_02 { get; set; } = { new() }; - [FlatBufferItem(3)] public string Shape { get; set; } = string.Empty; // only set by Wormhole spawners - [FlatBufferItem(4)] public float Scalar { get; set; } // how big of a radius they can spawn in? - [FlatBufferItem(5)] public Vec3f Field_05 { get; set; } = new(); // always default values - [FlatBufferItem(6)] public Vec3f Field_06 { get; set; } = new(); // always default values - [FlatBufferItem(7)] public int MinSpawnCount { get; set; } - [FlatBufferItem(8)] public int MaxSpawnCount { get; set; } - [FlatBufferItem(9)] public int Field_09 { get; set; } // 2 for a single tangela spawner, and 8 for a single lickitung spawner - [FlatBufferItem(10)] public bool IsMassOutbreak { get; set; } - [FlatBufferItem(11)] public bool IsWater { get; set; } - [FlatBufferItem(12)] public bool IsSky { get; set; } - [FlatBufferItem(13)] public ulong GroupID { get; set; } - [FlatBufferItem(14)] public float Field_14 { get; set; } - [FlatBufferItem(15)] public float Field_15 { get; set; } - [FlatBufferItem(16)] public int ParentLink { get; set; } // 1 for Alpha parents, 2 for Children -- a [2] uses Behavior2 to alter [1]'s actions (run over to the player) to defend. - [FlatBufferItem(17)] public float Field_17 { get; set; } // always -1 - [FlatBufferItem(18)] public float Field_18 { get; set; } // always -1 - [FlatBufferItem(19)] public float Field_19 { get; set; } // always -1 - [FlatBufferItem(20)] public PlacementSpawnerF208a[] Field_20 { get; set; } = { new() }; - [FlatBufferItem(21)] public PlacementSpawnerF218a[] Field_21 { get; set; } = { new() }; - [FlatBufferItem(22)] public string[] PathToFollowIDs { get; set; } = { string.Empty }; - - public PlacementParameters8a Parameters - { - get { if (Field_02.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_02)}"); return Field_02[0]; } - set { if (Field_02.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_02)}"); Field_02[0] = value; } - } - - public PlacementSpawnerF208a Field_20_Value - { - get { if (Field_20.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_20)}"); return Field_20[0]; } - set { if (Field_20.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_20)}"); Field_20[0] = value; } - } - - public PlacementSpawnerF218a Field_21_Value - { - get { if (Field_21.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_21)}"); return Field_21[0]; } - set { if (Field_21.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_21)}"); Field_21[0] = value; } - } - - public string PathToFollowID - { - get { if (PathToFollowIDs.Length != 1) throw new ArgumentException($"Invalid {nameof(PathToFollowIDs)}"); return PathToFollowIDs[0]; } - set { if (PathToFollowIDs.Length != 1) throw new ArgumentException($"Invalid {nameof(PathToFollowIDs)}"); PathToFollowIDs[0] = value; } - } - - public IEnumerable GetIntersectingLocations(IReadOnlyList locations, float bias) - { - var c = Parameters.Coordinates; - return GetIntersectingLocations(locations, bias, c, Scalar); - } - - private static IEnumerable GetIntersectingLocations(IReadOnlyList locations, float bias, Vec3f c, float scalar) - { - var result = new List(); - foreach (var loc in locations) - { - if (!loc.IsNamedPlace) - continue; - if (loc.IntersectsSphere(c.X, c.Y, c.Z, scalar + bias)) - result.Add(loc); - } - - if (result.Count == 0) - result.Add(locations.First(l => l.IsNamedPlace)); // base area name - return result; - } - - public IEnumerable GetContainingLocations(IReadOnlyList locations) - { - var result = new List(); - foreach (var loc in locations) - { - if (!loc.IsNamedPlace) - continue; - if (loc.Contains(Parameters.Coordinates)) - result.Add(loc); - } - if (result.Count == 0) - result.Add(locations.First(l => l.IsNamedPlace)); // base area name - return result; - } - - private static IReadOnlyDictionary? _spawnerNameMap; - private static IReadOnlyDictionary GetSpawnerNameMap() => _spawnerNameMap ??= GenerateSpawnerNameMap(); - - private static IReadOnlyDictionary GenerateSpawnerNameMap() - { - var result = new Dictionary(); - - for (var i = 0; i < 10000; i++) - { - result[FnvHash.HashFnv1a_64($"{i:0000}")] = $"{i:0000}"; - result[FnvHash.HashFnv1a_64($"1{i:0000}")] = $"1{i:0000}"; - result[FnvHash.HashFnv1a_64($"02{i:0000}")] = $"02{i:0000}"; - result[FnvHash.HashFnv1a_64($"03{i:0000}")] = $"03{i:0000}"; - result[FnvHash.HashFnv1a_64($"4{i:0000}")] = $"4{i:0000}"; - result[FnvHash.HashFnv1a_64($"5{i:0000}")] = $"5{i:0000}"; - result[FnvHash.HashFnv1a_64($"ev{i:0000}")] = $"ev{i:0000}"; - result[FnvHash.HashFnv1a_64($"ex_{i:0000}")] = $"ex_{i:0000}"; - result[FnvHash.HashFnv1a_64($"eve_ex_{i:0000}")] = $"eve_ex_{i:0000}"; - - result[FnvHash.HashFnv1a_64($"huge_{i:0000}")] = $"huge_{i:0000}"; - - for (var j = 0; j < 20; j++) - { - result[FnvHash.HashFnv1a_64($"{i:0000}_{j:00}")] = $"{i:0000}_{j:00}"; - } - } - - for (var i = 0; i < 100; i++) - { - result[FnvHash.HashFnv1a_64($"area00_{i:00}")] = $"area00_{i:00}"; - result[FnvHash.HashFnv1a_64($"poke{i:00}")] = $"poke{i:00}"; - result[FnvHash.HashFnv1a_64($"sky{i:00}")] = $"sky{i:00}"; - result[FnvHash.HashFnv1a_64($"lnd_no_{i:00}")] = $"lnd_no_{i:00}"; - result[FnvHash.HashFnv1a_64($"sky_{i:00}")] = $"sky_{i:00}"; - result[FnvHash.HashFnv1a_64($"ex_mkrg_{i:00}")] = $"ex_mkrg_{i:00}"; - result[FnvHash.HashFnv1a_64($"ex_unnn_{i:00}")] = $"ex_unnn_{i:00}"; - result[FnvHash.HashFnv1a_64($"ex_trs_{i:00}")] = $"ex_trs_{i:00}"; - } - - result[FnvHash.HashFnv1a_64("ha_area01_s01_ev001")] = "ha_area01_s01_ev001"; - result[FnvHash.HashFnv1a_64("ha_area02_s02_ev001")] = "ha_area02_s02_ev001"; - result[FnvHash.HashFnv1a_64("ha_area02_s02_ev002")] = "ha_area02_s02_ev002"; - result[FnvHash.HashFnv1a_64("ha_area03_s03_ev001")] = "ha_area03_s03_ev001"; - result[FnvHash.HashFnv1a_64("ha_area04_ev001")] = "ha_area04_ev001"; - result[FnvHash.HashFnv1a_64("ha_area05_s03_ev001")] = "ha_area05_s03_ev001"; - - result[FnvHash.HashFnv1a_64("area03_s04_ev001")] = "area03_s04_ev001"; - result[FnvHash.HashFnv1a_64("area03_s04_ev002")] = "area03_s04_ev002"; - result[FnvHash.HashFnv1a_64("area03_s04_ev003")] = "area03_s04_ev003"; - result[FnvHash.HashFnv1a_64("area03_s04_ev004")] = "area03_s04_ev004"; - result[FnvHash.HashFnv1a_64("area03_s04_ev005")] = "area03_s04_ev005"; - - // 1.0.2 - result[FnvHash.HashFnv1a_64("ha_area01_s01_1000")] = "ha_area01_s01_1000"; - result[FnvHash.HashFnv1a_64("ha_area02_s02_1000")] = "ha_area02_s02_1000"; - result[FnvHash.HashFnv1a_64("ha_area05_s03_1000")] = "ha_area05_s03_1000"; - - for (var wh = 1; wh < 8; wh++) - { - for (var sub = 1; sub < 4; sub++) - { - for (var n = 1; n < 7; n++) - { - result[FnvHash.HashFnv1a_64($"main_whSpawner{wh:00}{sub:00}_{n:00}")] = $"main_whSpawner{wh:00}{sub:00}_{n:00}"; - result[FnvHash.HashFnv1a_64($"sub_whSpawner{wh:00}{sub:00}_{n:00}")] = $"sub_whSpawner{wh:00}{sub:00}_{n:00}"; - } - } - } - - return result; - } - - public string NameSummary - { - get - { - var map = GetSpawnerNameMap(); - if (map.TryGetValue(SpawnerID, out var name)) - return $"\"{name}\""; - - return $"0x{SpawnerID:X16}"; - } - } - - // lazy init - private static IReadOnlyDictionary? _groupNameMap; - private static IReadOnlyDictionary GetGroupNameMap() => _groupNameMap ??= GenerateGroupNameMap(); - - private static IReadOnlyDictionary GenerateGroupNameMap() - { - var result = new Dictionary(); - for (var i = 0; i < 100; i++) - { - var reg = $"grp{i:00}"; - var und = $"grp_{i:00}"; - result[FnvHash.HashFnv1a_64(und)] = und; - result[FnvHash.HashFnv1a_64(reg)] = reg; - } - result[0xCBF29CE484222645] = ""; - return result; - } - - public string GroupSummary - { - get - { - var map = GetGroupNameMap(); - if (map.TryGetValue(GroupID, out var name)) - return $"\"{name}\""; - - return $"0x{GroupID:X16}"; - } - } - - public override string ToString() => $"Spawner({NameSummary}, 0x{Field_01:X16}, {Parameters}, \"{Shape}\", {Scalar}, {Field_05}, {Field_06}, {MinSpawnCount}, {MaxSpawnCount}, {Field_09}, {IsMassOutbreak}, {IsWater}, {IsSky}, /* Group = */ {GroupSummary}, {Field_14}, {Field_15}, {ParentLink}, {Field_17}, {Field_18}, {Field_19}, {Field_20_Value}, {Field_21_Value}, {PathToFollowID})"; - - public bool UsesTable(ulong table) => Field_20_Value.EncounterTableID == table; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerData8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerData8a.cs deleted file mode 100644 index 1b6a4ec0..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerData8a.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 PlacementSpawnerArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlacementSpawner8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF208a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF208a.cs deleted file mode 100644 index 2ea1ca15..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementSpawnerF208a.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 PlacementSpawnerF208a : IHasCondition8a -{ - [FlatBufferItem(0)] public ulong EncounterTableID { get; set; } // TableID in EncounterTable8a - [FlatBufferItem(1)] public ConditionType8a ConditionTypeID { get; set; } - [FlatBufferItem(2)] public Condition8a ConditionID { get; set; } - [FlatBufferItem(3)] public string ConditionArg1 { get; set; } = string.Empty; - [FlatBufferItem(4)] public string ConditionArg2 { get; set; } = string.Empty; - [FlatBufferItem(5)] public string ConditionArg3 { get; set; } = string.Empty; - [FlatBufferItem(6)] public string ConditionArg4 { get; set; } = string.Empty; - [FlatBufferItem(7)] public string ConditionArg5 { get; set; } = string.Empty; - [FlatBufferItem(8)] public int BonusLevelMin { get; set; } - [FlatBufferItem(9)] public int BonusLevelMax { get; set; } - - public override string ToString() => $"Spawn_20(/* EncounterTableId = */ {EncounterTable8a.GetTableName(EncounterTableID)}, /* ConditionTypeID = */ {this.GetConditionTypeSummary()}, /* Condition = */ {this.GetConditionSummary()}, {BonusLevelMin}, {BonusLevelMax})"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementUnnnTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementUnnnTable.cs deleted file mode 100644 index b2ab178f..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Placement/PlacementUnnnTable.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -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 PlacementUnnnTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlacementUnnnEntry[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementUnnnEntry -{ - [FlatBufferItem(0)] public string Identifier { get; set; } = string.Empty; - [FlatBufferItem(1)] public ulong Hash_01 { get; set; } - [FlatBufferItem(2)] public PlacementParameters8a[] Field_03 { get; set; } = Array.Empty(); - [FlatBufferItem(3)] public ulong Hash_03 { get; set; } - [FlatBufferItem(4)] public int Number { get; set; } - [FlatBufferItem(5)] public bool Flag { get; set; } - - public PlacementParameters8a Parameters - { - get { if (Field_03.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_03)}"); return Field_03[0]; } - set { if (Field_03.Length != 1) throw new ArgumentException($"Invalid {nameof(Field_03)}"); Field_03[0] = value; } - } - - public IEnumerable GetIntersectingLocations(IReadOnlyList locations, float bias) - { - var c = Parameters.Coordinates; - return GetIntersectingLocations(locations, bias, c, 0); - } - - private static IEnumerable GetIntersectingLocations(IReadOnlyList locations, float bias, Vec3f c, float scalar) - { - var result = new List(); - foreach (var loc in locations) - { - if (!loc.IsNamedPlace) - continue; - if (loc.IntersectsSphere(c.X, c.Y, c.Z, scalar + bias)) - result.Add(loc); - } - - if (result.Count == 0) - result.Add(locations.First(l => l.IsNamedPlace)); // base area name - return result; - } - - public IEnumerable GetContainingLocations(IReadOnlyList locations) - { - var result = new List(); - foreach (var loc in locations) - { - if (!loc.IsNamedPlace) - continue; - if (loc.Contains(Parameters.Coordinates)) - result.Add(loc); - } - if (result.Count == 0) - result.Add(locations.First(l => l.IsNamedPlace)); // base area name - return result; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaBGMTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaBGMTable8a.cs deleted file mode 100644 index b79338cf..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaBGMTable8a.cs +++ /dev/null @@ -1,30 +0,0 @@ -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 AreaBGMTable8a -{ - [FlatBufferItem(00)] public ulong Hash { get; set; } - [FlatBufferItem(01)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(02)] public AreaBGM8a[] Entries { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaBGM8a -{ - [FlatBufferItem(00)] public int TimeStart { get; set; } - [FlatBufferItem(01)] public int TimeEnd { get; set; } - [FlatBufferItem(02)] public string StandardBGM { get; set; } = string.Empty; - [FlatBufferItem(03)] public string FirstBGM { get; set; } = string.Empty; - [FlatBufferItem(04)] public ulong FirstFlagHash { get; set; } //A flag from system_flags -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaInstance8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaInstance8a.cs deleted file mode 100644 index 05e94003..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaInstance8a.cs +++ /dev/null @@ -1,51 +0,0 @@ -using pkNX.Containers; -using System.Collections.Generic; - -namespace pkNX.Structures.FlatBuffers; - -// Not a FlatBuffer; wraps the fields into a single object. -public sealed class AreaInstance8a -{ - // Area Info - private readonly ResidentArea8a Area; - public readonly AreaInstance8a? ParentArea; - private readonly List Children = new(); - - public bool IsSubArea => ParentArea != null; - public IReadOnlyList SubAreas => Children; - public string AreaName => Area.AreaName; - - public string FriendlyAreaName => Area.FriendlyAreaName; - - // Encount - public EncounterTable8a[] Encounters => Area.Encounters; - - // Placement - public PlacementLocation8a[] Locations => Area.Locations; - public PlacementSpawner8a[] Spawners => Area.Spawners; - public PlacementSpawner8a[] Wormholes => Area.Wormholes; - public LandmarkItemSpawn8a[] LandItems => Area.LandItems; - public LandmarkItem8a[] LandMarks => Area.LandMarks; - public PlacementUnnnEntry[] Unown => Area.Unown; - public PlacementMkrgEntry[] Mikaruge => Area.Mikaruge; - public PlacementSearchItem[] SearchItem => Area.SearchItem; - - private AreaInstance8a(GFPack resident, AreaSettings8a settings, AreaInstance8a? parentArea = null) - { - // General area properties - Area = new ResidentArea8a(resident, settings); - ParentArea = parentArea; - Area.LoadInfo(); - } - public static AreaInstance8a Create(GFPack resident, ResidentAreaSet areaNameList, AreaSettingsTable8a settingsTable) - { - var parentSettings = settingsTable.Find(areaNameList.ParentName); - var parent = new AreaInstance8a(resident, parentSettings); - foreach (var child in areaNameList.SubAreas) - { - var childSettings = settingsTable.Find(child); - parent.Children.Add(new AreaInstance8a(resident, childSettings, parent)); - } - return parent; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaSettingsTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaSettingsTable8a.cs deleted file mode 100644 index b9e8b88a..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaSettingsTable8a.cs +++ /dev/null @@ -1,112 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -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 AreaSettingsTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public AreaSettings8a[] Table { get; set; } = Array.Empty(); - - public AreaSettings8a Find(string name) => Table.First(z => z.Name == name); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaSettings8a -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public string NameParent { get; set; } = string.Empty; - [FlatBufferItem(02)] public Vec3f Position { get; set; } = new(); - [FlatBufferItem(03)] public bool Flag_03 { get; set; } - [FlatBufferItem(04)] public bool Flag_04 { get; set; } - [FlatBufferItem(05)] public bool Flag_05 { get; set; } - [FlatBufferItem(06)] public bool Flag_06 { get; set; } - [FlatBufferItem(07)] public bool Flag_07 { get; set; } - [FlatBufferItem(08)] public bool Flag_08 { get; set; } - [FlatBufferItem(09)] public string NPC { get; set; } = string.Empty; - [FlatBufferItem(10)] public string NPCPokemon { get; set; } = string.Empty; - [FlatBufferItem(11)] public string BgParts { get; set; } = string.Empty; - [FlatBufferItem(12)] public string Emitter { get; set; } = string.Empty; - [FlatBufferItem(13)] public string Item { get; set; } = string.Empty; - [FlatBufferItem(14)] public string SearchItem { get; set; } = string.Empty; - [FlatBufferItem(15)] public string Spawners { get; set; } = string.Empty; - [FlatBufferItem(16)] public string Pos { get; set; } = string.Empty; - [FlatBufferItem(17)] public string BgEvent { get; set; } = string.Empty; - [FlatBufferItem(18)] public string Encounters { get; set; } = string.Empty; - [FlatBufferItem(19)] public string NavMesh { get; set; } = string.Empty; - [FlatBufferItem(20)] public string TerrainTable { get; set; } = string.Empty; - [FlatBufferItem(21)] public string NameOther { get; set; } = string.Empty; - [FlatBufferItem(22)] public bool Flag_22 { get; set; } - [FlatBufferItem(23)] public bool Flag_23 { get; set; } - [FlatBufferItem(24)] public string LandmarkItems { get; set; } = string.Empty; - [FlatBufferItem(25)] public string LandmarkItemSpawns { get; set; } = string.Empty; - [FlatBufferItem(26)] public string AttributeInfo { get; set; } = string.Empty; - [FlatBufferItem(27)] public string Locations { get; set; } = string.Empty; - [FlatBufferItem(28)] public string BattleStartPoint { get; set; } = string.Empty; - [FlatBufferItem(29)] public string SoundEvent { get; set; } = string.Empty; - [FlatBufferItem(30)] public string AreaCamera { get; set; } = string.Empty; - [FlatBufferItem(31)] public string TargetAI { get; set; } = string.Empty; - [FlatBufferItem(32)] public string Slot0 { get; set; } = string.Empty; - [FlatBufferItem(33)] public AreaBGMTable8a BGM { get; set; } = new(); - [FlatBufferItem(34)] public string Wormholes { get; set; } = string.Empty; - [FlatBufferItem(35)] public string WormholeSpawners { get; set; } = string.Empty; - [FlatBufferItem(36)] public string WormholeItems { get; set; } = string.Empty; - [FlatBufferItem(37)] public string OverViewDepth { get; set; } = string.Empty; - [FlatBufferItem(38)] public string RealTimeEventData { get; set; } = string.Empty; - [FlatBufferItem(39)] public string Mkrg { get; set; } = string.Empty; - [FlatBufferItem(40)] public string AreaWall { get; set; } = string.Empty; - [FlatBufferItem(41)] public string Balloon { get; set; } = string.Empty; - [FlatBufferItem(42)] public string UnownSpawners { get; set; } = string.Empty; - [FlatBufferItem(43)] public string MultiShapeSoundEvent { get; set; } = string.Empty; - [FlatBufferItem(44)] public ulong Field_44 { get; set; } - [FlatBufferItem(45)] public string Path { get; set; } = string.Empty; - [FlatBufferItem(46)] public string PopupEvent { get; set; } = string.Empty; - [FlatBufferItem(47)] public string Invisible { get; set; } = string.Empty; - [FlatBufferItem(48)] public string LocalWeather { get; set; } = string.Empty; - [FlatBufferItem(49)] public string SoundBank { get; set; } = string.Empty; - [FlatBufferItem(50)] public AreaSettings8a_F50 Field_50 { get; set; } = new(); - [FlatBufferItem(51)] public string Archive { get; set; } = string.Empty; - [FlatBufferItem(52)] public Vec3f Field_52 { get; set; } = new(); - [FlatBufferItem(53)] public Vec3f Field_53 { get; set; } = new(); - [FlatBufferItem(54)] public ulong VisibleFlagHash { get; set; } //A flag from system_works - [FlatBufferItem(55)] public bool Field_55 { get; set; } - - // Get the in game name of the area - public string FriendlyAreaName - { - get - { - return 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})", - }; - } - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaSettings8a_F50 -{ - [FlatBufferItem(0)] public int Field_00 { get; set; } - [FlatBufferItem(1)] public int Field_01 { get; set; } - [FlatBufferItem(2)] public int Field_02 { get; set; } - [FlatBufferItem(3)] public int Field_03 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaWeatherTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaWeatherTable8a.cs deleted file mode 100644 index f749e8f9..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/AreaWeatherTable8a.cs +++ /dev/null @@ -1,38 +0,0 @@ -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 AreaWeatherTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public AreaWeather8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaWeather8a -{ - [FlatBufferItem(00)] public ulong Hash { get; set; } - [FlatBufferItem(01)] public int MinDuration { get; set; } - [FlatBufferItem(02)] public int MaxDuration { get; set; } - [FlatBufferItem(03)] public int WeightSunny { get; set; } - [FlatBufferItem(04)] public int WeightCloudy { get; set; } - [FlatBufferItem(05)] public int WeightRain { get; set; } - [FlatBufferItem(06)] public int WeightSnow { get; set; } - [FlatBufferItem(07)] public int WeightDrought { get; set; } - [FlatBufferItem(08)] public int WeightFog { get; set; } - [FlatBufferItem(09)] public int WeightRainstorm { get; set; } - [FlatBufferItem(10)] public int WeightSnowstorm { get; set; } - - public int WeightTotal => WeightSunny + WeightCloudy + WeightRain + WeightSnow + WeightDrought + WeightFog + WeightRainstorm + WeightSnowstorm; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentArea8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentArea8a.cs deleted file mode 100644 index d800b1ff..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Resident/Editing/ResidentArea8a.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using pkNX.Containers; - -namespace pkNX.Structures.FlatBuffers; - -// Not a FlatBuffer; wraps the fields into a single object. -public sealed class ResidentArea8a -{ - public readonly AreaSettings8a Settings; - private readonly GFPack Resident; - - public ResidentArea8a(GFPack resident, AreaSettings8a settings) - { - Resident = resident; - Settings = settings; - } - - public string AreaName => Settings.Name; - public string FriendlyAreaName => Settings.FriendlyAreaName; - - // Encount - public EncounterTable8a[] Encounters { get; private set; } = Array.Empty(); - - // Placement - public PlacementLocation8a[] Locations { get; private set; } = Array.Empty(); - public PlacementSpawner8a[] Spawners { get; private set; } = Array.Empty(); - public PlacementSpawner8a[] Wormholes { get; private set; } = Array.Empty(); - public LandmarkItemSpawn8a[] LandItems { get; private set; } = Array.Empty(); - public LandmarkItem8a[] LandMarks { get; private set; } = Array.Empty(); - public PlacementUnnnEntry[] Unown { get; private set; } = Array.Empty(); - public PlacementMkrgEntry[] Mikaruge { get; private set; } = Array.Empty(); - public PlacementSearchItem[] SearchItem { get; private set; } = Array.Empty(); - - private T2[] TryRead(string path) where T1 : class, IFlatBufferArchive where T2 : class - { - var index = Resident.GetIndexFull(path); - if (index == -1) - return Array.Empty(); - - var data = Resident[index]; - return FlatBufferConverter.DeserializeFrom(data).Table; - } - - private void TryWrite(string path, byte[] obj) - { - var index = Resident.GetIndexFull(path); - if (index == -1) - return; - - Resident[index] = obj; - } - - private void TryWrite(string path, T1 obj) where T1 : class => - TryWrite(path, FlatBufferConverter.SerializeFrom(obj)); - - public void LoadInfo() - { - // Load encount - Encounters = TryRead(Settings.Encounters); - Locations = TryRead(Settings.Locations); - Spawners = TryRead(Settings.Spawners); - Wormholes = TryRead(Settings.WormholeSpawners); - LandItems = TryRead(Settings.LandmarkItemSpawns); - LandMarks = TryRead(Settings.LandmarkItems); - Unown = TryRead(Settings.UnownSpawners); - Mikaruge = TryRead(Settings.Mkrg); - SearchItem = TryRead(Settings.SearchItem); - } - - public void SaveInfo() - { - TryWrite(Settings.Encounters, new EncounterDataArchive8a { Table = Encounters }.Write()); - TryWrite(Settings.Locations, new PlacementLocationArchive8a { Table = Locations }.Write()); - TryWrite(Settings.Spawners, new PlacementSpawnerArchive8a { Table = Spawners }.Write()); - TryWrite(Settings.WormholeSpawners, new PlacementSpawnerArchive8a { Table = Wormholes }.Write()); - TryWrite(Settings.LandmarkItemSpawns, new LandmarkItemSpawnTable8a { Table = LandItems }.Write()); - TryWrite(Settings.LandmarkItems, new LandmarkItemTable8a { Table = LandMarks }.Write()); - TryWrite(Settings.UnownSpawners, new PlacementUnnnTable { Table = Unown }.Write()); - TryWrite(Settings.Mkrg, new PlacementMkrgTable { Table = Mikaruge }.Write()); - TryWrite(Settings.SearchItem, new PlacementSearchItemTable { Table = SearchItem }.Write()); - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterData8Archive.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterData8Archive.cs deleted file mode 100644 index e0ad5adc..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterData8Archive.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 EncounterDataArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public EncounterTable8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterEligiblityTraits8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterEligiblityTraits8a.cs deleted file mode 100644 index 29180aae..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterEligiblityTraits8a.cs +++ /dev/null @@ -1,41 +0,0 @@ -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 EncounterEligiblityTraits8a : IHasCondition8a, ISlotModifierTime, ISlotModifierWeather, ICloneable -{ - [FlatBufferItem(0)] public ConditionType8a ConditionTypeID { get; set; } = ConditionType8a.None; - [FlatBufferItem(1)] public Condition8a ConditionID { get; set; } = Condition8a.None; - [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(07)] public float TimeOfDayMultiplier_0 { get; set; } = -1; - [FlatBufferItem(08)] public float TimeOfDayMultiplier_1 { get; set; } = -1; - [FlatBufferItem(09)] public float TimeOfDayMultiplier_2 { get; set; } = -1; - [FlatBufferItem(10)] public float TimeOfDayMultiplier_3 { get; set; } = -1; - [FlatBufferItem(11)] public float WeatherMultiplier_1 { get; set; } = -1; - [FlatBufferItem(12)] public float WeatherMultiplier_2 { get; set; } = -1; - [FlatBufferItem(13)] public float WeatherMultiplier_3 { get; set; } = -1; - [FlatBufferItem(14)] public float WeatherMultiplier_4 { get; set; } = -1; - [FlatBufferItem(15)] public float WeatherMultiplier_5 { get; set; } = -1; - [FlatBufferItem(16)] public float WeatherMultiplier_6 { get; set; } = -1; - [FlatBufferItem(17)] public float WeatherMultiplier_7 { get; set; } = -1; - [FlatBufferItem(18)] public float WeatherMultiplier_8 { get; set; } = -1; - - public object Clone() - { - return MemberwiseClone(); - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplerArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplerArchive8a.cs deleted file mode 100644 index 4318ce8f..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplerArchive8a.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -using System.Linq; -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 EncounterMultiplierArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public EncounterMultiplier8a[] Table { get; set; } = Array.Empty(); - - public EncounterMultiplier8a GetEncounterMultiplier(EncounterSlot8a slot) - { - var result = GetEntry((ushort)slot.Species, (ushort)slot.Form); - if (result == null) - throw new ArgumentException($"Invalid Encounter Slot {slot.Species} - {slot.Form}"); - return result; - } - - public EncounterMultiplier8a GetEntry(ushort species, ushort form) - { - return Array.Find(Table, x => x.Species == species && x.Form == form) ?? - new EncounterMultiplier8a(); - } - - public bool HasEntry(ushort species, ushort form) - { - return Table.Any(x => x.Species == species && x.Form == form); - } - - public EncounterMultiplier8a AddEntry(ushort species, ushort form) - { - Debug.Assert(!HasEntry(species, form), "The encounter rate table already contains an entry for the same species and form!"); - - var entry = new EncounterMultiplier8a { Species = species, Form = form }; - Table = Table.Append(entry) - .OrderBy(x => x.Species) - .ThenBy(x => x.Form) - .ToArray(); - return entry; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplier8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplier8a.cs deleted file mode 100644 index 7af29387..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterMultiplier8a.cs +++ /dev/null @@ -1,57 +0,0 @@ -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 EncounterMultiplier8a : ISlotModifierTime, ISlotModifierWeather -{ - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public int Form { get; set; } - [FlatBufferItem(02)] public float TimeOfDayMultiplier_0 { get; set; } = -1; - [FlatBufferItem(03)] public float TimeOfDayMultiplier_1 { get; set; } = -1; - [FlatBufferItem(04)] public float TimeOfDayMultiplier_2 { get; set; } = -1; - [FlatBufferItem(05)] public float TimeOfDayMultiplier_3 { get; set; } = -1; - [FlatBufferItem(06)] public float WeatherMultiplier_1 { get; set; } = -1; - [FlatBufferItem(07)] public float WeatherMultiplier_2 { get; set; } = -1; - [FlatBufferItem(08)] public float WeatherMultiplier_3 { get; set; } = -1; - [FlatBufferItem(09)] public float WeatherMultiplier_4 { get; set; } = -1; - [FlatBufferItem(10)] public float WeatherMultiplier_5 { get; set; } = -1; - [FlatBufferItem(11)] public float WeatherMultiplier_6 { get; set; } = -1; - [FlatBufferItem(12)] public float WeatherMultiplier_7 { get; set; } = -1; - [FlatBufferItem(13)] public float WeatherMultiplier_8 { get; set; } = -1; - - public float GetTimeMultiplier(int index) => index switch - { - 0 => TimeOfDayMultiplier_0, - 1 => TimeOfDayMultiplier_1, - 2 => TimeOfDayMultiplier_2, - 3 => TimeOfDayMultiplier_3, - _ => throw new ArgumentOutOfRangeException(nameof(index)), - }; - - public float GetWeatherMultiplier(int index) => index switch - { - 0 => 1.0f, // "No Weather" results in no modification of rate for all species/forms - 1 => WeatherMultiplier_1, - 2 => WeatherMultiplier_2, - 3 => WeatherMultiplier_3, - 4 => WeatherMultiplier_4, - 5 => WeatherMultiplier_5, - 6 => WeatherMultiplier_6, - 7 => WeatherMultiplier_7, - 8 => WeatherMultiplier_8, - _ => throw new ArgumentOutOfRangeException(nameof(index)), - }; - - public bool HasTimeModifier(int index) => GetTimeMultiplier(index) != -1.0f; - public bool HasWeatherModifier(int index) => index != 0 && GetWeatherMultiplier(index) != -1.0f; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterOybnTraits8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterOybnTraits8a.cs deleted file mode 100644 index e46b8e15..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterOybnTraits8a.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 EncounterOybnTraits8a : ICloneable -{ - [FlatBufferItem(00)] public bool Oybn1 { get; set; } - [FlatBufferItem(01)] public bool Oybn2 { get; set; } - [FlatBufferItem(02)] public bool Field_02 { get; set; } - [FlatBufferItem(03)] public bool Field_03 { get; set; } - - public bool IsOybnAny => Oybn1 || Oybn2 || Field_02 || Field_03; - - public object Clone() - { - return MemberwiseClone(); - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterSlot8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterSlot8a.cs deleted file mode 100644 index aacf27ae..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterSlot8a.cs +++ /dev/null @@ -1,143 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp.Attributes; -using pkNX.Containers; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterSlot8a : ICloneable -{ - public override string ToString() => $"{(Species)Species}{(Form == 0 ? "" : $"-{Form}")}{(Oybn.IsOybnAny ? "*" : "")} - {BaseProbability}={ShinyLock}"; - - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public ulong SlotID { get; set; } - [FlatBufferItem(02)] public int Gender { get; set; } = -1; - [FlatBufferItem(03)] public int Form { get; set; } - [FlatBufferItem(04)] public ShinyType8a ShinyLock { get; set; } - [FlatBufferItem(05)] public AbilityType8a AbilityRandType { get; set; } - [FlatBufferItem(06)] public NatureType8a Nature { get; set; } = NatureType8a.Random; - [FlatBufferItem(07)] public int Height { get; set; } = -1; - [FlatBufferItem(08)] public int Weight { get; set; } = -1; - [FlatBufferItem(09)] public bool Field_09 { get; set; } - [FlatBufferItem(10)] public bool Field_10 { get; set; } - [FlatBufferItem(11)] public bool Field_11 { get; set; } - [FlatBufferItem(12)] public bool Field_12 { get; set; } - [FlatBufferItem(13)] public int GV_HP { get; set; } = -1; - [FlatBufferItem(14)] public int GV_ATK { get; set; } = -1; - [FlatBufferItem(15)] public int GV_DEF { get; set; } = -1; - [FlatBufferItem(16)] public int GV_SPA { get; set; } = -1; - [FlatBufferItem(17)] public int GV_SPD { get; set; } = -1; - [FlatBufferItem(18)] public int GV_SPE { get; set; } = -1; - [FlatBufferItem(19)] public int IV_HP { get; set; } = -1; - [FlatBufferItem(20)] public int IV_ATK { get; set; } = -1; - [FlatBufferItem(21)] public int IV_DEF { get; set; } = -1; - [FlatBufferItem(22)] public int IV_SPA { get; set; } = -1; - [FlatBufferItem(23)] public int IV_SPD { get; set; } = -1; - [FlatBufferItem(24)] public int IV_SPE { get; set; } = -1; - [FlatBufferItem(25)] public int NumPerfectIvs { get; set; } - [FlatBufferItem(26)] public string Behavior1 { get; set; } = string.Empty; - [FlatBufferItem(27)] public string Behavior2 { get; set; } = string.Empty; - [FlatBufferItem(28)] public byte Field_28_AffectsLottery { get; set; } - [FlatBufferItem(29)] public int BaseProbability { get; set; } - [FlatBufferItem(30)] public int OverrideMinLevel { get; set; } - [FlatBufferItem(31)] public int OverrideMaxLevel { get; set; } - [FlatBufferItem(32)] public int Field_32 { get; set; } - [FlatBufferItem(33)] public bool HasMoveset { get; set; } - [FlatBufferItem(34)] public int Move1 { get; set; } - [FlatBufferItem(35)] public int Move2 { get; set; } - [FlatBufferItem(36)] public int Move3 { get; set; } - [FlatBufferItem(37)] public int Move4 { get; set; } - [FlatBufferItem(38)] public bool Move1Mastered { get; set; } - [FlatBufferItem(39)] public bool Move2Mastered { get; set; } - [FlatBufferItem(40)] public bool Move3Mastered { get; set; } - [FlatBufferItem(41)] public bool Move4Mastered { get; set; } - [FlatBufferItem(42)] public string Unused { get; set; } = string.Empty; - [FlatBufferItem(43)] public int Field_43_Func_1A25908 { get; set; } - [FlatBufferItem(44)] public bool Field_44_SetsPropTo100Not8000 { get; set; } - [FlatBufferItem(45)] public EncounterEligiblityTraits8a Eligibility { get; set; } = new(); - [FlatBufferItem(46)] public EncounterOybnTraits8a Oybn { get; set; } = new(); - - public object Clone() - { - var slot = (EncounterSlot8a)MemberwiseClone(); - slot.Eligibility = (EncounterEligiblityTraits8a)Eligibility.Clone(); - slot.Oybn = (EncounterOybnTraits8a)Oybn.Clone(); - return slot; - } - - public (bool forced, int min, int max) GetLevels(int min, int max) - { - bool force = false; - if (OverrideMinLevel is > 0 and <= 100) - { - force = true; - min = OverrideMinLevel; - } - if (OverrideMaxLevel is > 0 and <= 100) - { - force = true; - max = OverrideMaxLevel; - } - return (force, min, max); - } - - public float GetTimeModifier(int time, EncounterMultiplier8a default_mults) - { - // If the slot has defined an override factor, use it; otherwise, fall back on the default multiplier for (species, form). - if (Eligibility.HasTimeModifier(time)) - return Eligibility.GetTimeMultiplier(time); - if (default_mults.HasTimeModifier(time)) - return default_mults.GetTimeMultiplier(time); - return 1.0f; - } - - public float GetWeatherModifier(int weather, EncounterMultiplier8a default_mults) - { - // If the slot has defined an override factor, use it; otherwise, fall back on the default multiplier for (species, form). - if (Eligibility.HasWeatherModifier(weather)) - return Eligibility.GetWeatherMultiplier(weather); - if (default_mults.HasWeatherModifier(weather)) - return default_mults.GetWeatherMultiplier(weather); - return 1.0f; - } - - // lazy init - private static Dictionary? _slotNameMap; - private static IReadOnlyDictionary GetSlotNameMap() => _slotNameMap ??= GenerateTableMap(); - - private static Dictionary GenerateTableMap() - { - var result = new Dictionary(); - for (var i = 0; i < 1000; i++) - { - var life = $"life{i:000}"; - var pm = $"pm{i:0000}"; - result[FnvHash.HashFnv1a_64(life)] = life; - result[FnvHash.HashFnv1a_64(pm)] = pm; - } - for (var i = 0; i < 100; i++) - { - var poke = $"poke{i:00}"; - result[FnvHash.HashFnv1a_64(poke)] = poke; - } - return result; - } - - public static string GetSlotName(ulong slotId) - { - var map = GetSlotNameMap(); - if (map.TryGetValue(slotId, out var name)) - return $"\"{name}\""; - return $"0x{slotId:X16}"; - } - - public string SlotName => GetSlotName(SlotID); - - public void ClearMoves() - { - Move1 = Move2 = Move3 = Move4 = 0; - Move1Mastered = Move2Mastered = Move3Mastered = Move4Mastered = false; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterTable8a.cs deleted file mode 100644 index f1c6ce67..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/EncounterTable8a.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp.Attributes; -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; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterTable8a -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public int MinLevel { get; set; } - [FlatBufferItem(2)] public int MaxLevel { get; set; } - [FlatBufferItem(3)] public EncounterSlot8a[] Table { get; set; } = Array.Empty(); - - // lazy init - private static Dictionary? _tableNameMap; - private static IReadOnlyDictionary GetTableNameMap() => _tableNameMap ??= GenerateTableMap(); - - private static Dictionary GenerateTableMap() - { - var result = new Dictionary - { - [0xCBF29CE484222645] = "", - }; - - var prefixes = new[] { "eve", "fly", "gmk", "lnd", "mas", "oyb", "swm", "whl" }; - var kinds = new[] { "ex", "no", "ra" }; - foreach (var prefix in prefixes) - { - foreach (var kind in kinds) - { - for (var i = 0; i < 150; i++) - { - var name = $"{prefix}_{kind}_{i:00}"; - var hash = FnvHash.HashFnv1a_64(name); - result[hash] = name; - } - } - } - - for (var area = 0; area < 6; area++) - { - for (var i = 0; i < 10; i++) - { - result[FnvHash.HashFnv1a_64($"sky_area{area}_{i:00}")] = $"sky_area{area}_{i:00}"; - } - } - - result[FnvHash.HashFnv1a_64("eve_ex_16_b")] = "eve_ex_16_b"; - result[FnvHash.HashFnv1a_64("eve_ex_17_b")] = "eve_ex_17_b"; - result[FnvHash.HashFnv1a_64("eve_ex_18_b")] = "eve_ex_18_b"; - - var gimmicks = new[] { "no", "tree", "rock", "crystal", "snow", "box" }; - foreach (var gimmick in gimmicks) - { - for (var i = 0; i < 100; i++) - { - result[FnvHash.HashFnv1a_64($"gmk_{gimmick}_{i:00}")] = $"gmk_{gimmick}_{i:00}"; - for (var j = 0; j < 3; j++) - { - result[FnvHash.HashFnv1a_64($"gmk_{gimmick}_{i:00}_{j:00}")] = $"gmk_{gimmick}_{i:00}_{j:00}"; - for (var k = 0; k < 3; k++) - { - result[FnvHash.HashFnv1a_64($"gmk_{gimmick}_{i:00}{j:00}_{k:00}")] = $"gmk_{gimmick}_{i:00}{j:00}_{k:00}"; - } - } - } - } - - return result; - } - - public static string GetTableName(ulong tableId) - { - var map = GetTableNameMap(); - if (map.TryGetValue(tableId, out var name)) - return $"\"{name}\""; - return $"0x{tableId:X16}"; - } - - public string TableName => GetTableName(TableID); - - public override string ToString() => $"{TableName} (Lv. {MinLevel}-{MaxLevel})"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierWeather.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierWeather.cs deleted file mode 100644 index d8ac6b8b..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Slots/ISlotModifierWeather.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; - -namespace pkNX.Structures.FlatBuffers; - -public interface ISlotModifierWeather -{ - float WeatherMultiplier_1 { get; set; } - float WeatherMultiplier_2 { get; set; } - float WeatherMultiplier_3 { get; set; } - float WeatherMultiplier_4 { get; set; } - float WeatherMultiplier_5 { get; set; } - float WeatherMultiplier_6 { get; set; } - float WeatherMultiplier_7 { get; set; } - float WeatherMultiplier_8 { get; set; } -} - -public static class SlotModifierWeatherExtensions -{ - public static float GetWeatherMultiplier(this ISlotModifierWeather x, int index) => index switch - { - 0 => 1.0f, // "No Weather" results in no modification of rate for all species/forms - 1 => x.WeatherMultiplier_1, - 2 => x.WeatherMultiplier_2, - 3 => x.WeatherMultiplier_3, - 4 => x.WeatherMultiplier_4, - 5 => x.WeatherMultiplier_5, - 6 => x.WeatherMultiplier_6, - 7 => x.WeatherMultiplier_7, - 8 => x.WeatherMultiplier_8, - _ => throw new ArgumentOutOfRangeException(nameof(index)), - }; - - public static bool HasWeatherModifier(this ISlotModifierWeather w, int index) => index != 0 && w.GetWeatherMultiplier(index) != -1.0f; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8a.cs deleted file mode 100644 index 4ac9aaa7..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8a.cs +++ /dev/null @@ -1,21 +0,0 @@ -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 EventEncount8a -{ - [FlatBufferItem(0)] public string EncounterName { get; set; } = string.Empty; - [FlatBufferItem(1)] public string Field_01 { get; set; } = string.Empty; - [FlatBufferItem(2)] public int Field_02 { get; set; } // All Entries have empty - [FlatBufferItem(3)] public EventEncountPoke8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8aArchive.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8aArchive.cs deleted file mode 100644 index 7e9b05f4..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncount8aArchive.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 EventEncount8aArchive : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public EventEncount8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncountPoke8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncountPoke8a.cs deleted file mode 100644 index f68b31a7..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Field/Static/EventEncountPoke8a.cs +++ /dev/null @@ -1,75 +0,0 @@ -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 EventEncountPoke8a -{ - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public int Form { get; set; } - [FlatBufferItem(02)] public int Gender { get; set; } - [FlatBufferItem(03)] public ShinyType8a ShinyLock { get; set; } - [FlatBufferItem(04)] public int Level { get; set; } - [FlatBufferItem(05)] public int AbilityRandType { get; set; } - [FlatBufferItem(06)] public int Nature { get; set; } - [FlatBufferItem(07)] public int Height { get; set; } - [FlatBufferItem(08)] public int Weight { get; set; } - [FlatBufferItem(09)] public bool Field_09 { get; set; } - [FlatBufferItem(10)] public bool Field_10 { get; set; } - [FlatBufferItem(11)] public bool Field_11 { get; set; } - [FlatBufferItem(12)] public int Field_12 { get; set; } - [FlatBufferItem(13)] public string Field_13 { get; set; } = string.Empty; - [FlatBufferItem(14)] public string Field_14 { get; set; } = string.Empty; - [FlatBufferItem(15)] public string Field_15 { get; set; } = string.Empty; - [FlatBufferItem(16)] public int ExperiencePoints { get; set; } - [FlatBufferItem(17)] public bool IsOybn { get; set; } - [FlatBufferItem(18)] public int Move1 { get; set; } - [FlatBufferItem(19)] public bool Mastered1 { get; set; } - [FlatBufferItem(20)] public int Move2 { get; set; } - [FlatBufferItem(21)] public bool Mastered2 { get; set; } - [FlatBufferItem(22)] public int Move3 { get; set; } - [FlatBufferItem(23)] public bool Mastered3 { get; set; } - [FlatBufferItem(24)] public int Move4 { get; set; } - [FlatBufferItem(25)] public bool Mastered4 { get; set; } - [FlatBufferItem(26)] public int IV_HP { get; set; } - [FlatBufferItem(27)] public int IV_ATK { get; set; } - [FlatBufferItem(28)] public int IV_DEF { get; set; } - [FlatBufferItem(29)] public int IV_SPA { get; set; } - [FlatBufferItem(30)] public int IV_SPD { get; set; } - [FlatBufferItem(31)] public int IV_SPE { get; set; } - [FlatBufferItem(32)] public int NumPerfectIvs { get; set; } - [FlatBufferItem(33)] public int GV_HP { get; set; } - [FlatBufferItem(34)] public int GV_ATK { get; set; } - [FlatBufferItem(35)] public int GV_DEF { get; set; } - [FlatBufferItem(36)] public int GV_SPA { get; set; } - [FlatBufferItem(37)] public int GV_SPD { get; set; } - [FlatBufferItem(38)] public int GV_SPE { get; set; } - - public bool HasMoveset => Move1 != 0; - public bool HasGVs => GV_HP != 0 || GV_ATK != 0 || GV_DEF != 0 || GV_SPA != 0 || GV_SPD != 0 || GV_SPE != 0; - - public string Dump(string[] speciesNames, string argEncounterName) - { - var natureStr = Nature == -1 ? "" : $", Nature = (int){(NatureType8a)Nature}"; - var shinyStr = $", Shiny = {ShinyLock}"; - var gvStr = ""; - if (HasGVs) - gvStr = $", GVs = new[]{{{GV_HP},{GV_ATK},{GV_DEF},{GV_SPE},{GV_SPA},{GV_SPD}}}"; - - var moves = !HasMoveset ? "" : $", Moves = new[] {{{Move1:000},{Move2:000},{Move3:000},{Move4:000}}}"; - var mastery = !HasMoveset ? "" : $", Mastery = new[] {{{Mastered1.ToString().ToLower()},{Mastered2.ToString().ToLower()},{Mastered3.ToString().ToLower()},{Mastered4.ToString().ToLower()}}}"; - var alpha = !IsOybn ? "" : ", IsAlpha = true"; - var genderStr = Gender == -1 ? "" : $", Gender = {Gender}"; - var iv = NumPerfectIvs == 0 ? "" : $", FlawlessIVCount = {NumPerfectIvs}"; - string comment = $"// {argEncounterName}: {speciesNames[Species]}{(Form == 0 ? "" : $"-{Form}")}"; - return $"new({Species:000},{Form:000},{Level:00},{Height},{Weight}) {{ Location = -01{shinyStr}{alpha}{genderStr}{natureStr}{iv}{gvStr}{moves}{mastery} }}, {comment}"; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/KeyAssignmentTable.cs b/pkNX.Structures.FlatBuffers/Arceus/KeyAssignmentTable.cs deleted file mode 100644 index c4a56f1e..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/KeyAssignmentTable.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 KeyAssignmentTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public KeyAssignment[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class KeyAssignment -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public string[] Field_01 { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public byte Field_02 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/LbPointsTable.cs b/pkNX.Structures.FlatBuffers/Arceus/LbPointsTable.cs deleted file mode 100644 index bb8179ec..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/LbPointsTable.cs +++ /dev/null @@ -1,31 +0,0 @@ -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 LbPointsTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public LbPointsInfo[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LbPointsInfo -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public int Field_04 { get; set; } - [FlatBufferItem(05)] public ulong Field_05 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/MoveShopTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/MoveShopTable8a.cs deleted file mode 100644 index f22ed2b8..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/MoveShopTable8a.cs +++ /dev/null @@ -1,29 +0,0 @@ -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 MoveShopTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public MoveShopIndex[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MoveShopIndex -{ - [FlatBufferItem(0)] public int Index { get; set; } - [FlatBufferItem(1)] public int Move { get; set; } - [FlatBufferItem(2)] public int Price { get; set; } - [FlatBufferItem(3)] public ulong Hash { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelSet8a.cs b/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelSet8a.cs deleted file mode 100644 index bdac45c4..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelSet8a.cs +++ /dev/null @@ -1,69 +0,0 @@ -using FlatSharp.Attributes; -using System; -using System.ComponentModel; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NPCModelSet8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public NPCModelSetEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NPCModelSetEntry8a -{ - [FlatBufferItem(00)] public NPCModelType8a NPCModelHash { get; set; } - [FlatBufferItem(01)] public string NPCIndex { get; set; } = string.Empty; - [FlatBufferItem(02)] public NPCResidentType8a NPCResidentHash { get; set; } - [FlatBufferItem(03)] public NPCModelAnimations Animations { get; set; } = new(); - [FlatBufferItem(04)] public NPCModelMeshes Meshes { get; set; } = new(); - [FlatBufferItem(05)] public NPCModelRigs Rigs { get; set; } = new(); - [FlatBufferItem(06)] public string Attachment0 { get; set; } = string.Empty; - [FlatBufferItem(07)] public string Attachment1 { get; set; } = string.Empty; - [FlatBufferItem(08)] public string Attachment2 { get; set; } = string.Empty; - [FlatBufferItem(09)] public NPCModelColorConfig Colors { get; set; } = new(); - [FlatBufferItem(10)] public string ValueListID { get; set; } = string.Empty; - [FlatBufferItem(11)] public uint[] Field_11 { get; set; } = Array.Empty(); - [FlatBufferItem(12)] public string ArchivePath { get; set; } = string.Empty; - [FlatBufferItem(13)] public float Field_13 { get; set; } - -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NPCModelAnimations -{ - [FlatBufferItem(00)] public string[] FolderPath { get; set; } = Array.Empty();//First value is base, usually empty string - [FlatBufferItem(01)] public string[] AnimationPath { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NPCModelMeshes -{ - [FlatBufferItem(00)] public string[] FolderPath { get; set; } = Array.Empty(); //First value is base, usually empty string - [FlatBufferItem(01)] public string[] MeshPath { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public string[] MeshFlags { get; set; } = Array.Empty(); //Can hide certain meshes like "hide_a_mesh" -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NPCModelRigs -{ - [FlatBufferItem(00)] public string[] Rigs { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NPCModelColorConfig -{ - [FlatBufferItem(00)] public string[] Slots { get; set; } = Array.Empty(); // First value is base, usually empty string - [FlatBufferItem(01)] public uint[] R1 { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public uint[] G1 { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public uint[] B1 { get; set; } = Array.Empty(); - [FlatBufferItem(04)] public uint[] R2 { get; set; } = Array.Empty(); - [FlatBufferItem(05)] public uint[] G2 { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public uint[] B2 { get; set; } = Array.Empty(); - [FlatBufferItem(07)] public uint[] R3 { get; set; } = Array.Empty(); - [FlatBufferItem(08)] public uint[] G3 { get; set; } = Array.Empty(); - [FlatBufferItem(09)] public uint[] B3 { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelType8a.cs deleted file mode 100644 index 9fbd3c32..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCModelType8a.cs +++ /dev/null @@ -1,249 +0,0 @@ -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -#pragma warning disable RCS1154 // Sort enum members. - -[FlatBufferEnum(typeof(ulong))] -public enum NPCModelType8a : ulong -{ - tr0002_00_doctor_b_m = 0x015db2a7cffba36d, //tr0002_00_doctor_b_m - tr0003_00_ouji_m = 0xfa390faa8a4c1195, //tr0003_00_ouji_m - tr0004_00_hime_f = 0xff11e824ea817ea9, //tr0004_00_hime_f - tr0005_00_boss1_m = 0x37a1055c1b515da2, //tr0005_00_boss1_m - tr0006_00_boss2_m = 0xabdd9bc2cbc5c8e0, //tr0006_00_boss2_m - tr0007_00_si1_m = 0x2e28bdf747ec942b, //tr0007_00_si1_m - tr0008_00_si2_m = 0x44f6b0dd54e4a9d9, //tr0008_00_si2_m - tr0009_00_ninja1_m = 0xe18dacd6c3fd8cdd, //tr0009_00_ninja1_m - tr0009_00_ninja1_m_item = 0x5f81bc8b17a32525, //tr0009_00_ninja1_m_item - tr0010_00_ninja2_m = 0x161c054da3ba2366, //tr0010_00_ninja2_m - tr0011_00_miko_f = 0xce4088951c0ec456, //tr0011_00_miko_f - tr0012_00_captain1_f = 0xb311d8f4aa587894, //tr0012_00_captain1_f - tr0013_00_captain2_m = 0x88e173dce0a38833, //tr0013_00_captain2_m - tr0014_00_captain3_f = 0x3f767c4cb5b03854, //tr0014_00_captain3_f - tr0015_00_captain4_f = 0x76b41752fd20f1f2, //tr0015_00_captain4_f - tr0016_00_captain5_m = 0x982521202cb9122d, //tr0016_00_captain5_m - tr0017_00_captain6_f = 0xd10fbb6753708e16, //tr0017_00_captain6_f - tr0018_00_captain7_m = 0x12a13d7cadba0d3d, //tr0018_00_captain7_m - tr0019_00_captain8_m = 0x6dd37e1e32b0acd7, //tr0019_00_captain8_m - tr0020_00_captain9_m = 0xf38b82cb739db028, //tr0020_00_captain9_m - tr0021_00_captain10_f = 0x9529c8e4c72631d4, //tr0021_00_captain10_f - tr0022_00_guard_leader_f = 0xd877e54f29fa9593, //tr0022_00_guard_leader_f - tr0023_00_guard_lower_m = 0xdba19996b0fb2659, //tr0023_00_guard_lower_m - tr0023_00_guard_lower_m_item = 0x0f3c78f2e54ec949, //tr0023_00_guard_lower_m_item - tr0024_00_guard_lower_f = 0x0fcf1af5301681db, //tr0024_00_guard_lower_f - tr0024_00_guard_lower_f_item = 0xd85aa84c35dfb283, //tr0024_00_guard_lower_f_item - tr0025_00_trade_boss_m = 0x7a07ae18e03af6e6, //tr0025_00_trade_boss_m - tr0027_00_me_leader_f = 0x5c3fa828bc5ed4e5, //tr0027_00_me_leader_f - tr0031_00_trade_m = 0x1ec8edf64a8343a1, //tr0031_00_trade_m - tr0032_00_trade_f = 0xc8e1debc5d26dbab, //tr0032_00_trade_f - tr0033_00_bandit_first_f = 0x35c5c774238280c5, //tr0033_00_bandit_first_f - tr0034_00_bandit_second_f = 0xb822d32541dbb044, //tr0034_00_bandit_second_f - tr0035_00_bandit_third_f = 0x6d0bd5332e9c75a0, //tr0035_00_bandit_third_f - tr0036_00_senpai_m = 0x2d992cf818c93910, //tr0036_00_senpai_m - tr0037_00_senpai_f = 0xfca68432c5c9b79e, //tr0037_00_senpai_f - tr0038_00_bu_leader_f = 0x5dc0bb9fd426f508, //tr0038_00_bu_leader_f - cc0001_00_re_leader_f = 0x1408408a4bb9e9c8, //cc0001_00_re_leader_f - cc0002_00_clothowner_f = 0x16b93073905e4901, //cc0002_00_clothowner_f - cc0004_00_toolowner_m = 0x5ef6f1d24e71c946, //cc0004_00_toolowner_m - cc0005_00_ag_leader_m = 0xa5efbb64d7ba6e6e, //cc0005_00_ag_leader_m - cc0006_00_ag_middle_m_a = 0x10844c4a1781e15d, //cc0006_00_ag_middle_m_a - cc0006_00_ag_middle_m_a_cfl_m = 0x5ec3ec379e4de489, //cc0006_00_ag_middle_m_a_cfl_m - cc0006_00_ag_middle_m_a_wld_m = 0x34bae2cb8c39e8f3, //cc0006_00_ag_middle_m_a_wld_m - cc0006_00_ag_middle_m_a_lsp = 0x0cfa94c32e92a785, //cc0006_00_ag_middle_m_a_lsp - cc0006_00_ag_middle_m_a_item = 0xa4e8e6d1c24cd2a5, //cc0006_00_ag_middle_m_a_item - cc0007_00_ag_young_m = 0x506715d3557f8e07, //cc0007_00_ag_young_m - cc0007_00_ag_young_m_cfl_m = 0xec20a8cf1a3d2a73, //cc0007_00_ag_young_m_cfl_m - cc0007_00_ag_young_m_wld_m = 0x2b22978e843ddf69, //cc0007_00_ag_young_m_wld_m - cc0007_00_ag_young_m_lsp = 0xe7566578e481c387, //cc0007_00_ag_young_m_lsp - cc0007_00_ag_young_m_item = 0xd6599953e6cfe317, //cc0007_00_ag_young_m_item - cc0009_00_bu_old_m = 0xeb9519d27e542415, //cc0009_00_bu_old_m - cc0009_00_bu_old_m_item = 0xeda4785873a4ee1d, //cc0009_00_bu_old_m_item - cc0010_00_bu_young_f = 0x06d7f6ee3021f773, //cc0010_00_bu_young_f - cc0010_00_bu_young_f_cfl_f = 0xc66297bada21fec2, //cc0010_00_bu_young_f_cfl_f - cc0010_00_bu_young_f_wld_f = 0x72680bc00f2fa734, //cc0010_00_bu_young_f_wld_f - cc0010_00_bu_young_f_lsp = 0xb1429fb29e42d7f3, //cc0010_00_bu_young_f_lsp - cc0010_00_bu_young_f_item = 0x5b6a85ac79398f3b, //cc0010_00_bu_young_f_item - cc0014_00_me_old_f = 0xde3b67329949d799, //cc0014_00_me_old_f - cc0014_00_me_old_f_lsp = 0x1bee7b2f9fe0aec1, //cc0014_00_me_old_f_lsp - cc0014_00_me_old_f_lsp_bft = 0xc086b27de81ab83a, //cc0014_00_me_old_f_lsp_bft - cc0015_00_pr_old_m = 0xfca7fde968ca3ccb, //cc0015_00_pr_old_m - cc0015_00_pr_old_m_lsp = 0x0872aeff10041a2b, //cc0015_00_pr_old_m_lsp - cc0015_00_pr_old_m_lsp_bft = 0x6105119969aeb340, //cc0015_00_pr_old_m_lsp_bft - cc0016_00_pr_young_f = 0xc29b0d7b259978ee, //cc0016_00_pr_young_f - cc0016_00_pr_young_f_cfl_f = 0x962f868bf5c2751b, //cc0016_00_pr_young_f_cfl_f - cc0016_00_pr_young_f_wld_f = 0x37e90b5e50520a8d, //cc0016_00_pr_young_f_wld_f - cc0016_00_pr_young_f_lsp = 0xa8b8f536108d0fee, //cc0016_00_pr_young_f_lsp - cc0018_00_pr_leader_m = 0x411dfbaeb8a45ba2, //cc0018_00_pr_leader_m - cc0021_00_vi_young_m_a = 0xc2d1029b47f9e78a, //cc0021_00_vi_young_m_a - cc0021_00_vi_young_m_a_cfl_m = 0x8acfbc1a85c4b31a, //cc0021_00_vi_young_m_a_cfl_m - cc0021_00_vi_young_m_a_wld_m = 0xf151b41f93620d18, //cc0021_00_vi_young_m_a_wld_m - cc0021_00_vi_young_m_a_lsp = 0xbcc86a13c6f0b36a, //cc0021_00_vi_young_m_a_lsp - cc0021_00_vi_young_m_a_lsp_bft = 0xc19a96ff27645a55, //cc0021_00_vi_young_m_a_lsp_bft - cc0022_00_vi_young_m_b = 0xd915b8f4b0ebb8de, //cc0022_00_vi_young_m_b - cc0022_00_vi_young_m_b_cfl_m = 0xbc197e1c1a0325a6, //cc0022_00_vi_young_m_b_cfl_m - cc0022_00_vi_young_m_b_wld_m = 0xf15f1dcb20f635ec, //cc0022_00_vi_young_m_b_wld_m - cc0022_00_vi_young_m_b_lsp = 0x179bef56b0b22a7e, //cc0022_00_vi_young_m_b_lsp - cc0023_00_vi_young_m_b = 0x986ed5a488336fa1, //cc0023_00_vi_young_m_b - cc0023_00_vi_young_m_b_cfl_m = 0x8b48a0a46e8b00e5, //cc0023_00_vi_young_m_b_cfl_m - cc0023_00_vi_young_m_b_wld_m = 0x88bf38a4217dcad7, //cc0023_00_vi_young_m_b_wld_m - cc0023_00_vi_young_m_b_lsp = 0x4bc5566e3397b969, //cc0023_00_vi_young_m_b_lsp - cc0023_00_vi_young_m_b_item = 0x2253f02511096c11, //cc0023_00_vi_young_m_b_item - cc0023_00_vi_young_m_b_item2 = 0x5e0d31fbf302bf79, //cc0023_00_vi_young_m_b_item2 - cc0024_00_vi_young_m_a = 0x1737a10883eea3f1, //cc0024_00_vi_young_m_a - cc0024_00_vi_young_m_a_cfl_m = 0x19cc9672fe660b35, //cc0024_00_vi_young_m_a_cfl_m - cc0024_00_vi_young_m_a_wld_m = 0x2cad15d43ab425c7, //cc0024_00_vi_young_m_a_wld_m - cc0024_00_vi_young_m_a_lsp = 0x843d758ad97e2e59, //cc0024_00_vi_young_m_a_lsp - cc0024_00_vi_young_m_a_item = 0xa6cdfdd7dffe0981, //cc0024_00_vi_young_m_a_item - cc0025_00_vi_young_f_a = 0x8e16de352843c367, //cc0025_00_vi_young_f_a - cc0025_00_vi_young_f_a_cfl_f = 0x721c8f52bdd9841e, //cc0025_00_vi_young_f_a_cfl_f - cc0025_00_vi_young_f_a_wld_f = 0x043c7a0d3cf6ab48, //cc0025_00_vi_young_f_a_wld_f - cc0025_00_vi_young_f_a_kmn_f = 0x5bf799b5f279dd57, //cc0025_00_vi_young_f_a_kmn_f - cc0025_00_vi_young_f_a_lsp = 0x4cb2ef0a57027da7, //cc0025_00_vi_young_f_a_lsp - cc0026_00_vi_young_f_b = 0x0e93b2023d2e0483, //cc0026_00_vi_young_f_b - cc0026_00_vi_young_f_b_cfl_f = 0x103d1c9991da9152, //cc0026_00_vi_young_f_b_cfl_f - cc0026_00_vi_young_f_b_wld_f = 0xfd5ba938558ad824, //cc0026_00_vi_young_f_b_wld_f - cc0026_00_vi_young_f_b_kmn_f = 0x5a7a2dd4048d484b, //cc0026_00_vi_young_f_b_kmn_f - cc0026_00_vi_young_f_b_lsp = 0x99159d3ad36208a3, //cc0026_00_vi_young_f_b_lsp - cc0026_00_vi_young_f_b_lsp_bft = 0xcf0dd9bee47edc68, //cc0026_00_vi_young_f_b_lsp_bft - cc0026_00_vi_young_f_b_item = 0x65b3841ebcdd51eb, //cc0026_00_vi_young_f_b_item - cc0027_00_vi_young_f_a = 0x7883ecd5fc733859, //cc0027_00_vi_young_f_a - cc0027_00_vi_young_f_a_cfl_f = 0xb159a0a8a1617d0c, //cc0027_00_vi_young_f_a_cfl_f - cc0027_00_vi_young_f_a_wld_f = 0x0e08de3792e6f43a, //cc0027_00_vi_young_f_a_wld_f - cc0027_00_vi_young_f_a_kmn_f = 0x75a8d7c29c71de05, //cc0027_00_vi_young_f_a_kmn_f - cc0027_00_vi_young_f_a_lsp = 0x4a3099760fb0f681, //cc0027_00_vi_young_f_a_lsp - cc0027_00_vi_young_f_a_item = 0x1f45be845a31bf49, //cc0027_00_vi_young_f_a_item - cc0027_00_vi_young_f_a_lsp_bft = 0x8457f2e71cd2b4fa, //cc0027_00_vi_young_f_a_lsp_bft - cc0028_00_vi_young_f_b = 0x04db31ca07760e51, //cc0028_00_vi_young_f_b - cc0028_00_vi_young_f_b_cfl_f = 0x05e8ac43eb76c094, //cc0028_00_vi_young_f_b_cfl_f - cc0028_00_vi_young_f_b_wld_f = 0x1a7d1fa529380e42, //cc0028_00_vi_young_f_b_wld_f - cc0028_00_vi_young_f_b_kmn_f = 0x3e071352da13b30d, //cc0028_00_vi_young_f_b_kmn_f - cc0028_00_vi_young_f_b_lsp = 0xa8119b81d95a35f9, //cc0028_00_vi_young_f_b_lsp - cc0028_00_vi_young_f_b_item = 0xbe3ce087bdc30fa1, //cc0028_00_vi_young_f_b_item - cc0029_00_vi_middle_m_a = 0x72ab0bb01bc2bb07, //cc0029_00_vi_middle_m_a - cc0029_00_vi_middle_m_a_cfl_m = 0x4a80c83591002f73, //cc0029_00_vi_middle_m_a_cfl_m - cc0029_00_vi_middle_m_a_wld_m = 0x8982b6f4fb00e469, //cc0029_00_vi_middle_m_a_wld_m - cc0029_00_vi_middle_m_a_lsp = 0x9007ce24d69a4087, //cc0029_00_vi_middle_m_a_lsp - cc0029_00_vi_middle_m_a_lsp_bft = 0x82ecdcf0b3883314, //cc0029_00_vi_middle_m_a_lsp_bft - cc0030_00_vi_middle_m_b = 0xec11addf2d40fc8c, //cc0030_00_vi_middle_m_b - cc0030_00_vi_middle_m_b_cfl_m = 0xe2ed8c2a8f5dc9ac, //cc0030_00_vi_middle_m_b_cfl_m - cc0030_00_vi_middle_m_b_wld_m = 0xe4cc7b90db1ac94e, //cc0030_00_vi_middle_m_b_wld_m - cc0030_00_vi_middle_m_b_lsp = 0xcefd90a15967be9c, //cc0030_00_vi_middle_m_b_lsp - cc0031_00_vi_middle_m_a = 0x1bc704ef873730f0, //cc0031_00_vi_middle_m_a - cc0031_00_vi_middle_m_a_cfl_m = 0xff079afd97d9dde8, //cc0031_00_vi_middle_m_a_cfl_m - cc0031_00_vi_middle_m_a_wld_m = 0xfdb06b36f095f752, //cc0031_00_vi_middle_m_a_wld_m - cc0031_00_vi_middle_m_a_lsp = 0x6d50ef372427fda0, //cc0031_00_vi_middle_m_a_lsp - cc0031_00_vi_middle_m_a_item = 0xa85604cacebf6ade, //cc0031_00_vi_middle_m_a_item - cc0032_00_vi_middle_f_a = 0x8174f1986cac6656, //cc0032_00_vi_middle_f_a - cc0032_00_vi_middle_f_a_cfl_f = 0x8d11cfc290fcb3f3, //cc0032_00_vi_middle_f_a_cfl_f - cc0032_00_vi_middle_f_a_wld_f = 0xba62c3050ff8d8e5, //cc0032_00_vi_middle_f_a_wld_f - cc0032_00_vi_middle_f_a_kmn_f = 0x3b93e4acce4a2b1e, //cc0032_00_vi_middle_f_a_kmn_f - cc0032_00_vi_middle_f_a_lsp = 0xab6c17639da62c76, //cc0032_00_vi_middle_f_a_lsp - cc0032_00_vi_middle_f_a_lsp_bft = 0xf70c4cb7d2550159, //cc0032_00_vi_middle_f_a_lsp_bft - cc0032_00_vi_middle_f_a_item = 0xa2893a1b18d8ff2c, //cc0032_00_vi_middle_f_a_item - cc0033_00_vi_middle_f_b = 0xf5aa357a2bc1005e, //cc0033_00_vi_middle_f_b - cc0033_00_vi_middle_f_b_cfl_f = 0xf06e88cf384d1d0b, //cc0033_00_vi_middle_f_b_cfl_f - cc0033_00_vi_middle_f_b_wld_f = 0x25b42c7e3f40341d, //cc0033_00_vi_middle_f_b_wld_f - cc0033_00_vi_middle_f_b_lsp = 0x67c2cd52b181a9fe, //cc0033_00_vi_middle_f_b_lsp - cc0033_00_vi_middle_f_b_kmn_f = 0x51deb61bf33af976, //cc0033_00_vi_middle_f_b_kmn_f - cc0033_00_vi_middle_f_b_item = 0x8856f759d955bf94, //cc0033_00_vi_middle_f_b_item - cc0034_00_vi_old_m_a = 0x858bc385431f55f9, //cc0034_00_vi_old_m_a - cc0034_00_vi_old_m_a_lsp = 0x14114b3a99c66ce1, //cc0034_00_vi_old_m_a_lsp - cc0034_00_vi_old_m_a_item = 0x40f06f7aff8d7a29, //cc0034_00_vi_old_m_a_item - cc0035_00_vi_old_m_b = 0x23d31478c92260f7, //cc0035_00_vi_old_m_b - cc0035_00_vi_old_m_b_lsp = 0xd89777f3b2612d97, //cc0035_00_vi_old_m_b_lsp - cc0035_00_vi_old_m_b_lsp_bft = 0x65b3cfc67ee5f4a4, //cc0035_00_vi_old_m_b_lsp_bft - cc0035_00_vi_old_m_b_item = 0xab290fffbcb11727, //cc0035_00_vi_old_m_b_item - cc0036_00_vi_old_f_a = 0x9fd14fc4675e04c2, //cc0036_00_vi_old_f_a - cc0036_00_vi_old_f_a_lsp = 0x336b4912c1afac82, //cc0036_00_vi_old_f_a_lsp - cc0037_00_vi_old_f_b = 0x9d657ba003e7c2b8, //cc0037_00_vi_old_f_b - cc0037_00_vi_old_f_b_lsp = 0x0c96682f46e9c228, //cc0037_00_vi_old_f_b_lsp - cc0038_00_vi_children_m = 0xe11324232b3d88eb, //cc0038_00_vi_children_m - cc0038_00_vi_children_m_lsp = 0x57b61ef59c929a0b, //cc0038_00_vi_children_m_lsp - cc0038_00_vi_children_m_lsp_bft = 0xc59982ec2af4bf60, //cc0038_00_vi_children_m_lsp_bft - cc0039_00_vi_children_f_b = 0x74895cd2d12b60b6, //cc0039_00_vi_children_f_b - cc0039_00_vi_children_f_b_lsp = 0x91a302d3bf75e396, //cc0039_00_vi_children_f_b_lsp - cc0039_00_vi_children_f_b_lsp_bft = 0x929084c17fcb3bb9, //cc0039_00_vi_children_f_b_lsp_bft - cc0040_00_vi_infant_m = 0x61fb4b52eb02fffd, //cc0040_00_vi_infant_m - cc0040_00_vi_infant_m_lsp = 0x28a0a31c1f09aee5, //cc0040_00_vi_infant_m_lsp - cc0040_00_vi_infant_m_lsp_bft = 0x02d62f3e278e32b6, //cc0040_00_vi_infant_m_lsp_bft - cc0041_00_vi_infant_f = 0x854645cb6e81413d, //cc0041_00_vi_infant_f - cc0041_00_vi_infant_f_lsp = 0x4938b32be407b025, //cc0041_00_vi_infant_f_lsp - cc0041_00_vi_infant_f_lsp_bft = 0x34600801ac046cf6, //cc0041_00_vi_infant_f_lsp_bft - cc0042_00_na_young_m_d = 0xd8b098e45757042a, //cc0042_00_na_young_m_d - cc0042_00_na_young_m_d_cfl_m = 0x6fb5c25f238ccdba, //cc0042_00_na_young_m_d_cfl_m - cc0042_00_na_young_m_d_wld_m = 0xd7ebba64329d6f38, //cc0042_00_na_young_m_d_wld_m - cc0042_00_na_young_m_d_lsp = 0x81498ba3c0a76fca, //cc0042_00_na_young_m_d_lsp - cc0043_00_na_young_f_d = 0x29a6181cf4fd8418, //cc0043_00_na_young_f_d - cc0043_00_na_young_f_d_cfl_f = 0xe3535d5450f0ee01, //cc0043_00_na_young_f_d_cfl_f - cc0043_00_na_young_f_d_wld_f = 0x7e2e917c3f7165af, //cc0043_00_na_young_f_d_wld_f - cc0043_00_na_young_f_d_lsp = 0xc57e0f75df4910c8, //cc0043_00_na_young_f_d_lsp - cc0044_00_na_young_m_p = 0x3f9bce000dc87e98, //cc0044_00_na_young_m_p - cc0044_00_na_young_m_p_cfl_m = 0x32f3a5102661a1d0, //cc0044_00_na_young_m_p_cfl_m - cc0044_00_na_young_m_p_wld_m = 0xcdceed3814e23b7a, //cc0044_00_na_young_m_p_wld_m - cc0044_00_na_young_m_p_lsp = 0xe13b0178d6b6f348, //cc0044_00_na_young_m_p_lsp - cc0045_00_na_young_f_p = 0x8133f4a30f46cc82, //cc0045_00_na_young_f_p - cc0045_00_na_young_f_p_cfl_f = 0x868655d5123f7937, //cc0045_00_na_young_f_p_cfl_f - cc0045_00_na_young_f_p_wld_f = 0x228e025d5dba7e81, //cc0045_00_na_young_f_p_wld_f - cc0045_00_na_young_f_p_lsp = 0x833a66f837650042, //cc0045_00_na_young_f_p_lsp - cc0046_00_na_middle_m_d = 0xc55a3ad587a4e759, //cc0046_00_na_middle_m_d - cc0046_00_na_middle_m_d_cfl_m = 0xb0e3e5ffcbcb86bd, //cc0046_00_na_middle_m_d_cfl_m - cc0046_00_na_middle_m_d_wld_m = 0x0d930f8ebd50dbef, //cc0046_00_na_middle_m_d_wld_m - cc0046_00_na_middle_m_d_lsp = 0xd0a66b7f9e591581, //cc0046_00_na_middle_m_d_lsp - cc0047_00_na_middle_f_d = 0xee2c767cf4246455, //cc0047_00_na_middle_f_d - cc0047_00_na_middle_f_d_cfl_f = 0xda7c1f25bb0863d0, //cc0047_00_na_middle_f_d_cfl_f - cc0047_00_na_middle_f_d_wld_f = 0x3efc83e1dc0ed5a6, //cc0047_00_na_middle_f_d_wld_f - cc0047_00_na_middle_f_d_lsp = 0x65c06383032b331d, //cc0047_00_na_middle_f_d_lsp - cc0048_00_na_middle_m_p = 0xa5c962a0523fcbff, //cc0048_00_na_middle_m_p - cc0048_00_na_middle_m_p_cfl_m = 0x62ea740375a6a00b, //cc0048_00_na_middle_m_p_cfl_m - cc0048_00_na_middle_m_p_wld_m = 0xfe6a134754a03501, //cc0048_00_na_middle_m_p_wld_m - cc0048_00_na_middle_m_p_lsp = 0xe2bd31d0bace7a1f, //cc0048_00_na_middle_m_p_lsp - cc0049_00_na_middle_f_p = 0xea53852ff31b5317, //cc0049_00_na_middle_f_p - cc0049_00_na_middle_f_p_cfl_f = 0xbf0815edd64692ce, //cc0049_00_na_middle_f_p_cfl_f - cc0049_00_na_middle_f_p_wld_f = 0xe5aadb59e576f1d8, //cc0049_00_na_middle_f_p_wld_f - cc0049_00_na_middle_f_p_lsp = 0x8666b9928068fbf7, //cc0049_00_na_middle_f_p_lsp - cc0050_00_na_old_m_d_a = 0xa0da88353e0fa1b4, //cc0050_00_na_old_m_d_a - cc0050_00_na_old_m_d_a_lsp = 0x86cdaeb4b7cc6e24, //cc0050_00_na_old_m_d_a_lsp - cc0052_00_na_old_f_d = 0xb97cfb7f26aa203f, //cc0052_00_na_old_f_d - cc0052_00_na_old_f_d_lsp = 0xdf6bc483a2758b5f, //cc0052_00_na_old_f_d_lsp - cc0053_00_na_old_m_p_a = 0xee1afc2839a98f41, //cc0053_00_na_old_m_p_a - cc0053_00_na_old_m_p_a_lsp = 0x21a2423df7d03549, //cc0053_00_na_old_m_p_a_lsp - cc0054_00_na_old_f_p_a = 0xcce10df9378410cd, //cc0054_00_na_old_f_p_a - cc0054_00_na_old_f_p_a_lsp = 0xa4cbdd67d2a15155, //cc0054_00_na_old_f_p_a_lsp - cc0056_00_na_children_f_d = 0x19d3611a614bd879, //cc0056_00_na_children_f_d - cc0056_00_na_children_f_d_lsp = 0x2a6f55e765525761, //cc0056_00_na_children_f_d_lsp - cc0057_00_na_children_m_p = 0x2174491748de9c21, //cc0057_00_na_children_m_p - cc0057_00_na_children_m_p_lsp = 0x585ec84e3fb9ede9, //cc0057_00_na_children_m_p_lsp - cc0058_00_vi_young_m_c = 0x221c4612dc012a6c, //cc0058_00_vi_young_m_c - cc0058_00_vi_young_m_c_cfl_m = 0xdcabe5d07f55d40c, //cc0058_00_vi_young_m_c_cfl_m - cc0058_00_vi_young_m_c_wld_m = 0x350ed531e31275ae, //cc0058_00_vi_young_m_c_wld_m - cc0058_00_vi_young_m_c_lsp = 0x6b30e242dfbb103c, //cc0058_00_vi_young_m_c_lsp - cc0058_00_vi_young_m_c_item = 0xe5941d7800382342, //cc0058_00_vi_young_m_c_item - cc0058_00_vi_young_m_c_item2 = 0x52d182e85f643750, //cc0058_00_vi_young_m_c_item2 - cc0059_00_vi_young_f_c = 0x63ad2f673544de1e, //cc0059_00_vi_young_f_c - cc0059_00_vi_young_f_c_cfl_f = 0x0ac16546b76840cb, //cc0059_00_vi_young_f_c_cfl_f - cc0059_00_vi_young_f_c_wld_f = 0x987a009a9dbcf2dd, //cc0059_00_vi_young_f_c_wld_f - cc0059_00_vi_young_f_c_kmn_f = 0xc4a58a3851b96b36, //cc0059_00_vi_young_f_c_kmn_f - cc0059_00_vi_young_f_c_lsp = 0xa329a685fd1ca4be, //cc0059_00_vi_young_f_c_lsp - cc0059_00_vi_young_f_c_item = 0x0faf49834ecb8454, //cc0059_00_vi_young_f_c_item - cc0060_00_na_children_m_d = 0x720fbad0c23eecbb, //cc0060_00_na_children_m_d - cc0060_00_na_children_m_d_lsp = 0x9c62ae9dce3bb07b, //cc0060_00_na_children_m_d_lsp - cc0061_00_na_children_f_p = 0xb782ef714e6fa48f, //cc0061_00_na_children_f_p - cc0061_00_na_children_f_p_lsp = 0x7ea69fc0ce25ee4f, //cc0061_00_na_children_f_p_lsp - cc0062_00_vi_middle_f_c = 0x712079304f9b76a3, //cc0062_00_vi_middle_f_c - cc0062_00_vi_middle_f_c_cfl_f = 0x1c3bdac27f5849f2, //cc0062_00_vi_middle_f_c_cfl_f - cc0062_00_vi_middle_f_c_wld_f = 0x07a767614196fc44, //cc0062_00_vi_middle_f_c_wld_f - cc0062_00_vi_middle_f_c_lsp = 0x1e6469dc3e880e83, //cc0062_00_vi_middle_f_c_lsp - cc0063_00_vi_children_m_b = 0xfcbca73fe7894be6, //cc0063_00_vi_children_m_b - cc0063_00_vi_children_m_b_lsp = 0xe536ebdf19cc8c26, //cc0063_00_vi_children_m_b_lsp - cc0063_00_vi_children_m_b_lsp_bft = 0xb2a610a35d5b5649, //cc0063_00_vi_children_m_b_lsp_bft - cc0064_00_vi_children_m_c = 0xa50b412511c6086e, //cc0064_00_vi_children_m_c - cc0064_00_vi_children_m_c_lsp = 0x0c8a5b5444ac576e, //cc0064_00_vi_children_m_c_lsp - cc0064_00_vi_children_m_c_lsp_bft = 0x4c9001a953155fc1, //cc0064_00_vi_children_m_c_lsp_bft - cc0065_00_vi_children_m_d = 0x76c4a0d26345c56e, //cc0065_00_vi_children_m_d - cc0065_00_vi_children_m_d_lsp = 0xf20985495dd2646e, //cc0065_00_vi_children_m_d_lsp - cc0066_00_00_vi_old_f_b = 0x8c1e6987bdf9df35, //cc0066_00_00_vi_old_f_b - cc0066_00_00_vi_old_f_b_lsp = 0xd2e3548093d65dbd, //cc0066_00_00_vi_old_f_b_lsp - cc0066_00_00_vi_old_f_b_item = 0x331c7da4d45ab57d, //cc0066_00_00_vi_old_f_b_item - cc0067_00_vi_middle_f_a_item = 0x4c663ca9b09dc32e, //cc0067_00_vi_middle_f_a_item -}; diff --git a/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCResidentType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCResidentType8a.cs deleted file mode 100644 index a7b50b24..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/NPC/NPCResidentType8a.cs +++ /dev/null @@ -1,40 +0,0 @@ -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum NPCResidentType8a : ulong -{ - seniorf_01 = 0x41532d3f4483af65, // seniorf_01 , - seniorm_01 = 0x71453d68fc4b28ca, // seniorm_01 , - doctor_01 = 0xd4fb5eca1c4d0e7c, // doctor_01 , - leader_01 = 0x84b287283baa1656, // leader_01 , - prince_01 = 0x9b483bbfeab8352a, // prince_01 , - princess_01 = 0x05eb4c7152f1ab30, // princess_01 , - commander_01 = 0xb3de1a157b2aaef1, // commander_01 , - mentor_01 = 0xfc0df98cdbe3ca0e, // mentor_01 , - host_01 = 0xcb8618eb4ab62a83, // host_01 , - pythoness_01 = 0x6f543628ff6e4e96, // pythoness_01 , - captain01_01 = 0xb976b8174cdf8b12, // captain01_01 , - captain02_01 = 0x13f1783095457425, // captain02_01 , - captain03_01 = 0x3d296c254ac7ed70, // captain03_01 , - captain04_01 = 0xeaaf2c4105bc7103, // captain04_01 , - captain05_01 = 0x1599c035bcafdbae, // captain05_01 , - captain06_01 = 0x6ece804f04010221, // captain06_01 , - captain07_01 = 0x1868b44768973e4c, // captain07_01 , - captain08_01 = 0x473eb45f75e8b9ff, // captain08_01 , - captain09_01 = 0x43e3885a4d0ced8a, // captain09_01 , - captain10_01 = 0x9f84a4f4c3a58b24, // captain10_01 , - security_01 = 0x9cbdcb6e2784515f, // security_01 , - enigma = 0xc75ddbe25402b11c, // enigma , - merchant_01 = 0xbf2b137e5d1380e1, // merchant_01 , - tool_01 = 0x86b1234fe259979b, // tool_01 , - clothes_01 = 0x0ab235e3c2c067bf, // clothes_01 , - farm_01 = 0x4208ad1c08324ef5, // farm_01 , - architecture_01 = 0x21a26bddb5f75dec, // architecture_01 , - medical_01 = 0xa05010c0e3e588ce, // medical_01 , - manufacturing_01 = 0x91cc4a8859c89bd1, // manufacturing_01 , - bandit_01 = 0x62828731464f5bef, // bandit_01 , - bandit_02 = 0x62828831464f5da2, // bandit_02 , - bandit_03 = 0x62828931464f5f55, // bandit_03 , -}; diff --git a/pkNX.Structures.FlatBuffers/Arceus/PlayReportTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/PlayReportTable8a.cs deleted file mode 100644 index 132394e9..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/PlayReportTable8a.cs +++ /dev/null @@ -1,47 +0,0 @@ -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 PlayReportTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PlayReportItem8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlayReportItem8a -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public ulong Field_01 { get; set; } - [FlatBufferItem(02)] public ulong Field_02 { get; set; } - [FlatBufferItem(03)] public ulong Field_03 { get; set; } - [FlatBufferItem(04)] public ulong Field_04 { get; set; } - [FlatBufferItem(05)] public ulong Field_05 { get; set; } - [FlatBufferItem(06)] public ulong Field_06 { get; set; } - [FlatBufferItem(07)] public ulong Field_07 { get; set; } - [FlatBufferItem(08)] public ulong Field_08 { get; set; } - [FlatBufferItem(09)] public ulong Field_09 { get; set; } - [FlatBufferItem(10)] public ulong Field_10 { get; set; } - [FlatBufferItem(11)] public ulong Field_11 { get; set; } - [FlatBufferItem(12)] public ulong Field_12 { get; set; } - [FlatBufferItem(13)] public ulong Field_13 { get; set; } - [FlatBufferItem(14)] public ulong Field_14 { get; set; } - [FlatBufferItem(15)] public ulong Field_15 { get; set; } - [FlatBufferItem(16)] public ulong Field_16 { get; set; } - [FlatBufferItem(17)] public ulong Field_17 { get; set; } - [FlatBufferItem(18)] public ulong Field_18 { get; set; } - [FlatBufferItem(19)] public ulong Field_19 { get; set; } - [FlatBufferItem(20)] public ulong Field_20 { get; set; } - [FlatBufferItem(21)] public ulong Field_21 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Learnset8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Learnset8a.cs deleted file mode 100644 index a4987a64..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Learnset8a.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.ComponentModel; -using System.IO; -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 Learnset8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public Learnset8aMeta[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Learnset8aMeta -{ - [FlatBufferItem(0)] public ushort Species { get; set; } - [FlatBufferItem(1)] public ushort Form { get; set; } - [FlatBufferItem(2)] public Learnset8aEntry[] Mainline { get; set; } = Array.Empty(); - [FlatBufferItem(3)] public Learnset8aEntry[] Arceus { get; set; } = Array.Empty(); - - public byte[] WriteLearnsetAsLearn6() - { - using var ms = new MemoryStream(); - using var br = new BinaryWriter(ms); - foreach (var entry in Arceus) - { - br.Write(entry.Move); - br.Write(entry.Level); - } - br.Write(-1); - return ms.ToArray(); - } - - public byte[] WriteMasteryAsLearn6() - { - using var ms = new MemoryStream(); - using var br = new BinaryWriter(ms); - foreach (var entry in Arceus) - { - br.Write(entry.Move); - br.Write(entry.LevelMaster); - } - br.Write(-1); - return ms.ToArray(); - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Learnset8aEntry -{ - [FlatBufferItem(0)] public ushort Level { get; set; } - [FlatBufferItem(1)] public ushort LevelMaster { get; set; } - [FlatBufferItem(2)] public ushort Move { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs deleted file mode 100644 index afd61eea..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelSet8a.cs +++ /dev/null @@ -1,60 +0,0 @@ -using FlatSharp.Attributes; -using pkNX.Containers; -using System; -using System.ComponentModel; -using System.Diagnostics; -using System.Linq; - -namespace pkNX.Structures.FlatBuffers; - -// resident_release.bin -> bin/field/param/placement/common/pokemon_model_set.bin -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeModelSet8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - public PokeModelSetEntry8a GetEntry(ushort species) - { - return Array.Find(Table, z => z.Species == species) ?? - new PokeModelSetEntry8a(); - } - - public bool HasEntry(ushort species) - { - return Table.Any(x => x.Species == species); - } - - public PokeModelSetEntry8a AddEntry(ushort species, ushort form) - { - Debug.Assert(!HasEntry(species), "The resource info table already contains an entry for the same species!"); - - var entry = new PokeModelSetEntry8a - { - PokeModelHash = (PokeModelType8a)FnvHash.HashFnv1a_64(""), - Species = species, - Form = form, - }; - - Table = Table.Append(entry) - .OrderBy(x => x.Species) - .ThenBy(x => x.Form) - .ToArray(); - return entry; - } - - [FlatBufferItem(00)] public PokeModelSetEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeModelSetEntry8a -{ - [FlatBufferItem(00)] public PokeModelType8a PokeModelHash { get; set; } - [FlatBufferItem(01)] public PokeResidentType8a PokeResidentTypeHash { get; set; } - [FlatBufferItem(02)] public uint Species { get; set; } - [FlatBufferItem(03)] public uint Form { get; set; } - [FlatBufferItem(04)] public string VariantDesc { get; set; } = string.Empty; - [FlatBufferItem(05)] public bool Bool_05 { get; set; } // Species 77 is true - [FlatBufferItem(06)] public bool Bool_06 { get; set; } // Species 95 is true - [FlatBufferItem(07)] public bool Bool_07 { get; set; } // Species 95 is true - [FlatBufferItem(08)] public uint Field_08 { get; set; } // 0 (Only on Ponyta), 1, 127 or 255. Buizel has an entry for both 127 and 255 -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs deleted file mode 100644 index 8602065c..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeModelType8a.cs +++ /dev/null @@ -1,409 +0,0 @@ -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum PokeModelType8a : ulong -{ - pm_025_0_m_PIKATYUU = 0x4202065E4900E5E6, - pm_025_0_f_PIKATYUU = 0x90C6018B1C83C999, - pm_026_0_m_RAITYUU = 0xA5EC1270693E5554, - pm_026_0_f_RAITYUU = 0xAA24EE0FC9930161, - pm_035_0_PIPPI = 0x738D45B3FCCD8683, - pm_035_0_PIPPI_SUB073 = 0x7874900CA52EAAC4, - pm_036_0_PIKUSII = 0xC5B7CDC56F890702, - pm_037_0_ROKON = 0xC672CDBC18D185EE, - pm_037_1_ROKON = 0x295E0F613E5B2E99, - pm_038_0_KYUUKON = 0xA03A90A554738B04, - pm_038_1_KYUUKON = 0xFEC35D67DB8FB3F7, - pm_041_0_m_ZUBATTO = 0x74B4B2C7F9D82197, - pm_041_0_f_ZUBATTO = 0x329D6D72A5EE893E, - pm_042_0_m_GORUBATTO = 0x3B24B21F94D759CC, - pm_042_0_f_GORUBATTO = 0x0E8AF24E711420B5, - pm_046_0_PARASU = 0x3C3D26BA3C4D928B, - pm_047_0_PARASEKUTO = 0xBD9D0E1275E19DC3, - pm_054_0_KODAKKU = 0x780CF5544A1BA14E, - pm_055_0_GORUDAKKU = 0x3994B8E5146DF87A, - pm_063_0_KEESHI = 0x3BFE00C60AAA4629, - pm_064_0_m_YUNGERAA = 0xE2FD1EBB1CFC547D, - pm_064_0_f_YUNGERAA = 0x8F5F9697B53FA69A, - pm_065_0_m_HUUDHIN = 0x310A3E4E64072A45, - pm_065_0_f_HUUDHIN = 0xE165FD88E9D8F4E8, - pm_066_0_WANRIKII = 0xDD8D4287CD69B2B1, - pm_067_0_GOORIKII = 0x0ADC40FE7471C28F, - pm_068_0_KAIRIKII = 0xAE26E44B48B9C1A0, - pm_072_0_MENOKURAGE = 0x39DA6B4E0445AF7C, - pm_073_0_DOKUKURAGE = 0x2FAF26C61D6B8371, - pm_074_0_ISITUBUTE = 0xAF552936A4E91A20, - pm_075_0_GOROON = 0x893A2307830B3947, - pm_076_0_GOROONYA = 0xD259B1492CBB69EE, - pm_077_0_PONIITA = 0x0C7783C2EAD1F11F, - pm_077_0_PONIITA_RARE = 0x4066F0333032E760, - pm_078_0_GYAROPPU = 0x69824E27FD3241CD, - pm_081_0_KOIRU = 0xF44EA11B1C09F9E6, - pm_082_0_REAKOIRU = 0x9AE6B7DA086DF529, - pm_092_0_GOOSU = 0xE7A76BB22F55DCCD, - pm_093_0_GOOSUTO = 0x9AEBB2EBE8A0E277, - pm_094_0_GENGAA = 0xFE46ADD5A3C9E59D, - pm_095_0_IWAAKU = 0xA9240BDFF13535FF, - pm_095_0_IWAAKU_SUB258 = 0xF0CC2D7DBA68D605, - pm_108_0_BERORINGA = 0xF76AB6EFC7B2EF31, - pm_111_0_m_SAIHOON = 0xB06192701C4CD0BF, - pm_111_0_f_SAIHOON = 0xA253E743C3DFFCFA, - pm_112_0_m_SAIDON = 0xAA8FCBBCAF4CC477, - pm_112_0_f_SAIDON = 0x1C971DC264EE265C, - pm_113_0_RAKKII = 0x4ADFF188FA2CC2BF, - pm_114_0_MONZYARA = 0xCC8C967D0984A782, - pm_122_0_BARIYAADO = 0x5DFED77E3EF484E6, - pm_123_0_m_SUTORAIKU = 0xD11CA01879E2560E, - pm_123_0_f_SUTORAIKU = 0xF439879C2A32AC27, - pm_125_0_EREBUU = 0x71A6B1803B68A0DF, - pm_126_0_BUUBAA = 0x1CCD92966FC276B2, - pm_129_0_m_KOIKINGU = 0x4D7DD48708B9B178, - pm_129_0_f_KOIKINGU = 0xEF917720395BFB4B, - pm_130_0_m_GYARADOSU = 0x3D953062B5D32036, - pm_130_0_f_GYARADOSU = 0x3FAAA2AB2B669F0F, - pm_133_0_m_IIBUI = 0x6684C6B1DE87286A, - pm_133_0_f_IIBUI = 0xF7D3DEDBA87A5A7B, - pm_134_0_SYAWAAZU = 0x56BFDBA5BF372818, - pm_135_0_SANDAASU = 0x37E6296E94F84FC2, - pm_136_0_BUUSUTAA = 0x15BD8A0A55DF6F9B, - pm_137_0_PORIGON = 0xC2B88644957DF334, - pm_143_0_KABIGON = 0xCE684213D609E4D0, - pm_155_0_HINOARASI = 0x89D4AB3B91E4193E, - pm_156_0_MAGUMARASI = 0xB0E870D70AF6C856, - pm_169_0_KUROBATTO = 0x4FB5FDD592E5C19C, - pm_169_0_KUROBATTO_EVENT = 0x884CAE4F264E7C53, - pm_172_0_PITYUU = 0x2F3677ACAD0B264F, - pm_173_0_PHI = 0xFFCFC4B53B6CEB73, - pm_175_0_TOGEPII = 0x55E136321BD4820B, - pm_176_0_TOGETIKKU = 0x69C60410B32CFA7C, - pm_185_0_m_USOKKII = 0x56EBF2B961D8C2F0, - pm_185_0_f_USOKKII = 0xBD638443042BA775, - pm_190_0_m_EIPAMU = 0x04EFF829AE5A9CAE, - pm_190_0_f_EIPAMU = 0xB924FA5E88CBF499, - pm_193_0_YANYANMA = 0x983CBC0A01DBCE18, - pm_196_0_EEFI = 0x0789E7AD3B62AE98, - pm_197_0_BURAKKII = 0x11A4B28C3399FCAE, - pm_198_0_m_YAMIKARASU = 0xB23DD104F7E3E7B4, - pm_198_0_f_YAMIKARASU = 0xAC41D5A69B91BDAB, - pm_200_0_MUUMA = 0x20E1A4325B9B726C, - pm_201_0_ANNOON = 0xBF886D72A5EB4BFD, - pm_201_1_ANNOON = 0x9602FE3839CA4144, - pm_201_2_ANNOON = 0x7EB49AC6E76098FF, - pm_201_3_ANNOON = 0x73DE6E93E4244BA6, - pm_201_4_ANNOON = 0x0B6DBBC6F0E94019, - pm_201_5_ANNOON = 0xF9B45DF47EC0E120, - pm_201_6_ANNOON = 0x313CF262DB0926BB, - pm_201_7_ANNOON = 0xCEBA0A3E967DCE42, - pm_201_8_ANNOON = 0xB6F99FCA4E14B215, - pm_201_9_ANNOON = 0x088F9B28A225E77C, - pm_201_10_ANNOON = 0x0614F4AB758CA4EC, - pm_201_11_ANNOON = 0x0C0EABF9C83A6645, - pm_201_12_ANNOON = 0x276F6051571BDC6E, - pm_201_13_ANNOON = 0xAA3B9A7B0AC22E07, - pm_201_14_ANNOON = 0x1A82687E9C21FC88, - pm_201_15_ANNOON = 0x2011F8FC2EAF5BC1, - pm_201_16_ANNOON = 0xE7B2049B04BC0D8A, - pm_201_17_ANNOON = 0x4C385FB04D7D4E83, - pm_201_18_ANNOON = 0xECF48E67086948B4, - pm_201_19_ANNOON = 0xC27F8EE33D371BAD, - pm_201_20_ANNOON = 0x35B1F3EAFB73E6BD, - pm_201_21_ANNOON = 0x0649E4802BBCA904, - pm_201_22_ANNOON = 0x4759AB9110BC0EBF, - pm_201_23_ANNOON = 0xF93D4C6B30D60166, - pm_201_24_ANNOON = 0x1C75AA69FDB3BAD9, - pm_201_25_ANNOON = 0x2AA9B9D0303F75E0, - pm_201_26_ANNOON = 0xF32E56B416E23C7B, - pm_201_27_ANNOON = 0x522BF06C1BD0F102, - pm_207_0_m_GURAIGAA = 0xC4DB525F8E431D41, - pm_207_0_f_GURAIGAA = 0x18223B561661AFAA, - pm_208_0_m_HAGANEERU = 0x27198363BE073D43, - pm_208_0_f_HAGANEERU = 0xC3AA40619506B41E, - pm_212_0_m_HASSAMU = 0x5C57D1B11EF558EA, - pm_212_0_f_HASSAMU = 0xAE6050F3E9BEADF7, - pm_214_0_m_HERAKUROSU = 0x4DC996846E32E10F, - pm_214_0_f_HERAKUROSU = 0x64EA03C28BB0A824, - pm_215_0_m_NYUURA = 0x3A685B964260E751, - pm_215_0_f_NYUURA = 0xD566A415A1D96AC6, - pm_216_0_HIMEGUMA = 0xE0C3B017F309DB7F, - pm_217_0_m_RINGUMA = 0xFE62D6A9E1C90FA0, - pm_217_0_f_RINGUMA = 0x6EB817B2E5CE41A1, - pm_220_0_URIMUU = 0xC513F3A8B387CE60, - pm_221_0_m_INOMUU = 0x00FFEC5427C03217, - pm_221_0_f_INOMUU = 0x263AAFAD40F6F534, - pm_223_0_TEPPOUO = 0x557EA5E216D1EB04, - pm_224_0_m_OKUTAN = 0x5B10EEB3C42F6EF3, - pm_224_0_f_OKUTAN = 0xA4B557C69DC53B4C, - pm_226_0_MANTAIN = 0x171318BDE5AFB37F, - pm_233_0_PORIGON2 = 0xF5117E70DB5C0CDD, - pm_234_0_ODOSISI = 0xB70B74B682AEDDC0, - pm_239_0_EREKIDDO = 0x5A0C4392036A5A42, - pm_240_0_BUBHI = 0x707D85F01E28F5F9, - pm_242_0_HAPINASU = 0x6E67F96382437D3E, - pm_265_0_KEMUSSO = 0x754C295FB5F44D9B, - pm_266_0_KARASARISU = 0xC5F20F76E7A93719, - pm_267_0_m_AGEHANTO = 0xA763E53AE978AB27, - pm_267_0_f_AGEHANTO = 0xB6CBA708417AC6DC, - pm_268_0_MAYURUDO = 0xF7D10E1E3D07DF2F, - pm_269_0_m_DOKUKEIRU = 0xF4441F03DDB7443F, - pm_269_0_f_DOKUKEIRU = 0x61424A6B6B33EF06, - pm_280_0_RARUTOSU = 0x1335E7CF78B73FD4, - pm_281_0_KIRURIA = 0xA0553AA5DAAD1093, - pm_282_0_SAANAITO = 0x21CFEF4845D0131B, - pm_299_0_NOZUPASU = 0x5DFEF42CC1CFDDDA, - pm_315_0_m_ROZERIA = 0xD3DA7E5EE9860CFC, - pm_315_0_f_ROZERIA = 0xBF2D97F2A6E9C72D, - pm_339_0_DOZYOTTI = 0x91C4588D028D31BC, - pm_340_0_NAMAZUN = 0x733DF163257691E4, - pm_355_0_YOMAWARU = 0xC16DA720E3FF43B1, - pm_356_0_SAMAYOORU = 0x7A99A59187C4FEB5, - pm_358_0_TIRIIN = 0xF75D819C39B27EC6, - pm_361_0_YUKIWARASI = 0x7F59A6B1A057AAEC, - pm_362_0_ONIGOORI = 0xAE3C6A3413ACD75E, - unk_e3f241026905b7f = 0x0E3F241026905B7F, - pm_363_0_TAMAZARASI = 0x57BA84BA67C80340, - pm_363_0_TAMAZARASI_SUB099 = 0x9E3D34369C67DB99, - pm_364_0_TODOGURAA = 0xC416B116EAA6D876, - pm_365_0_TODOZERUGA = 0x5933EFC31901ADBF, - pm_387_0_NAETORU = 0x9D068E51A9F2B451, - pm_388_0_HAYASIGAME = 0x66A9CB7F10A10C9B, - pm_389_0_DODAITOSU = 0xE4860525BC865A83, - pm_390_0_HIKOZARU = 0xB1BA5D4013E6B112, - pm_391_0_MOUKAZARU = 0x0737E620799C467D, - pm_392_0_GOUKAZARU = 0x1C0192447952EEF2, - pm_393_0_POTTYAMA = 0x89D04AD6EC6542B5, - pm_394_0_POTTAISI = 0xDD7ECD313002CC84, - pm_395_0_ENPERUTO = 0xE35A7D27BA3D0026, - pm_396_0_m_MUKKURU = 0x9491991D82A95AB9, - pm_396_0_f_MUKKURU = 0x7E3796C48490E2F4, - pm_397_0_m_MUKUBAADO = 0xA9BAEC93EB49A97B, - pm_397_0_f_MUKUBAADO = 0x5F4117769E95A4E2, - pm_398_0_m_MUKUHOOKU = 0x27600C74B64ECBF1, - pm_398_0_f_MUKUHOOKU = 0x8C77F0DA56F7DE7C, - pm_399_0_m_BIPPA = 0xA1BB2DD9130A46F2, - pm_399_0_f_BIPPA = 0xDD75C52F7283E9BB, - pm_400_0_m_BIIDARU = 0xC8F7D5BF4173CE93, - pm_400_0_f_BIIDARU = 0xE9E6C6B33718E60E, - pm_401_0_m_KOROBOOSI = 0xBF27AC1629E90381, - pm_402_0_f_KOROTOKKU = 0xF0F994239E2F346F, - pm_402_0_m_KOROTOKKU = 0x2D773D3EE1C014F6, - pm_402_0_m_KOROTOKKU_OYABUN = 0x96C22933A5E58E3B, - pm_403_0_m_KORINKU = 0x168A00F24E6405B7, - pm_403_0_f_KORINKU = 0xFA5643FB989B3B1E, - pm_404_0_m_RUKUSIO = 0x984D50F262AFCEAF, - pm_404_0_f_RUKUSIO = 0x22F84F7815153DD6, - pm_405_0_m_RENTORAA = 0x7F6D9F484D4C0EA6, - pm_405_0_f_RENTORAA = 0x0C13D8D28EC907E5, - pm_406_0_SUBOMII = 0x9ECE3FC55775155F, - pm_407_0_m_ROZUREIDO = 0x93ABEE50A1E49467, - pm_407_0_f_ROZUREIDO = 0x7370532B23D76DAA, - pm_408_0_m_ZUGAIDOSU = 0x47AE1BFCD6B42B84, - pm_409_0_f_RAMUPARUDO = 0x4AE56FF6E6334961, - pm_410_0_TATETOPUSU = 0xB509DB56AEE937C2, - pm_411_0_TORIDEPUSU = 0xF4E140FB3B645905, - pm_412_0_MINOMUTTI = 0xA94E411B4AED0770, - pm_412_1_MINOMUTTI = 0x8F6AE63389246593, - unk_7974384d9b4c2fb6 = 0x7974384D9B4C2FB6, - pm_413_0_MINOMADAMU = 0x14019D9941038DFD, - pm_413_1_MINOMADAMU = 0x6ABFCC37361003B4, - unk_4cdac9407bf83af7 = 0x4CDAC9407BF83AF7, - pm_414_0_GAAMEIRU = 0x4BB7814C7C192D19, - pm_414_1_GAAMEIRU = 0xF1127750E1886890, - unk_25964c22fd8497f7 = 0x25964C22FD8497F7, - pm_415_0_m_MITUHANII = 0xAE27E66F62B5A72D, - pm_415_0_f_MITUHANII = 0xE597BC60EC178830, - pm_416_0_BIIKUIN = 0x5AD9AD5A8D788501, - pm_416_1_BIIKUIN = 0xDD355F94F2313486, - pm_417_0_m_PATIRISU = 0x6BF855FAE859F756, - pm_417_0_f_PATIRISU = 0x220FCB19BE6F4AD1, - pm_418_0_m_BUIZERU_SUB004 = 0x219A868593E0F143, - pm_418_0_m_BUIZERU = 0x8E22980132312750, - pm_418_0_f_BUIZERU = 0x2C54942E5AC186C5, - pm_419_0_m_HUROOZERU = 0x4F33189725E4177E, - pm_419_0_f_HUROOZERU = 0x3E9C477265BDCCFB, - pm_420_0_THERINBO = 0x2CFB32D06BB0ABCE, - pm_421_0_THERIMU = 0x36A980CFC8258668, - pm_421_1_THERIMU = 0x3A220AFBFED99063, - pm_422_0_KARANAKUSI = 0x3D972A66844FA833, - pm_422_1_KARANAKUSI = 0xC917F1220D646DBE, - pm_423_0_TORITODON = 0x3F6DE4B7DD492468, - pm_423_1_TORITODON = 0x20D99D21DD492357, - pm_424_0_m_ETEBOOSU = 0xC460FB2533D4748D, - pm_424_0_f_ETEBOOSU = 0xCD7032496A7C365A, - pm_425_0_HUWANTE = 0x5C60998F55A4C354, - pm_426_0_HUWARAIDO = 0x313B485EBC2171CD, - pm_427_0_MIMIRORU = 0x78ACE351AD05FBD4, - pm_428_0_MIMIROPPU = 0x9328F61FB61F13E5, - pm_429_0_MUUMAAZI = 0xD055895E765EEC2F, - pm_430_0_DONKARASU = 0x4199B6BDAAAD449E, - pm_431_0_NYARUMAA = 0x032B6F5BC52B5EFD, - pm_432_0_BUNYATTO = 0xF3D0F56A34A59780, - pm_433_0_RIISYAN = 0x0FD922D98261F028, - pm_434_0_SUKANPUU = 0x19EE4EA3ADF0B902, - pm_435_0_SUKATANKU = 0x584AF50A97D6E1D6, - pm_436_0_DOOMIRAA = 0xB03300749E45BB04, - pm_437_0_DOOTAKUN = 0xFB9DAD7C0A306304, - pm_438_0_USOHATI = 0xB8497707B9AFFFC3, - pm_439_0_MANENE = 0xE7676C20D594CB1D, - pm_440_0_PINPUKU = 0x28C7077067B3CBC1, - pm_441_0_PERAPPU = 0x6F92EA1DC51CABCF, - pm_442_0_MIKARUGE = 0x11BA4D9585AACE22, - pm_443_0_m_HUKAMARU = 0xF894F0AAA6DF1348, - pm_443_0_f_HUKAMARU = 0x0E7DBE6B422BF617, - pm_444_0_m_GABAITO = 0x625850C05A022E48, - pm_444_0_f_GABAITO = 0x2B17D38BA6A71C75, - pm_445_0_m_GABURIASU = 0x8FD0138AED004409, - pm_445_0_f_GABURIASU = 0x5FFAD59344D84D98, - pm_446_0_GONBE = 0xA0047EEB132ED1D6, - pm_447_0_RIORU = 0x906BBDF18FDA41D7, - pm_448_0_RUKARIO = 0x17D0C6D90344C370, - pm_449_0_m_HIPOPOTASU = 0x079843AF139A4302, - pm_449_0_f_HIPOPOTASU = 0x4A086453137B138D, - pm_450_0_m_KABARUDON = 0x1955D84E92121D4D, - pm_450_0_f_KABARUDON = 0x372A069678F1F45C, - pm_451_0_SUKORUPI = 0x3E4BDFC71176F055, - pm_452_0_DORAPION = 0x8F2F65B0686BDBC0, - pm_453_0_m_GUREGGURU = 0x317C95E85C275D22, - pm_453_0_f_GUREGGURU = 0x74DAFA4E821C0EDB, - pm_454_0_m_DOKUROGGU = 0xE614F33C0065709B, - pm_454_0_f_DOKUROGGU = 0xC181CFE9A52A6D56, - pm_455_0_MASUKIPPA = 0x945188E7CDB5341A, - pm_456_0_m_KEIKOUO = 0x3A5895D1101F9037, - pm_456_0_f_KEIKOUO = 0x30721017FA97EC02, - pm_457_0_m_NEORANTO = 0xA01FDF8F36D4C849, - pm_457_0_f_NEORANTO = 0x94D65F44E4DB603A, - pm_458_0_TAMANTA = 0x9E23D7B27A3550BA, - pm_459_0_m_YUKIKABURI = 0xC1C9454686BF4F77, - pm_459_0_f_YUKIKABURI = 0x980E30C4962AF568, - pm_460_0_m_YUKINOOO = 0x2620F9FA5756901A, - pm_460_0_f_YUKINOOO = 0xA329B2071F86D54D, - pm_461_0_m_MANYUURA = 0x98B23602AC81C150, - pm_461_0_f_MANYUURA = 0xA74E932CFE83EAE7, - pm_462_0_ZIBAKOIRU = 0xCEEB29248D1FA839, - pm_463_0_BEROBERUTO = 0x8D15EF082F42FC05, - pm_464_0_m_DOSAIDON = 0x469278A74D72F144, - pm_464_0_f_DOSAIDON = 0x2C2A4B83CF084B3B, - pm_465_0_m_MOZYANBO = 0x34DDE3ADD16B4F75, - pm_465_0_f_MOZYANBO = 0xB568913D0AC707CE, - pm_466_0_EREKIBURU = 0xFA9958E9109B302F, - pm_467_0_BUUBAAN = 0xA8ED6A8D845C7B48, - pm_468_0_TOGEKISSU = 0x42C7F372045E2459, - pm_469_0_MEGAYANMA = 0x42A006A7E230D188, - pm_470_0_RIIFIA = 0xC68BD7FDEAACED3A, - pm_471_0_GUREISIA = 0x9C12AB8FB6B90E68, - pm_472_0_GURAION = 0x5877A05E2FBA2709, - pm_473_0_m_MANMUU = 0x386D73EBE6A7B8F4, - pm_473_0_f_MANMUU = 0x306E81A939CB3993, - pm_474_0_PORIGONz = 0xC08438286952740C, - pm_475_0_ERUREIDO = 0x5E5D71F3E0CBE9DC, - pm_476_0_DAINOOZU = 0xDC018AA5878C8807, - pm_477_0_YONOWAARU = 0x6DE0698BBCB2CA2C, - pm_478_0_YUKIMENOKO = 0x7B36F7A58164D977, - pm_479_0_ROTOMU = 0x9E8D599701378583, - pm_479_1_ROTOMU = 0x6862791F06B78BDE, - pm_479_2_ROTOMU = 0xFBBC6B6C015DC941, - pm_479_3_ROTOMU = 0xB95C351BE7E9F834, - pm_479_4_ROTOMU = 0xD6EA55B5B5D9744F, - pm_479_5_ROTOMU = 0xC56571B25632522A, - pm_480_0_YUKUSII = 0x97CC9929EDDBD5F8, - pm_481_0_EMURITTO = 0x8C9946681252830B, - pm_482_0_AGUNOMU = 0xA8EF99AAF7F5F7C5, - pm_483_0_DHIARUGA = 0x106E7182195C260F, - pm_484_0_PARUKIA = 0xA055D9B805436A0C, - pm_485_0_HIIDORAN = 0x206088562697898E, - pm_486_0_REZIGIGASU = 0xBFA4299E98FB33D9, - pm_487_0_GIRATHINA = 0x23026AD6C36A3435, - pm_487_1_GIRATHINA = 0x2E7B41BCE75826F6, - pm_488_0_KURESERIA = 0x97E7ED85C87A3DB6, - pm_489_0_FIONE = 0x4E0596A7E5646341, - pm_490_0_MANAFI = 0x4535E33F5E564902, - pm_491_0_DAAKURAI = 0x983A46CEAB2742D7, - pm_492_0_SHEIMI = 0x8E7C1BF15AA87E41, - pm_492_1_SHEIMI = 0x586CE849A27477A0, - pm_493_0_ARUSEUSU = 0xB7ECCDAE6F5707D2, - pm_493_1_ARUSEUSU = 0x38B4B39EC0768C67, - pm_493_2_ARUSEUSU = 0x7600DD72ED3B4920, - pm_493_3_ARUSEUSU = 0xBB368794840D45A5, - pm_493_4_ARUSEUSU = 0xFF87AC2753F1C9C6, - pm_493_5_ARUSEUSU = 0x4CA11DC3DAF364CB, - pm_493_6_ARUSEUSU = 0x0615848DE67F0FB4, - pm_493_7_ARUSEUSU = 0x6FEF6D44ECB59C69, - pm_493_8_ARUSEUSU = 0x7E7D8A31F8F21EEA, - pm_493_9_ARUSEUSU = 0x2F0E2FB68A052C5F, - pm_493_10_ARUSEUSU = 0xDC6E25257282CB55, - pm_493_11_ARUSEUSU = 0x40D7A8B92AF09D90, - pm_493_12_ARUSEUSU = 0x4B8A666460A38C97, - pm_493_13_ARUSEUSU = 0x25FABC2DDC931F82, - pm_493_14_ARUSEUSU = 0xB312234D6E8F40D9, - pm_493_15_ARUSEUSU = 0x7725EA3FCD8EFBE4, - pm_493_16_ARUSEUSU = 0x0FE7C88F0C511E3B, - pm_493_17_ARUSEUSU = 0x666B55C4B5063836, - pm_501_0_MIZYUMARU = 0xAF4985CD1D218AFC, - pm_502_0_HUTATIMARU = 0x4A4A7B20881294E4, - pm_548_0_TYURINE = 0x84FE2D0C81A88918, - pm_627_0_WASIBON = 0xF74BB7703FA523A3, - pm_641_0_TORUNEROSU = 0x0EBA8CE66319FEFA, - pm_641_1_TORUNEROSU = 0x865F5B29F7D3F6AF, - pm_642_0_BORUTOROSU = 0x4C497F2A0096EEFB, - pm_642_1_BORUTOROSU = 0x630448CC6C50E58A, - pm_645_0_RANDOROSU = 0xC41B98740AB889EB, - pm_645_1_RANDOROSU = 0xD1DDBC2BA3D9DE20, - pm_700_0_NINFIA = 0xDABA16B3B282D08F, - pm_704_0_NUMERA = 0xB006977E13C42A32, - pm_712_0_KATIKOORU = 0x4984C3C7710B2AFC, - pm_722_0_MOKUROO = 0x9ECC7B26EA9E99A0, - pm_723_0_HUKUSUROO = 0x761DBBDEC4BAFC5E, - pm_899_0_ODOSISI2 = 0xC445D3C3B5C7F567, - unk_73cd7670de50bf92 = 0x73CD7670DE50BF92, - pm_900_0_SUTORAIKU2 = 0x50042EF6FFC50F49, - pm_900_1_SUTORAIKU2 = 0x302B5F4800F44C2C, - pm_903_0_rNYUURA2 = 0xC5EA76327F79BF9B, - pm_903_0_rNYUURA2_EVENT = 0xF39C3111234AA504, - unk_4504fed3686326ba = 0x4504FED3686326BA, - unk_109714ec91fc123d = 0x109714EC91FC123D, - pm_905_0_FEATOROSU = 0x92AE783A3DD4F467, - pm_905_1_FEATOROSU = 0x26BD2AA2A097117C, - pm_904_0_rHARISEN2 = 0x86369F877D6A715A, - pm_904_0_rHARISEN2_OYABUN = 0x00177EC637E0F547, - pm_902_0_m_rBASURAO2 = 0xA7370AC81DEE9DA3, - unk_16b2219f2c34655 = 0x016B2219F2C34655, - unk_62f9c9295910928d = 0x62F9C9295910928D, - pm_901_0_HIMEGUMA3 = 0x5E18A362DB785C35, - unk_1bbfaf0587dd34d2 = 0x1BBFAF0587DD34D2, - pm_483_1_DHIARUGA = 0x1F2BC2563CDEBE0A, - pm_484_1_PARUKIA = 0x5CB5954C8863A223, - pm_058_1_GAADHI = 0x1A09CC57C175EF9B, - pm_058_2_GAADHI = 0xE4AC9550E5F1457C, - pm_058_3_GAADHI = 0x31B695D92696C535, - pm_058_4_GAADHI = 0x5ABD56E662A3AF06, - pm_059_1_UINDHI = 0x91202B07BCD8488F, - pm_059_2_UINDHI = 0x906E97236B575388, - pm_100_1_BIRIRIDAMA = 0xDBE39C496C3FE76F, - pm_101_1_MARUMAIN = 0x3A491A32B94D2E10, - pm_101_1_MARUMAIN_EVENT = 0x30215DFE4B009037, - unk_414e6ea64920553 = 0x0414E6EA64920553, - pm_157_1_BAKUHUUN = 0x0A09CFACC06039F6, - pm_215_1_NYUURA = 0x2BC88AEF207952D8, - pm_211_1_HARIISEN = 0xC198D435BB6CE1B3, - pm_503_1_DAIKENKI = 0x5757780F91E52E20, - pm_549_1_DOREDHIA = 0xABE2F65B74FBFCF0, - unk_da85a46835474ec3 = 0xDA85A46835474EC3, - pm_550_2_BASURAO = 0xE84B34AB4E79AA10, - pm_570_1_ZOROA = 0xF5C64BF800CA5BC9, - pm_571_1_ZOROAAKU = 0xC70206D6B252D40D, - pm_571_1_ZOROAAKU_OYABUN = 0x119437A2C563161A, - pm_628_1_WHOOGURU = 0xB496C9BC67BD78CE, - Unk_0xAF53D8D0F230E305 = 0xAF53D8D0F230E305, - pm_713_1_KUREBEESU = 0x6916B336961C2FA0, - Unk_0x709A1C8060864479 = 0x709A1C8060864479, - pm_713_2_KUREBEESU_OYABUN = 0x41ACC4325A7D85DE, - pm_705_1_NUMEIRU = 0x119E0E76033FCD57, - pm_706_1_NUMERUGON = 0x581F53B307DAB7BF, - pm_706_1_NUMERUGON_OYABUN = 0xB480F619B5F3AE80, - pm_724_1_ZYUNAIPAA = 0xC5E1F48622CDF5FB, - Unk_0x470C3CBEC51541FD = 0x470C3CBEC51541FD, - Unk_0x138F48FE9DB8EDF2 = 0x138F48FE9DB8EDF2, - Unk_0x6BF4C2BBB3238803 = 0x6BF4C2BBB3238803, - pm_493_18_ARUSEUSU = 0x8E3A34C6BD7D3D0D, -}; diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs deleted file mode 100644 index 3dad3ebd..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/Model Set/PokeResidentType8a.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum PokeResidentType8a : ulong -{ - enigma = 0xC75DDBE25402B11C, - residents_188 = 0xE0F6613235D0AEEE, - residents_189 = 0xE0F6623235D0B0A1, - residents_190 = 0xE0F9DF3235D3BADF, -}; diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PersonalInfoLAfb.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PersonalInfoLAfb.cs deleted file mode 100644 index ead672e8..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PersonalInfoLAfb.cs +++ /dev/null @@ -1,87 +0,0 @@ -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; - -/// -/// Personal Info class with values from the games. -/// -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalTableLAfb : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PersonalInfoLAfb[] Table { get; set; } = Array.Empty(); -} - -/// -/// Personal Info class with values from the games. -/// -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfoLAfb -{ - [FlatBufferItem(00)] public ushort DexIndexNational { get; set; } // ushort - [FlatBufferItem(01)] public ushort Form { get; set; } // ushort - [FlatBufferItem(02)] public bool IsPresentInGame { get; set; } // byte - [FlatBufferItem(03)] public byte Type1 { get; set; } // byte - [FlatBufferItem(04)] public byte Type2 { get; set; } // byte - [FlatBufferItem(05)] public ushort Ability1 { get; set; } // ushort - [FlatBufferItem(06)] public ushort Ability2 { get; set; } // ushort - [FlatBufferItem(07)] public ushort AbilityH { get; set; } // ushort - [FlatBufferItem(08)] public byte Stat_HP { get; set; } // byte - [FlatBufferItem(09)] public byte Stat_ATK { get; set; } // byte - [FlatBufferItem(10)] public byte Stat_DEF { get; set; } // byte - [FlatBufferItem(11)] public byte Stat_SPA { get; set; } // byte - [FlatBufferItem(12)] public byte Stat_SPD { get; set; } // byte - [FlatBufferItem(13)] public byte Stat_SPE { get; set; } // byte - [FlatBufferItem(14)] public byte Gender { get; set; } // byte - [FlatBufferItem(15)] public byte EXPGrowth { get; set; } // byte - [FlatBufferItem(16)] public byte EvoStage { get; set; } // byte - [FlatBufferItem(17)] public byte CatchRate { get; set; } // byte - [FlatBufferItem(18)] public byte Field_18 { get; set; } // Always Default (0) - [FlatBufferItem(19)] public byte Color { get; set; } // byte - [FlatBufferItem(20)] public ushort Height { get; set; } // ushort - [FlatBufferItem(21)] public ushort Weight { get; set; } // ushort - [FlatBufferItem(22)] public uint TM_A { get; set; } // uint, not used by game - [FlatBufferItem(23)] public uint TM_B { get; set; } // uint, not used by game - [FlatBufferItem(24)] public uint TM_C { get; set; } // uint, not used by game - [FlatBufferItem(25)] public uint TM_D { get; set; } // uint, not used by game - [FlatBufferItem(26)] public uint TR_A { get; set; } // uint, not used by game - [FlatBufferItem(27)] public uint TR_B { get; set; } // uint, not used by game - [FlatBufferItem(28)] public uint TR_C { get; set; } // uint, not used by game - [FlatBufferItem(29)] public uint TR_D { get; set; } // uint, not used by game - [FlatBufferItem(30)] public uint TypeTutor { get; set; } // uint, not used by game - [FlatBufferItem(31)] public ushort BaseEXP { get; set; } // ushort - [FlatBufferItem(32)] public byte EV_HP { get; set; } // byte - [FlatBufferItem(33)] public byte EV_ATK { get; set; } // byte - [FlatBufferItem(34)] public byte EV_DEF { get; set; } // byte - [FlatBufferItem(35)] public byte EV_SPA { get; set; } // byte - [FlatBufferItem(36)] public byte EV_SPD { get; set; } // byte - [FlatBufferItem(37)] public byte EV_SPE { get; set; } // byte - [FlatBufferItem(38)] public ushort Item1 { get; set; } // ushort - [FlatBufferItem(39)] public ushort Item2 { get; set; } // ushort - [FlatBufferItem(40)] public ushort Item3 { get; set; } // Always Default (0) - [FlatBufferItem(41)] public byte EggGroup1 { get; set; } // byte - [FlatBufferItem(42)] public byte EggGroup2 { get; set; } // byte - [FlatBufferItem(43)] public ushort HatchedSpecies { get; set; } // ushort - [FlatBufferItem(44)] public ushort LocalFormIndex { get; set; } // ushort - [FlatBufferItem(45)] public bool Field_45 { get; set; } // byte - [FlatBufferItem(46)] public ushort Field_46 { get; set; } // ushort - [FlatBufferItem(47)] public byte Field_47 { get; set; } // byte - [FlatBufferItem(48)] public byte BaseFriendship { get; set; } // byte - [FlatBufferItem(49)] public ushort DexIndexHisui { get; set; } // ushort - [FlatBufferItem(50)] public ushort ModelID { get; set; } // ushort - [FlatBufferItem(51)] public uint DexIndexLocal1 { get; set; } // uint - [FlatBufferItem(52)] public uint DexIndexLocal2 { get; set; } // uint - [FlatBufferItem(53)] public uint DexIndexLocal3 { get; set; } // uint - [FlatBufferItem(54)] public uint DexIndexLocal4 { get; set; } // uint - [FlatBufferItem(55)] public uint DexIndexLocal5 { get; set; } // uint - [FlatBufferItem(56)] public uint MoveShop1 { get; set; } // uint - [FlatBufferItem(57)] public uint MoveShop2 { get; set; } // uint -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs deleted file mode 100644 index 7979cfec..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAIArchive8a.cs +++ /dev/null @@ -1,171 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -using System.Linq; -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 PokeAIArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokeAI8a[] Table { get; set; } = Array.Empty(); - - public PokeAI8a GetEntry(ushort species, ushort form) - { - return Array.Find(Table, z => z.Species == species && z.Form == form) ?? - new PokeAI8a(); - } - - public bool HasEntry(ushort species, ushort form, bool isAlpha) - { - return Table.Any(x => x.Species == species && x.Form == form && x.IsAlpha == isAlpha); - } - - public PokeAI8a AddEntry(ushort species, ushort form, bool isAlpha) - { - Debug.Assert(!HasEntry(species, form, isAlpha), "The symbol behave table already contains an entry for the same species + form!"); - - var entry = new PokeAI8a { Species = species, Form = form, IsAlpha = isAlpha }; - Table = Table.Append(entry) - .OrderBy(x => x.Species) - .ThenBy(x => x.Form) - .ThenBy(x => x.IsAlpha) - .ToArray(); - return entry; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeAI8a -{ - [FlatBufferItem(00)] public int Species { get; set; } // int - [FlatBufferItem(01)] public int Form { get; set; } // int - [FlatBufferItem(02)] public bool IsAlpha { get; set; } // bool - [FlatBufferItem(03)][TypeConverter(typeof(AIBehaviourConverter))] public string Behavior1 { get; set; } = string.Empty; - [FlatBufferItem(04)][TypeConverter(typeof(AIBehaviourConverter))] public string Behavior2 { get; set; } = string.Empty; - [FlatBufferItem(05)][TypeConverter(typeof(AIBehaviourConverter))] public string Behavior3 { get; set; } = string.Empty; - [FlatBufferItem(06)] public bool Field_06 { get; set; } // bool - [FlatBufferItem(07)] public ulong Field_07 { get; set; } // ulong 2458747221614355867 - [FlatBufferItem(08)] public bool Field_08 { get; set; } = true; // bool, always true - [FlatBufferItem(09)] public PokeAI8a_F09 Field_09 { get; set; } = PokeAI8a_F09.DefaultBehaviour_F09; - [FlatBufferItem(10)] public bool Field_10 { get; set; } = true; // bool, always true - [FlatBufferItem(11)] public PokeAI8a_F09 Field_11 { get; set; } = PokeAI8a_F09.DefaultBehaviour_F11; - [FlatBufferItem(12)] public bool Field_12 { get; set; } = true; // bool, always true except for Darkrai - [FlatBufferItem(13)] public PokeAI8a_F09 Field_13 { get; set; } = PokeAI8a_F09.DefaultBehaviour02; - [FlatBufferItem(14)] public bool Field_14 { get; set; } = true; // bool, always true - [FlatBufferItem(15)] public PokeAI8a_F09 Field_15 { get; set; } = PokeAI8a_F09.DefaultBehaviour05; - [FlatBufferItem(16)] public bool Field_16 { get; set; } = true; // bool, always true - [FlatBufferItem(17)] public PokeAI8a_F09 Field_17 { get; set; } = PokeAI8a_F09.DefaultBehaviour05; - [FlatBufferItem(18)] public PokeAI8a_F18 Field_18 { get; set; } = new(); // only used by Kleavor-1 - [FlatBufferItem(19)] public PokeAI8a_F18 Field_19 { get; set; } = new(); // assumed same as above, none use - [FlatBufferItem(20)] public PokeAI8a_F18 Field_20 { get; set; } = new(); // assumed same as above, none use - [FlatBufferItem(21)] public PokeAI8a_F18 Field_21 { get; set; } = new(); // assumed same as above, only used by Kleavor-1 with fields 0,1,2 - [FlatBufferItem(22)] public string MoveEffect1 { get; set; } = string.Empty; - [FlatBufferItem(23)] public string MoveEffect2 { get; set; } = string.Empty; - [FlatBufferItem(24)] public PokeAI8a_F24 Field_24 { get; set; } = new(); - [FlatBufferItem(25)] public float Field_25 { get; set; } = 20; // float - [FlatBufferItem(26)] public float Field_26 { get; set; } = 30; // float - [FlatBufferItem(27)] public Vec3f Field_27 { get; set; } = new(20, 50, 100); - [FlatBufferItem(28)] public Vec3f Field_28 { get; set; } = new(20, 50, 100); - [FlatBufferItem(29)] public Vec3f Field_29 { get; set; } = new(20, 50, 100); - [FlatBufferItem(30)] public Vec3f Field_30 { get; set; } = new(15, 10, 15); - [FlatBufferItem(31)] public int Field_31 { get; set; } // int - [FlatBufferItem(32)] public int Field_32 { get; set; } = -1;// int - [FlatBufferItem(33)] public int Field_33 { get; set; } // int - [FlatBufferItem(34)] public float Field_34 { get; set; } // cascoon/silcoon -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeAI8a_F24 -{ - [FlatBufferItem(00)] public float Field_00 { get; set; } = 7; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeAI8a_F18 -{ - [FlatBufferItem(00)] public bool Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeAI8a_F09 -{ - public static readonly PokeAI8a_F09 DefaultBehaviour02 = new(); - - public static readonly PokeAI8a_F09 DefaultBehaviour_F09 = new() - { - Field_00 = PokeAIBehaviour.DefaultBehaviour02, - Field_01 = PokeAIBehaviour.Behaviour_X_Params, - Field_02 = PokeAIBehaviour.DefaultBehaviour02, - Field_03 = PokeAIBehaviour.DefaultBehaviour02, - Field_04 = PokeAIBehaviour.Behaviour_04_Params, - Field_05 = PokeAIBehaviour.DefaultBehaviour02, - Field_06 = PokeAIBehaviour.DefaultBehaviour02, - Field_07 = PokeAIBehaviour.DefaultBehaviour02, - Field_08 = PokeAIBehaviour.Behaviour_X2_Params, - }; - - public static readonly PokeAI8a_F09 DefaultBehaviour_F11 = new() - { - Field_00 = PokeAIBehaviour.DefaultBehaviour02_20, - Field_01 = PokeAIBehaviour.Behaviour_04_Params, - Field_02 = PokeAIBehaviour.DefaultBehaviour02, - Field_03 = PokeAIBehaviour.DefaultBehaviour02, - Field_04 = PokeAIBehaviour.Behaviour_04_Params, - Field_05 = PokeAIBehaviour.DefaultBehaviour02, - Field_06 = PokeAIBehaviour.DefaultBehaviour02, - Field_07 = PokeAIBehaviour.DefaultBehaviour02, - Field_08 = PokeAIBehaviour.DefaultBehaviour02, - }; - - public static readonly PokeAI8a_F09 DefaultBehaviour05 = new() - { - Field_00 = PokeAIBehaviour.DefaultBehaviour05, - Field_01 = PokeAIBehaviour.DefaultBehaviour05, - Field_02 = PokeAIBehaviour.DefaultBehaviour05, - Field_03 = PokeAIBehaviour.DefaultBehaviour05, - Field_04 = PokeAIBehaviour.Behaviour_04_Params, - Field_05 = PokeAIBehaviour.DefaultBehaviour05, - Field_06 = PokeAIBehaviour.DefaultBehaviour05, - Field_07 = PokeAIBehaviour.DefaultBehaviour05, - Field_08 = PokeAIBehaviour.DefaultBehaviour05, - }; - - [FlatBufferItem(00)] public PokeAIBehaviour Field_00 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(01)] public PokeAIBehaviour Field_01 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(02)] public PokeAIBehaviour Field_02 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(03)] public PokeAIBehaviour Field_03 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(04)] public PokeAIBehaviour Field_04 { get; set; } = PokeAIBehaviour.Behaviour_04_Params; - [FlatBufferItem(05)] public PokeAIBehaviour Field_05 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(06)] public PokeAIBehaviour Field_06 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(07)] public PokeAIBehaviour Field_07 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; - [FlatBufferItem(08)] public PokeAIBehaviour Field_08 { get; set; } = PokeAIBehaviour.DefaultBehaviour02; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeAIBehaviour -{ - public static readonly PokeAIBehaviour DefaultBehaviour02 = new() { BehaviourHash = 9252365659083253459, Parameters = new string[] { "0.2", "35" } }; - public static readonly PokeAIBehaviour DefaultBehaviour02_20 = new() { BehaviourHash = 9252365659083253459, Parameters = new string[] { "0.2", "20" } }; - public static readonly PokeAIBehaviour DefaultBehaviour05 = new() { BehaviourHash = 9252365659083253459, Parameters = new string[] { "0.5", "35" } }; - public static readonly PokeAIBehaviour Behaviour_X_Params = new() { BehaviourHash = 17205188591700921149, Parameters = new string[] { "10", "3", "run", "Normal" } }; - public static readonly PokeAIBehaviour Behaviour_X2_Params = new() { BehaviourHash = 17205188591700921149, Parameters = new string[] { "10", "0.5", "run", "Normal" } }; - public static readonly PokeAIBehaviour Behaviour_04_Params = new() { BehaviourHash = 1234775724179408742, Parameters = new string[] { "3", "5", "60", "90", "4", "run", "Normal" } }; - - [FlatBufferItem(00)] public ulong BehaviourHash { get; set; } = 9252365659083253459; - [FlatBufferItem(01)] public string[] Parameters { get; set; } = { "0.5", "35" }; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAdd8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAdd8a.cs deleted file mode 100644 index d97bf45c..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeAdd8a.cs +++ /dev/null @@ -1,84 +0,0 @@ -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 PokeAdd8aArchive : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokeAdd8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeAdd8a -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public int Species { get; set; } - [FlatBufferItem(02)] public int Form { get; set; } - [FlatBufferItem(03)] public int Gender { get; set; } - [FlatBufferItem(04)] public ShinyType8a ShinyLock { get; set; } - [FlatBufferItem(05)] public int Level { get; set; } - [FlatBufferItem(06)] public int AbilityRandType { get; set; } - [FlatBufferItem(07)] public NatureType8a Nature { get; set; } - [FlatBufferItem(08)] public int Height { get; set; } - [FlatBufferItem(09)] public int Weight { get; set; } - [FlatBufferItem(10)] public bool IsOybn { get; set; } - [FlatBufferItem(11)] public int Move1 { get; set; } - [FlatBufferItem(12)] public bool Mastered1 { get; set; } - [FlatBufferItem(13)] public int Move2 { get; set; } - [FlatBufferItem(14)] public bool Mastered2 { get; set; } - [FlatBufferItem(15)] public int Move3 { get; set; } - [FlatBufferItem(16)] public bool Mastered3 { get; set; } - [FlatBufferItem(17)] public int Move4 { get; set; } - [FlatBufferItem(18)] public bool Mastered4 { get; set; } - [FlatBufferItem(19)] public int IV_HP { get; set; } - [FlatBufferItem(20)] public int IV_ATK { get; set; } - [FlatBufferItem(21)] public int IV_DEF { get; set; } - [FlatBufferItem(22)] public int IV_SPA { get; set; } - [FlatBufferItem(23)] public int IV_SPD { get; set; } - [FlatBufferItem(24)] public int IV_SPE { get; set; } - [FlatBufferItem(25)] public int NumPerfectIvs { get; set; } - [FlatBufferItem(26)] public int GV_HP { get; set; } - [FlatBufferItem(27)] public int GV_ATK { get; set; } - [FlatBufferItem(28)] public int GV_DEF { get; set; } - [FlatBufferItem(29)] public int GV_SPA { get; set; } - [FlatBufferItem(30)] public int GV_SPD { get; set; } - [FlatBufferItem(31)] public int GV_SPE { get; set; } - [FlatBufferItem(32)] public int TryInsertParty { get; set; } // 1 if party attempted, 0 -> straight to box - [FlatBufferItem(33)] public int Ball { get; set; } // 0 is use default game ball (LAPoke); is set to 37 (Origin) for box legends. - - public string Dump(string[] speciesNames) - { - var natureStr = Nature == NatureType8a.Random ? "" : $", Nature = {Nature}"; - var shinyStr = $", Shiny = {ShinyLock}"; - var gvStr = ""; - if (GV_HP != 0) - gvStr += $", GV_HP = {GV_HP}"; - if (GV_ATK != 0) - gvStr += $", GV_ATK = {GV_ATK}"; - if (GV_DEF != 0) - gvStr += $", GV_DEF = {GV_DEF}"; - if (GV_SPA != 0) - gvStr += $", GV_SPA = {GV_SPA}"; - if (GV_SPD != 0) - gvStr += $", GV_SPD = {GV_SPD}"; - if (GV_SPE != 0) - gvStr += $", GV_SPE = {GV_SPE}"; - - var hw = $"HeightScalar = {Height:000}, WeightScalar = {Weight:000}"; - var genderStr = Gender == -1 ? "" : $", Gender = {Gender}"; - var iv = NumPerfectIvs == 0 ? "" : $", FlawlessIVCount = {NumPerfectIvs}"; - string comment = $"// {speciesNames[Species]}{(Form == 0 ? "" : $"-{Form}")}"; - return $"new({Species:000},{Form:000},{Level:00}) {{ Gift = true, {hw}{shinyStr}{genderStr}{natureStr}{iv}{gvStr} }}, {comment}"; - } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs deleted file mode 100644 index 430037d6..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBattleSpawnArchive8a.cs +++ /dev/null @@ -1,34 +0,0 @@ -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; - -/// -/// Seems to be a file left over from development. Only has test entries -/// -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeBattleSpawnArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeBattleSpawn8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeBattleSpawn8a -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public string[] Field_01 { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public string[] Field_02 { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs deleted file mode 100644 index 1cc1e0ee..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeBodyParticleArchive8a.cs +++ /dev/null @@ -1,40 +0,0 @@ -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 PokeBodyParticleArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeBodyParticle8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeBodyParticle8a -{ - [FlatBufferItem(00)] public uint Species { get; set; } - [FlatBufferItem(01)] public uint Form { get; set; } - [FlatBufferItem(02)] public bool Flag_02 { get; set; } - [FlatBufferItem(03)] public PokeBodyParticle8a_F03[] Field_03 { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeBodyParticle8a_F03 -{ - [FlatBufferItem(00)] public bool Flag_00 { get; set; } - [FlatBufferItem(01)] public bool Flag_01 { get; set; } - [FlatBufferItem(02)] public string Field_02 { get; set; } = string.Empty; - [FlatBufferItem(03)] public string Field_03 { get; set; } = string.Empty; - [FlatBufferItem(04)] public string Field_04 { get; set; } = string.Empty; - [FlatBufferItem(05)] public string Field_05 { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs deleted file mode 100644 index e41052cd..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeCaptureCollisionArchive8a.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -using System.Linq; -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 PokeCaptureCollisionArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeCaptureCollision8a[] Table { get; set; } = Array.Empty(); - - public PokeCaptureCollision8a GetEntry(ushort species, ushort form) - { - return Table.FirstOrDefault(x => x.Species == species && x.Form == form) ?? - new PokeCaptureCollision8a { }; - } - - public bool HasEntry(ushort species, ushort form) - { - return Table.Any(x => x.Species == species && x.Form == form); - } - - public PokeCaptureCollision8a AddEntry(ushort species, ushort form) - { - Debug.Assert(!HasEntry(species, form), "The encounter rate table already contains an entry for the same species and form!"); - - var entry = new PokeCaptureCollision8a - { - Species = species, - Form = form, - Colliders = new PokeCaptureCollider[] - { - new() { - Shape = "Capsule", - ShapeParameters = new float[]{ 0.5f, 0.2f, 0, 0, 0, 0, 0, 0 }, - SocketName = "waist", - Type = "Normal", - }, - new() { - Shape = "Capsule", - ShapeParameters = new float[]{ 0.5f, 0.2f, 0, 0, 0, 0, 0, 0 }, - Type = "Pysics", - }, - new() { - Shape = "Capsule", - ShapeParameters = new float[]{ 0.5f, 0.2f, 0, 0, 0, 0, 0, 0 }, - SocketName = "origin", - Type = "Barrier", - }, - } - }; - - Table = Table.Append(entry) - .OrderBy(x => x.Species) - .ThenBy(x => x.Form) - .ToArray(); - return entry; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeCaptureCollision8a -{ - [FlatBufferItem(00)] public uint Species { get; set; } - [FlatBufferItem(01)] public uint Form { get; set; } - [FlatBufferItem(02)] public PokeCaptureCollider[] Colliders { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeCaptureCollider -{ - [FlatBufferItem(00)] public string SocketName { get; set; } = string.Empty; - [FlatBufferItem(01)] public string Shape { get; set; } = string.Empty; - [FlatBufferItem(02)] public float[] ShapeParameters { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public float OffsetX { get; set; } - [FlatBufferItem(04)] public float OffsetY { get; set; } - [FlatBufferItem(05)] public float OffsetZ { get; set; } - [FlatBufferItem(06)] public string Type { get; set; } = string.Empty; - [FlatBufferItem(07)] public string Field_07 { get; set; } = string.Empty; // Heatran has this on collider[1] (PM0485), some have it set to SemiLegendFlick. Something like a script tag maybe? -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs deleted file mode 100644 index e7ae3da1..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDefaultLocatorArchive8a.cs +++ /dev/null @@ -1,30 +0,0 @@ -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 PokeDefaultLocatorArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeDefaultLocator8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDefaultLocator8a -{ - [FlatBufferItem(00)] public string Locator { get; set; } = string.Empty; - [FlatBufferItem(01)] public string Socket { get; set; } = string.Empty; - [FlatBufferItem(02)] public Vec3f Position { get; set; } = Vec3f.Zero; - [FlatBufferItem(03)] public Vec3f Rotation { get; set; } = Vec3f.Zero; - [FlatBufferItem(04)] public Vec3f Scale { get; set; } = Vec3f.One; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemArchive8a.cs deleted file mode 100644 index c2e25ef9..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemArchive8a.cs +++ /dev/null @@ -1,32 +0,0 @@ -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 PokeDropItemArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokeDropItem8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDropItem8a -{ - [FlatBufferItem(00)] public ulong Hash { get; set; } - [FlatBufferItem(01)][TypeConverter(typeof(ItemConverter))] public int RegularItem { get; set; } - [FlatBufferItem(02)] public int RegularItemProbability { get; set; } - [FlatBufferItem(03)][TypeConverter(typeof(ItemConverter))] public int RareItem { get; set; } - [FlatBufferItem(04)] public int RareItemProbability { get; set; } - - public string Dump(string[] itemNames) => $"{Hash:X16}\t{itemNames[RegularItem]}\t{RegularItemProbability}\t{itemNames[RareItem]}\t{RareItemProbability}"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemBattleArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemBattleArchive8a.cs deleted file mode 100644 index ed9b9477..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeDropItemBattleArchive8a.cs +++ /dev/null @@ -1,37 +0,0 @@ -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 PokeDropItemBattleArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokeDropItemBattle8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDropItemBattle8a -{ - [FlatBufferItem(00)] public int RateItem1 { get; set; } - [FlatBufferItem(01)] public int IndexItem1 { get; set; } - [FlatBufferItem(02)] public int RateItem2 { get; set; } - [FlatBufferItem(03)] public int IndexItem2 { get; set; } - [FlatBufferItem(04)] public int RateItem3 { get; set; } - [FlatBufferItem(05)] public int IndexItem3 { get; set; } - [FlatBufferItem(06)] public int RateItem4 { get; set; } - [FlatBufferItem(07)] public int IndexItem4 { get; set; } - [FlatBufferItem(08)] public int RateItem5 { get; set; } - [FlatBufferItem(09)] public int IndexItem5 { get; set; } - - 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]}"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeEatingHabitsArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeEatingHabitsArchive8a.cs deleted file mode 100644 index e2802596..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeEatingHabitsArchive8a.cs +++ /dev/null @@ -1,32 +0,0 @@ -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 PokeEatingHabitsArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeEatingHabits8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeEatingHabits8a -{ - [FlatBufferItem(00)] public uint ID { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public uint Field_04 { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWaza8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWaza8a.cs deleted file mode 100644 index 10ecdfd5..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWaza8a.cs +++ /dev/null @@ -1,68 +0,0 @@ -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 PokeFieldObstructionWaza8a -{ - [FlatBufferItem(00)] public string Field_00 { get; set; } = string.Empty; - [FlatBufferItem(01)] public uint Field_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } // None have this - [FlatBufferItem(03)] public string Field_03 { get; set; } = string.Empty; - [FlatBufferItem(04)] public string[] Field_04 { get; set; } = Array.Empty(); - [FlatBufferItem(05)] public string Field_05 { get; set; } = string.Empty; - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public uint Field_07 { get; set; } - [FlatBufferItem(08)] public string Field_08 { get; set; } = string.Empty; // Type: UInt32 AC (172) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public uint Field_10 { get; set; } // None have this - [FlatBufferItem(11)] public uint Field_11 { get; set; } - [FlatBufferItem(12)] public float Field_12 { get; set; } - [FlatBufferItem(13)] public float Field_13 { get; set; } - [FlatBufferItem(14)] public float Field_14 { get; set; } - [FlatBufferItem(15)] public float Field_15 { get; set; } - [FlatBufferItem(16)] public uint Field_16 { get; set; } // None have this - [FlatBufferItem(17)] public uint Field_17 { get; set; } // None have this - [FlatBufferItem(18)] public uint Field_18 { get; set; } // None have this - [FlatBufferItem(19)] public uint Field_19 { get; set; } - [FlatBufferItem(20)] public uint Field_20 { get; set; } - [FlatBufferItem(21)] public float Field_21 { get; set; } - [FlatBufferItem(22)] public uint Field_22 { get; set; } - [FlatBufferItem(23)] public string Field_23 { get; set; } = string.Empty; // Type: UInt32 84 (132) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] - [FlatBufferItem(24)] public string Field_24 { get; set; } = string.Empty; // Type: UInt32 78 (120) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] - [FlatBufferItem(25)] public uint Field_25 { get; set; } // None have this - [FlatBufferItem(26)] public uint Field_26 { get; set; } // None have this - [FlatBufferItem(27)] public uint Field_27 { get; set; } // None have this - [FlatBufferItem(28)] public uint Field_28 { get; set; } // None have this - [FlatBufferItem(29)] public uint Field_29 { get; set; } - [FlatBufferItem(30)] public uint Field_30 { get; set; } // None have this - [FlatBufferItem(31)] public bool Flag_31 { get; set; } - [FlatBufferItem(32)] public bool Flag_32 { get; set; } - [FlatBufferItem(33)] public float Field_33 { get; set; } - [FlatBufferItem(34)] public float Field_34 { get; set; } - [FlatBufferItem(35)] public bool Flag_35 { get; set; } - [FlatBufferItem(36)] public bool Flag_36 { get; set; } - [FlatBufferItem(37)] public string Field_37 { get; set; } = string.Empty; // Type: UInt32 60 (96) String string () ArrayType: Byte[0] UInt16[0] UInt32[0] Single[0] UInt64[0] Double[0] Object[0] String[0] - [FlatBufferItem(38)] public uint Field_38 { get; set; } - [FlatBufferItem(39)] public uint Field_39 { get; set; } - [FlatBufferItem(40)] public uint Field_40 { get; set; } // None have this - [FlatBufferItem(41)] public uint Field_41 { get; set; } // None have this - [FlatBufferItem(42)] public uint Field_42 { get; set; } // None have this - [FlatBufferItem(43)] public uint[] Field_43 { get; set; } = Array.Empty(); // Type: ArrayType: Byte[1] UInt16[1] UInt32[1] String[1] - [FlatBufferItem(44)] public bool Flag_44 { get; set; } - [FlatBufferItem(45)] public float Field_45 { get; set; } - [FlatBufferItem(46)] public string Field_46 { get; set; } = string.Empty; - [FlatBufferItem(47)] public float[] Field_47 { get; set; } = Array.Empty(); - [FlatBufferItem(48)] public string Field_48 { get; set; } = string.Empty; - [FlatBufferItem(49)] public float[] Field_49 { get; set; } = Array.Empty(); - [FlatBufferItem(50)] public float Field_50 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive8a.cs deleted file mode 100644 index f5283a65..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendArchive8a.cs +++ /dev/null @@ -1,75 +0,0 @@ -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 PokeFieldObstructionWazaNsLegendArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWazaNsLegend8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeFieldObstructionWazaNsLegend8a -{ - - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public uint Field_04 { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public uint Field_07 { get; set; } - [FlatBufferItem(08)] public uint Field_08 { get; set; } - [FlatBufferItem(09)] public uint Field_09 { get; set; } - [FlatBufferItem(10)] public uint Field_10 { get; set; } - [FlatBufferItem(11)] public uint Field_11 { get; set; } - [FlatBufferItem(12)] public uint Field_12 { get; set; } - [FlatBufferItem(13)] public uint Field_13 { get; set; } - [FlatBufferItem(14)] public uint Field_14 { get; set; } - [FlatBufferItem(15)] public uint Field_15 { get; set; } - [FlatBufferItem(16)] public uint Field_16 { get; set; } - [FlatBufferItem(17)] public uint Field_17 { get; set; } - [FlatBufferItem(18)] public uint Field_18 { get; set; } - [FlatBufferItem(19)] public uint Field_19 { get; set; } - [FlatBufferItem(20)] public uint Field_20 { get; set; } - [FlatBufferItem(21)] public uint Field_21 { get; set; } - [FlatBufferItem(22)] public uint Field_22 { get; set; } - [FlatBufferItem(23)] public uint Field_23 { get; set; } - [FlatBufferItem(24)] public uint Field_24 { get; set; } - [FlatBufferItem(25)] public uint Field_25 { get; set; } - [FlatBufferItem(26)] public uint Field_26 { get; set; } - [FlatBufferItem(27)] public uint Field_27 { get; set; } - [FlatBufferItem(28)] public uint Field_28 { get; set; } - [FlatBufferItem(29)] public uint Field_29 { get; set; } - [FlatBufferItem(30)] public uint Field_30 { get; set; } - [FlatBufferItem(31)] public uint Field_31 { get; set; } - [FlatBufferItem(32)] public uint Field_32 { get; set; } - [FlatBufferItem(33)] public uint Field_33 { get; set; } - [FlatBufferItem(34)] public uint Field_34 { get; set; } - [FlatBufferItem(35)] public uint Field_35 { get; set; } - [FlatBufferItem(36)] public uint Field_36 { get; set; } - [FlatBufferItem(37)] public uint Field_37 { get; set; } - [FlatBufferItem(38)] public uint Field_38 { get; set; } - [FlatBufferItem(39)] public uint Field_39 { get; set; } - [FlatBufferItem(40)] public uint Field_40 { get; set; } - [FlatBufferItem(41)] public uint Field_41 { get; set; } - [FlatBufferItem(42)] public uint Field_42 { get; set; } - [FlatBufferItem(43)] public uint Field_43 { get; set; } - [FlatBufferItem(44)] public uint Field_44 { get; set; } - [FlatBufferItem(45)] public uint Field_45 { get; set; } - [FlatBufferItem(46)] public uint Field_46 { get; set; } - [FlatBufferItem(47)] public uint Field_47 { get; set; } - [FlatBufferItem(48)] public uint Field_48 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive8a.cs deleted file mode 100644 index a282ee97..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaNsLegendEffectArchive8a.cs +++ /dev/null @@ -1,66 +0,0 @@ -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 PokeFieldObstructionWazaNsLegendEffectArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWazaNsLegendEffect8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeFieldObstructionWazaNsLegendEffect8a -{ - - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public uint Field_04 { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public uint Field_07 { get; set; } - [FlatBufferItem(08)] public uint Field_08 { get; set; } - [FlatBufferItem(09)] public uint Field_09 { get; set; } - [FlatBufferItem(10)] public uint Field_10 { get; set; } - [FlatBufferItem(11)] public uint Field_11 { get; set; } - [FlatBufferItem(12)] public uint Field_12 { get; set; } - [FlatBufferItem(13)] public uint Field_13 { get; set; } - [FlatBufferItem(14)] public uint Field_14 { get; set; } - [FlatBufferItem(15)] public uint Field_15 { get; set; } - [FlatBufferItem(16)] public uint Field_16 { get; set; } - [FlatBufferItem(17)] public uint Field_17 { get; set; } - [FlatBufferItem(18)] public uint Field_18 { get; set; } - [FlatBufferItem(19)] public uint Field_19 { get; set; } - [FlatBufferItem(20)] public uint Field_20 { get; set; } - [FlatBufferItem(21)] public uint Field_21 { get; set; } - [FlatBufferItem(22)] public uint Field_22 { get; set; } - [FlatBufferItem(23)] public uint Field_23 { get; set; } - [FlatBufferItem(24)] public uint Field_24 { get; set; } - [FlatBufferItem(25)] public uint Field_25 { get; set; } - [FlatBufferItem(26)] public uint Field_26 { get; set; } - [FlatBufferItem(27)] public uint Field_27 { get; set; } - [FlatBufferItem(28)] public uint Field_28 { get; set; } - [FlatBufferItem(29)] public uint Field_29 { get; set; } - [FlatBufferItem(30)] public uint Field_30 { get; set; } - [FlatBufferItem(31)] public uint Field_31 { get; set; } - [FlatBufferItem(32)] public uint Field_32 { get; set; } - [FlatBufferItem(33)] public uint Field_33 { get; set; } - [FlatBufferItem(34)] public uint Field_34 { get; set; } - [FlatBufferItem(35)] public uint Field_35 { get; set; } - [FlatBufferItem(36)] public uint Field_36 { get; set; } - [FlatBufferItem(37)] public uint Field_37 { get; set; } - [FlatBufferItem(38)] public uint Field_38 { get; set; } - [FlatBufferItem(39)] public uint Field_39 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaSeArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaSeArchive8a.cs deleted file mode 100644 index 11d91c9c..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaSeArchive8a.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 PokeFieldObstructionWazaSeArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWazaSe8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeFieldObstructionWazaSe8a -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } // ? - [FlatBufferItem(01)] public uint Field_01 { get; set; } // ? - [FlatBufferItem(02)] public uint Field_02 { get; set; } // ? -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildArchive8a.cs deleted file mode 100644 index a1774545..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildArchive8a.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 PokeFieldObstructionWazaWildArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWaza8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive8a.cs deleted file mode 100644 index afc9ce13..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildEffectArchive8a.cs +++ /dev/null @@ -1,65 +0,0 @@ -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 PokeFieldObstructionWazaWildEffectArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWazaWildEffect8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeFieldObstructionWazaWildEffect8a -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } // ? - [FlatBufferItem(01)] public uint Field_01 { get; set; } // ? - [FlatBufferItem(02)] public uint Field_02 { get; set; } // ? - [FlatBufferItem(03)] public uint Field_03 { get; set; } // ? - [FlatBufferItem(04)] public uint Field_04 { get; set; } // ? - [FlatBufferItem(05)] public uint Field_05 { get; set; } // ? - [FlatBufferItem(06)] public uint Field_06 { get; set; } // ? - [FlatBufferItem(07)] public uint Field_07 { get; set; } // ? - [FlatBufferItem(08)] public uint Field_08 { get; set; } // ? - [FlatBufferItem(09)] public uint Field_09 { get; set; } // ? - [FlatBufferItem(10)] public uint Field_10 { get; set; } // ? - [FlatBufferItem(11)] public uint Field_11 { get; set; } // ? - [FlatBufferItem(12)] public uint Field_12 { get; set; } // ? - [FlatBufferItem(13)] public uint Field_13 { get; set; } // ? - [FlatBufferItem(14)] public uint Field_14 { get; set; } // ? - [FlatBufferItem(15)] public uint Field_15 { get; set; } // ? - [FlatBufferItem(16)] public uint Field_16 { get; set; } // ? - [FlatBufferItem(17)] public uint Field_17 { get; set; } // ? - [FlatBufferItem(18)] public uint Field_18 { get; set; } // ? - [FlatBufferItem(19)] public uint Field_19 { get; set; } // ? - [FlatBufferItem(20)] public uint Field_20 { get; set; } // ? - [FlatBufferItem(21)] public uint Field_21 { get; set; } // ? - [FlatBufferItem(22)] public uint Field_22 { get; set; } // ? - [FlatBufferItem(23)] public uint Field_23 { get; set; } // ? - [FlatBufferItem(24)] public uint Field_24 { get; set; } // ? - [FlatBufferItem(25)] public uint Field_25 { get; set; } // ? - [FlatBufferItem(26)] public uint Field_26 { get; set; } // ? - [FlatBufferItem(27)] public uint Field_27 { get; set; } // ? - [FlatBufferItem(28)] public uint Field_28 { get; set; } // ? - [FlatBufferItem(29)] public uint Field_29 { get; set; } // ? - [FlatBufferItem(30)] public uint Field_30 { get; set; } // ? - [FlatBufferItem(31)] public uint Field_31 { get; set; } // ? - [FlatBufferItem(32)] public uint Field_32 { get; set; } // ? - [FlatBufferItem(33)] public uint Field_33 { get; set; } // ? - [FlatBufferItem(34)] public uint Field_34 { get; set; } // ? - [FlatBufferItem(35)] public uint Field_35 { get; set; } // ? - [FlatBufferItem(36)] public uint Field_36 { get; set; } // ? - [FlatBufferItem(37)] public uint Field_37 { get; set; } // ? - [FlatBufferItem(38)] public uint Field_38 { get; set; } // ? - [FlatBufferItem(39)] public uint Field_39 { get; set; } // ? -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive8a.cs deleted file mode 100644 index ab73c411..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterArchive8a.cs +++ /dev/null @@ -1,20 +0,0 @@ -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 PokeFieldObstructionWazaWildWaterArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWaza8a[] Table { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive8a.cs deleted file mode 100644 index d8452114..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeFieldObstructionWazaWildWaterEffectArchive8a.cs +++ /dev/null @@ -1,65 +0,0 @@ -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 PokeFieldObstructionWazaWildWaterEffectArchive8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeFieldObstructionWazaWildWaterEffect8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeFieldObstructionWazaWildWaterEffect8a -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } // ? - [FlatBufferItem(01)] public uint Field_01 { get; set; } // ? - [FlatBufferItem(02)] public uint Field_02 { get; set; } // ? - [FlatBufferItem(03)] public uint Field_03 { get; set; } // ? - [FlatBufferItem(04)] public uint Field_04 { get; set; } // ? - [FlatBufferItem(05)] public uint Field_05 { get; set; } // ? - [FlatBufferItem(06)] public uint Field_06 { get; set; } // ? - [FlatBufferItem(07)] public uint Field_07 { get; set; } // ? - [FlatBufferItem(08)] public uint Field_08 { get; set; } // ? - [FlatBufferItem(09)] public uint Field_09 { get; set; } // ? - [FlatBufferItem(10)] public uint Field_10 { get; set; } // ? - [FlatBufferItem(11)] public uint Field_11 { get; set; } // ? - [FlatBufferItem(12)] public uint Field_12 { get; set; } // ? - [FlatBufferItem(13)] public uint Field_13 { get; set; } // ? - [FlatBufferItem(14)] public uint Field_14 { get; set; } // ? - [FlatBufferItem(15)] public uint Field_15 { get; set; } // ? - [FlatBufferItem(16)] public uint Field_16 { get; set; } // ? - [FlatBufferItem(17)] public uint Field_17 { get; set; } // ? - [FlatBufferItem(18)] public uint Field_18 { get; set; } // ? - [FlatBufferItem(19)] public uint Field_19 { get; set; } // ? - [FlatBufferItem(20)] public uint Field_20 { get; set; } // ? - [FlatBufferItem(21)] public uint Field_21 { get; set; } // ? - [FlatBufferItem(22)] public uint Field_22 { get; set; } // ? - [FlatBufferItem(23)] public uint Field_23 { get; set; } // ? - [FlatBufferItem(24)] public uint Field_24 { get; set; } // ? - [FlatBufferItem(25)] public uint Field_25 { get; set; } // ? - [FlatBufferItem(26)] public uint Field_26 { get; set; } // ? - [FlatBufferItem(27)] public uint Field_27 { get; set; } // ? - [FlatBufferItem(28)] public uint Field_28 { get; set; } // ? - [FlatBufferItem(29)] public uint Field_29 { get; set; } // ? - [FlatBufferItem(30)] public uint Field_30 { get; set; } // ? - [FlatBufferItem(31)] public uint Field_31 { get; set; } // ? - [FlatBufferItem(32)] public uint Field_32 { get; set; } // ? - [FlatBufferItem(33)] public uint Field_33 { get; set; } // ? - [FlatBufferItem(34)] public uint Field_34 { get; set; } // ? - [FlatBufferItem(35)] public uint Field_35 { get; set; } // ? - [FlatBufferItem(36)] public uint Field_36 { get; set; } // ? - [FlatBufferItem(37)] public uint Field_37 { get; set; } // ? - [FlatBufferItem(38)] public uint Field_38 { get; set; } // ? - [FlatBufferItem(39)] public uint Field_39 { get; set; } // ? -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeMiscTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeMiscTable8a.cs deleted file mode 100644 index 45b2a6c5..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeMiscTable8a.cs +++ /dev/null @@ -1,77 +0,0 @@ -using FlatSharp.Attributes; -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeMiscTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokeMisc8a[] Table { get; set; } = Array.Empty(); - - public PokeMisc8a GetEntry(ushort species, ushort form) - { - return Array.Find(Table, z => z.Species == species && z.Form == form) ?? - new PokeMisc8a { Value = $"{species}-{form} is not in {nameof(PokeMiscTable8a)}." }; - } - - public bool HasEntry(ushort species, ushort form) - { - return Table.Any(x => x.Species == species && x.Form == form); - } - - public PokeMisc8a AddEntry(ushort species, ushort form) - { - Debug.Assert(!HasEntry(species, form), "The misc table already contains an entry for the same species + form!"); - - var entry = new PokeMisc8a { Species = species, Form = form }; - Table = Table.Append(entry) - .OrderBy(x => x.Species) - .ThenBy(x => x.Form) - .ToArray(); - return entry; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeMisc8a -{ - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public int Form { get; set; } - [FlatBufferItem(02)] public int Field_02 { get; set; } - [FlatBufferItem(03)] public float ScaleFactor { get; set; } = 1.0f; // scale factor when not alpha - [FlatBufferItem(04)] public float AlphaScaleFactor { get; set; } = 2.0f; // scale factor when alpha (forced 255) - [FlatBufferItem(05)] public int Field_05 { get; set; } // = 1; // similar scale amplification like Field 6, but not used for levels - [FlatBufferItem(06)] public int OybnLevelIndex { get; set; } = 2; - - [FlatBufferItem(07)][TypeConverter(typeof(DropTableConverter))] public ulong DropTableRef { get; set; } - public PokeDropItem8a? DropTable { get; set; } - [FlatBufferItem(08)][TypeConverter(typeof(DropTableConverter))] public ulong AlphaDropTableRef { get; set; } - public PokeDropItem8a? AlphaDropTable { get; set; } - - [FlatBufferItem(09)] public string Value { get; set; } = "pm0000_00_00"; - [FlatBufferItem(10)] public uint[] Field_10 { get; set; } = { 0, 1, 2, 3 }; - [FlatBufferItem(11)] public int Field_11 { get; set; } = 0; - [FlatBufferItem(12)] public int Field_12 { get; set; } = 4; - [FlatBufferItem(13)] public int Field_13 { get; set; } = 10; - [FlatBufferItem(14)] public bool Field_14 { get; set; } = false; - [FlatBufferItem(15)] public int Field_15 { get; set; } = 0; - [FlatBufferItem(16)] public float Field_16 { get; set; } = 0.01f; - [FlatBufferItem(17)] public float Field_17 { get; set; } = 1.0f; - [FlatBufferItem(18)] public bool Field_18 { get; set; } = true; // false for zubat, psyduck - [FlatBufferItem(19)] public float Field_19 { get; set; } = 0; - [FlatBufferItem(20)] public float Field_20 { get; set; } = 1.0f; - [FlatBufferItem(21)] public uint Field_21 { get; set; } // None have this - [FlatBufferItem(22)] public float Field_22 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeResourceTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeResourceTable8a.cs deleted file mode 100644 index f6cd088b..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Poke/PokeResource/PokeResourceTable8a.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -using System.Linq; -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; - -// poke_resource_table.trpmcatalog -/// for Legends: Arceus, adding -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeResourceTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - public PokeModelConfig8a GetEntry(ushort species, ushort form, byte gender) - { - return Array.Find(Table, x => x.Meta.Species == species && x.Meta.Form == form && x.Meta.Gender == gender) ?? - new PokeModelConfig8a(); - } - - public bool HasEntry(ushort species, ushort form, byte gender) - { - return Table.Any(x => x.Meta.Species == species && x.Meta.Form == form && x.Meta.Gender == gender); - } - - public PokeModelConfig8a AddEntry(ushort species, ushort form, byte gender) - { - Debug.Assert(!HasEntry(species, form, gender), "The resource info table already contains an entry for the same species!"); - - string pmStr = $"pm{species:0000}_{gender:00}_{form:00}"; - string basePath = $"bin/pokemon/pm{species:0000}/{pmStr}"; - var entry = new PokeModelConfig8a - { - Meta = new() { Species = species, Form = form, Gender = gender }, - PathModel = $"{basePath}/mdl/{pmStr}.trmdl", - PathMeshMaterial = $"{basePath}/mdl/{pmStr}.trmmt", - PathConfig = $"{basePath}/{pmStr}.trpokecfg", - - Animations = new AnimationConfigStringTuple8a[] { - new(){ - Name = "base", - Path = $"{basePath}/anm/{pmStr}_base.tracn", - } - }, - - Effects = new AnimationConfigStringTuple8a[] { - new() { - Name = "eff", - Path = $"{basePath}/locators/{pmStr}_eff.trskl", - } - }, - }; - - Table = Table.Append(entry) - .OrderBy(x => x.Meta.Species) - .ThenBy(x => x.Meta.Form) - .ThenBy(x => x.Meta.Gender) - .ToArray(); - return entry; - } - - [FlatBufferItem(00)] public PokeResourceMeta8a Meta { get; set; } = new(); - [FlatBufferItem(01)] public PokeModelConfig8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeResourceMeta8a -{ - [FlatBufferItem(00)] public int Field0 { get; set; } = 5; // 4 in prior game format - [FlatBufferItem(01)] public int Field1 { get; set; } = 4; // 2 in prior game format -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeModelConfig8a -{ - [FlatBufferItem(00)] public PokeModelMeta8a Meta { get; set; } = new(); - [FlatBufferItem(01)] public string PathModel { get; set; } = string.Empty; // string - [FlatBufferItem(02)] public string PathMeshMaterial { get; set; } = string.Empty; // string - [FlatBufferItem(03)] public string PathConfig { get; set; } = string.Empty; // string - [FlatBufferItem(04)] public byte Unused { get; set; } // unused! - [FlatBufferItem(05)] public AnimationConfigStringTuple8a[] Animations { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public AnimationConfigStringTuple8a[] Effects { get; set; } = Array.Empty(); - [FlatBufferItem(07)] public int? ArceusType { get; set; } // Specified by Arceus' forms -- NEW! -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeModelMeta8a -{ - [FlatBufferItem(00)] public ushort Species { get; set; } - [FlatBufferItem(01)] public ushort Form { get; set; } - [FlatBufferItem(02)] public byte Gender { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AnimationConfigStringTuple8a -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public string Path { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexDistributionTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexDistributionTable.cs deleted file mode 100644 index 7eaf2ccf..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexDistributionTable.cs +++ /dev/null @@ -1,59 +0,0 @@ -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 PokedexDistributionTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokedexDistributionEntry[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokedexDistributionEntry -{ - [FlatBufferItem(00)] public int Species { 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; } - [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 ulong Field_13 { get; set; } - [FlatBufferItem(14)] public ulong Field_14 { get; set; } - [FlatBufferItem(15)] public ulong Field_15 { get; set; } - [FlatBufferItem(16)] public ulong Field_16 { get; set; } - [FlatBufferItem(17)] public ulong Field_17 { get; set; } - [FlatBufferItem(18)] public ulong Field_18 { get; set; } - [FlatBufferItem(19)] public ulong Field_19 { get; set; } - [FlatBufferItem(20)] public ulong Field_20 { get; set; } - [FlatBufferItem(21)] public ulong Field_21 { get; set; } - [FlatBufferItem(22)] public ulong Field_22 { get; set; } - [FlatBufferItem(23)] public ulong Field_23 { get; set; } - [FlatBufferItem(24)] public ulong Field_24 { get; set; } - [FlatBufferItem(25)] public ulong Field_25 { get; set; } - [FlatBufferItem(26)] public ulong Field_26 { get; set; } - [FlatBufferItem(27)] public ulong Field_27 { get; set; } - [FlatBufferItem(28)] public ulong Field_28 { get; set; } - [FlatBufferItem(29)] public ulong Field_29 { get; set; } - [FlatBufferItem(30)] public ulong Field_30 { get; set; } - [FlatBufferItem(31)] public ulong Field_31 { get; set; } - [FlatBufferItem(32)] public ulong Field_32 { get; set; } - [FlatBufferItem(33)] public ulong Field_33 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexRankTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexRankTable.cs deleted file mode 100644 index 2c6d77df..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexRankTable.cs +++ /dev/null @@ -1,27 +0,0 @@ -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 PokedexRankTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokedexRankLevel[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokedexRankLevel -{ - [FlatBufferItem(0)] public int Rank { get; set; } - [FlatBufferItem(1)] public int Required { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs b/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs deleted file mode 100644 index c403214f..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Pokedex/PokedexResearchTable.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -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 PokedexResearchTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public PokedexResearchTask[] Table { get; set; } = Array.Empty(); - - public PokedexResearchTask[] GetEntries(int species) - { - return Table.Where(z => z.Species == species).ToArray(); - } - - public PokedexResearchTask AddTask(int Species) - { - var task = new PokedexResearchTask { Species = Species }; - Table = Table.Append(task); - return task; - } - - public void AddTask(PokedexResearchTask task) - { - Table = Table.Append(task); - } - - public void RemoveTask(PokedexResearchTask taskToRemove) - { - Table = Table.Remove(taskToRemove); - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokedexResearchTask -{ - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public ResearchTaskType TaskType { get; set; } - [FlatBufferItem(02)] public int Threshold { get; set; } - [FlatBufferItem(03)] public int Move { get; set; } - [FlatBufferItem(04)] public int MoveType { get; set; } - [FlatBufferItem(05)] public int TimeOfDay { get; set; } - [FlatBufferItem(06)] public ulong Hash_06 { get; set; } = 14695981039346656837; - [FlatBufferItem(07)] public ulong Hash_07 { get; set; } = 14695981039346656837; - [FlatBufferItem(08)] public ulong Hash_08 { get; set; } = 14695981039346656837; - [FlatBufferItem(09)] public int Threshold1 { get; set; } = 1; - [FlatBufferItem(10)] public int Threshold2 { get; set; } = 2; - [FlatBufferItem(11)] public int Threshold3 { get; set; } = 4; - [FlatBufferItem(12)] public int Threshold4 { get; set; } = 6; - [FlatBufferItem(13)] public int Threshold5 { get; set; } = 10; - [FlatBufferItem(14)] public int PointsSingle { get; set; } = 10; - [FlatBufferItem(15)] public int PointsBonus { get; set; } = 0; - [FlatBufferItem(16)] public bool RequiredForCompletion { get; set; } // Unused but referenced by code (bool is set to != 0) -} - -[FlatBufferEnum(typeof(int))] -public enum ResearchTaskType -{ - Unknown_0, - MoveTask, - DefeatTask, - Unknown_3, - Unknown_4, - Unknown_5, - Unknown_6, - Unknown_7, - Unknown_8, - Unknown_9, - Unknown_10, - Unknown_11, - Unknown_12, - Unknown_13, - Unknown_14, - Unknown_15, - Unknown_16, - Unknown_17, - Unknown_18, - Unknown_19, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/ScriptIDRecordRelease.cs b/pkNX.Structures.FlatBuffers/Arceus/ScriptIDRecordRelease.cs deleted file mode 100644 index 612d8e16..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/ScriptIDRecordRelease.cs +++ /dev/null @@ -1,29 +0,0 @@ -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 ScriptIDRecordRelease : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ScriptIDRecord[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ScriptIDRecord -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public string Type { get; set; } = string.Empty; - [FlatBufferItem(02)] public string Lua { get; set; } = string.Empty; - [FlatBufferItem(03)] public string Dat { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Shop/HaShopTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Shop/HaShopTable8a.cs deleted file mode 100644 index affaa854..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Shop/HaShopTable8a.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 HaShopTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public HaShopItem8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HaShopItem8a -{ - [FlatBufferItem(00)] public ulong Field_00 { get; set; } - [FlatBufferItem(01)] public ulong Field_01 { get; set; } - [FlatBufferItem(02)] public int ItemID { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/CommonCaptureConfigTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/CommonCaptureConfigTable8a.cs deleted file mode 100644 index 47ce69fd..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/CommonCaptureConfigTable8a.cs +++ /dev/null @@ -1,32 +0,0 @@ -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 CommonCaptureConfigTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public CommonCaptureConfig8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CommonCaptureConfig8a -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public ulong Hash { get; set; } - [FlatBufferItem(02)] public int Type { get; set; } - [FlatBufferItem(03)] public string String_03 { get; set; } = string.Empty; - [FlatBufferItem(04)] public string String_04 { get; set; } = string.Empty; - [FlatBufferItem(05)] public string[] String_05 { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public string[] String_06 { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectHitType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectHitType8a.cs deleted file mode 100644 index 98336de8..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectHitType8a.cs +++ /dev/null @@ -1,21 +0,0 @@ -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, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectTrajectoryType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectTrajectoryType8a.cs deleted file mode 100644 index b37e3bf8..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowEffectTrajectoryType8a.cs +++ /dev/null @@ -1,13 +0,0 @@ -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 -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemCategoryType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemCategoryType8a.cs deleted file mode 100644 index a900a8e6..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemCategoryType8a.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(ulong))] -public enum ThrowItemCategoryType8a : ulong -{ - ball = 0x5f89f09249c10944, //ball - bait = 0x5f9b0e9249cfaf71, //bait - pippidoll = 0xdbff893542f03b18, //pippidoll - None = 0xCBF29CE484222645, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemType8a.cs deleted file mode 100644 index 3ff91422..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowItemType8a.cs +++ /dev/null @@ -1,67 +0,0 @@ -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, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamTable8a.cs deleted file mode 100644 index 11bf1145..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamTable8a.cs +++ /dev/null @@ -1,32 +0,0 @@ -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 ThrowParamTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ThrowParam8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ThrowParam8a -{ - [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() => $"{ThrowParamType:X16}\t{Velocity}\t{Arc}\t{GravityDirection}\t{ThrowAngle}"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamType8a.cs deleted file mode 100644 index 9cea2336..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowParamType8a.cs +++ /dev/null @@ -1,19 +0,0 @@ -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 - MyPokeball = 0x1f99ab6e35778700, //mypokeball - unk_0x6e1bf2a287081c00 = 0x6e1bf2a287081c00, - None = 0xCBF29CE484222645, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetDictionary8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetDictionary8a.cs deleted file mode 100644 index d4e0bcf3..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetDictionary8a.cs +++ /dev/null @@ -1,34 +0,0 @@ -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 ThrowPermissionSetDictionary8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ThrowPermissionSetEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ThrowPermissionSetEntry8a -{ - [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; } - [FlatBufferItem(04)] public int Field_04 { get; set; } // unused - [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; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetType8a.cs deleted file mode 100644 index f1760fee..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowPermissionSetType8a.cs +++ /dev/null @@ -1,15 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -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, // "" -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableBaitParamDictionary8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableBaitParamDictionary8a.cs deleted file mode 100644 index b1b98d66..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableBaitParamDictionary8a.cs +++ /dev/null @@ -1,33 +0,0 @@ -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 ThrowableBaitParamDictionary8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ThrowableBaitParamEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ThrowableBaitParamEntry8a -{ - [FlatBufferItem(00)] public ulong Hash_00 { get; set; } - [FlatBufferItem(01)] public string Field_01 { get; set; } = string.Empty; - [FlatBufferItem(02)] public string Field_02 { get; set; } = string.Empty; - [FlatBufferItem(03)] public string Field_03 { get; set; } = string.Empty; - [FlatBufferItem(04)] public int Unused { get; set; } - [FlatBufferItem(05)] public int Field_05 { get; set; } - [FlatBufferItem(06)] public int Field_06 { get; set; } - [FlatBufferItem(07)] public string Field_07 { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableParamTable8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableParamTable8a.cs deleted file mode 100644 index 79f58fb1..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableParamTable8a.cs +++ /dev/null @@ -1,41 +0,0 @@ -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 ThrowableParamTable8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - public void AddEntry(int itemID) - { - Table = Table.Append(new ThrowableParam8a { ItemID = itemID }); - } - - [FlatBufferItem(0)] public ThrowableParam8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ThrowableParam8a -{ - [FlatBufferItem(00)] public int ItemID { 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; } - [FlatBufferItem(07)] public string Label_01 { get; set; } = string.Empty; - [FlatBufferItem(08)] public string Label_02 { get; set; } = string.Empty; - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public int Field_10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceDictionary8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceDictionary8a.cs deleted file mode 100644 index 92b77dff..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceDictionary8a.cs +++ /dev/null @@ -1,27 +0,0 @@ -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 ThrowableResourceDictionary8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ThrowableResourceEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ThrowableResourceEntry8a -{ - [FlatBufferItem(00)] public ulong Hash_00 { get; set; } - [FlatBufferItem(01)] public string File { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceSetDictionary8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceSetDictionary8a.cs deleted file mode 100644 index 7e6f8bcd..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Throw/ThrowableResourceSetDictionary8a.cs +++ /dev/null @@ -1,34 +0,0 @@ -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 ThrowableResourceSetDictionary8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ThrowableResourceSetEntry8a[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ThrowableResourceSetEntry8a -{ - [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 ThrowItemCategoryType8a ItemCategory { get; set; } - [FlatBufferItem(04)] public ulong Hash_04 { 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; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/TrData8a.cs b/pkNX.Structures.FlatBuffers/Arceus/TrData8a.cs deleted file mode 100644 index 68831536..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/TrData8a.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -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 TrData8a -{ - [FlatBufferItem(00)] public ulong Hash_00 { get; set; } // ulong - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } // ulong - [FlatBufferItem(02)] public ulong Hash_02 { get; set; } // ulong - [FlatBufferItem(03)] public string Music { get; set; } = string.Empty; - [FlatBufferItem(04)] public string EE_04 { get; set; } = string.Empty; - [FlatBufferItem(05)] public string EE_05 { get; set; } = string.Empty; - [FlatBufferItem(06)] public string EE_06 { get; set; } = string.Empty; - [FlatBufferItem(07)] public ulong Hash_07 { get; set; } // ulong - [FlatBufferItem(08)] public ulong Hash_08 { get; set; } // ulong - [FlatBufferItem(09)] public TrFloatQuad Field_09 { get; set; } = new(); - [FlatBufferItem(10)] public int Field_10 { get; set; } // int - [FlatBufferItem(11)] public int Field_11 { get; set; } // int - [FlatBufferItem(12)] public int Field_12 { get; set; } // int - [FlatBufferItem(13)] public byte Field_13 { get; set; } // UNUSED? - [FlatBufferItem(14)] public byte Field_14 { get; set; } // UNUSED? - [FlatBufferItem(15)] public byte Field_15 { get; set; } // UNUSED? - [FlatBufferItem(16)] public byte Field_16 { get; set; } // byte - [FlatBufferItem(17)] public byte Field_17 { get; set; } // byte - [FlatBufferItem(18)] public byte Field_18 { get; set; } // byte - [FlatBufferItem(19)] public byte Field_19 { get; set; } // UNUSED? - [FlatBufferItem(20)] public byte Field_20 { get; set; } // byte - [FlatBufferItem(21)] public byte Field_21 { get; set; } // byte - [FlatBufferItem(22)] public TrPoke8a[] Team { get; set; } = Array.Empty(); - - public string TeamSummary => Environment.NewLine + string.Join(Environment.NewLine, Team.Select(z => "\t" + z)); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrPoke8a -{ - [FlatBufferItem(00)] public int Species { get; set; } - [FlatBufferItem(01)] public int Form { get; set; } - [FlatBufferItem(02)] public TrPoke8aMove Move_01 { get; set; } = new(); - [FlatBufferItem(03)] public TrPoke8aMove Move_02 { get; set; } = new(); - [FlatBufferItem(04)] public TrPoke8aMove Move_03 { get; set; } = new(); - [FlatBufferItem(05)] public TrPoke8aMove Move_04 { get; set; } = new(); - [FlatBufferItem(06)] public int Level { get; set; } - [FlatBufferItem(07)] public NatureType8a Nature { get; set; } - [FlatBufferItem(08)] public int Gender { get; set; } - [FlatBufferItem(09)] public int GV_HP { get; set; } - [FlatBufferItem(10)] public int GV_ATK { get; set; } - [FlatBufferItem(11)] public int GV_DEF { get; set; } - [FlatBufferItem(12)] public int GV_SPE { get; set; } - [FlatBufferItem(13)] public int GV_SPA { get; set; } - [FlatBufferItem(14)] public int GV_SPD { get; set; } - [FlatBufferItem(15)] public bool Shiny { get; set; } - [FlatBufferItem(16)] public bool IsOybn { get; set; } - - public override string ToString() - { - return $"{((Species)Species) + (Form == 0 ? "" : $"-{Form}"),-15}|({Move_01,4},{Move_02,4},{Move_03,4},{Move_04,4})|{Level,2}|{Nature,8}|{Gender}|({GV_HP}/{GV_ATK}/{GV_DEF}/{GV_SPA}/{GV_SPD}/{GV_SPE})"; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrPoke8aMove -{ - [FlatBufferItem(00)] public int Move { get; set; } - [FlatBufferItem(01)] public bool Mastered { get; set; } - public override string ToString() => $"{Move}{(Mastered ? "*":"")}"; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrFloatQuad -{ - [FlatBufferItem(00)] public float Float_00 { get; set; } - [FlatBufferItem(01)] public float Float_01 { get; set; } - [FlatBufferItem(02)] public float Float_02 { get; set; } - [FlatBufferItem(03)] public float Float_03 { get; set; } - - public override string ToString() => $"({Float_00},{Float_01},{Float_02},{Float_03})"; -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/AbilityType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Util/AbilityType8a.cs deleted file mode 100644 index 993363f2..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/AbilityType8a.cs +++ /dev/null @@ -1,15 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum AbilityType8a -{ - Any12 = 0, - Any12H = 1, - Only1 = 2, - Only2 = 3, - OnlyH = 4, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs deleted file mode 100644 index 1940238e..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/ArchiveContents8a.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.ComponentModel; -using System.Linq; -using FlatSharp.Attributes; -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; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ArchiveContents8a : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(0)] public ArchiveContent8a[] Table { get; set; } = Array.Empty(); - - public ArchiveContent8a AddEntry() - { - var entry = new ArchiveContent8a(); - - Table = Table.Append(entry); - return entry; - } - - public ArchiveContent8a AddEntry(string archiveFile, string[] internalArchiveFiles) - { - var entry = new ArchiveContent8a - { - ArchivePathHash = FnvHash.HashFnv1a_64(archiveFile), - ArchiveContentPathHashes = internalArchiveFiles.Select(p => FnvHash.HashFnv1a_64(p)).ToArray(), - }; - - Table = Table.Append(entry); - return entry; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ArchiveContent8a -{ - [FlatBufferItem(00)] public ulong ArchivePathHash { get; set; } // Eg. `bin/archive/pokemon/pm0025_00_00.gfpak` -> 0x9F0F82B368411FF - [FlatBufferItem(01)] public ulong[] ArchiveContentPathHashes { get; set; } = Array.Empty(); // Eg. `bin/pokemon/pm0025/pm0025_00_00/pm0025_00_00.trpokecfg` -> 0x132C0BBD4E633C28 -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Util/ShinyType8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Util/ShinyType8a.cs deleted file mode 100644 index 56a0c080..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Util/ShinyType8a.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ShinyType8a -{ - Random = 0, - Always = 1, - Never = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Arceus/Waza8a.cs b/pkNX.Structures.FlatBuffers/Arceus/Waza8a.cs deleted file mode 100644 index 03a64067..00000000 --- a/pkNX.Structures.FlatBuffers/Arceus/Waza8a.cs +++ /dev/null @@ -1,157 +0,0 @@ -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 Waza8a : IMove -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - // Type mismatch; FlatBuffer must use the correct struct type for each field - // We need to alias these and hide them from any PropertyGrid, so mark Browsable(false). - - [FlatBufferItem(00)] public int MoveID { get; set; } // int - [FlatBufferItem(01)] public bool CanUseMove { get; set; } - [FlatBufferItem(02), Browsable(false)] public byte FType { get; set; } // byte - [FlatBufferItem(03), Browsable(false)] public byte FQuality { get; set; } // byte - [FlatBufferItem(04), Browsable(false)] public byte FCategory { get; set; } // byte - [FlatBufferItem(05), Browsable(false)] public byte FPower { get; set; } // byte - [FlatBufferItem(06), Browsable(false)] public byte FAccuracy { get; set; } // byte - [FlatBufferItem(07), Browsable(false)] public byte FPP { get; set; } // byte - [FlatBufferItem(08), Browsable(false)] public sbyte FPriority { get; set; } // byte - [FlatBufferItem(09), Browsable(false)] public byte FHitMax { get; set; } // byte - [FlatBufferItem(10), Browsable(false)] public byte FHitMin { get; set; } // byte - [FlatBufferItem(11), Browsable(false)] public short FInflict { get; set; } // ushort - [FlatBufferItem(12), Browsable(false)] public byte FInflictPercent { get; set; } // byte - [FlatBufferItem(13), Browsable(false)] public byte FRawInflictCount { get; set; } // byte - [FlatBufferItem(14), Browsable(false)] public byte FTurnMin { get; set; } // byte - [FlatBufferItem(15), Browsable(false)] public byte FTurnMax { get; set; } // byte - [FlatBufferItem(16), Browsable(false)] public byte FCritStage { get; set; } // byte - [FlatBufferItem(17), Browsable(false)] public byte FFlinch { get; set; } // byte - [FlatBufferItem(18), Browsable(false)] public ushort FEffectSequence { get; set; } // ushort - [FlatBufferItem(19), Browsable(false)] public byte FRecoil { get; set; } // byte - [FlatBufferItem(20), Browsable(false)] public byte FRawHealing { get; set; } // byte - [FlatBufferItem(21), Browsable(false)] public byte FRawTarget { get; set; } // byte - [FlatBufferItem(22), Browsable(false)] public byte FStat1 { get; set; } // byte - [FlatBufferItem(23), Browsable(false)] public byte FStat2 { get; set; } // byte - [FlatBufferItem(24), Browsable(false)] public byte FStat3 { get; set; } // byte - [FlatBufferItem(25), Browsable(false)] public sbyte FStat1Stage { get; set; } // byte - [FlatBufferItem(26), Browsable(false)] public sbyte FStat2Stage { get; set; } // byte - [FlatBufferItem(27), Browsable(false)] public sbyte FStat3Stage { get; set; } // byte - [FlatBufferItem(28), Browsable(false)] public byte FStat1Percent { get; set; } // byte - [FlatBufferItem(29), Browsable(false)] public byte FStat2Percent { get; set; } // byte - [FlatBufferItem(30), Browsable(false)] public byte FStat3Percent { get; set; } // byte - [FlatBufferItem(31)] public byte FStat1Duration { get; set; } // byte - [FlatBufferItem(32)] public byte FStat2Duration { get; set; } // byte - [FlatBufferItem(33)] public byte FStat3Duration { get; set; } // byte - [FlatBufferItem(34)] public byte GigantamaxPower { get; set; } // byte - [FlatBufferItem(35)] public bool Flag_MakesContact { get; set; } - [FlatBufferItem(36)] public bool Flag_Charge { get; set; } - [FlatBufferItem(37)] public bool Flag_Recharge { get; set; } - [FlatBufferItem(38)] public bool Flag_Protect { get; set; } - [FlatBufferItem(39)] public bool Flag_Reflectable { get; set; } - [FlatBufferItem(40)] public bool Flag_Snatch { get; set; } - [FlatBufferItem(41)] public bool Flag_Mirror { get; set; } - [FlatBufferItem(42)] public bool Flag_Punch { get; set; } - [FlatBufferItem(43)] public bool Flag_Sound { get; set; } - [FlatBufferItem(44)] public bool Flag_Gravity { get; set; } - [FlatBufferItem(45)] public bool Flag_Defrost { get; set; } - [FlatBufferItem(46)] public bool Flag_DistanceTriple { get; set; } - [FlatBufferItem(47)] public bool Flag_Heal { get; set; } - [FlatBufferItem(48)] public bool Flag_IgnoreSubstitute { get; set; } - [FlatBufferItem(49)] public bool Flag_FailSkyBattle { get; set; } - [FlatBufferItem(50)] public bool Flag_AnimateAlly { get; set; } - [FlatBufferItem(51)] public bool Flag_Dance { get; set; } - [FlatBufferItem(52)] public bool Flag_Metronome { get; set; } - // New additions! - [FlatBufferItem(53)] public byte SplinterModifier { get; set; } // byte - [FlatBufferItem(54)] public byte Status_Fixated { get; set; } // byte - [FlatBufferItem(55)] public byte Status_Obscured { get; set; } // byte - [FlatBufferItem(56)] public byte Status_ObscuredDuration { get; set; } // byte - [FlatBufferItem(57)] public byte Status_Primed { get; set; } // byte - [FlatBufferItem(58)] public byte Status_PrimedDuration { get; set; } // byte - [FlatBufferItem(59)] public byte Status_PrimedPercent { get; set; } // byte - [FlatBufferItem(60)] public byte Status_StanceSwap { get; set; } // byte - [FlatBufferItem(61)] public byte Status_StanceSwapDuration { get; set; } // byte - [FlatBufferItem(62)] public byte Status_FutureCrit { get; set; } // byte - [FlatBufferItem(63)] public byte Status_FutureCritDuration { get; set; } // byte - [FlatBufferItem(64)] public byte Status_FutureCritStage { get; set; } // byte - [FlatBufferItem(65)] public bool Flag_CureDrowsy { get; set; } // byte - [FlatBufferItem(66)] public bool Flag_CureFrostbite { get; set; } // byte - [FlatBufferItem(67)] public int DamagePercentStatused { get; set; } // int - [FlatBufferItem(68)] public byte CanStyle { get; set; } // byte - [FlatBufferItem(69)] public int ActSpeedModUser { get; set; } // int - [FlatBufferItem(70)] public int ActSpeedModUserAgile { get; set; } // int - [FlatBufferItem(71)] public int ActSpeedModUserStrong { get; set; } // int - [FlatBufferItem(72)] public int ActSpeedModTarget { get; set; } // int - [FlatBufferItem(73)] public int ActSpeedModTargetAgile { get; set; } // int - [FlatBufferItem(74)] public byte AgilePower { get; set; } // byte - [FlatBufferItem(75)] public byte AgileRawHealing { get; set; } // byte - [FlatBufferItem(76)] public byte AgileTurnMax { get; set; } // byte - [FlatBufferItem(77)] public byte AgileEffectDuration { get; set; } // byte - [FlatBufferItem(78)] public byte AgileStatChangeDuration { get; set; } // byte - [FlatBufferItem(79)] public byte StrongPower { get; set; } // byte - [FlatBufferItem(80)] public byte StrongAccuracy { get; set; } // byte - [FlatBufferItem(81)] public byte StrongCritStage { get; set; } // byte - [FlatBufferItem(82)] public byte StrongInflictPercent { get; set; } // byte - [FlatBufferItem(83)] public byte StrongStat1Percent { get; set; } // byte - [FlatBufferItem(84)] public byte StrongTurnMax { get; set; } // byte - [FlatBufferItem(85)] public byte StrongEffectDuration { get; set; } // byte - [FlatBufferItem(86)] public byte StrongStatChangeDuration { get; set; } // byte - [FlatBufferItem(87)] public int StrongRecoil { get; set; } // int - [FlatBufferItem(88)] public byte StrongRawHealing { get; set; } // byte - [FlatBufferItem(89)] public byte StrongSplinterModifier { get; set; } // byte - - public int Type { get => FType; set => FType = (byte)value; } - public int Quality { get => FQuality ; set => FQuality = (byte)value; } - public int Category { get => FCategory ; set => FCategory = (byte)value; } - public int Power { get => FPower ; set => FPower = (byte)value; } - public int Accuracy { get => FAccuracy ; set => FAccuracy = (byte)value; } - public int PP { get => FPP ; set => FPP = (byte)value; } - public int Priority { get => FPriority ; set => FPriority = (sbyte)value; } - public int HitMin { get => FHitMin ; set => FHitMin = (byte)value; } - public int HitMax { get => FHitMax ; set => FHitMax = (byte)value; } - public int Inflict { get => FInflict ; set => FInflict = (short)value; } - public int InflictPercent { get => FInflictPercent ; set => FInflictPercent = (byte)value; } - public int TurnMin { get => FTurnMin ; set => FTurnMin = (byte)value; } - public int TurnMax { get => FTurnMax ; set => FTurnMax = (byte)value; } - public int CritStage { get => FCritStage ; set => FCritStage = (byte)value; } - public int Flinch { get => FFlinch ; set => FFlinch = (byte)value; } - public int EffectSequence { get => FEffectSequence ; set => FEffectSequence = (ushort)value; } - public int Recoil { get => FRecoil ; set => FRecoil = (byte)value; } - public int Stat1 { get => FStat1 ; set => FStat1 = (byte)value; } - public int Stat2 { get => FStat2 ; set => FStat2 = (byte)value; } - public int Stat3 { get => FStat3 ; set => FStat3 = (byte)value; } - public int Stat1Stage { get => FStat1Stage ; set => FStat1Stage = (sbyte)value; } - public int Stat2Stage { get => FStat2Stage ; set => FStat2Stage = (sbyte)value; } - public int Stat3Stage { get => FStat3Stage ; set => FStat3Stage = (sbyte)value; } - public int Stat1Percent { get => FStat1Percent ; set => FStat1Percent = (byte)value; } - public int Stat2Percent { get => FStat2Percent ; set => FStat2Percent = (byte)value; } - public int Stat3Percent { get => FStat3Percent ; set => FStat3Percent = (byte)value; } - - public MoveInflictDuration InflictCount - { - get => (MoveInflictDuration)FRawInflictCount; - set => FRawInflictCount = (byte)value; - } - - public Heal Healing - { - get => (Heal)FRawHealing; - set => FRawHealing = (byte)value; - } - - public MoveTarget Target - { - get => (MoveTarget)FRawTarget; - set => FRawTarget = (byte)value; - } -} diff --git a/pkNX.Structures.FlatBuffers/FlatBufferConverter.cs b/pkNX.Structures.FlatBuffers/FlatBufferConverter.cs index efd1e3d0..7518c767 100644 --- a/pkNX.Structures.FlatBuffers/FlatBufferConverter.cs +++ b/pkNX.Structures.FlatBuffers/FlatBufferConverter.cs @@ -1,12 +1,15 @@ using System; +using System.Buffers; using System.IO; using FlatSharp; +using static FlatSharp.FlatBufferDeserializationOption; namespace pkNX.Structures.FlatBuffers; public static class FlatBufferConverter { - public static T[] DeserializeFrom(string[] files) where T : class + public static T[] DeserializeFrom(string[] files) + where T : class, IFlatBufferSerializable { var result = new T[files.Length]; for (int i = 0; i < result.Length; i++) @@ -17,36 +20,45 @@ public static class FlatBufferConverter return result; } - public static byte[][] SerializeFrom(T[] obj) where T : class + public static T DeserializeFrom(string path) where T : class, IFlatBufferSerializable => DeserializeFrom(path, GreedyMutable); + public static T DeserializeFrom(byte[] data) where T : class, IFlatBufferSerializable => DeserializeFrom(data, GreedyMutable); + public static T DeserializeFrom(Memory data) where T : class, IFlatBufferSerializable => DeserializeFrom(data, GreedyMutable); + + public static T DeserializeFrom(string path, FlatBufferDeserializationOption opt) + where T : class, IFlatBufferSerializable { - var result = new byte[obj.Length][]; - for (int i = 0; i < result.Length; i++) - { - var file = obj[i]; - result[i] = SerializeFrom(file); - } + var data = File.ReadAllBytes(path); + return DeserializeFrom(data, opt); + } + + public static T DeserializeFrom(byte[] data, FlatBufferDeserializationOption opt) + where T : class, IFlatBufferSerializable => opt switch + { + Lazy => T.LazySerializer.Parse(data), + Progressive => T.ProgressiveSerializer.Parse(data), + Greedy => T.GreedySerializer.Parse(data), + GreedyMutable => T.GreedyMutableSerializer.Parse(data), + _ => throw new ArgumentOutOfRangeException(nameof(opt), opt, null), + }; + + public static T DeserializeFrom(Memory data, FlatBufferDeserializationOption opt) + where T : class, IFlatBufferSerializable => opt switch + { + Lazy => T.LazySerializer.Parse(data), + Progressive => T.ProgressiveSerializer.Parse(data), + Greedy => T.GreedySerializer.Parse(data), + GreedyMutable => T.GreedyMutableSerializer.Parse(data), + _ => throw new ArgumentOutOfRangeException(nameof(opt), opt, null), + }; + + public static byte[] SerializeFrom(this T obj) where T : class, IFlatBufferSerializable + { + var pool = ArrayPool.Shared; + var serializer = obj.Serializer; + var data = pool.Rent(serializer.GetMaxSize(obj)); + var len = serializer.Write(data, obj); + var result = data.AsSpan(0, len).ToArray(); + pool.Return(data); return result; } - - public static T DeserializeFrom(string file) where T : class - { - var data = File.ReadAllBytes(file); - return DeserializeFrom(data); - } - - public static T DeserializeFrom(byte[] data) where T : class - { - return FlatBufferSerializer.Default.Parse(data); - } - - public static byte[] SerializeFrom(T obj) where T : class - { - var serializer = FlatBufferSerializer.Default; - var size = serializer.GetMaxSize(obj); - var data = new byte[size]; - var result = serializer.Serialize(obj, data); - if (result != data.Length) - Array.Resize(ref data, result); - return data; - } } diff --git a/pkNX.Structures.FlatBuffers/Gen7/EncounterArchive7b.cs b/pkNX.Structures.FlatBuffers/Gen7/EncounterArchive7b.cs deleted file mode 100644 index a366b489..00000000 --- a/pkNX.Structures.FlatBuffers/Gen7/EncounterArchive7b.cs +++ /dev/null @@ -1,77 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterArchive7b -{ - [FlatBufferItem(0)] public EncounterTable7b[] EncounterTables { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterTable7b -{ - [FlatBufferItem(00)] public ulong ZoneID { get; set; } - [FlatBufferItem(01)] public int TrainerRankMin { get; set; } - [FlatBufferItem(02)] public int TrainerRankMax { get; set; } - - [FlatBufferItem(03)] public bool GroundSpawnAllowed { get; set; } - [FlatBufferItem(04)] public int GroundSpawnCountMax { get; set; } - [FlatBufferItem(05)] public int GroundSpawnDuration { get; set; } - [FlatBufferItem(06)] public int GroundTableEncounterRate { get; set; } - [FlatBufferItem(07)] public int GroundTableLevelMin { get; set; } - [FlatBufferItem(08)] public int GroundTableLevelMax { get; set; } - [FlatBufferItem(09)] public int GroundTableRandChanceTotal { get; set; } - [FlatBufferItem(10)] public EncounterSlot7b[] GroundTable { get; set; } - - [FlatBufferItem(11)] public bool WaterSpawnAllowed { get; set; } - [FlatBufferItem(12)] public int WaterSpawnCountMax { get; set; } - [FlatBufferItem(13)] public int WaterSpawnDuration { get; set; } - [FlatBufferItem(14)] public int WaterTableEncounterRate { get; set; } - [FlatBufferItem(15)] public int WaterTableLevelMin { get; set; } - [FlatBufferItem(16)] public int WaterTableLevelMax { get; set; } - [FlatBufferItem(17)] public int WaterTableRandChanceTotal { get; set; } - [FlatBufferItem(18)] public EncounterSlot7b[] WaterTable { get; set; } - - [FlatBufferItem(19)] public int OldRodTableEncounterRate { get; set; } - [FlatBufferItem(20)] public int OldRodTableLevelMin { get; set; } - [FlatBufferItem(21)] public int OldRodTableLevelMax { get; set; } - [FlatBufferItem(22)] public int OldRodTableRandChanceTotal { get; set; } - [FlatBufferItem(23)] public EncounterSlot7b[] OldRodTable { get; set; } - - [FlatBufferItem(24)] public int GoodRodTableEncounterRate { get; set; } - [FlatBufferItem(25)] public int GoodRodTableLevelMin { get; set; } - [FlatBufferItem(26)] public int GoodRodTableLevelMax { get; set; } - [FlatBufferItem(27)] public int GoodRodTableRandChanceTotal { get; set; } - [FlatBufferItem(28)] public EncounterSlot7b[] GoodRodTable { get; set; } - - [FlatBufferItem(29)] public int SuperRodTableEncounterRate { get; set; } - [FlatBufferItem(30)] public int SuperRodTableLevelMin { get; set; } - [FlatBufferItem(31)] public int SuperRodTableLevelMax { get; set; } - [FlatBufferItem(32)] public int SuperRodTableRandChanceTotal { get; set; } - [FlatBufferItem(33)] public EncounterSlot7b[] SuperRodTable { get; set; } - - [FlatBufferItem(34)] public bool SkySpawnAllowed { get; set; } - [FlatBufferItem(35)] public int SkySpawnCountMax { get; set; } - [FlatBufferItem(36)] public int SkySpawnDuration { get; set; } - [FlatBufferItem(37)] public int SkyTableEncounterRate { get; set; } - [FlatBufferItem(38)] public int SkyTableLevelMin { get; set; } - [FlatBufferItem(39)] public int SkyTableLevelMax { get; set; } - [FlatBufferItem(40)] public int SkyTableRandChanceTotal { get; set; } - [FlatBufferItem(41)] public EncounterSlot7b[] SkyTable { get; set; } -} - -[FlatBufferTable] -public class EncounterSlot7b -{ - [FlatBufferItem(0)] public int Probability { get; set; } - [FlatBufferItem(1)] public int Species { get; set; } - [FlatBufferItem(2)] public short Form { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerPoke8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerPoke8Archive.cs deleted file mode 100644 index b3203931..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerPoke8Archive.cs +++ /dev/null @@ -1,47 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleTowerPoke8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public BattleTowerPoke8[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleTowerPoke8 -{ - [FlatBufferItem(00)] public bool Field_00 { get; set; } - [FlatBufferItem(01)] public bool Field_01 { get; set; } - [FlatBufferItem(02)] public bool Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public bool Field_04 { get; set; } - [FlatBufferItem(05)] public bool Field_05 { get; set; } - [FlatBufferItem(06)] public bool Field_06 { get; set; } - [FlatBufferItem(07)] public uint Form { get; set; } - [FlatBufferItem(08)] public uint Field_08 { get; set; } - [FlatBufferItem(09)] public uint HeldItem { get; set; } - [FlatBufferItem(10)] public uint Species { get; set; } - [FlatBufferItem(11)] public uint EntryID { get; set; } - [FlatBufferItem(12)] public uint Field_0C { get; set; } - [FlatBufferItem(13)] public uint Nature { get; set; } - [FlatBufferItem(14)] public uint Field_0E { get; set; } - [FlatBufferItem(15)] public uint IV_HP { get; set; } - [FlatBufferItem(16)] public uint IV_ATK { get; set; } - [FlatBufferItem(17)] public uint IV_DEF { get; set; } - [FlatBufferItem(18)] public uint IV_SPA { get; set; } - [FlatBufferItem(19)] public uint IV_SPD { get; set; } - [FlatBufferItem(20)] public uint IV_SPE { get; set; } - [FlatBufferItem(21)] public uint Field_15 { get; set; } - [FlatBufferItem(22)] public uint Move0 { get; set; } - [FlatBufferItem(23)] public uint Move1 { get; set; } - [FlatBufferItem(24)] public uint Move2 { get; set; } - [FlatBufferItem(25)] public uint Move3 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerTrainer8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerTrainer8Archive.cs deleted file mode 100644 index d283c7d4..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/BattleTower/BattleTowerTrainer8Archive.cs +++ /dev/null @@ -1,27 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleTowerTrainer8Archive -{ - [FlatBufferItem(0)] public BattleTowerTrainer8[] Entries { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleTowerTrainer8 -{ - [FlatBufferItem(0)] public ulong Hash0 { get; set; } - [FlatBufferItem(1)] public ulong Hash1 { get; set; } - [FlatBufferItem(2)] public ushort EntryID { get; set; } - [FlatBufferItem(3)] public ushort Field_03 { get; set; } - [FlatBufferItem(4)] public ushort Field_04 { get; set; } - [FlatBufferItem(5)] public ushort[] Choices { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterUnderground8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterUnderground8Archive.cs deleted file mode 100644 index 83ac7c7c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/EncounterUnderground8Archive.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.Collections.Generic; -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterUnderground8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EncounterUnderground8[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterUnderground8 -{ - [FlatBufferItem(00)] public bool HasFlagRequirement { get; set; } - [FlatBufferItem(01)] public ulong FlagRequirementID { get; set; } - [FlatBufferItem(02)] public byte Field_02 { get; set; } // all zero, Gender? - [FlatBufferItem(03)] public byte Form { get; set; } - [FlatBufferItem(04)] public uint GigantamaxState { get; set; } - [FlatBufferItem(05)] public uint Ball { get; set; } - [FlatBufferItem(06)] public uint IndexNum { get; set; } - [FlatBufferItem(07)] public uint Level { get; set; } - [FlatBufferItem(08)] public int Species { get; set; } - [FlatBufferItem(09)] public ulong UiMessageID { get; set; } - [FlatBufferItem(10)] public uint OT_Gender { get; set; } - [FlatBufferItem(11)] public byte Version { get; set; } - [FlatBufferItem(12)] public uint Shiny { get; set; } - [FlatBufferItem(13)] public sbyte IV_SPE { get; set; } - [FlatBufferItem(14)] public sbyte IV_ATK { get; set; } - [FlatBufferItem(15)] public sbyte IV_DEF { get; set; } - [FlatBufferItem(16)] public sbyte IV_HP { get; set; } - [FlatBufferItem(17)] public sbyte IV_SPA { get; set; } - [FlatBufferItem(18)] public sbyte IV_SPD { get; set; } - [FlatBufferItem(19)] public uint Ability { get; set; } // 1,2,4 - [FlatBufferItem(20)] public byte Field_14 { get; set; } // ultra beasts only, selectability - [FlatBufferItem(21)] public uint Move0 { get; set; } - [FlatBufferItem(22)] public uint Move1 { get; set; } - [FlatBufferItem(23)] public uint Move2 { get; set; } - [FlatBufferItem(24)] public uint Move3 { get; set; } - - public int Gender => 0; // Random - public bool IsGigantamax => GigantamaxState == 2; - - public override string ToString() => $"{IndexNum:00} - {Species:000}"; - - public string GetSummary(IReadOnlyList species) - { - var gender = Gender == 0 ? string.Empty : $", Gender = {Gender - 1}"; - var comment = $" // {species[Species]}{(Form == 0 ? string.Empty : "-" + Form)}"; - var moves = $", Moves = new[] {{{Move0:000},{Move1:000},{Move2:000},{Move3:000}}}"; - var game = Version != 0 ? Version == 1 ? ", Version = GameVersion.SW" : ", Version = GameVersion.SH" : ""; - var g = IsGigantamax ? ", CanGigantamax = true" : ""; - return $" new({Species:000},{Form},{Level:00}) {{ Ability = A{Ability}{gender}{moves}{g}{game} }},{comment}"; - } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionReward8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionReward8Archive.cs deleted file mode 100644 index 44425c34..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleDistributionReward8Archive.cs +++ /dev/null @@ -1,51 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleDistributionReward8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NestHoleDistributionReward8Table[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleDistributionReward8Table : INestHoleRewardTable -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public NestHoleDistributionReward8[] Entries { get; set; } - - public INestHoleReward[] Rewards => Entries; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleDistributionReward8 : INestHoleReward -{ - [FlatBufferItem(0)] public byte Value0 { get; set; } - [FlatBufferItem(1)] public byte Value1 { get; set; } - [FlatBufferItem(2)] public byte Value2 { get; set; } - [FlatBufferItem(3)] public byte Value3 { get; set; } - [FlatBufferItem(4)] public byte Value4 { get; set; } - [FlatBufferItem(5)] public ushort ItemID { get; set; } - - public uint Item => ItemID; - - public uint[] Values - { - get => new uint[] { Value0, Value1, Value2, Value3, Value4 }; - set - { - Value0 = (byte)value[0]; - Value1 = (byte)value[1]; - Value2 = (byte)value[2]; - Value3 = (byte)value[3]; - Value4 = (byte)value[4]; - } - } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleLevel8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleLevel8Archive.cs deleted file mode 100644 index 3063f7f4..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleLevel8Archive.cs +++ /dev/null @@ -1,30 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleLevel8Archive -{ - [FlatBufferItem(0)] public NestHoleLevel8Table[] Tables { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleLevel8Table -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public NestHoleLevel8[] Entries { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleLevel8 -{ - [FlatBufferItem(0)] public uint MinLevel { get; set; } - [FlatBufferItem(1)] public uint MaxLevel { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleReward8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleReward8Archive.cs deleted file mode 100644 index cbd8b036..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Nest/NestHoleReward8Archive.cs +++ /dev/null @@ -1,50 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleReward8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NestHoleReward8Table[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleReward8Table : INestHoleRewardTable -{ - [FlatBufferItem(0)] public ulong TableID { get; set; } - [FlatBufferItem(1)] public NestHoleReward8[] Entries { get; set; } - - [Browsable(false)] - public INestHoleReward[] Rewards => Entries; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NestHoleReward8 : INestHoleReward -{ - [FlatBufferItem(0)] public uint EntryID { get; set; } - [FlatBufferItem(1)] public uint ItemID { get; set; } - [FlatBufferItem(2)] public uint[] Values { get; set; } - - public uint Item => ItemID; - - public override string ToString() => $"{EntryID:0} - {ItemID:0000}"; -} - -public interface INestHoleReward -{ - uint Item { get; } - uint[] Values { get; set; } -} - -public interface INestHoleRewardTable -{ - ulong TableID { get; set; } - INestHoleReward[] Rewards { get; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/ArchiveContent.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/ArchiveContent.cs deleted file mode 100644 index e28d4fd2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/ArchiveContent.cs +++ /dev/null @@ -1,24 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// archive_contents.bin -- 7707 entry table (file, files) -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ArchiveContents : IFlatBufferArchive -{ - [FlatBufferItem(00)] public ArchiveContent[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ArchiveContent -{ - [FlatBufferItem(00)] public ulong Hash { get; set; } - [FlatBufferItem(01)] public string Hashes { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/CellTable.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/CellTable.cs deleted file mode 100644 index f5079d76..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/CellTable.cs +++ /dev/null @@ -1,97 +0,0 @@ -using System.ComponentModel; -using System.Text; -using FlatSharp; -using FlatSharp.Attributes; -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable MemberCanBePrivate.Global -// ReSharper disable UnusedType.Global -// ReSharper disable UnusedMember.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// poke_memory_data.prmb and others -// this is oddly similar to the map data FlatBuffer, assumed the same schema to encode an excel table? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CellTable -{ - [FlatBufferItem(0)] public CellMetaQuad[] QuadTable { get; set; } - [FlatBufferItem(1)] public CellUnion[] MainTable { get; set; } - [FlatBufferItem(2)] public CellMetaHashes[] DualTable { get; set; } - - public string[] Dump(int cellsPerRow, char tab = '\t') - { - var result = new string[MainTable.Length / cellsPerRow]; - for (int i = 0; i < result.Length; i++) - { - var index = i * cellsPerRow; - var sb = new StringBuilder(); - for (int j = 0; j < cellsPerRow; j++) - { - if (j != 0) - sb.Append(tab); - sb.Append(MainTable[index + j]); - } - result[i] = sb.ToString(); - } - return result; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CellMetaQuad -{ - [FlatBufferItem(0)] public int Field0 { get; set; } - [FlatBufferItem(1)] public int Field1 { get; set; } - [FlatBufferItem(2)] public int Field2 { get; set; } - [FlatBufferItem(3)] public int Field3 { get; set; } - - public override string ToString() => $"{Field0}|{Field1}|{Field2}|{Field3}"; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CellUnion -{ -#nullable enable - [FlatBufferItem(0)] public FlatBufferUnion? Field1 { get; set; } -#nullable disable - public override string ToString() - { - if (Field1 is not { } f) - return "Empty"; - if (!Field1.HasValue) - return "No Value"; - - return f.Discriminator switch - { - 1 => Field1.Value.Item1.ToString(), - 2 => Field1.Value.Item2.ToString(), - 3 => Field1.Value.Item3.ToString(), - 4 => Field1.Value.Item4.ToString(), - _ => $"Unrecognized: {f.Discriminator}", - }; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class CellInt { [FlatBufferItem(0)] public int Value { get; set; } public override string ToString() => Value.ToString(); } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class CellFloat { [FlatBufferItem(0)] public float Value { get; set; } public override string ToString() => Value.ToString("R"); } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class CellBool { [FlatBufferItem(0)] public bool Flag { get; set; } public override string ToString() => Flag.ToString(); } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class CellString { [FlatBufferItem(0)] public string Name { get; set; } public override string ToString() => Name; } -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] public class CellHash { [FlatBufferItem(0)] public ulong Hash { get; set; } public override string ToString() => Hash.ToString("X16"); } - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CellMetaHashes -{ - [FlatBufferItem(0)] public ulong Hash { get; set; } - [FlatBufferItem(1)] public CellHashTuple[] Pairs { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CellHashTuple -{ - [FlatBufferItem(0)] public ulong Hash0 { get; set; } - [FlatBufferItem(1)] public ulong Hash1 { get; set; } - - public override string ToString() => $"{Hash0:X16} {Hash1:X16}"; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/PokeResourceTable.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/PokeResourceTable.cs deleted file mode 100644 index c9df7e2b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/PokeResourceTable.cs +++ /dev/null @@ -1,58 +0,0 @@ -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; - -// poke_resource_table.gfbpmcatalog -/// for Sword/Shield -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeResourceTable : IFlatBufferArchive -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public PokeResourceMeta Meta { get; set; } = new(); - [FlatBufferItem(01)] public PokeModelConfig[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeResourceMeta -{ - [FlatBufferItem(00)] public int Field0 { get; set; } = 4; - [FlatBufferItem(01)] public int Field1 { get; set; } = 2; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeModelConfig -{ - [FlatBufferItem(00)] public PokeModelMeta Meta { get; set; } = new(); - [FlatBufferItem(01)] public string PathModel { get; set; } = string.Empty; - [FlatBufferItem(02)] public string PathConfig { get; set; } = string.Empty; - [FlatBufferItem(03)] public string PathArchive { get; set; } = string.Empty; - [FlatBufferItem(04)] public byte Unused { get; set; } // unused - [FlatBufferItem(05)] public AnimationConfigStringTuple[] Base { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public AnimationConfigStringTuple[] Eff { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeModelMeta -{ - [FlatBufferItem(00)] public ushort Species { get; set; } - [FlatBufferItem(01)] public ushort Form { get; set; } - [FlatBufferItem(02)] public byte Gender { get; set; } - [FlatBufferItem(03)] public byte Shiny { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AnimationConfigStringTuple -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public string Path { get; set; } = string.Empty; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/Rental8.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/Rental8.cs deleted file mode 100644 index 607becaa..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/Rental8.cs +++ /dev/null @@ -1,50 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Rental8Archive : IFlatBufferArchive -{ - [FlatBufferItem(00)] public Rental8[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Rental8 -{ - [FlatBufferItem(00)] public byte EV_SPE { get; set; } - [FlatBufferItem(01)] public byte EV_ATK { get; set; } - [FlatBufferItem(02)] public byte EV_DEF { get; set; } - [FlatBufferItem(03)] public byte EV_HP { get; set; } - [FlatBufferItem(04)] public byte EV_SPA { get; set; } - [FlatBufferItem(05)] public byte EV_SPD { get; set; } - [FlatBufferItem(06)] public byte Form { get; set; } - [FlatBufferItem(07)] public int Ball { get; set; } - [FlatBufferItem(08)] public ulong Hash1 { get; set; } - [FlatBufferItem(09)] public int Item { get; set; } - [FlatBufferItem(10)] public byte Level { get; set; } - [FlatBufferItem(11)] public int Species { get; set; } - [FlatBufferItem(12)] public ulong Hash2 { get; set; } - [FlatBufferItem(13)] public uint TrainerID { get; set; } // maybe?? no entries have this - [FlatBufferItem(14)] public int Nature { get; set; } - [FlatBufferItem(15)] public int Gender { get; set; } - [FlatBufferItem(16)] public sbyte IV_SPE { get; set; } - [FlatBufferItem(17)] public sbyte IV_ATK { get; set; } - [FlatBufferItem(18)] public sbyte IV_DEF { get; set; } - [FlatBufferItem(19)] public sbyte IV_HP { get; set; } - [FlatBufferItem(20)] public sbyte IV_SPA { get; set; } - [FlatBufferItem(21)] public sbyte IV_SPD { get; set; } - [FlatBufferItem(22)] public int Ability { get; set; } // 0,1,2(Hidden) - [FlatBufferItem(23)] public int Move1 { get; set; } - [FlatBufferItem(24)] public int Move2 { get; set; } - [FlatBufferItem(25)] public int Move3 { get; set; } - [FlatBufferItem(26)] public int Move4 { get; set; } - - public Species SpeciesID => (Species)Species; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/ScriptMeta.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/ScriptMeta.cs deleted file mode 100644 index abeda767..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/ScriptMeta.cs +++ /dev/null @@ -1,25 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// script_id_record.bin -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ScriptMeta : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ScriptMetaEntry[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ScriptMetaEntry -{ - [FlatBufferItem(0)] public ulong Hash { get; set; } - [FlatBufferItem(1)] public string PathAMX { get; set; } - [FlatBufferItem(2)] public string PathText { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/SymbolBehavior.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/SymbolBehavior.cs deleted file mode 100644 index 69632fc9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/SymbolBehavior.cs +++ /dev/null @@ -1,70 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// symbol_encount_mons_param.bin -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SymbolBehaveRoot : IFlatBufferArchive -{ - [FlatBufferItem(00)] public SymbolBehave[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SymbolBehave -{ - public Species Species => (Species)SpeciesID; - - [FlatBufferItem(00)] public float Field_00 {get; set;} - [FlatBufferItem(01)] public float Field_01 {get; set;} - [FlatBufferItem(02)] public string ModelPart {get; set;} = ""; - [FlatBufferItem(03)] public float Field_03 {get; set;} - [FlatBufferItem(04)] public ulong Hash1 {get; set;} - [FlatBufferItem(05)] public ulong Hash2 {get; set;} - [FlatBufferItem(06)] public float HitboxRadius {get; set;} - [FlatBufferItem(07)] public float Field_07 {get; set;} - [FlatBufferItem(08)] public float Field_08 {get; set;} // unused default, assumed float - [FlatBufferItem(09)] public float Field_09 {get; set;} - [FlatBufferItem(10)] public int Form {get; set;} - [FlatBufferItem(11)] public byte Field_11 {get; set;} - [FlatBufferItem(12)] public byte Field_12 {get; set;} // unused default, assumed byte - [FlatBufferItem(13)] public int SpeciesID {get; set;} - [FlatBufferItem(14)] public byte Field_14 {get; set;} // unused default, assumed byte - [FlatBufferItem(15)] public byte Field_15 {get; set;} // unused default, assumed byte - [FlatBufferItem(16)] public float Field_16 {get; set;} - [FlatBufferItem(17)] public float Field_17 {get; set;} - [FlatBufferItem(18)] public int Field_18 {get; set;} - [FlatBufferItem(19)] public float Field_19 {get; set;} - [FlatBufferItem(20)] public float Field_20 {get; set;} - [FlatBufferItem(21)] public float Field_21 {get; set;} - [FlatBufferItem(22)] public string SpeciesNameJPN {get; set;} = ""; // internal name - [FlatBufferItem(23)] public float Field_23 {get; set;} - [FlatBufferItem(24)] public float Field_24 {get; set;} - [FlatBufferItem(25)] public float Field_25 {get; set;} - [FlatBufferItem(26)] public float Field_26 {get; set;} - [FlatBufferItem(27)] public float GrassShakeRadius {get; set;} - [FlatBufferItem(28)] public float Field_28 {get; set;} // unused default, assumed float - [FlatBufferItem(29)] public int Field_29 {get; set;} - [FlatBufferItem(30)] public int Field_30 {get; set;} // unused default, assumed int - [FlatBufferItem(31)] public string Behavior {get; set;} = ""; - [FlatBufferItem(32)] public int Field_32 {get; set;} - [FlatBufferItem(33)] public int Field_33 {get; set;} // unused default, assumed int - [FlatBufferItem(34)] public int Field_34 {get; set;} // unused default, assumed int - [FlatBufferItem(35)] public int Field_35 {get; set;} // unused default, assumed int - [FlatBufferItem(36)] public int Field_36 {get; set; } // unused default, assumed int - [FlatBufferItem(37)] public float Field_37 {get; set;} - [FlatBufferItem(38)] public float Field_38 {get; set;} - [FlatBufferItem(39)] public float Field_39 {get; set;} - [FlatBufferItem(40)] public float Field_40 {get; set;} - [FlatBufferItem(41)] public float Field_41 {get; set;} - [FlatBufferItem(42)] public float Field_42 {get; set;} // unused default, assumed float - [FlatBufferItem(43)] public float Field_43 {get; set;} // unused default, assumed float - [FlatBufferItem(44)] public float Field_44 {get; set;} - [FlatBufferItem(45)] public float Field_45 {get; set;} -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/Waza8.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/Waza8.cs deleted file mode 100644 index 90c72603..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/Waza8.cs +++ /dev/null @@ -1,116 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Waza8 : IMove -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - // Type mismatch; FlatBuffer must use the correct struct type for each field - // We need to alias these and hide them from any PropertyGrid, so mark Browsable(false). - - [FlatBufferItem(00)] public uint Version { get; set; } - [FlatBufferItem(01)] public uint MoveID { get; set; } - [FlatBufferItem(02)] public bool CanUseMove { get; set; } - [FlatBufferItem(03), Browsable(false)] public byte FType { get; set; } - [FlatBufferItem(04), Browsable(false)] public byte FQuality { get; set; } - [FlatBufferItem(05), Browsable(false)] public byte FCategory { get; set; } - [FlatBufferItem(06), Browsable(false)] public byte FPower { get; set; } - [FlatBufferItem(07), Browsable(false)] public byte FAccuracy { get; set; } - [FlatBufferItem(08), Browsable(false)] public byte FPP { get; set; } - [FlatBufferItem(09), Browsable(false)] public byte FPriority { get; set; } - [FlatBufferItem(10), Browsable(false)] public byte FHitMax { get; set; } - [FlatBufferItem(11), Browsable(false)] public byte FHitMin { get; set; } - [FlatBufferItem(12), Browsable(false)] public ushort FInflict { get; set; } - [FlatBufferItem(13), Browsable(false)] public byte FInflictPercent { get; set; } - [FlatBufferItem(14), Browsable(false)] public byte FRawInflictCount { get; set; } - [FlatBufferItem(15), Browsable(false)] public byte FTurnMin { get; set; } - [FlatBufferItem(16), Browsable(false)] public byte FTurnMax { get; set; } - [FlatBufferItem(17), Browsable(false)] public byte FCritStage { get; set; } - [FlatBufferItem(18), Browsable(false)] public byte FFlinch { get; set; } - [FlatBufferItem(19), Browsable(false)] public ushort FEffectSequence { get; set; } - [FlatBufferItem(20), Browsable(false)] public byte FRecoil { get; set; } - [FlatBufferItem(21), Browsable(false)] public byte FRawHealing { get; set; } - [FlatBufferItem(22), Browsable(false)] public byte FRawTarget { get; set; } - [FlatBufferItem(23), Browsable(false)] public byte FStat1 { get; set; } - [FlatBufferItem(24), Browsable(false)] public byte FStat2 { get; set; } - [FlatBufferItem(25), Browsable(false)] public byte FStat3 { get; set; } - [FlatBufferItem(26), Browsable(false)] public byte FStat1Stage { get; set; } - [FlatBufferItem(27), Browsable(false)] public byte FStat2Stage { get; set; } - [FlatBufferItem(28), Browsable(false)] public byte FStat3Stage { get; set; } - [FlatBufferItem(29), Browsable(false)] public byte FStat1Percent { get; set; } - [FlatBufferItem(30), Browsable(false)] public byte FStat2Percent { get; set; } - [FlatBufferItem(31), Browsable(false)] public byte FStat3Percent { get; set; } - [FlatBufferItem(32)] public byte GigantamaxPower { get; set; } - [FlatBufferItem(33)] public bool Flag_MakesContact { get; set; } - [FlatBufferItem(34)] public bool Flag_Charge { get; set; } - [FlatBufferItem(35)] public bool Flag_Recharge { get; set; } - [FlatBufferItem(36)] public bool Flag_Protect { get; set; } - [FlatBufferItem(37)] public bool Flag_Reflectable { get; set; } - [FlatBufferItem(38)] public bool Flag_Snatch { get; set; } - [FlatBufferItem(39)] public bool Flag_Mirror { get; set; } - [FlatBufferItem(40)] public bool Flag_Punch { get; set; } - [FlatBufferItem(41)] public bool Flag_Sound { get; set; } - [FlatBufferItem(42)] public bool Flag_Gravity { get; set; } - [FlatBufferItem(43)] public bool Flag_Defrost { get; set; } - [FlatBufferItem(44)] public bool Flag_DistanceTriple { get; set; } - [FlatBufferItem(45)] public bool Flag_Heal { get; set; } - [FlatBufferItem(46)] public bool Flag_IgnoreSubstitute { get; set; } - [FlatBufferItem(47)] public bool Flag_FailSkyBattle { get; set; } - [FlatBufferItem(48)] public bool Flag_AnimateAlly { get; set; } - [FlatBufferItem(49)] public bool Flag_Dance { get; set; } - [FlatBufferItem(50)] public bool Flag_Metronome { get; set; } - - public int Type { get => FType; set => FType = (byte)value; } - public int Quality { get => FQuality ; set => FQuality = (byte)value; } - public int Category { get => FCategory ; set => FCategory = (byte)value; } - public int Power { get => FPower ; set => FPower = (byte)value; } - public int Accuracy { get => FAccuracy ; set => FAccuracy = (byte)value; } - public int PP { get => FPP ; set => FPP = (byte)value; } - public int Priority { get => FPriority ; set => FPriority = (byte)value; } - public int HitMin { get => FHitMin ; set => FHitMin = (byte)value; } - public int HitMax { get => FHitMax ; set => FHitMax = (byte)value; } - public int Inflict { get => FInflict ; set => FInflict = (ushort)value; } - public int InflictPercent { get => FInflictPercent ; set => FInflictPercent = (byte)value; } - public int TurnMin { get => FTurnMin ; set => FTurnMin = (byte)value; } - public int TurnMax { get => FTurnMax ; set => FTurnMax = (byte)value; } - public int CritStage { get => FCritStage ; set => FCritStage = (byte)value; } - public int Flinch { get => FFlinch ; set => FFlinch = (byte)value; } - public int EffectSequence { get => FEffectSequence ; set => FEffectSequence = (ushort)value; } - public int Recoil { get => FRecoil ; set => FRecoil = (byte)value; } - public int Stat1 { get => FStat1 ; set => FStat1 = (byte)value; } - public int Stat2 { get => FStat2 ; set => FStat2 = (byte)value; } - public int Stat3 { get => FStat3 ; set => FStat3 = (byte)value; } - public int Stat1Stage { get => FStat1Stage ; set => FStat1Stage = (byte)value; } - public int Stat2Stage { get => FStat2Stage ; set => FStat2Stage = (byte)value; } - public int Stat3Stage { get => FStat3Stage ; set => FStat3Stage = (byte)value; } - public int Stat1Percent { get => FStat1Percent ; set => FStat1Percent = (byte)value; } - public int Stat2Percent { get => FStat2Percent ; set => FStat2Percent = (byte)value; } - public int Stat3Percent { get => FStat3Percent ; set => FStat3Percent = (byte)value; } - - public MoveInflictDuration InflictCount - { - get => (MoveInflictDuration)FRawInflictCount; - set => FRawInflictCount = (byte)value; - } - - public Heal Healing - { - get => (Heal)FRawHealing; - set => FRawHealing = (byte)value; - } - - public MoveTarget Target - { - get => (MoveTarget)FRawTarget; - set => FRawTarget = (byte)value; - } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Other/WeatherEntry.cs b/pkNX.Structures.FlatBuffers/Gen8/Other/WeatherEntry.cs deleted file mode 100644 index b09abc6e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Other/WeatherEntry.cs +++ /dev/null @@ -1,70 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// field\param\weather\weather_data.bin -// field\param\weather\weather_data_alt.bin -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class WeatherTable : IFlatBufferArchive -{ - [FlatBufferItem(0)] public WeatherEntry[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class WeatherEntry -{ - [FlatBufferItem(00)] public byte Field_00 { get; set; } // all except 0 - [FlatBufferItem(01)] public int[] Field_01 { get; set; } // unused in main, used in _alt - [FlatBufferItem(02)] public string[] Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } // entry 2 3 4 5 6 7 8 - [FlatBufferItem(04)] public float Field_04 { get; set; } // entry 2 3 4 5 6 7 8 - [FlatBufferItem(05)] public float Field_05 { get; set; } // entry 2 3 4 5 6 7 8 9 10 11 12 14 - [FlatBufferItem(06)] public float Field_06 { get; set; } // unused - [FlatBufferItem(07)] public float Field_07 { get; set; } // entry 2 3 - [FlatBufferItem(08)] public float Field_08 { get; set; } // entry 2 3 7 - [FlatBufferItem(09)] public uint Field_09 { get; set; } - [FlatBufferItem(10)] public uint Field_10 { get; set; } - [FlatBufferItem(11)] public float Field_11 { get; set; } // entry 1 2 3 4 5 7 8 10 11 12 13 14 - [FlatBufferItem(12)] public PentaFloat Field_12 { get; set; } - [FlatBufferItem(13)] public float[] Field_13 { get; set; } - [FlatBufferItem(14)] public float[] Field_14 { get; set; } - [FlatBufferItem(15)] public QuadFloatSet Field_15 { get; set; } - [FlatBufferItem(16)] public QuadFloatSet Field_16 { get; set; } - [FlatBufferItem(17)] public PentaFloat Field_17 { get; set; } - [FlatBufferItem(18)] public float Field_18 { get; set; } // entry 1 2 3 4 5 7 8 10 11 12 13 14 - [FlatBufferItem(19)] public float Field_19 { get; set; } - [FlatBufferItem(20)] public float Field_20 { get; set; } - [FlatBufferItem(21)] public float[] Field_21 { get; set; } - [FlatBufferItem(22)] public float[] Field_22 { get; set; } - [FlatBufferItem(23)] public int[] Field_23 { get; set; } - [FlatBufferItem(24)] public byte Field_24 { get; set; } // entry 9 10 11 12 13 14 - [FlatBufferItem(25)] public uint Field_25 { get; set; } // unused - [FlatBufferItem(26)] public uint Field_26 { get; set; } // unused - [FlatBufferItem(27)] public byte Field_27 { get; set; } // entry 6 -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PentaFloat -{ - [FlatBufferItem(00)] public float Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class QuadFloatSet -{ - [FlatBufferItem(00)] public float[] Field_00 { get; set; } - [FlatBufferItem(01)] public float[] Field_01 { get; set; } - [FlatBufferItem(02)] public float[] Field_02 { get; set; } - [FlatBufferItem(03)] public float[] Field_03 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8Archive.cs deleted file mode 100644 index db5d0ba1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8Archive.cs +++ /dev/null @@ -1,49 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementArea8Archive : IFlatBufferArchive -{ - [FlatBufferItem(00)] public PlacementZone8[] Table { get; set; } = Array.Empty(); - [FlatBufferItem(01)] public ulong Hash { get; set; } - [FlatBufferItem(02)] public string Description { get; set; } = ""; - [FlatBufferItem(03)] public string OtherDescription { get; set; } = ""; - [FlatBufferItem(04)] public PlacementArea8_F04 Unknown { get; set; } = new(); - [FlatBufferItem(05)] public float Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(09)] public float Field_09 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(10)] public float Field_10 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(11)] public float Field_11 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(12)] public float Field_12 { get; set; } - [FlatBufferItem(13)] public float Field_13 { get; set; } - [FlatBufferItem(14)] public float Field_14 { get; set; } - [FlatBufferItem(15)] public float Field_15 { get; set; } - [FlatBufferItem(16)] public float Field_16 { get; set; } - [FlatBufferItem(17)] public float Field_17 { get; set; } - [FlatBufferItem(18)] public float Field_18 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(19)] public float Field_19 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(20)] public float Field_20 { get; set; } - [FlatBufferItem(21)] public float Field_21 { get; set; } - [FlatBufferItem(22)] public float Field_22 { get; set; } - [FlatBufferItem(23)] public float Field_23 { get; set; } - [FlatBufferItem(24)] public PlacementArea8_F24 Field_24 { get; set; } = new(); - [FlatBufferItem(25)] public uint Field_25 { get; set; } // 3000 - [FlatBufferItem(26)] public float Field_26 { get; set; } - [FlatBufferItem(27)] public byte Field_27 { get; set; } - [FlatBufferItem(28)] public byte Field_28 { get; set; } - [FlatBufferItem(29)] public byte Field_29 { get; set; } // present in a_d0101 - [FlatBufferItem(30)] public byte Field_30 { get; set; } - [FlatBufferItem(31)] public float Field_31 { get; set; } - [FlatBufferItem(32)] public float Field_32 { get; set; } - [FlatBufferItem(33)] public byte Field_33 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F04.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F04.cs deleted file mode 100644 index d438f36d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F04.cs +++ /dev/null @@ -1,30 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementArea8_F04 -{ - [FlatBufferItem(00)] public float Field_00 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - [FlatBufferItem(01)] public float Field_01 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - [FlatBufferItem(02)] public float Field_02 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - - [FlatBufferItem(03)] public float Field_03 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - [FlatBufferItem(04)] public float Field_04 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - [FlatBufferItem(05)] public float Field_05 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get; set; } - - [FlatBufferItem(09)] public ulong Field_09 { get; set; } // unused, assumed to be same shape as other v3f-hash triplets - [FlatBufferItem(10)] public ulong Field_10 { get; set; } - [FlatBufferItem(11)] public ulong Field_11 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F24.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F24.cs deleted file mode 100644 index eb8531e1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/PlacementArea8_F24.cs +++ /dev/null @@ -1,29 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementArea8_F24 -{ - [FlatBufferItem(00)] public byte Field_00 { get; set; } - [FlatBufferItem(01)] public PlacementAreaUnknownTiny8 Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public float Field_02 { get; set; } - - public override string ToString() => $"{Field_00}, {Field_02}: {Field_01}"; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementAreaUnknownTiny8 -{ - [FlatBufferItem(00)] public float Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - - public override string ToString() => $"{Field_00}, {Field_01}, {Field_02}"; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8AdvancedTipHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8AdvancedTipHolder.cs deleted file mode 100644 index 74a60c67..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8AdvancedTipHolder.cs +++ /dev/null @@ -1,77 +0,0 @@ -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 -#nullable disable -#pragma warning disable CA1822 // Mark members as static - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8AdvancedTipHolder -{ - [FlatBufferItem(00)] public PlacementZone8AdvancedTip Field_00 { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(02)] public uint Field_02 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(03)] public ulong SignHash { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8AdvancedTip -{ - [FlatBufferItem(00)] public PlacementZone8_F14 Field_00 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F14 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } - [FlatBufferItem(01)] public string NameModel { get; set; } - [FlatBufferItem(02)] public string NameAnimation { get; set; } // none have this - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public string Field_05 { get; set; } // none have this - [FlatBufferItem(06)] public string Field_06 { get; set; } // none have this - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(11)] public PlacementZone8_F14_B Field_11 { get; set; } - [FlatBufferItem(12)] public uint Field_12 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(13)] public PlacementZone8_F14_B Field_13 { get; set; } - [FlatBufferItem(14)] public PlacementZone8_F14_Union Field_14 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F14_B -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } // 2 - [FlatBufferItem(01)] public float Field_01 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(02)] public float Field_02 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(05)] public float Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F14_Union -{ - [FlatBufferItem(00)] public bool Field_00 { get; set; } = true; - [FlatBufferItem(01)] public PlacementZone8_F14_Sub Field_01 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F14_Sub -{ - [FlatBufferItem(00)] public float Field_00 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(01)] public float Field_01 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8BerryTreeHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8BerryTreeHolder.cs deleted file mode 100644 index ba8c7c10..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8BerryTreeHolder.cs +++ /dev/null @@ -1,75 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8BerryTreeHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F22_0 Field_00 { get; set; } = new(); // meta - [FlatBufferItem(01)] public PlacementZone8BerryTreeRandom[] Field_01 { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F22_0 -{ - [FlatBufferItem(00)] public PlacementZone8_F22_0_0 Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F22_0_0 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public string Field_01 { get; set; } = ""; // none have this - [FlatBufferItem(02)] public string Field_02 { get; set; } = ""; // none have this - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public string Field_05 { get; set; } = ""; // none have this - [FlatBufferItem(06)] public string Field_06 { get; set; } = ""; // none have this - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public float Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(09)] public float Field_09 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(10)] public float Field_10 { get; set; } - [FlatBufferItem(11)] public PlacementZone8_F22_Sub Field_11 { get; set; } = new(); - [FlatBufferItem(12)] public uint Field_12 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(13)] public PlacementZone8_F22_Sub Field_13 { get; set; } = new(); - [FlatBufferItem(14)] public PlacementZone8_F22_BoolObject14 Field_14 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F22_Sub -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } // unused in all - [FlatBufferItem(02)] public float Field_02 { get; set; } // unused in all - [FlatBufferItem(03)] public float Field_03 { get; set; } // unused in all - [FlatBufferItem(04)] public float Field_04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F22_BoolObject14 -{ - [FlatBufferItem(0)] public byte Type { get; set; } - [FlatBufferItem(1)] public PlacementZone_F22_Inner Object { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone_F22_Inner -{ - [FlatBufferItem(00)] public float Field_00 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(01)] public float Field_01 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8BerryTreeRandom -{ - [FlatBufferItem(0)] public ulong Hash { get; set; } - [FlatBufferItem(1)] public uint Rate { get; set; } - [FlatBufferItem(2)] public uint Quantity { get; set; } // always 1? -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8EnvironmentHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8EnvironmentHolder.cs deleted file mode 100644 index 4940ca12..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8EnvironmentHolder.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8EnvironmentHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F10 Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F10 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public PlacementZone8_V3f[] Field_01 { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public string PlayName { get; set; } = ""; - [FlatBufferItem(03)] public string StopName { get; set; } = ""; - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public int Field_05 { get; set; } - [FlatBufferItem(06)] public int Field_06 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FieldItemHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FieldItemHolder.cs deleted file mode 100644 index aa43db9f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FieldItemHolder.cs +++ /dev/null @@ -1,38 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FieldItemHolder -{ - [FlatBufferItem(00)] public PlacementZone8FieldItem Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FieldItem -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public string Field_02 { get; set; } = ""; - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public ulong Hash_05 { get; set; } - [FlatBufferItem(06)] public ulong[] Flags { get; set; } = Array.Empty(); - [FlatBufferItem(07)] public uint[] Items { get; set; } = Array.Empty(); - [FlatBufferItem(08)] public byte Quantity { get; set; } - [FlatBufferItem(09)] public PlacementZone8FieldItem_A Field_09 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FieldItem_A -{ - [FlatBufferItem(00)] public bool Field_00 { get; set; } - [FlatBufferItem(01)] public FlatDummyObject Field_01 { get; set; } = new(); -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FishingPointHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FishingPointHolder.cs deleted file mode 100644 index 7269af0f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FishingPointHolder.cs +++ /dev/null @@ -1,33 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FishingPointHolder -{ - [FlatBufferItem(00)] public PlacementZone8FishingPoint Object { get; set; } = new(); - - public override string ToString() => $"{Object.Identifier}" + (Object.IterateForSlotsExceptLastN == 0 ? "" : $" SkipLast{Object.IterateForSlotsExceptLastN}"); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FishingPoint -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Identifier { get; set; } = new(); - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } - - [FlatBufferItem(08), Description("When iterating over slots to pick a random one, the iteration will skip the last (value) amount of slots.")] - public uint IterateForSlotsExceptLastN { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FlightAnchorHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FlightAnchorHolder.cs deleted file mode 100644 index 7417b902..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8FlightAnchorHolder.cs +++ /dev/null @@ -1,23 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// player flying to location -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FlightAnchorHolder -{ - [FlatBufferItem(00)] public PlacementZone8FlightAnchor FlightAnchor { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8FlightAnchor -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Placement { get; set; } = new(); - [FlatBufferItem(01)] public ulong UnlockFlagHash { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8HiddenItemHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8HiddenItemHolder.cs deleted file mode 100644 index fbf226a0..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8HiddenItemHolder.cs +++ /dev/null @@ -1,45 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8HiddenItemHolder -{ - [FlatBufferItem(00)] public PlacementZone8HiddenItem Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8HiddenItem -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public PlacementZone8HiddenItemValue Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public PlacementZone8HiddenItemChance[] Field_02 { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public int Field_03 { get; set; } - [FlatBufferItem(04)] public uint Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8HiddenItemValue -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } // unused - [FlatBufferItem(02)] public float Field_02 { get; set; } // unused - [FlatBufferItem(03)] public float Field_03 { get; set; } // unused - [FlatBufferItem(04)] public float Field_04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8HiddenItemChance -{ - [FlatBufferItem(00)] public ulong Hash { get; set; } - [FlatBufferItem(01)] public int Chance { get; set; } - [FlatBufferItem(02)] public int Quantity { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8IKStepHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8IKStepHolder.cs deleted file mode 100644 index 95a9eace..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8IKStepHolder.cs +++ /dev/null @@ -1,47 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// IK_Step -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8IKStepHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F25 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public byte Field_01 { get; set; } - [FlatBufferItem(02)] public byte Field_02 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(03)] public byte Field_03 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F25 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Field_01 { get; set; } - [FlatBufferItem(02)] public PlacementZone8_F25_X Field_02 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F25_X -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - - [FlatBufferItem(02)] public float Field_02 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(03)] public float Field_03 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(04)] public float Field_04 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - - [FlatBufferItem(05)] public float Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8LadderHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8LadderHolder.cs deleted file mode 100644 index d6d18d41..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8LadderHolder.cs +++ /dev/null @@ -1,34 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8LadderHolder -{ - [FlatBufferItem(00)] public PlacementZone8Ladder Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8Ladder -{ - [FlatBufferItem(0)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(1)] public PlacementZone8_F23_Sub Field_01 { get; set; } = new(); - [FlatBufferItem(2)] public int Field_02 { get; set; } // 1 - [FlatBufferItem(3)] public int Field_03 { get; set; } // 10 -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F23_Sub -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } // 10 or -20 - [FlatBufferItem(01)] public float Field_01 { get; set; } // unused - [FlatBufferItem(02)] public float Field_02 { get; set; } // unused - [FlatBufferItem(03)] public float Field_03 { get; set; } // unused - [FlatBufferItem(04)] public float Field_04 { get; set; } // 10 -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8MovementPathHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8MovementPathHolder.cs deleted file mode 100644 index 2c7ba16c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8MovementPathHolder.cs +++ /dev/null @@ -1,33 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8MovementPathHolder -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong PathName { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public bool Field_04 { get; set; } - [FlatBufferItem(05)] public PlacementZone8_V3f[] Field_05 { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_V3f -{ - [FlatBufferItem(00)] public float LocationX { get; set; } - [FlatBufferItem(01)] public float LocationY { get; set; } - [FlatBufferItem(02)] public float LocationZ { get; set; } - - public string Location3f => $"({LocationX}, {LocationY}, {LocationZ})"; - - public override string ToString() => Location3f; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NPCHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NPCHolder.cs deleted file mode 100644 index 16057771..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NPCHolder.cs +++ /dev/null @@ -1,31 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8NPCHolder -{ - [FlatBufferItem(00)] public PlacementZone8NPC Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8NPC -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public ulong Message { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public ulong WorkValue { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public byte Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public byte Byte_08 { get; set; } - [FlatBufferItem(09)] public ulong Hash_09 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NestHoleHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NestHoleHolder.cs deleted file mode 100644 index c44c523b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8NestHoleHolder.cs +++ /dev/null @@ -1,74 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8NestHoleHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F21_A Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public bool Field_01 { get; set; } - [FlatBufferItem(02)] public int Field_02 { get; set; } // 0,2,6,270,64,12 - [FlatBufferItem(03)] public ulong Common { get; set; } - [FlatBufferItem(04)] public ulong Rare { get; set; } - [FlatBufferItem(05)] public bool Field_05 { get; set; } - - [Description("If a flag hash is specified, the savefile value must be true in order for the nest to be enabled.")] - [FlatBufferItem(06)] public ulong EnableSpawns { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F21_A -{ - [FlatBufferItem(00)] public PlacementZone8_F21_B Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F21_B -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public string Field_01 { get; set; } = ""; // none have this - [FlatBufferItem(02)] public string Field_02 { get; set; } = ""; // none have this - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public string Field_05 { get; set; } = ""; // none have this - [FlatBufferItem(06)] public string Field_06 { get; set; } = ""; // none have this - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public float Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(09)] public float Field_09 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(10)] public float Field_10 { get; set; } - [FlatBufferItem(11)] public PlacementZone8_F21_IntFloat Field_11 { get; set; } = new(); - [FlatBufferItem(12)] public uint Field_12 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(13)] public PlacementZone8_F21_IntFloat Field_13 { get; set; } = new(); - [FlatBufferItem(14)] public PlacementZone8_F21_BoolObject14 Field_14 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F21_IntFloat -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } // unused in all - [FlatBufferItem(02)] public float Field_02 { get; set; } // unused in all - [FlatBufferItem(03)] public float Field_03 { get; set; } // unused in all - [FlatBufferItem(04)] public float Field_04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F21_BoolObject14 -{ - [FlatBufferItem(0)] public byte Type { get; set; } - [FlatBufferItem(1)] public PlacementZone_F21_Inner Object { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone_F21_Inner -{ - [FlatBufferItem(00)] public float Field_00 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(01)] public float Field_01 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8ParticleHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8ParticleHolder.cs deleted file mode 100644 index 5280cff6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8ParticleHolder.cs +++ /dev/null @@ -1,25 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8ParticleHolder -{ - [FlatBufferItem(00)] public PlacementZone8Particle Field_00 { get; set; } = new(); - - public override string ToString() => Field_00.ParticleFile; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8Particle -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public string ParticleFile { get; set; } = ""; - [FlatBufferItem(02)] public uint Number { get; set; } // 1200 for birds? -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PokeCenterSpawnAnchorHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PokeCenterSpawnAnchorHolder.cs deleted file mode 100644 index 533051a9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PokeCenterSpawnAnchorHolder.cs +++ /dev/null @@ -1,21 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8PokeCenterSpawnAnchorHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F12 Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F12 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PopupHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PopupHolder.cs deleted file mode 100644 index a7d1f5e2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8PopupHolder.cs +++ /dev/null @@ -1,52 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8PopupHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F24 Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F24 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public PlacementZone8_F24_IntFloat Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } - [FlatBufferItem(06)] public ulong Hash_06 { get; set; } - [FlatBufferItem(07)] public string Field_07 { get; set; } = ""; // none have this - [FlatBufferItem(08)] public PlacementZone8_F24_Table[] Hash_08 { get; set; } = Array.Empty(); - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } - [FlatBufferItem(11)] public float Field_11 { get; set; } - [FlatBufferItem(12)] public ulong Hash_12 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F24_Table -{ - [FlatBufferItem(00)] public ulong Hash_00 { get; set; } - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } // multiples of 10, usually +10 from previous entry. -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F24_IntFloat -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8QuadrantHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8QuadrantHolder.cs deleted file mode 100644 index a839fdd6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8QuadrantHolder.cs +++ /dev/null @@ -1,41 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// highplace? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8QuadrantHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F17 Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F17 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public PlacementZone8_F17_Sub Field_02 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F17_Sub -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } // 1 or 2 - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8RotomRallyEntry.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8RotomRallyEntry.cs deleted file mode 100644 index 6a7699c9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8RotomRallyEntry.cs +++ /dev/null @@ -1,17 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// No maps have data for this. -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8RotomRallyEntry -{ - [FlatBufferItem(0)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(1)] public uint Field_01 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs deleted file mode 100644 index 7505c2a6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SpeciesHolder.cs +++ /dev/null @@ -1,180 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8SpeciesHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F02 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public PlacementZone8_F02_Field1 Field_01 { get; set; } = new(); - - [Description("Species Model to load")] - [FlatBufferItem(02)] public uint Species { get; set; } - [Description("Form Model to load")] - [FlatBufferItem(03)] public uint Form { get; set; } - [Description("Gender Model to load: Male and Genderless 0, Female 1")] - [FlatBufferItem(04)] public uint Gender { get; set; } - - [Description("Color Model to load: Normal 0, Shiny 1")] - [FlatBufferItem(05)] public uint Shiny { get; set; } - [FlatBufferItem(06)] public uint Unused2 { get; set; } - - [FlatBufferItem(07)] public ulong Hash_07 { get; set; } - [FlatBufferItem(08)] public ulong Hash_08 { get; set; } - [FlatBufferItem(09)] public ulong Hash_09 { get; set; } - [FlatBufferItem(10)] public FlatDummyEntry[] Field_10 { get; set; } = Array.Empty(); // none have this - [FlatBufferItem(11)] public float Field_11 { get; set; } - [FlatBufferItem(12)] public PlacementZone8_F02_Nine Field_12 { get; set; } = new(); - [FlatBufferItem(13)] public int Field_13 { get; set; } // 0, 1, 3, 4 - [FlatBufferItem(14)] public int Field_14 { get; set; } // 6, 11, 14 or 0 - [FlatBufferItem(15)] public byte Num_15 { get; set; } // 0 or 1 (bool?) - - public override string ToString() => $"{(Species)Species}{(Form != 0 ? $"-{Form}" : "")}"; - - public PlacementZone8SpeciesHolder() { } - - public PlacementZone8SpeciesHolder Clone() => new(this); - - public PlacementZone8SpeciesHolder(PlacementZone8SpeciesHolder other) : this() - { - Field_00 = other.Field_00.Clone(); - Field_01 = other.Field_01.Clone(); - Field_12 = other.Field_12.Clone(); - - Species = other.Species; - Form = other.Form; - Gender = other.Gender; - Shiny = other.Shiny; - Unused2 = other.Unused2; - Hash_07 = other.Hash_07; - Hash_08 = other.Hash_08; - Hash_09 = other.Hash_09; - Field_11 = other.Field_11; - Field_13 = other.Field_13; - Field_14 = other.Field_14; - Num_15 = other.Num_15; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F02_Nine -{ - [FlatBufferItem(00)] public byte Field_00 { get; set; } - [FlatBufferItem(01)] public byte Field_01 { get; set; } - [FlatBufferItem(02)] public byte Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } // either 0 or 1, for only 3 objects in the game - [FlatBufferItem(04)] public ulong Hash_04 { get; set; } - [FlatBufferItem(05)] public byte Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(07)] public ulong Hash_07 { get; set; } - [FlatBufferItem(08)] public uint AnimationIndexSecondary { get; set; } - [FlatBufferItem(09)] public uint Field_09 { get; set; } - - public PlacementZone8_F02_Nine Clone() => new() - { - Field_00 = Field_00, - Field_01 = Field_01, - Field_02 = Field_02, - Field_03 = Field_03, - Hash_04 = Hash_04, - Field_05 = Field_05, - Field_06 = Field_06, - Hash_07 = Hash_07, - AnimationIndexSecondary = AnimationIndexSecondary, - Field_09 = Field_09, - }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F02 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public ulong Hash_02 { get; set; } - [FlatBufferItem(03)] public ulong Hash_03 { get; set; } - [FlatBufferItem(04)] public ulong Hash_04 { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public uint Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(07)] public uint Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public uint Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(09)] public FlatDummyObject Field_09 { get; set; } = new(); // no fields present in any existing - [FlatBufferItem(10)] public uint Field_10 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(11)] public FlatDummyObject Field_11 { get; set; } = new(); // no fields present in any existing - [FlatBufferItem(12)] public ulong Hash_12 { get; set; } - - public PlacementZone8_F02 Clone() => new() - { - Field_00 = Field_00.Clone(), - Hash_01 = Hash_01, - Hash_02 = Hash_02, - Hash_03 = Hash_03, - Hash_04 = Hash_04, - Field_05 = Field_05, - Field_06 = Field_06, - Field_07 = Field_07, - Field_08 = Field_08, - Field_09 = Field_09.Clone(), - Field_10 = Field_10, - Field_11 = Field_11.Clone(), - Hash_12 = Hash_12, - }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F02_Field1 -{ - [FlatBufferItem(00)] public PlacementZone8_F02_Inner Field_00 { get; set; } = new(); - - public PlacementZone8_F02_Field1 Clone() => new() { Field_00 = Field_00.Clone() }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F02_Inner -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public ulong Hash_02 { get; set; } - [FlatBufferItem(03)] public ulong Hash_03 { get; set; } - [FlatBufferItem(04)] public PlacementZone8_F02_IntFloat Field_04 { get; set; } = new(); - [FlatBufferItem(05)] public byte Num_05 { get; set; } // 0 or 1 (bool?) - [FlatBufferItem(06)] public ulong Hash_06 { get; set; } - [FlatBufferItem(07)] public PlacementZone8_F02_IntFloat Field_07 { get; set; } = new(); - - public PlacementZone8_F02_Inner Clone() => new() - { - Field_00 = Field_00.Clone(), - Hash_01 = Hash_01, - Hash_02 = Hash_02, - Hash_03 = Hash_03, - Field_04 = Field_04.Clone(), - Num_05 = Num_05, - Hash_06 = Hash_06, - Field_07 = Field_07.Clone(), - }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F02_IntFloat -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - - public PlacementZone8_F02_IntFloat Clone() => new() - { - Field_00 = Field_00, - Field_01 = Field_01, - Field_02 = Field_02, - Field_03 = Field_03, - Field_04 = Field_04, - }; -} \ No newline at end of file diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StaticObjectsHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StaticObjectsHolder.cs deleted file mode 100644 index ae8264f3..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StaticObjectsHolder.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System; -using System.Collections.Generic; -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8StaticObjectsHolder -{ - [FlatBufferItem(0)] public PlacementZoneStaticObject8 Object { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneStaticObject8 -{ - [FlatBufferItem(0)] public PlacementZoneMetaTripleXYZ8 Identifier { get; set; } = new(); - [FlatBufferItem(1)] public uint Field_01 { get; set; } - [FlatBufferItem(2)] public uint Rate { get; set; } // usually 100, but - [FlatBufferItem(3)] public uint Field_03 { get; set; } - [FlatBufferItem(4)] public byte Field_04 { get; set; } - [FlatBufferItem(5)] public PlacementZoneStaticObjectSpawn8[] Spawns { get; set; } = Array.Empty(); - [FlatBufferItem(6)] public PlacementZoneStaticObjectUnknown8 Field_06 { get; set; } = new(); - [FlatBufferItem(7)] public PlacementZoneStaticObjectUnknown8 Field_07 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneStaticObjectSpawn8 -{ - [FlatBufferItem(0)] public ulong SpawnID { get; set; } - [FlatBufferItem(1)] public string Behavior { get; set; } = ""; // passed to Lua script for animating - [FlatBufferItem(2)] public ulong Field_02 { get; set; } // default hash for all, likely empty string - [FlatBufferItem(3)] public uint Field_03 { get; set; } - [FlatBufferItem(4)] public PlacementZoneStaticObjectUnknown8 Field_04 { get; set; } = new(); - - public IEnumerable GetSummary(EncounterStatic8[] statics, IReadOnlyList species) - { - var index = Array.FindIndex(statics, z => z.EncounterID == SpawnID); - var enc = statics[index]; - yield return $"{species[enc.Species]}{(enc.Form == 0 ? string.Empty : "-" + enc.Form)} Lv. {enc.Level}"; - yield return $"Index: {index}"; - yield return $"EncounterID: {SpawnID:X016}"; - if (Field_02 != 0xCBF29CE484222645) - yield return $"Hash: {Field_02:X16}"; - yield return $"Value: {Field_03}"; - yield return $"Unknown: {Field_04}"; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneStaticObjectUnknown8 -{ - [FlatBufferItem(0)] public uint Field_00 { get; set; } - [FlatBufferItem(1)] public float Field_01 { get; set; } // unused, assumed same shape as other i4f - [FlatBufferItem(2)] public float Field_02 { get; set; } // unused, assumed same shape as other i4f - [FlatBufferItem(3)] public float Field_03 { get; set; } // unused, assumed same shape as other i4f - [FlatBufferItem(4)] public float Field_04 { get; set; } - - public override string ToString() => $"{Field_00} {Field_01} {Field_02} {Field_03} {Field_04}"; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StepJumpHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StepJumpHolder.cs deleted file mode 100644 index 77d810e1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8StepJumpHolder.cs +++ /dev/null @@ -1,25 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8StepJumpHolder -{ - [FlatBufferItem(00)] public PlacementZone8StepJump Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8StepJump -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SymbolSpawnHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SymbolSpawnHolder.cs deleted file mode 100644 index 79788dce..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8SymbolSpawnHolder.cs +++ /dev/null @@ -1,45 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// wild encounter spawner? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8SymbolSpawnHolder -{ - [FlatBufferItem(00)] public PlacementZone8SymbolSpawn Object { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8SymbolSpawn -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Identifier { get; set; } = new(); - [FlatBufferItem(01)] public int Field_01 { get; set; } - [FlatBufferItem(02)] public PlacementZone8_F20_Sub Field_02 { get; set; } = new(); - [FlatBufferItem(03)] public PlacementZone8_F20_Sub Field_03 { get; set; } = new(); - [FlatBufferItem(04)] public PlacementZone8_F20_Sub Field_04 { get; set; } = new(); - [FlatBufferItem(05)] public PlacementZone8_F20_Sub Field_05 { get; set; } = new(); - [FlatBufferItem(06)] public int Field_06 { get; set; } - [FlatBufferItem(07)] public ulong SymbolHash { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F20_Sub -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } // unused - [FlatBufferItem(02)] public float Field_02 { get; set; } // unused - [FlatBufferItem(03)] public float Field_03 { get; set; } // unused - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } // unused - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } // unused - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerHolder.cs deleted file mode 100644 index 067a82e7..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerHolder.cs +++ /dev/null @@ -1,90 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8TrainerHolder -{ - [FlatBufferItem(00)] public PlacementZone8_F08 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public ulong TrainerID { get; set; } - [FlatBufferItem(03)] public ulong Hash_03 { get; set; } - [FlatBufferItem(04)] public ulong MovementPath { get; set; } - [FlatBufferItem(05)] public PlacementZone8_F08_ArrayEntry[] Unknown { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public PlacementZone8_F08_Nine Field_07 { get; set; } = new(); - [FlatBufferItem(08)] public uint Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(09)] public uint Field_09 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(10)] public uint Field_10 { get; set; } - [FlatBufferItem(11)] public uint Field_11 { get; set; } - [FlatBufferItem(12)] public uint Field_12 { get; set; } - - public override string ToString() - { - var hashModel = Field_00.Field_00.HashModel; - var name = PlacementZone8OtherNPCHolder.Models.TryGetValue(hashModel, out var model) ? model : hashModel.ToString("X16"); - return name; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F08_ArrayEntry -{ - // same as PlacementZone8_F16_ArrayEntry - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public uint Field_01 { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public byte Field_04 { get; set; } - [FlatBufferItem(05)] public ulong Field_05 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F08_Nine -{ - [FlatBufferItem(0)] public byte Field_00 { get; set; } - [FlatBufferItem(1)] public byte Field_01 { get; set; } - [FlatBufferItem(2)] public byte Field_02 { get; set; } - [FlatBufferItem(3)] public uint Field_03 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(4)] public ulong Hash_04 { get; set; } - [FlatBufferItem(5)] public byte Field_05 { get; set; } - [FlatBufferItem(6)] public uint Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(7)] public ulong Hash_07 { get; set; } - [FlatBufferItem(8)] public uint Field_08 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F08 -{ - [FlatBufferItem(0)] public PlacementZone8_F08_A Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F08_A -{ - [FlatBufferItem(0)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(1)] public ulong Hash_01 { get; set; } - [FlatBufferItem(2)] public ulong HashModel { get; set; } - [FlatBufferItem(3)] public ulong Hash_03 { get; set; } - [FlatBufferItem(4)] public PlacementZone8_F08_IntFloat Field_04 { get; set; } = new(); - [FlatBufferItem(5)] public uint Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(6)] public ulong Hash_06 { get; set; } - [FlatBufferItem(7)] public PlacementZone8_F08_IntFloat Field_07 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F08_IntFloat -{ - [FlatBufferItem(0)] public int Field_00 { get; set; } - [FlatBufferItem(1)] public float Field_01 { get; set; } - [FlatBufferItem(2)] public float Field_02 { get; set; } - [FlatBufferItem(3)] public float Field_03 { get; set; } - [FlatBufferItem(4)] public float Field_04 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerTipHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerTipHolder.cs deleted file mode 100644 index e7e99a08..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TrainerTipHolder.cs +++ /dev/null @@ -1,59 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8TrainerTipHolder -{ - [FlatBufferItem(00)] public PlacementZoneTrainerTip Field_00 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneTrainerTip -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public ulong Field_05 { get; set; } - [FlatBufferItem(06)] public PlacementZone8_F09 Field_06 { get; set; } = new(); - [FlatBufferItem(07)] public PlacementZone8_F09_Union Field_07 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F09 -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} - -// union? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F09_Union -{ - [FlatBufferItem(00)] public byte Field_00 { get; set; } - [FlatBufferItem(01)] public PlacementZone8_F09_Sub Field_06 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8_F09_Sub -{ - [FlatBufferItem(0)] public float Field_00 { get; set; } - [FlatBufferItem(1)] public float Field_01 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TriggerHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TriggerHolder.cs deleted file mode 100644 index f34a2882..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8TriggerHolder.cs +++ /dev/null @@ -1,62 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// Trigger tiles? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8TriggerHolder -{ - [FlatBufferItem(0)] public PlacementZone8Trigger Object { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8Trigger -{ - [FlatBufferItem(0)] public PlacementZoneDeepX8 Field_00 { get; set; } = new(); - [FlatBufferItem(1)] public ulong TriggerName { get; set; } - [FlatBufferItem(2)] public uint Field_02 { get; set; } - [FlatBufferItem(3)] public PlacementZoneDeepY8 Field_03 { get; set; } = new(); - [FlatBufferItem(4)] public uint Field_04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneDeepX8 -{ - [FlatBufferItem(00)] public float Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } - - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get; set; } - - [FlatBufferItem(09)] public ulong Field_09 { get; set; } - [FlatBufferItem(10)] public ulong Field_10 { get; set; } - [FlatBufferItem(11)] public ulong Field_11 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneDeepY8 -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get; set; } - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8UnitObjectHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8UnitObjectHolder.cs deleted file mode 100644 index f0676b70..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8UnitObjectHolder.cs +++ /dev/null @@ -1,70 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -// Gates, Elevators, Tents, Flags, FossilRepair? -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8UnitObjectHolder -{ - [FlatBufferItem(00)] public PlacementZone8UnitObject Object { get; set; } = new(); - - public override string ToString() => Object.NameModel; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8UnitObject -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public string NameModel { get; set; } = ""; - [FlatBufferItem(02)] public string NameAnimation { get; set; } = ""; - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public string Field_05 { get; set; } = ""; // none have this - [FlatBufferItem(06)] public string Field_06 { get; set; } = ""; // none have this - [FlatBufferItem(07)] public float Field_07 { get; set; } - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } - [FlatBufferItem(11)] public PlacementZoneDeepY8 Unknown { get; set; } = new(); - [FlatBufferItem(12)] public byte Number { get; set; } - [FlatBufferItem(13)] public PlacementZone8UnitObjectDetails Details { get; set; } = new(); - [FlatBufferItem(14)] public PlacementZone8UnitObjectToggle Dummy { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8UnitObjectDetails -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get; set; } - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get; set; } - [FlatBufferItem(05)] public float Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} - -// probably a union, with only 1 object type used -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8UnitObjectToggle -{ - [FlatBufferItem(00)] public bool Field_00 { get; set; } - [FlatBufferItem(01)] public PlacementZone8UnitObjectInner Field_01 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8UnitObjectInner -{ - [FlatBufferItem(00)] public float Field_00 { get; set; } // 50 for only 1 entry - [FlatBufferItem(01)] public float Field_01 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8WarpHolder.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8WarpHolder.cs deleted file mode 100644 index 43defd31..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/Holders/PlacementZone8WarpHolder.cs +++ /dev/null @@ -1,51 +0,0 @@ -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8WarpHolder -{ - [FlatBufferItem(00)] public PlacementZoneWarp8 Field_00 { get; set; } = new(); - - public override string ToString() => $"{Field_00.NameAreaOther} via {Field_00.NameModel}"; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneWarp8 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong Hash_01 { get; set; } - [FlatBufferItem(02)] public string NameAreaOther { get; set; } = ""; - [FlatBufferItem(03)] public string NameModel { get; set; } = ""; - [FlatBufferItem(04)] public string NameAnimation { get; set; } = ""; - [FlatBufferItem(05)] public int Field_05 { get; set; } - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public bool Field_07 { get; set; } - [FlatBufferItem(08)] public ulong Hash_08 { get; set; } - [FlatBufferItem(09)] public PlacementZoneWarpDetails8 SubMeta { get; set; } = new(); - [FlatBufferItem(10)] public string NameSoundEffect1 { get; set; } = ""; - [FlatBufferItem(11)] public string NameSoundEffect2 { get; set; } = ""; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneWarpDetails8 -{ - [FlatBufferItem(00)] public int Field_00 { get; set; } - [FlatBufferItem(01)] public float Field_01 { get; set; } - [FlatBufferItem(02)] public float Field_02 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(03)] public float Field_03 { get; set; } - [FlatBufferItem(04)] public float Field_04 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(05)] public float Field_05 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(06)] public float Field_06 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(07)] public float Field_07 { get => 0; set { if (value != 0) throw new ArgumentException("Not Observed"); } } // unused - [FlatBufferItem(08)] public float Field_08 { get; set; } - [FlatBufferItem(09)] public float Field_09 { get; set; } - [FlatBufferItem(10)] public float Field_10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/PlacementZone8.cs b/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/PlacementZone8.cs deleted file mode 100644 index b3308961..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Placement/Zone/PlacementZone8.cs +++ /dev/null @@ -1,181 +0,0 @@ -using System; -using System.Collections.Generic; -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 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZone8 -{ - [FlatBufferItem(00)] public PlacementZoneMeta8 Meta { get; set; } = new(); - [FlatBufferItem(01)] public PlacementZone8UnitObjectHolder[] UnitObjects { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public PlacementZone8SpeciesHolder[] Critters { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public PlacementZone8WarpHolder[] Warps { get; set; } = Array.Empty(); - [FlatBufferItem(04)] public PlacementZone8StepJumpHolder[] StepJumps { get; set; } = Array.Empty(); - [FlatBufferItem(05)] public PlacementZone8ParticleHolder[] Particles { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public PlacementZone8FieldItemHolder[] FieldItems { get; set; } = Array.Empty(); - [FlatBufferItem(07)] public PlacementZone8TriggerHolder[] Triggers { get; set; } = Array.Empty(); - [FlatBufferItem(08)] public PlacementZone8TrainerHolder[] Trainers { get; set; } = Array.Empty(); - [FlatBufferItem(09)] public PlacementZone8TrainerTipHolder[] TrainerTips { get; set; } = Array.Empty(); - [FlatBufferItem(10)] public PlacementZone8EnvironmentHolder[] Environments { get; set; } = Array.Empty(); - [FlatBufferItem(11)] public PlacementZone8FlightAnchorHolder[] FlyTo { get; set; } = Array.Empty(); - [FlatBufferItem(12)] public PlacementZone8PokeCenterSpawnAnchorHolder[] PokeCenterAnchor { get; set; } = Array.Empty(); - [FlatBufferItem(13)] public PlacementZone8NPCHolder[] NPCType1 { get; set; } = Array.Empty(); - [FlatBufferItem(14)] public PlacementZone8AdvancedTipHolder[] AdvancedTips { get; set; } = Array.Empty(); - [FlatBufferItem(15)] public PlacementZone8MovementPathHolder[] Paths { get; set; } = Array.Empty(); - [FlatBufferItem(16)] public PlacementZone8OtherNPCHolder[] NPCType2 { get; set; } = Array.Empty(); - [FlatBufferItem(17)] public PlacementZone8QuadrantHolder[] Quadrants { get; set; } = Array.Empty(); - [FlatBufferItem(18)] public PlacementZone8FishingPointHolder[] FishingPoint { get; set; } = Array.Empty(); - [FlatBufferItem(19)] public PlacementZone8HiddenItemHolder[] HiddenItems { get; set; } = Array.Empty(); - [FlatBufferItem(20)] public PlacementZone8SymbolSpawnHolder[] Symbols { get; set; } = Array.Empty(); - [FlatBufferItem(21)] public PlacementZone8NestHoleHolder[] Nests { get; set; } = Array.Empty(); - [FlatBufferItem(22)] public PlacementZone8BerryTreeHolder[] BerryTrees { get; set; } = Array.Empty(); - [FlatBufferItem(23)] public PlacementZone8LadderHolder[] Ladders { get; set; } = Array.Empty(); - [FlatBufferItem(24)] public PlacementZone8PopupHolder[] Popups { get; set; } = Array.Empty(); - [FlatBufferItem(25)] public PlacementZone8IKStepHolder[] IKStep { get; set; } = Array.Empty(); - [FlatBufferItem(26)] public PlacementZone8StaticObjectsHolder[] StaticObjects { get; set; } = Array.Empty(); - [FlatBufferItem(27)] public PlacementZone8RotomRallyEntry[] RotomRally { get; set; } = Array.Empty(); - - public override string ToString() => Meta.ZoneID.ToString("X16"); - - // More tables exist here - - public IEnumerable GetSummary(EncounterStatic8[] statics, - IReadOnlyList species, - IReadOnlyDictionary zone_names, - IReadOnlyDictionary zone_descs, - IReadOnlyDictionary objects, - IReadOnlyList weathers) - { - var zoneID = Meta.ZoneID; - var name = zone_names[zoneID]; - yield return zone_descs.TryGetValue(zoneID, out var desc) - ? $"{name} ({desc}):" - : $"{name}:"; - - foreach (var sym in Symbols) - { - var obj = sym.Object; - var ident = obj.Identifier; - yield return $" {objects[ident.HashObjectName]}:"; - yield return $" Location: {ident.Location3f}"; - if (obj.SymbolHash is 0 or 0xCBF29CE484222645) - { - yield return " No symbols."; // shouldn't hit here, if we have a holder we should have a symbol to hold. - break; - } - - var line = $"SymbolHash: {obj.SymbolHash:X16}, ObjectHash:{obj.Identifier.HashObjectName:X16}, {nameof(PlacementZone8SymbolSpawn.Field_06)}: {obj.Field_06}, {nameof(PlacementZone8SymbolSpawn.Field_01)}: {obj.Field_01}"; - yield return $" {line}"; - } - - foreach (var so in StaticObjects) - { - var obj = so.Object; - var ident = obj.Identifier; - yield return $" {objects[ident.HashObjectName]}:"; - yield return $" Location: {ident.Location3f}"; - if (obj.Spawns.Length == 0) - { - yield return " No spawns."; // shouldn't hit here, if we have a holder we should have a spawn to hold. - break; - } - - var s = obj.Spawns; - var first = s[0]; - var spawnId = first.SpawnID; - if (Array.TrueForAll(s, z => z.SpawnID == spawnId)) - { - yield return " All Weather:"; - foreach (var line in first.GetSummary(statics, species)) - yield return $" {line}"; - } - else - { - for (var i = 0; i < s.Length; i++) - { - yield return $" {weathers[i]}:"; - foreach (var line in s[i].GetSummary(statics, species)) - yield return $" {line}"; - } - } - } - - yield return string.Empty; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneMeta8 -{ - [FlatBufferItem(00)] public PlacementZoneMetaTripleXYZ8 Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public ulong ZoneID { get; set; } - [FlatBufferItem(02)] public ulong Hash_02 { get; set; } - [FlatBufferItem(03)] public string Field_03 { get; set; } = ""; // none have this - [FlatBufferItem(04)] public uint Field_04 { get; set; } - [FlatBufferItem(05)] public string Music { get; set; } = ""; - [FlatBufferItem(06)] public float Field_06 { get; set; } - [FlatBufferItem(07)] public ulong Hash_07 { get; set; } - [FlatBufferItem(08)] public ulong Hash_08 { get; set; } - [FlatBufferItem(09)] public ulong Hash_09 { get; set; } - [FlatBufferItem(10)] public byte Field_10 { get; set; } - [FlatBufferItem(11)] public byte Field_11 { get; set; } - [FlatBufferItem(12)] public ulong Hash_12 { get; set; } - [FlatBufferItem(13)] public byte Field_13 { get; set; } - [FlatBufferItem(14)] public byte Field_14 { get; set; } - [FlatBufferItem(15)] public int Num_15 { get; set; } - - public override string ToString() => $"{Field_00.HashObjectName:X16}"; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlacementZoneMetaTripleXYZ8 -{ - [FlatBufferItem(00)] public float LocationX { get; set; } - [FlatBufferItem(01)] public float LocationY { get; set; } - [FlatBufferItem(02)] public float LocationZ { get; set; } - [FlatBufferItem(03)] public float RotationX { get; set; } // assumed - [FlatBufferItem(04)] public float RotationY { get; set; } - [FlatBufferItem(05)] public float RotationZ { get; set; } // assumed - [FlatBufferItem(06)] public float ScaleX { get; set; } - [FlatBufferItem(07)] public float ScaleY { get; set; } - [FlatBufferItem(08)] public float ScaleZ { get; set; } - [FlatBufferItem(09)] public ulong HashObjectName { get; set; } - [FlatBufferItem(10)] public ulong Hash_10 { get; set; } - [FlatBufferItem(11)] public ulong Hash_11 { get; set; } - - public string Location3f => $"({LocationX}, {LocationY}, {LocationZ})"; - - public void Upscale(float factor) - { - ScaleX *= factor; - ScaleY *= factor; - ScaleZ *= factor; - } - - public void ResetScale() => ScaleX = ScaleY = ScaleZ = 1; - - public override string ToString() => $"{HashObjectName:X16} @ {Location3f}"; - - public PlacementZoneMetaTripleXYZ8 Clone() => new() - { - LocationX = LocationX, - LocationY = LocationY, - LocationZ = LocationZ, - RotationX = RotationX, - RotationY = RotationY, - RotationZ = RotationZ, - ScaleX = ScaleX, - ScaleY = ScaleY, - ScaleZ = ScaleZ, - HashObjectName = HashObjectName, - Hash_10 = Hash_10, - Hash_11 = Hash_11, - }; -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8.cs b/pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8.cs deleted file mode 100644 index 8a050273..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8.cs +++ /dev/null @@ -1,144 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel; -using System.Linq; -using FlatSharp.Attributes; -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable MemberCanBePrivate.Global -// ReSharper disable UnusedType.Global -// ReSharper disable UnusedMember.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterStatic8 -{ - [FlatBufferItem(00)] public ulong BackgroundFarTypeID { get; set; } - [FlatBufferItem(01)] public ulong BackgroundNearTypeID { get; set; } - [FlatBufferItem(02)] public byte EV_SPE { get; set; } - [FlatBufferItem(03)] public byte EV_ATK { get; set; } - [FlatBufferItem(04)] public byte EV_DEF { get; set; } - [FlatBufferItem(05)] public byte EV_HP { get; set; } - [FlatBufferItem(06)] public byte EV_SPA { get; set; } - [FlatBufferItem(07)] public byte EV_SPD { get; set; } - [FlatBufferItem(08)] public byte Form { get; set; } - [FlatBufferItem(09)] public byte DynamaxLevel { get; set; } - [FlatBufferItem(10)] public int Field_0A { get; set; } - [FlatBufferItem(11)] public ulong EncounterID { get; set; } - [FlatBufferItem(12)] public byte Field_0C { get; set; } - [FlatBufferItem(13)] public bool CanGigantamax { get; set; } - [FlatBufferItem(14)] public int HeldItem { get; set; } - [FlatBufferItem(15)] public byte Level { get; set; } - [FlatBufferItem(16)] public Scenario EncounterScenario { get; set; } - [FlatBufferItem(17)] public int Species { get; set; } - [FlatBufferItem(18)] public uint ShinyLock { get; set; } - [FlatBufferItem(19)] public uint Nature { get; set; } - [FlatBufferItem(20)] public byte Gender { get; set; } - [FlatBufferItem(21)] public sbyte IV_SPE { get; set; } - [FlatBufferItem(22)] public sbyte IV_ATK { get; set; } - [FlatBufferItem(23)] public sbyte IV_DEF { get; set; } - [FlatBufferItem(24)] public sbyte IV_HP { get; set; } - [FlatBufferItem(25)] public sbyte IV_SPA { get; set; } - [FlatBufferItem(26)] public sbyte IV_SPD { get; set; } - [FlatBufferItem(27)] public int Ability { get; set; } - [FlatBufferItem(28)] public int Move0 { get; set; } - [FlatBufferItem(29)] public int Move1 { get; set; } - [FlatBufferItem(30)] public int Move2 { get; set; } - [FlatBufferItem(31)] public int Move3 { get; set; } - - public Species SpeciesID => (Species)Species; - - public int[] IVs - { - get => new int[] { IV_HP, IV_ATK, IV_DEF, IV_SPE, IV_SPA, IV_SPD }; - set - { - if (value?.Length != 6) return; - IV_HP = (sbyte)value[0]; - IV_ATK = (sbyte)value[1]; - IV_DEF = (sbyte)value[2]; - IV_SPE = (sbyte)value[3]; - IV_SPA = (sbyte)value[4]; - IV_SPD = (sbyte)value[5]; - } - } - - public int[] Moves - { - get => new[] { Move0, Move1, Move2, Move3 }; - set - { - if (value?.Length != 4) return; - Move0 = value[0]; - Move1 = value[1]; - Move2 = value[2]; - Move3 = value[3]; - } - } - - [FlatBufferEnum(typeof(byte))] - public enum FixedGender - { - Random = 0, - Male = 1, - Female = 2, - Genderless = Random, - } - - // scenarios that are set for specific story encounters, most don't work on encounters that are not meant to have them - [FlatBufferEnum(typeof(int))] - public enum Scenario - { - None, - Legendary_Pokemon, - _2, - _3, - Eternatus, - Eternamax_Eternatus_1, - Eternamax_Eternatus_2, - Zacian_Zamazenta_Fog, - Motostoke_Gym_Challenge, - Max_Raid_Battle_1, - Max_Raid_Battle_2, - Max_Raid_Battle_3, - Max_Raid_Battle_4, - Zacian_Zamazenta_Boss, - Fast_Slowpoke, - Regigigas_Raid_Battle, - Special_Raid_Battle, - Calyrex, - Glastrier_Spectrier, - Calyrex_Fusion, - } - - public string GetSummary(IReadOnlyList species) - { - var comment = $" // {species[Species]}{(Form == 0 ? string.Empty : "-" + Form)}"; - var ability = Ability switch - { - 0 => string.Empty, - 3 => ", Ability = 4", - _ => $", Ability = {Ability}", - }; - - var ivs = IVs[0] switch - { - 31 when IVs.All(z => z == 31) => ", FlawlessIVCount = 6", - -1 when IVs.All(z => z == -1) => string.Empty, - -4 => ", FlawlessIVCount = 3", - _ => $", IVs = new[]{{{string.Join(",", IVs)}}}", - }; - - var gender = Gender == (int)FixedGender.Random ? string.Empty : $", Gender = {Gender - 1}"; - var nature = (Nature)Nature == Structures.Nature.Random25 ? string.Empty : $", Nature = Nature.{(Nature)Nature}"; - var altform = Form == 0 ? string.Empty : $", Form = {Form:00}"; - var moves = Move0 == 0 ? string.Empty : $", Moves = new[] {{{Move0:000},{Move1:000},{Move2:000},{Move3:000}}}"; - var shiny = (Shiny)ShinyLock == Shiny.Random ? string.Empty : $", Shiny = {(Shiny)ShinyLock}"; - var giga = !CanGigantamax ? string.Empty : ", CanGigantamax = true"; - var dyna = DynamaxLevel == 0 ? string.Empty : $", DynamaxLevel = {DynamaxLevel}"; - - return - $" new(SWSH) {{ Species = {Species:000}, Level = {Level:00}, Location = -01{moves}{ivs}{shiny}{gender}{ability}{nature}{altform}{giga}{dyna} }},{comment}"; - } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8Archive.cs b/pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8Archive.cs deleted file mode 100644 index 9775b1d5..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Static/EncounterStatic8Archive.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable MemberCanBePrivate.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterStatic8Archive : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EncounterStatic8[] Table { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterArchive8.cs b/pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterArchive8.cs deleted file mode 100644 index 9bfe92c0..00000000 --- a/pkNX.Structures.FlatBuffers/Gen8/Wild/EncounterArchive8.cs +++ /dev/null @@ -1,40 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncounterArchive8 -{ - [FlatBufferItem(0)] public uint Field_00 { get; set; } - [FlatBufferItem(1)] public EncounterTable8[] EncounterTables { get; set; } -} - -[FlatBufferTable] -public class EncounterTable8 -{ - [FlatBufferItem(0)] public ulong ZoneID { get; set; } - [FlatBufferItem(1)] public EncounterSubTable8[] SubTables { get; set; } -} - -[FlatBufferTable] -public class EncounterSubTable8 -{ - [FlatBufferItem(0)] public byte LevelMin { get; set; } - [FlatBufferItem(1)] public byte LevelMax { get; set; } - [FlatBufferItem(2)] public EncounterSlot8[] Slots { get; set; } -} - -[FlatBufferTable] -public class EncounterSlot8 -{ - [FlatBufferItem(0)] public byte Probability { get; set; } - [FlatBufferItem(1)] public int Species { get; set; } - [FlatBufferItem(2)] public byte Form { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileDescriptors.cs b/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileDescriptors.cs deleted file mode 100644 index 3719ac61..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileDescriptors.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -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 TrinityFileDescriptors -{ - [FlatBufferItem(00)] public ulong[] SubFileHashes { get; set; } = Array.Empty(); - [FlatBufferItem(01)] public string[] FilePaths { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public TrinityFileDescriptorSubFileInfo[] SubFileInfos { get; set; } = Array.Empty(); - [FlatBufferItem(03)] public TrinityFileDescriptorInfo[] FileInfos { get; set; } = Array.Empty(); - - public ulong GetSubFileIndex(ulong hash) - { - var index = Array.BinarySearch(SubFileHashes, hash); - Debug.Assert((uint)index < SubFileHashes.Length); - return SubFileInfos[index].Index; - } - - public bool GetHasSubFile(ulong hash) - { - var index = Array.BinarySearch(SubFileHashes, hash); - return index >= 0; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityFileDescriptorSubFileInfo -{ - [FlatBufferItem(00)] public ulong Index { get; set; } - [FlatBufferItem(01)] public TrinityFileDescriptorSubFileUnknown SubInfo { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityFileDescriptorInfo -{ - [FlatBufferItem(00)] public ulong FileSize { get; set; } - [FlatBufferItem(01)] public ulong FileCount { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityFileDescriptorSubFileUnknown -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } // TODO -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemMetadata.cs b/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemMetadata.cs deleted file mode 100644 index c6b06af5..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityFileSystemMetadata.cs +++ /dev/null @@ -1,29 +0,0 @@ -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 TrinityFileSystemMetadata -{ - [FlatBufferItem(00)] public ulong[] FileHashes { get; set; } = Array.Empty(); - [FlatBufferItem(01)] public ulong[] FileOffsets { get; set; } = Array.Empty(); - - public ulong GetFileOffset(ulong hashFnv) - { - var index = Array.BinarySearch(FileHashes, hashFnv); - if (index < 0) - throw new ArgumentException(null, nameof(hashFnv)); - return FileOffsets[index]; - } - - public bool HasFile(ulong hashFnv) => Array.BinarySearch(FileHashes, hashFnv) >= 0; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPak.cs b/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPak.cs deleted file mode 100644 index ae8a6a67..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Archive/TrinityPak.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -using FlatSharp.Attributes; -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; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPak -{ - [FlatBufferItem(00)] public ulong[] Hashes { get; set; } = Array.Empty(); - [FlatBufferItem(01)] public TrinityPakFileData[] Files { get; set; } = Array.Empty(); - - public TrinityPakFileData GetFileData(ulong hash) - { - var index = Array.BinarySearch(Hashes, hash); - Debug.Assert((uint)index < Hashes.Length); - return Files[index]; - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPakFileData -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public byte CompressionType { get; set; } - [FlatBufferItem(02)] public byte Field_02 { get; set; } - [FlatBufferItem(03)] public ulong UncompressedSize { get; set; } - [FlatBufferItem(04)] public byte[] Data { get; set; } = Array.Empty(); - - public byte[] GetUncompressedData() => CompressionType switch - { // TODO: What specific ID is zlib? - 3 => Oodle.Decompress(Data, (long)UncompressedSize)!, // Oodle - 0xFF => (byte[])Data.Clone(), // Uncompressed - _ => throw new ArgumentException($"Unknown compression type {CompressionType}"), - }; - - public ReadOnlySpan GetUncompressedDataReadOnly() => CompressionType switch - { // TODO: What specific ID is zlib? - 3 => Oodle.Decompress(Data, (long)UncompressedSize)!, // Oodle - 0xFF => Data, // Uncompressed - _ => throw new ArgumentException($"Unknown compression type {CompressionType}"), - }; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventArray.cs deleted file mode 100644 index eed1f444..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Audio/BGMEventArray.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Root Type: gfl.audio.fb.BGMEventArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BGMEventArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public BGMEvent[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BGMEvent -{ - [FlatBufferItem(0)] public string EventName { get; set; } - [FlatBufferItem(1)] public BGMEventType Type { get; set; } - [FlatBufferItem(2)] public string LayerName { get; set; } - [FlatBufferItem(3)] public string WwiseEventName { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Audio/EnvPokeVoiceLotterySetting.cs b/pkNX.Structures.FlatBuffers/Gen9/Audio/EnvPokeVoiceLotterySetting.cs deleted file mode 100644 index 4bfb771b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Audio/EnvPokeVoiceLotterySetting.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Root Type: titan_audio.fb.EnvPokeVoiceLotterySetting - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EnvPokeVoiceLotterySetting -{ - [FlatBufferItem(0)] public float LotteryTimer { get; set; } - [FlatBufferItem(1)] public float SearchRadiusMin { get; set; } - [FlatBufferItem(2)] public float SearchRadiusMax { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Battle/BattleConfig.cs b/pkNX.Structures.FlatBuffers/Gen9/Battle/BattleConfig.cs deleted file mode 100644 index 5365a99a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Battle/BattleConfig.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleConfig -{ - [FlatBufferItem(00)] public float FcamZoomToprigRadius { get; set; } - [FlatBufferItem(01)] public float FcamZoomToprigHeight { get; set; } - [FlatBufferItem(02)] public float FcamZoomMidrigRadius { get; set; } - [FlatBufferItem(03)] public float FcamZoomMidrigHeight { get; set; } - [FlatBufferItem(04)] public float FcamZoomLowrigRadius { get; set; } - [FlatBufferItem(05)] public float FcamZoomLowrigHeight { get; set; } - [FlatBufferItem(06)] public float FcamZoomToprigRadius2 { get; set; } - [FlatBufferItem(07)] public float FcamZoomToprigHeight2 { get; set; } - [FlatBufferItem(08)] public float FcamZoomMidrigRadius2 { get; set; } - [FlatBufferItem(09)] public float FcamZoomMidrigHeight2 { get; set; } - [FlatBufferItem(10)] public float FcamZoomLowrigRadius2 { get; set; } - [FlatBufferItem(11)] public float FcamZoomLowrigHeight2 { get; set; } - [FlatBufferItem(12)] public float FcamCentToprigRadius { get; set; } - [FlatBufferItem(13)] public float FcamCentToprigHeight { get; set; } - [FlatBufferItem(14)] public float FcamCentMidrigRadius { get; set; } - [FlatBufferItem(15)] public float FcamCentMidrigHeight { get; set; } - [FlatBufferItem(16)] public float FcamCentLowrigRadius { get; set; } - [FlatBufferItem(17)] public float FcamCentLowrigHeight { get; set; } - [FlatBufferItem(18)] public Vec3f FcamOffsetCenter { get; set; } - [FlatBufferItem(19)] public Vec3f FcamOffsetPoke0 { get; set; } - [FlatBufferItem(20)] public Vec3f FcamOffsetPoke1 { get; set; } - [FlatBufferItem(21)] public Vec3f FcamOffsetPoke2 { get; set; } - [FlatBufferItem(22)] public Vec3f FcamOffsetPoke3 { get; set; } - [FlatBufferItem(23)] public Vec3f FcamOffsetTr0 { get; set; } - [FlatBufferItem(24)] public Vec3f FcamOffsetTr1 { get; set; } - [FlatBufferItem(25)] public Vec3f FcamOffsetTr2 { get; set; } - [FlatBufferItem(26)] public Vec3f FcamOffsetTr3 { get; set; } - [FlatBufferItem(27)] public float FcamZoomStartAngle { get; set; } - [FlatBufferItem(28)] public float FcamZoomMinAngle { get; set; } - [FlatBufferItem(29)] public float FcamZoomMaxAngle { get; set; } - [FlatBufferItem(30)] public float FcamZoomStartHeight { get; set; } - [FlatBufferItem(31)] public float FcamZoomStartAngle2 { get; set; } - [FlatBufferItem(32)] public float FcamZoomMinAngle2 { get; set; } - [FlatBufferItem(33)] public float FcamZoomMaxAngle2 { get; set; } - [FlatBufferItem(34)] public float FcamZoomStartHeight2 { get; set; } - [FlatBufferItem(35)] public float FcamCentStartHeightS { get; set; } - [FlatBufferItem(36)] public float FcamCentStartHeightM { get; set; } - [FlatBufferItem(37)] public float FcamCentStartHeightL { get; set; } - [FlatBufferItem(38)] public float FcamCentStartHeightLL { get; set; } - [FlatBufferItem(39)] public string FcamPokeLocator { get; set; } - [FlatBufferItem(40)] public string FcamTrainerLocator { get; set; } - [FlatBufferItem(41)] public float FcamRotSpeedX { get; set; } - [FlatBufferItem(42)] public float FcamRotSpeedY { get; set; } - [FlatBufferItem(43)] public float FcamStartStickLength { get; set; } - [FlatBufferItem(44)] public sbyte FieldgemDropupRate { get; set; } - [FlatBufferItem(45)] public bool WazamsgIsPreMsgTime { get; set; } - [FlatBufferItem(46)] public float WazamsgPreMsgTime { get; set; } - [FlatBufferItem(47)] public bool WazamsgIsPostMsgTime { get; set; } - [FlatBufferItem(48)] public float WazamsgPostMsgTime { get; set; } - [FlatBufferItem(49)] public bool WazamsgIsSubMsgTime { get; set; } - [FlatBufferItem(50)] public float WazamsgSubMsgTime { get; set; } - [FlatBufferItem(51)] public bool WazamsgIsSubMsgCloseTime { get; set; } - [FlatBufferItem(52)] public float WazamsgSubMsgCloseTime { get; set; } - [FlatBufferItem(53)] public float WildTrposCheckSize { get; set; } - [FlatBufferItem(54)] public int RandomCameraStartFrames { get; set; } - [FlatBufferItem(55)] public int TrainerWaitIntervalFix { get; set; } - [FlatBufferItem(56)] public int TrainerWaitIntervalRandom { get; set; } - [FlatBufferItem(57)] public int PokeRoarIntervalFix { get; set; } - [FlatBufferItem(58)] public int PokeRoarIntervalRandom { get; set; } - [FlatBufferItem(59)] public int BossCarIdlingIntervalFix { get; set; } - [FlatBufferItem(60)] public int BossCarIdlingIntervalRandom { get; set; } - [FlatBufferItem(61)] public int BossCarWaitRate { get; set; } - [FlatBufferItem(62)] public int BossCarRoarRate { get; set; } - [FlatBufferItem(63)] public float BattleAreaSize { get; set; } - [FlatBufferItem(64)] public float BattleHecklerAreaSize { get; set; } - [FlatBufferItem(65)] public float RaidPowerchargeMessageTime { get; set; } - [FlatBufferItem(66)] public float PokeMoveConditionDistance { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Battle/BattleEffectTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Battle/BattleEffectTableArray.cs deleted file mode 100644 index a0ad4612..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Battle/BattleEffectTableArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleEffectTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public BattleEffectTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleEffectTable -{ - [FlatBufferItem(0)] public bool Enable { get; set; } - [FlatBufferItem(1)] public string TimelinePath { get; set; } - [FlatBufferItem(2)] public string TemplatePath { get; set; } - [FlatBufferItem(3)] public short RaidFrameLength { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Battle/ItemTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Battle/ItemTableArray.cs deleted file mode 100644 index 70a340e3..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Battle/ItemTableArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ItemTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ItemTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ItemTable -{ - [FlatBufferItem(0)] public int ItemID { get; set; } - [FlatBufferItem(1)] public int PlibID { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Battle/PokeExceptionTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Battle/PokeExceptionTableArray.cs deleted file mode 100644 index 31885810..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Battle/PokeExceptionTableArray.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeExceptionTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PokeExceptionTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeExceptionTable -{ - [FlatBufferItem(0)] public DevID DevId { get; set; } - [FlatBufferItem(1)] public sbyte Formno { get; set; } - [FlatBufferItem(2)] public GroundState DefaultBattleState { get; set; } -} - -[FlatBufferEnum(typeof(sbyte))] -public enum GroundState : sbyte -{ - @default = 0, - ground = 1, - swim = 2, - @float = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/CookingCommonData.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/CookingCommonData.cs deleted file mode 100644 index 6b4a859d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/CookingCommonData.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CookingCommonData -{ - [FlatBufferItem(0)] public PopWildPokemonParam PopParam { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopWildPokemonParam -{ - // float[4] - [FlatBufferItem(0)] public float OccurrenceProb0 { get; set; } - [FlatBufferItem(1)] public float OccurrenceProb1 { get; set; } - [FlatBufferItem(2)] public float OccurrenceProb2 { get; set; } - [FlatBufferItem(3)] public float OccurrenceProb3 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/FoodPowerComboArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/FoodPowerComboArray.cs deleted file mode 100644 index 3b1b57e8..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/FoodPowerComboArray.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FoodPowerComboArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FoodPowerCombo[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FoodPowerCombo -{ - [FlatBufferItem(0)] public FoodPowerComboParam Param { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDataArray.cs deleted file mode 100644 index 29cb589a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDataArray.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public IngredientData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientData -{ - [FlatBufferItem(0)] public IngredientType Type { get; set; } - [FlatBufferItem(1)] public IngredientParam Param { get; set; } - [FlatBufferItem(2)] public FoodPowerParam Power { get; set; } - [FlatBufferItem(3)] public FoodPokeTypeParam PokeTypePower { get; set; } - [FlatBufferItem(4)] public string ObjTempName { get; set; } - [FlatBufferItem(5)] public int SetNum { get; set; } - [FlatBufferItem(6)] public int OnDishNum { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDishDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDishDataArray.cs deleted file mode 100644 index e80ba84b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/IngredientDishDataArray.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientDishDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public IngredientDishData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientDishData -{ - [FlatBufferItem(0)] public IngredientType Type { get; set; } - [FlatBufferItem(1)] public IngredientDishParam Param { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientDishParam : IFlatBufferArchive -{ - // IngredientSRT[20] - [FlatBufferItem(00)] public IngredientSRT Ingredient00 { get; set; } - [FlatBufferItem(01)] public IngredientSRT Ingredient01 { get; set; } - [FlatBufferItem(02)] public IngredientSRT Ingredient02 { get; set; } - [FlatBufferItem(03)] public IngredientSRT Ingredient03 { get; set; } - [FlatBufferItem(04)] public IngredientSRT Ingredient04 { get; set; } - [FlatBufferItem(05)] public IngredientSRT Ingredient05 { get; set; } - [FlatBufferItem(06)] public IngredientSRT Ingredient06 { get; set; } - [FlatBufferItem(07)] public IngredientSRT Ingredient07 { get; set; } - [FlatBufferItem(08)] public IngredientSRT Ingredient08 { get; set; } - [FlatBufferItem(09)] public IngredientSRT Ingredient09 { get; set; } - [FlatBufferItem(10)] public IngredientSRT Ingredient10 { get; set; } - [FlatBufferItem(11)] public IngredientSRT Ingredient11 { get; set; } - [FlatBufferItem(12)] public IngredientSRT Ingredient12 { get; set; } - [FlatBufferItem(13)] public IngredientSRT Ingredient13 { get; set; } - [FlatBufferItem(14)] public IngredientSRT Ingredient14 { get; set; } - [FlatBufferItem(15)] public IngredientSRT Ingredient15 { get; set; } - [FlatBufferItem(16)] public IngredientSRT Ingredient16 { get; set; } - [FlatBufferItem(17)] public IngredientSRT Ingredient17 { get; set; } - [FlatBufferItem(18)] public IngredientSRT Ingredient18 { get; set; } - [FlatBufferItem(19)] public IngredientSRT Ingredient19 { get; set; } - - [Browsable(false)] - public IngredientSRT[] Table - { - get => new[] - { - Ingredient00, - Ingredient01, - Ingredient02, - Ingredient03, - Ingredient04, - Ingredient05, - Ingredient06, - Ingredient07, - Ingredient08, - Ingredient09, - Ingredient10, - Ingredient11, - Ingredient12, - Ingredient13, - Ingredient14, - Ingredient15, - Ingredient16, - Ingredient17, - Ingredient18, - Ingredient19, - }; - set => throw new System.InvalidOperationException(); - } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientSRT -{ - [FlatBufferItem(0)] public Float3 Position { get; set; } - [FlatBufferItem(1)] public Float3 Rotation { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class Float3 -{ - [FlatBufferItem(0)] public float X { get; set; } - [FlatBufferItem(1)] public float Y { get; set; } - [FlatBufferItem(2)] public float Z { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPokeTypeParam.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPokeTypeParam.cs deleted file mode 100644 index 14054d87..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPokeTypeParam.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class FoodPokeTypeParam -{ - [FlatBufferItem(00)] public int Normal { get; set; } - [FlatBufferItem(01)] public int Kakutou { get; set; } - [FlatBufferItem(02)] public int Hikou { get; set; } - [FlatBufferItem(03)] public int Doku { get; set; } - [FlatBufferItem(04)] public int Jimen { get; set; } - [FlatBufferItem(05)] public int Iwa { get; set; } - [FlatBufferItem(06)] public int Mushi { get; set; } - [FlatBufferItem(07)] public int Ghost { get; set; } - [FlatBufferItem(08)] public int Hagane { get; set; } - [FlatBufferItem(09)] public int Honoo { get; set; } - [FlatBufferItem(10)] public int Mizu { get; set; } - [FlatBufferItem(11)] public int Kusa { get; set; } - [FlatBufferItem(12)] public int Denki { get; set; } - [FlatBufferItem(13)] public int Esper { get; set; } - [FlatBufferItem(14)] public int Koori { get; set; } - [FlatBufferItem(15)] public int Dragon { get; set; } - [FlatBufferItem(16)] public int Aku { get; set; } - [FlatBufferItem(17)] public int Fairy { get; set; } - - public int GetBoostFromIndex(int index) => index switch - { - 00 => Normal, - 01 => Kakutou, - 02 => Hikou, - 03 => Doku, - 04 => Jimen, - 05 => Iwa, - 06 => Mushi, - 07 => Ghost, - 08 => Hagane, - 09 => Honoo, - 10 => Mizu, - 11 => Kusa, - 12 => Denki, - 13 => Esper, - 14 => Koori, - 15 => Dragon, - 16 => Aku, - 17 => Fairy, - _ => throw new ArgumentOutOfRangeException(nameof(index), index, null) - }; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerComboParam.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerComboParam.cs deleted file mode 100644 index 7ce5d396..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerComboParam.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class FoodPowerComboParam -{ - // SeasoningType[4] - [FlatBufferItem(0)] public SeasoningType Seasoning0 { get; set; } - [FlatBufferItem(1)] public SeasoningType Seasoning1 { get; set; } - [FlatBufferItem(2)] public SeasoningType Seasoning2 { get; set; } - [FlatBufferItem(3)] public SeasoningType Seasoning3 { get; set; } - - // IngredientType[6] - [FlatBufferItem(4)] public IngredientType Ingredient0 { get; set; } - [FlatBufferItem(5)] public IngredientType Ingredient1 { get; set; } - [FlatBufferItem(6)] public IngredientType Ingredient2 { get; set; } - [FlatBufferItem(7)] public IngredientType Ingredient3 { get; set; } - [FlatBufferItem(8)] public IngredientType Ingredient4 { get; set; } - [FlatBufferItem(9)] public IngredientType Ingredient5 { get; set; } - - [FlatBufferItem(10)] public FoodPowerParam FoodPower { get; set; } - [FlatBufferItem(11)] public FoodPokeTypeParam PokeTypePower { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerParam.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerParam.cs deleted file mode 100644 index ee7bdcc7..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/Param/FoodPowerParam.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class FoodPowerParam -{ - [FlatBufferItem(0)] public int EGG { get; set; } - [FlatBufferItem(1)] public int CAPTURE { get; set; } - [FlatBufferItem(2)] public int EXP { get; set; } - [FlatBufferItem(3)] public int LOSTPROPERTY { get; set; } - [FlatBufferItem(4)] public int RAID { get; set; } - [FlatBufferItem(5)] public int ANOTHERNAME { get; set; } - [FlatBufferItem(6)] public int RARE { get; set; } - [FlatBufferItem(7)] public int GIGANT { get; set; } - [FlatBufferItem(8)] public int MIINIMUM { get; set; } - [FlatBufferItem(9)] public int ENCOUNT { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/RecipeDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/RecipeDataArray.cs deleted file mode 100644 index 7afb0b53..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/RecipeDataArray.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RecipeDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RecipeData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RecipeData -{ - [FlatBufferItem(00)] public RecipeType Type { get; set; } - [FlatBufferItem(01)] public SeasoningType Seasoning0 { get; set; } - [FlatBufferItem(02)] public SeasoningType Seasoning1 { get; set; } - [FlatBufferItem(03)] public SeasoningType Seasoning2 { get; set; } - [FlatBufferItem(04)] public SeasoningType Seasoning3 { get; set; } - [FlatBufferItem(05)] public IngredientType Ingredient0 { get; set; } - [FlatBufferItem(06)] public IngredientType Ingredient1 { get; set; } - [FlatBufferItem(07)] public IngredientType Ingredient2 { get; set; } - [FlatBufferItem(08)] public IngredientType Ingredient3 { get; set; } - [FlatBufferItem(09)] public IngredientType Ingredient4 { get; set; } - [FlatBufferItem(10)] public IngredientType Ingredient5 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/SeasoningDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/SeasoningDataArray.cs deleted file mode 100644 index b57e3c17..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/SeasoningDataArray.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeasoningDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public SeasoningData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeasoningData -{ - [FlatBufferItem(0)] public SeasoningType Type { get; set; } - [FlatBufferItem(1)] public IngredientParam Param { get; set; } - [FlatBufferItem(2)] public FoodPowerParam Power { get; set; } - [FlatBufferItem(3)] public FoodPokeTypeParam PokeTypePower { get; set; } - [FlatBufferItem(4)] public string ObjTempName { get; set; } - [FlatBufferItem(5)] public int SetNum { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientParam -{ - [FlatBufferItem(0)] public int Sweet { get; set; } - [FlatBufferItem(1)] public int Salty { get; set; } - [FlatBufferItem(2)] public int Sour { get; set; } - [FlatBufferItem(3)] public int Bitter { get; set; } - [FlatBufferItem(4)] public int Hot { get; set; } - [FlatBufferItem(5)] public int Deliciousness { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Cooking/TakaraSpicePowerTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Cooking/TakaraSpicePowerTableArray.cs deleted file mode 100644 index f15c7a81..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Cooking/TakaraSpicePowerTableArray.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TakaraSpicePowerTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public TakaraSpicePowerTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TakaraSpicePowerTable -{ - [FlatBufferItem(0)] public TakaraSpicePowerParam Param { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class TakaraSpicePowerParam -{ - // SeasoningType[3] - [FlatBufferItem(0)] public SeasoningType TakaraSeasoning0 { get; set; } - [FlatBufferItem(1)] public SeasoningType TakaraSeasoning1 { get; set; } - [FlatBufferItem(2)] public SeasoningType TakaraSeasoning2 { get; set; } - - [FlatBufferItem(3)] public FoodSkillType SkillType { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/CollisionShape.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/CollisionShape.cs deleted file mode 100644 index 6f7b02b9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/CollisionShape.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum CollisionShape -{ - NONE = 0, - SPHERE = 1, - BOX = 2, - CAPSULE = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/ComparisonOperatorType.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/ComparisonOperatorType.cs deleted file mode 100644 index 71288235..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/ComparisonOperatorType.cs +++ /dev/null @@ -1,15 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ComparisonOperatorType -{ - EQUAL = 0, - NOT_EQUAL = 1, - GREATER_THAN = 2, - GREATER_THAN_EQUAL = 3, - LESS_THAN = 4, - LESS_THAN_EQUAL = 5, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/ConditionSimpleAutoBattleHecklerAreaArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/ConditionSimpleAutoBattleHecklerAreaArray.cs deleted file mode 100644 index dd7f1d0e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/ConditionSimpleAutoBattleHecklerAreaArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ConditionSimpleAutoBattleHecklerAreaArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ConditionSimpleAutoBattleHecklerArea[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ConditionSimpleAutoBattleHecklerArea -{ - [FlatBufferItem(0)] public PokemonTriggerID TriggerID { get; set; } - [FlatBufferItem(1)] public ComparisonOperatorType ComparisonOperatorType { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/OwnerInfo.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/OwnerInfo.cs deleted file mode 100644 index 42bcdf40..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/OwnerInfo.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class OwnerInfo -{ - [FlatBufferItem(0)] public int TrainerId { get; set; } - [FlatBufferItem(1)] public SexType Sex { get; set; } - [FlatBufferItem(2)] public LangType LangId { get; set; } - [FlatBufferItem(3)] public string Name { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/ParamSet.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/ParamSet.cs deleted file mode 100644 index 9fe56311..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/ParamSet.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ParamSet -{ - [FlatBufferItem(0)] public int HP { get; set; } - [FlatBufferItem(1)] public int ATK { get; set; } - [FlatBufferItem(2)] public int DEF { get; set; } - [FlatBufferItem(3)] public int SPA { get; set; } - [FlatBufferItem(4)] public int SPD { get; set; } - [FlatBufferItem(5)] public int SPE { get; set; } - - public int[] Stats - { - get => new int[] { HP, ATK, DEF, SPA, SPD, SPE }; - set - { - if (value?.Length != 6) return; - HP = (sbyte)value[0]; - ATK = (sbyte)value[1]; - DEF = (sbyte)value[2]; - SPA = (sbyte)value[3]; - SPD = (sbyte)value[4]; - SPE = (sbyte)value[5]; - } - } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/PokeObjArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/PokeObjArray.cs deleted file mode 100644 index ad63764a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/PokeObjArray.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeObjArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PokeObj[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeObj -{ - [FlatBufferItem(0)] public DevID DevId { get; set; } - [FlatBufferItem(1)] public BodyCollision BodyCollision { get; set; } - [FlatBufferItem(2)] public CharaCollision CharaCollision { get; set; } - [FlatBufferItem(3)] public GrassCollision GrassCollision { get; set; } - [FlatBufferItem(4)] public FlatBuffer FlatBuffer { get; set; } - [FlatBufferItem(5)] public CGemParam GemParam { get; set; } - [FlatBufferItem(6)] public PokeParameter Poke { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GrassCollision -{ - [FlatBufferItem(0)] public float OffsetY { get; set; } - [FlatBufferItem(1)] public float Radius { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CGemParam -{ - [FlatBufferItem(0)] public Vec3f Pos { get; set; } - [FlatBufferItem(1)] public Vec3f Rot { get; set; } - [FlatBufferItem(2)] public Vec3f Scale { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeParameter -{ - [FlatBufferItem(0)] public float ReachDistance { get; set; } - [FlatBufferItem(1)] public float AcceleStartDistance { get; set; } - [FlatBufferItem(2)] public float DeceleStartDistance { get; set; } - [FlatBufferItem(3)] public float MoveAccele { get; set; } - [FlatBufferItem(4)] public float RotationSpeed { get; set; } - [FlatBufferItem(5)] public float MinWaterDepthThreshold { get; set; } - [FlatBufferItem(6)] public float MaxWaterDepthThreshold { get; set; } - [FlatBufferItem(7)] public float MinAltitudeThreshold { get; set; } - [FlatBufferItem(8)] public float MaxAltitudeThreshold { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FlatBuffer -{ - [FlatBufferItem(0)] public string FileName { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CharaCollision -{ - [FlatBufferItem(0)] public CollisionShape Shape { get; set; } - [FlatBufferItem(1)] public Vec3f Pos { get; set; } - [FlatBufferItem(2)] public float Radius { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BodyCollision -{ - [FlatBufferItem(0)] public CollisionShape Shape { get; set; } - [FlatBufferItem(1)] public Vec3f Pos { get; set; } - [FlatBufferItem(2)] public float Radius { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonUniquePathData.cs b/pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonUniquePathData.cs deleted file mode 100644 index 3510b31b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Entity/PokemonUniquePathData.cs +++ /dev/null @@ -1,1013 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokemonUniquePathData -{ - [FlatBufferItem(000)] public string Path000 { get; set; } - [FlatBufferItem(001)] public string Path001 { get; set; } - [FlatBufferItem(002)] public string Path002 { get; set; } - [FlatBufferItem(003)] public string Path003 { get; set; } - [FlatBufferItem(004)] public string Path004 { get; set; } - [FlatBufferItem(005)] public string Path005 { get; set; } - [FlatBufferItem(006)] public string Path006 { get; set; } - [FlatBufferItem(007)] public string Path007 { get; set; } - [FlatBufferItem(008)] public string Path008 { get; set; } - [FlatBufferItem(009)] public string Path009 { get; set; } - [FlatBufferItem(010)] public string Path010 { get; set; } - [FlatBufferItem(011)] public string Path011 { get; set; } - [FlatBufferItem(012)] public string Path012 { get; set; } - [FlatBufferItem(013)] public string Path013 { get; set; } - [FlatBufferItem(014)] public string Path014 { get; set; } - [FlatBufferItem(015)] public string Path015 { get; set; } - [FlatBufferItem(016)] public string Path016 { get; set; } - [FlatBufferItem(017)] public string Path017 { get; set; } - [FlatBufferItem(018)] public string Path018 { get; set; } - [FlatBufferItem(019)] public string Path019 { get; set; } - [FlatBufferItem(020)] public string Path020 { get; set; } - [FlatBufferItem(021)] public string Path021 { get; set; } - [FlatBufferItem(022)] public string Path022 { get; set; } - [FlatBufferItem(023)] public string Path023 { get; set; } - [FlatBufferItem(024)] public string Path024 { get; set; } - [FlatBufferItem(025)] public string Path025 { get; set; } - [FlatBufferItem(026)] public string Path026 { get; set; } - [FlatBufferItem(027)] public string Path027 { get; set; } - [FlatBufferItem(028)] public string Path028 { get; set; } - [FlatBufferItem(029)] public string Path029 { get; set; } - [FlatBufferItem(030)] public string Path030 { get; set; } - [FlatBufferItem(031)] public string Path031 { get; set; } - [FlatBufferItem(032)] public string Path032 { get; set; } - [FlatBufferItem(033)] public string Path033 { get; set; } - [FlatBufferItem(034)] public string Path034 { get; set; } - [FlatBufferItem(035)] public string Path035 { get; set; } - [FlatBufferItem(036)] public string Path036 { get; set; } - [FlatBufferItem(037)] public string Path037 { get; set; } - [FlatBufferItem(038)] public string Path038 { get; set; } - [FlatBufferItem(039)] public string Path039 { get; set; } - [FlatBufferItem(040)] public string Path040 { get; set; } - [FlatBufferItem(041)] public string Path041 { get; set; } - [FlatBufferItem(042)] public string Path042 { get; set; } - [FlatBufferItem(043)] public string Path043 { get; set; } - [FlatBufferItem(044)] public string Path044 { get; set; } - [FlatBufferItem(045)] public string Path045 { get; set; } - [FlatBufferItem(046)] public string Path046 { get; set; } - [FlatBufferItem(047)] public string Path047 { get; set; } - [FlatBufferItem(048)] public string Path048 { get; set; } - [FlatBufferItem(049)] public string Path049 { get; set; } - [FlatBufferItem(050)] public string Path050 { get; set; } - [FlatBufferItem(051)] public string Path051 { get; set; } - [FlatBufferItem(052)] public string Path052 { get; set; } - [FlatBufferItem(053)] public string Path053 { get; set; } - [FlatBufferItem(054)] public string Path054 { get; set; } - [FlatBufferItem(055)] public string Path055 { get; set; } - [FlatBufferItem(056)] public string Path056 { get; set; } - [FlatBufferItem(057)] public string Path057 { get; set; } - [FlatBufferItem(058)] public string Path058 { get; set; } - [FlatBufferItem(059)] public string Path059 { get; set; } - [FlatBufferItem(060)] public string Path060 { get; set; } - [FlatBufferItem(061)] public string Path061 { get; set; } - [FlatBufferItem(062)] public string Path062 { get; set; } - [FlatBufferItem(063)] public string Path063 { get; set; } - [FlatBufferItem(064)] public string Path064 { get; set; } - [FlatBufferItem(065)] public string Path065 { get; set; } - [FlatBufferItem(066)] public string Path066 { get; set; } - [FlatBufferItem(067)] public string Path067 { get; set; } - [FlatBufferItem(068)] public string Path068 { get; set; } - [FlatBufferItem(069)] public string Path069 { get; set; } - [FlatBufferItem(070)] public string Path070 { get; set; } - [FlatBufferItem(071)] public string Path071 { get; set; } - [FlatBufferItem(072)] public string Path072 { get; set; } - [FlatBufferItem(073)] public string Path073 { get; set; } - [FlatBufferItem(074)] public string Path074 { get; set; } - [FlatBufferItem(075)] public string Path075 { get; set; } - [FlatBufferItem(076)] public string Path076 { get; set; } - [FlatBufferItem(077)] public string Path077 { get; set; } - [FlatBufferItem(078)] public string Path078 { get; set; } - [FlatBufferItem(079)] public string Path079 { get; set; } - [FlatBufferItem(080)] public string Path080 { get; set; } - [FlatBufferItem(081)] public string Path081 { get; set; } - [FlatBufferItem(082)] public string Path082 { get; set; } - [FlatBufferItem(083)] public string Path083 { get; set; } - [FlatBufferItem(084)] public string Path084 { get; set; } - [FlatBufferItem(085)] public string Path085 { get; set; } - [FlatBufferItem(086)] public string Path086 { get; set; } - [FlatBufferItem(087)] public string Path087 { get; set; } - [FlatBufferItem(088)] public string Path088 { get; set; } - [FlatBufferItem(089)] public string Path089 { get; set; } - [FlatBufferItem(090)] public string Path090 { get; set; } - [FlatBufferItem(091)] public string Path091 { get; set; } - [FlatBufferItem(092)] public string Path092 { get; set; } - [FlatBufferItem(093)] public string Path093 { get; set; } - [FlatBufferItem(094)] public string Path094 { get; set; } - [FlatBufferItem(095)] public string Path095 { get; set; } - [FlatBufferItem(096)] public string Path096 { get; set; } - [FlatBufferItem(097)] public string Path097 { get; set; } - [FlatBufferItem(098)] public string Path098 { get; set; } - [FlatBufferItem(099)] public string Path099 { get; set; } - [FlatBufferItem(100)] public string Path100 { get; set; } - [FlatBufferItem(101)] public string Path101 { get; set; } - [FlatBufferItem(102)] public string Path102 { get; set; } - [FlatBufferItem(103)] public string Path103 { get; set; } - [FlatBufferItem(104)] public string Path104 { get; set; } - [FlatBufferItem(105)] public string Path105 { get; set; } - [FlatBufferItem(106)] public string Path106 { get; set; } - [FlatBufferItem(107)] public string Path107 { get; set; } - [FlatBufferItem(108)] public string Path108 { get; set; } - [FlatBufferItem(109)] public string Path109 { get; set; } - [FlatBufferItem(110)] public string Path110 { get; set; } - [FlatBufferItem(111)] public string Path111 { get; set; } - [FlatBufferItem(112)] public string Path112 { get; set; } - [FlatBufferItem(113)] public string Path113 { get; set; } - [FlatBufferItem(114)] public string Path114 { get; set; } - [FlatBufferItem(115)] public string Path115 { get; set; } - [FlatBufferItem(116)] public string Path116 { get; set; } - [FlatBufferItem(117)] public string Path117 { get; set; } - [FlatBufferItem(118)] public string Path118 { get; set; } - [FlatBufferItem(119)] public string Path119 { get; set; } - [FlatBufferItem(120)] public string Path120 { get; set; } - [FlatBufferItem(121)] public string Path121 { get; set; } - [FlatBufferItem(122)] public string Path122 { get; set; } - [FlatBufferItem(123)] public string Path123 { get; set; } - [FlatBufferItem(124)] public string Path124 { get; set; } - [FlatBufferItem(125)] public string Path125 { get; set; } - [FlatBufferItem(126)] public string Path126 { get; set; } - [FlatBufferItem(127)] public string Path127 { get; set; } - [FlatBufferItem(128)] public string Path128 { get; set; } - [FlatBufferItem(129)] public string Path129 { get; set; } - [FlatBufferItem(130)] public string Path130 { get; set; } - [FlatBufferItem(131)] public string Path131 { get; set; } - [FlatBufferItem(132)] public string Path132 { get; set; } - [FlatBufferItem(133)] public string Path133 { get; set; } - [FlatBufferItem(134)] public string Path134 { get; set; } - [FlatBufferItem(135)] public string Path135 { get; set; } - [FlatBufferItem(136)] public string Path136 { get; set; } - [FlatBufferItem(137)] public string Path137 { get; set; } - [FlatBufferItem(138)] public string Path138 { get; set; } - [FlatBufferItem(139)] public string Path139 { get; set; } - [FlatBufferItem(140)] public string Path140 { get; set; } - [FlatBufferItem(141)] public string Path141 { get; set; } - [FlatBufferItem(142)] public string Path142 { get; set; } - [FlatBufferItem(143)] public string Path143 { get; set; } - [FlatBufferItem(144)] public string Path144 { get; set; } - [FlatBufferItem(145)] public string Path145 { get; set; } - [FlatBufferItem(146)] public string Path146 { get; set; } - [FlatBufferItem(147)] public string Path147 { get; set; } - [FlatBufferItem(148)] public string Path148 { get; set; } - [FlatBufferItem(149)] public string Path149 { get; set; } - [FlatBufferItem(150)] public string Path150 { get; set; } - [FlatBufferItem(151)] public string Path151 { get; set; } - [FlatBufferItem(152)] public string Path152 { get; set; } - [FlatBufferItem(153)] public string Path153 { get; set; } - [FlatBufferItem(154)] public string Path154 { get; set; } - [FlatBufferItem(155)] public string Path155 { get; set; } - [FlatBufferItem(156)] public string Path156 { get; set; } - [FlatBufferItem(157)] public string Path157 { get; set; } - [FlatBufferItem(158)] public string Path158 { get; set; } - [FlatBufferItem(159)] public string Path159 { get; set; } - [FlatBufferItem(160)] public string Path160 { get; set; } - [FlatBufferItem(161)] public string Path161 { get; set; } - [FlatBufferItem(162)] public string Path162 { get; set; } - [FlatBufferItem(163)] public string Path163 { get; set; } - [FlatBufferItem(164)] public string Path164 { get; set; } - [FlatBufferItem(165)] public string Path165 { get; set; } - [FlatBufferItem(166)] public string Path166 { get; set; } - [FlatBufferItem(167)] public string Path167 { get; set; } - [FlatBufferItem(168)] public string Path168 { get; set; } - [FlatBufferItem(169)] public string Path169 { get; set; } - [FlatBufferItem(170)] public string Path170 { get; set; } - [FlatBufferItem(171)] public string Path171 { get; set; } - [FlatBufferItem(172)] public string Path172 { get; set; } - [FlatBufferItem(173)] public string Path173 { get; set; } - [FlatBufferItem(174)] public string Path174 { get; set; } - [FlatBufferItem(175)] public string Path175 { get; set; } - [FlatBufferItem(176)] public string Path176 { get; set; } - [FlatBufferItem(177)] public string Path177 { get; set; } - [FlatBufferItem(178)] public string Path178 { get; set; } - [FlatBufferItem(179)] public string Path179 { get; set; } - [FlatBufferItem(180)] public string Path180 { get; set; } - [FlatBufferItem(181)] public string Path181 { get; set; } - [FlatBufferItem(182)] public string Path182 { get; set; } - [FlatBufferItem(183)] public string Path183 { get; set; } - [FlatBufferItem(184)] public string Path184 { get; set; } - [FlatBufferItem(185)] public string Path185 { get; set; } - [FlatBufferItem(186)] public string Path186 { get; set; } - [FlatBufferItem(187)] public string Path187 { get; set; } - [FlatBufferItem(188)] public string Path188 { get; set; } - [FlatBufferItem(189)] public string Path189 { get; set; } - [FlatBufferItem(190)] public string Path190 { get; set; } - [FlatBufferItem(191)] public string Path191 { get; set; } - [FlatBufferItem(192)] public string Path192 { get; set; } - [FlatBufferItem(193)] public string Path193 { get; set; } - [FlatBufferItem(194)] public string Path194 { get; set; } - [FlatBufferItem(195)] public string Path195 { get; set; } - [FlatBufferItem(196)] public string Path196 { get; set; } - [FlatBufferItem(197)] public string Path197 { get; set; } - [FlatBufferItem(198)] public string Path198 { get; set; } - [FlatBufferItem(199)] public string Path199 { get; set; } - [FlatBufferItem(200)] public string Path200 { get; set; } - [FlatBufferItem(201)] public string Path201 { get; set; } - [FlatBufferItem(202)] public string Path202 { get; set; } - [FlatBufferItem(203)] public string Path203 { get; set; } - [FlatBufferItem(204)] public string Path204 { get; set; } - [FlatBufferItem(205)] public string Path205 { get; set; } - [FlatBufferItem(206)] public string Path206 { get; set; } - [FlatBufferItem(207)] public string Path207 { get; set; } - [FlatBufferItem(208)] public string Path208 { get; set; } - [FlatBufferItem(209)] public string Path209 { get; set; } - [FlatBufferItem(210)] public string Path210 { get; set; } - [FlatBufferItem(211)] public string Path211 { get; set; } - [FlatBufferItem(212)] public string Path212 { get; set; } - [FlatBufferItem(213)] public string Path213 { get; set; } - [FlatBufferItem(214)] public string Path214 { get; set; } - [FlatBufferItem(215)] public string Path215 { get; set; } - [FlatBufferItem(216)] public string Path216 { get; set; } - [FlatBufferItem(217)] public string Path217 { get; set; } - [FlatBufferItem(218)] public string Path218 { get; set; } - [FlatBufferItem(219)] public string Path219 { get; set; } - [FlatBufferItem(220)] public string Path220 { get; set; } - [FlatBufferItem(221)] public string Path221 { get; set; } - [FlatBufferItem(222)] public string Path222 { get; set; } - [FlatBufferItem(223)] public string Path223 { get; set; } - [FlatBufferItem(224)] public string Path224 { get; set; } - [FlatBufferItem(225)] public string Path225 { get; set; } - [FlatBufferItem(226)] public string Path226 { get; set; } - [FlatBufferItem(227)] public string Path227 { get; set; } - [FlatBufferItem(228)] public string Path228 { get; set; } - [FlatBufferItem(229)] public string Path229 { get; set; } - [FlatBufferItem(230)] public string Path230 { get; set; } - [FlatBufferItem(231)] public string Path231 { get; set; } - [FlatBufferItem(232)] public string Path232 { get; set; } - [FlatBufferItem(233)] public string Path233 { get; set; } - [FlatBufferItem(234)] public string Path234 { get; set; } - [FlatBufferItem(235)] public string Path235 { get; set; } - [FlatBufferItem(236)] public string Path236 { get; set; } - [FlatBufferItem(237)] public string Path237 { get; set; } - [FlatBufferItem(238)] public string Path238 { get; set; } - [FlatBufferItem(239)] public string Path239 { get; set; } - [FlatBufferItem(240)] public string Path240 { get; set; } - [FlatBufferItem(241)] public string Path241 { get; set; } - [FlatBufferItem(242)] public string Path242 { get; set; } - [FlatBufferItem(243)] public string Path243 { get; set; } - [FlatBufferItem(244)] public string Path244 { get; set; } - [FlatBufferItem(245)] public string Path245 { get; set; } - [FlatBufferItem(246)] public string Path246 { get; set; } - [FlatBufferItem(247)] public string Path247 { get; set; } - [FlatBufferItem(248)] public string Path248 { get; set; } - [FlatBufferItem(249)] public string Path249 { get; set; } - [FlatBufferItem(250)] public string Path250 { get; set; } - [FlatBufferItem(251)] public string Path251 { get; set; } - [FlatBufferItem(252)] public string Path252 { get; set; } - [FlatBufferItem(253)] public string Path253 { get; set; } - [FlatBufferItem(254)] public string Path254 { get; set; } - [FlatBufferItem(255)] public string Path255 { get; set; } - [FlatBufferItem(256)] public string Path256 { get; set; } - [FlatBufferItem(257)] public string Path257 { get; set; } - [FlatBufferItem(258)] public string Path258 { get; set; } - [FlatBufferItem(259)] public string Path259 { get; set; } - [FlatBufferItem(260)] public string Path260 { get; set; } - [FlatBufferItem(261)] public string Path261 { get; set; } - [FlatBufferItem(262)] public string Path262 { get; set; } - [FlatBufferItem(263)] public string Path263 { get; set; } - [FlatBufferItem(264)] public string Path264 { get; set; } - [FlatBufferItem(265)] public string Path265 { get; set; } - [FlatBufferItem(266)] public string Path266 { get; set; } - [FlatBufferItem(267)] public string Path267 { get; set; } - [FlatBufferItem(268)] public string Path268 { get; set; } - [FlatBufferItem(269)] public string Path269 { get; set; } - [FlatBufferItem(270)] public string Path270 { get; set; } - [FlatBufferItem(271)] public string Path271 { get; set; } - [FlatBufferItem(272)] public string Path272 { get; set; } - [FlatBufferItem(273)] public string Path273 { get; set; } - [FlatBufferItem(274)] public string Path274 { get; set; } - [FlatBufferItem(275)] public string Path275 { get; set; } - [FlatBufferItem(276)] public string Path276 { get; set; } - [FlatBufferItem(277)] public string Path277 { get; set; } - [FlatBufferItem(278)] public string Path278 { get; set; } - [FlatBufferItem(279)] public string Path279 { get; set; } - [FlatBufferItem(280)] public string Path280 { get; set; } - [FlatBufferItem(281)] public string Path281 { get; set; } - [FlatBufferItem(282)] public string Path282 { get; set; } - [FlatBufferItem(283)] public string Path283 { get; set; } - [FlatBufferItem(284)] public string Path284 { get; set; } - [FlatBufferItem(285)] public string Path285 { get; set; } - [FlatBufferItem(286)] public string Path286 { get; set; } - [FlatBufferItem(287)] public string Path287 { get; set; } - [FlatBufferItem(288)] public string Path288 { get; set; } - [FlatBufferItem(289)] public string Path289 { get; set; } - [FlatBufferItem(290)] public string Path290 { get; set; } - [FlatBufferItem(291)] public string Path291 { get; set; } - [FlatBufferItem(292)] public string Path292 { get; set; } - [FlatBufferItem(293)] public string Path293 { get; set; } - [FlatBufferItem(294)] public string Path294 { get; set; } - [FlatBufferItem(295)] public string Path295 { get; set; } - [FlatBufferItem(296)] public string Path296 { get; set; } - [FlatBufferItem(297)] public string Path297 { get; set; } - [FlatBufferItem(298)] public string Path298 { get; set; } - [FlatBufferItem(299)] public string Path299 { get; set; } - [FlatBufferItem(300)] public string Path300 { get; set; } - [FlatBufferItem(301)] public string Path301 { get; set; } - [FlatBufferItem(302)] public string Path302 { get; set; } - [FlatBufferItem(303)] public string Path303 { get; set; } - [FlatBufferItem(304)] public string Path304 { get; set; } - [FlatBufferItem(305)] public string Path305 { get; set; } - [FlatBufferItem(306)] public string Path306 { get; set; } - [FlatBufferItem(307)] public string Path307 { get; set; } - [FlatBufferItem(308)] public string Path308 { get; set; } - [FlatBufferItem(309)] public string Path309 { get; set; } - [FlatBufferItem(310)] public string Path310 { get; set; } - [FlatBufferItem(311)] public string Path311 { get; set; } - [FlatBufferItem(312)] public string Path312 { get; set; } - [FlatBufferItem(313)] public string Path313 { get; set; } - [FlatBufferItem(314)] public string Path314 { get; set; } - [FlatBufferItem(315)] public string Path315 { get; set; } - [FlatBufferItem(316)] public string Path316 { get; set; } - [FlatBufferItem(317)] public string Path317 { get; set; } - [FlatBufferItem(318)] public string Path318 { get; set; } - [FlatBufferItem(319)] public string Path319 { get; set; } - [FlatBufferItem(320)] public string Path320 { get; set; } - [FlatBufferItem(321)] public string Path321 { get; set; } - [FlatBufferItem(322)] public string Path322 { get; set; } - [FlatBufferItem(323)] public string Path323 { get; set; } - [FlatBufferItem(324)] public string Path324 { get; set; } - [FlatBufferItem(325)] public string Path325 { get; set; } - [FlatBufferItem(326)] public string Path326 { get; set; } - [FlatBufferItem(327)] public string Path327 { get; set; } - [FlatBufferItem(328)] public string Path328 { get; set; } - [FlatBufferItem(329)] public string Path329 { get; set; } - [FlatBufferItem(330)] public string Path330 { get; set; } - [FlatBufferItem(331)] public string Path331 { get; set; } - [FlatBufferItem(332)] public string Path332 { get; set; } - [FlatBufferItem(333)] public string Path333 { get; set; } - [FlatBufferItem(334)] public string Path334 { get; set; } - [FlatBufferItem(335)] public string Path335 { get; set; } - [FlatBufferItem(336)] public string Path336 { get; set; } - [FlatBufferItem(337)] public string Path337 { get; set; } - [FlatBufferItem(338)] public string Path338 { get; set; } - [FlatBufferItem(339)] public string Path339 { get; set; } - [FlatBufferItem(340)] public string Path340 { get; set; } - [FlatBufferItem(341)] public string Path341 { get; set; } - [FlatBufferItem(342)] public string Path342 { get; set; } - [FlatBufferItem(343)] public string Path343 { get; set; } - [FlatBufferItem(344)] public string Path344 { get; set; } - [FlatBufferItem(345)] public string Path345 { get; set; } - [FlatBufferItem(346)] public string Path346 { get; set; } - [FlatBufferItem(347)] public string Path347 { get; set; } - [FlatBufferItem(348)] public string Path348 { get; set; } - [FlatBufferItem(349)] public string Path349 { get; set; } - [FlatBufferItem(350)] public string Path350 { get; set; } - [FlatBufferItem(351)] public string Path351 { get; set; } - [FlatBufferItem(352)] public string Path352 { get; set; } - [FlatBufferItem(353)] public string Path353 { get; set; } - [FlatBufferItem(354)] public string Path354 { get; set; } - [FlatBufferItem(355)] public string Path355 { get; set; } - [FlatBufferItem(356)] public string Path356 { get; set; } - [FlatBufferItem(357)] public string Path357 { get; set; } - [FlatBufferItem(358)] public string Path358 { get; set; } - [FlatBufferItem(359)] public string Path359 { get; set; } - [FlatBufferItem(360)] public string Path360 { get; set; } - [FlatBufferItem(361)] public string Path361 { get; set; } - [FlatBufferItem(362)] public string Path362 { get; set; } - [FlatBufferItem(363)] public string Path363 { get; set; } - [FlatBufferItem(364)] public string Path364 { get; set; } - [FlatBufferItem(365)] public string Path365 { get; set; } - [FlatBufferItem(366)] public string Path366 { get; set; } - [FlatBufferItem(367)] public string Path367 { get; set; } - [FlatBufferItem(368)] public string Path368 { get; set; } - [FlatBufferItem(369)] public string Path369 { get; set; } - [FlatBufferItem(370)] public string Path370 { get; set; } - [FlatBufferItem(371)] public string Path371 { get; set; } - [FlatBufferItem(372)] public string Path372 { get; set; } - [FlatBufferItem(373)] public string Path373 { get; set; } - [FlatBufferItem(374)] public string Path374 { get; set; } - [FlatBufferItem(375)] public string Path375 { get; set; } - [FlatBufferItem(376)] public string Path376 { get; set; } - [FlatBufferItem(377)] public string Path377 { get; set; } - [FlatBufferItem(378)] public string Path378 { get; set; } - [FlatBufferItem(379)] public string Path379 { get; set; } - [FlatBufferItem(380)] public string Path380 { get; set; } - [FlatBufferItem(381)] public string Path381 { get; set; } - [FlatBufferItem(382)] public string Path382 { get; set; } - [FlatBufferItem(383)] public string Path383 { get; set; } - [FlatBufferItem(384)] public string Path384 { get; set; } - [FlatBufferItem(385)] public string Path385 { get; set; } - [FlatBufferItem(386)] public string Path386 { get; set; } - [FlatBufferItem(387)] public string Path387 { get; set; } - [FlatBufferItem(388)] public string Path388 { get; set; } - [FlatBufferItem(389)] public string Path389 { get; set; } - [FlatBufferItem(390)] public string Path390 { get; set; } - [FlatBufferItem(391)] public string Path391 { get; set; } - [FlatBufferItem(392)] public string Path392 { get; set; } - [FlatBufferItem(393)] public string Path393 { get; set; } - [FlatBufferItem(394)] public string Path394 { get; set; } - [FlatBufferItem(395)] public string Path395 { get; set; } - [FlatBufferItem(396)] public string Path396 { get; set; } - [FlatBufferItem(397)] public string Path397 { get; set; } - [FlatBufferItem(398)] public string Path398 { get; set; } - [FlatBufferItem(399)] public string Path399 { get; set; } - [FlatBufferItem(400)] public string Path400 { get; set; } - [FlatBufferItem(401)] public string Path401 { get; set; } - [FlatBufferItem(402)] public string Path402 { get; set; } - [FlatBufferItem(403)] public string Path403 { get; set; } - [FlatBufferItem(404)] public string Path404 { get; set; } - [FlatBufferItem(405)] public string Path405 { get; set; } - [FlatBufferItem(406)] public string Path406 { get; set; } - [FlatBufferItem(407)] public string Path407 { get; set; } - [FlatBufferItem(408)] public string Path408 { get; set; } - [FlatBufferItem(409)] public string Path409 { get; set; } - [FlatBufferItem(410)] public string Path410 { get; set; } - [FlatBufferItem(411)] public string Path411 { get; set; } - [FlatBufferItem(412)] public string Path412 { get; set; } - [FlatBufferItem(413)] public string Path413 { get; set; } - [FlatBufferItem(414)] public string Path414 { get; set; } - [FlatBufferItem(415)] public string Path415 { get; set; } - [FlatBufferItem(416)] public string Path416 { get; set; } - [FlatBufferItem(417)] public string Path417 { get; set; } - [FlatBufferItem(418)] public string Path418 { get; set; } - [FlatBufferItem(419)] public string Path419 { get; set; } - [FlatBufferItem(420)] public string Path420 { get; set; } - [FlatBufferItem(421)] public string Path421 { get; set; } - [FlatBufferItem(422)] public string Path422 { get; set; } - [FlatBufferItem(423)] public string Path423 { get; set; } - [FlatBufferItem(424)] public string Path424 { get; set; } - [FlatBufferItem(425)] public string Path425 { get; set; } - [FlatBufferItem(426)] public string Path426 { get; set; } - [FlatBufferItem(427)] public string Path427 { get; set; } - [FlatBufferItem(428)] public string Path428 { get; set; } - [FlatBufferItem(429)] public string Path429 { get; set; } - [FlatBufferItem(430)] public string Path430 { get; set; } - [FlatBufferItem(431)] public string Path431 { get; set; } - [FlatBufferItem(432)] public string Path432 { get; set; } - [FlatBufferItem(433)] public string Path433 { get; set; } - [FlatBufferItem(434)] public string Path434 { get; set; } - [FlatBufferItem(435)] public string Path435 { get; set; } - [FlatBufferItem(436)] public string Path436 { get; set; } - [FlatBufferItem(437)] public string Path437 { get; set; } - [FlatBufferItem(438)] public string Path438 { get; set; } - [FlatBufferItem(439)] public string Path439 { get; set; } - [FlatBufferItem(440)] public string Path440 { get; set; } - [FlatBufferItem(441)] public string Path441 { get; set; } - [FlatBufferItem(442)] public string Path442 { get; set; } - [FlatBufferItem(443)] public string Path443 { get; set; } - [FlatBufferItem(444)] public string Path444 { get; set; } - [FlatBufferItem(445)] public string Path445 { get; set; } - [FlatBufferItem(446)] public string Path446 { get; set; } - [FlatBufferItem(447)] public string Path447 { get; set; } - [FlatBufferItem(448)] public string Path448 { get; set; } - [FlatBufferItem(449)] public string Path449 { get; set; } - [FlatBufferItem(450)] public string Path450 { get; set; } - [FlatBufferItem(451)] public string Path451 { get; set; } - [FlatBufferItem(452)] public string Path452 { get; set; } - [FlatBufferItem(453)] public string Path453 { get; set; } - [FlatBufferItem(454)] public string Path454 { get; set; } - [FlatBufferItem(455)] public string Path455 { get; set; } - [FlatBufferItem(456)] public string Path456 { get; set; } - [FlatBufferItem(457)] public string Path457 { get; set; } - [FlatBufferItem(458)] public string Path458 { get; set; } - [FlatBufferItem(459)] public string Path459 { get; set; } - [FlatBufferItem(460)] public string Path460 { get; set; } - [FlatBufferItem(461)] public string Path461 { get; set; } - [FlatBufferItem(462)] public string Path462 { get; set; } - [FlatBufferItem(463)] public string Path463 { get; set; } - [FlatBufferItem(464)] public string Path464 { get; set; } - [FlatBufferItem(465)] public string Path465 { get; set; } - [FlatBufferItem(466)] public string Path466 { get; set; } - [FlatBufferItem(467)] public string Path467 { get; set; } - [FlatBufferItem(468)] public string Path468 { get; set; } - [FlatBufferItem(469)] public string Path469 { get; set; } - [FlatBufferItem(470)] public string Path470 { get; set; } - [FlatBufferItem(471)] public string Path471 { get; set; } - [FlatBufferItem(472)] public string Path472 { get; set; } - [FlatBufferItem(473)] public string Path473 { get; set; } - [FlatBufferItem(474)] public string Path474 { get; set; } - [FlatBufferItem(475)] public string Path475 { get; set; } - [FlatBufferItem(476)] public string Path476 { get; set; } - [FlatBufferItem(477)] public string Path477 { get; set; } - [FlatBufferItem(478)] public string Path478 { get; set; } - [FlatBufferItem(479)] public string Path479 { get; set; } - [FlatBufferItem(480)] public string Path480 { get; set; } - [FlatBufferItem(481)] public string Path481 { get; set; } - [FlatBufferItem(482)] public string Path482 { get; set; } - [FlatBufferItem(483)] public string Path483 { get; set; } - [FlatBufferItem(484)] public string Path484 { get; set; } - [FlatBufferItem(485)] public string Path485 { get; set; } - [FlatBufferItem(486)] public string Path486 { get; set; } - [FlatBufferItem(487)] public string Path487 { get; set; } - [FlatBufferItem(488)] public string Path488 { get; set; } - [FlatBufferItem(489)] public string Path489 { get; set; } - [FlatBufferItem(490)] public string Path490 { get; set; } - [FlatBufferItem(491)] public string Path491 { get; set; } - [FlatBufferItem(492)] public string Path492 { get; set; } - [FlatBufferItem(493)] public string Path493 { get; set; } - [FlatBufferItem(494)] public string Path494 { get; set; } - [FlatBufferItem(495)] public string Path495 { get; set; } - [FlatBufferItem(496)] public string Path496 { get; set; } - [FlatBufferItem(497)] public string Path497 { get; set; } - [FlatBufferItem(498)] public string Path498 { get; set; } - [FlatBufferItem(499)] public string Path499 { get; set; } - [FlatBufferItem(500)] public string Path500 { get; set; } - [FlatBufferItem(501)] public string Path501 { get; set; } - [FlatBufferItem(502)] public string Path502 { get; set; } - [FlatBufferItem(503)] public string Path503 { get; set; } - [FlatBufferItem(504)] public string Path504 { get; set; } - [FlatBufferItem(505)] public string Path505 { get; set; } - [FlatBufferItem(506)] public string Path506 { get; set; } - [FlatBufferItem(507)] public string Path507 { get; set; } - [FlatBufferItem(508)] public string Path508 { get; set; } - [FlatBufferItem(509)] public string Path509 { get; set; } - [FlatBufferItem(510)] public string Path510 { get; set; } - [FlatBufferItem(511)] public string Path511 { get; set; } - [FlatBufferItem(512)] public string Path512 { get; set; } - [FlatBufferItem(513)] public string Path513 { get; set; } - [FlatBufferItem(514)] public string Path514 { get; set; } - [FlatBufferItem(515)] public string Path515 { get; set; } - [FlatBufferItem(516)] public string Path516 { get; set; } - [FlatBufferItem(517)] public string Path517 { get; set; } - [FlatBufferItem(518)] public string Path518 { get; set; } - [FlatBufferItem(519)] public string Path519 { get; set; } - [FlatBufferItem(520)] public string Path520 { get; set; } - [FlatBufferItem(521)] public string Path521 { get; set; } - [FlatBufferItem(522)] public string Path522 { get; set; } - [FlatBufferItem(523)] public string Path523 { get; set; } - [FlatBufferItem(524)] public string Path524 { get; set; } - [FlatBufferItem(525)] public string Path525 { get; set; } - [FlatBufferItem(526)] public string Path526 { get; set; } - [FlatBufferItem(527)] public string Path527 { get; set; } - [FlatBufferItem(528)] public string Path528 { get; set; } - [FlatBufferItem(529)] public string Path529 { get; set; } - [FlatBufferItem(530)] public string Path530 { get; set; } - [FlatBufferItem(531)] public string Path531 { get; set; } - [FlatBufferItem(532)] public string Path532 { get; set; } - [FlatBufferItem(533)] public string Path533 { get; set; } - [FlatBufferItem(534)] public string Path534 { get; set; } - [FlatBufferItem(535)] public string Path535 { get; set; } - [FlatBufferItem(536)] public string Path536 { get; set; } - [FlatBufferItem(537)] public string Path537 { get; set; } - [FlatBufferItem(538)] public string Path538 { get; set; } - [FlatBufferItem(539)] public string Path539 { get; set; } - [FlatBufferItem(540)] public string Path540 { get; set; } - [FlatBufferItem(541)] public string Path541 { get; set; } - [FlatBufferItem(542)] public string Path542 { get; set; } - [FlatBufferItem(543)] public string Path543 { get; set; } - [FlatBufferItem(544)] public string Path544 { get; set; } - [FlatBufferItem(545)] public string Path545 { get; set; } - [FlatBufferItem(546)] public string Path546 { get; set; } - [FlatBufferItem(547)] public string Path547 { get; set; } - [FlatBufferItem(548)] public string Path548 { get; set; } - [FlatBufferItem(549)] public string Path549 { get; set; } - [FlatBufferItem(550)] public string Path550 { get; set; } - [FlatBufferItem(551)] public string Path551 { get; set; } - [FlatBufferItem(552)] public string Path552 { get; set; } - [FlatBufferItem(553)] public string Path553 { get; set; } - [FlatBufferItem(554)] public string Path554 { get; set; } - [FlatBufferItem(555)] public string Path555 { get; set; } - [FlatBufferItem(556)] public string Path556 { get; set; } - [FlatBufferItem(557)] public string Path557 { get; set; } - [FlatBufferItem(558)] public string Path558 { get; set; } - [FlatBufferItem(559)] public string Path559 { get; set; } - [FlatBufferItem(560)] public string Path560 { get; set; } - [FlatBufferItem(561)] public string Path561 { get; set; } - [FlatBufferItem(562)] public string Path562 { get; set; } - [FlatBufferItem(563)] public string Path563 { get; set; } - [FlatBufferItem(564)] public string Path564 { get; set; } - [FlatBufferItem(565)] public string Path565 { get; set; } - [FlatBufferItem(566)] public string Path566 { get; set; } - [FlatBufferItem(567)] public string Path567 { get; set; } - [FlatBufferItem(568)] public string Path568 { get; set; } - [FlatBufferItem(569)] public string Path569 { get; set; } - [FlatBufferItem(570)] public string Path570 { get; set; } - [FlatBufferItem(571)] public string Path571 { get; set; } - [FlatBufferItem(572)] public string Path572 { get; set; } - [FlatBufferItem(573)] public string Path573 { get; set; } - [FlatBufferItem(574)] public string Path574 { get; set; } - [FlatBufferItem(575)] public string Path575 { get; set; } - [FlatBufferItem(576)] public string Path576 { get; set; } - [FlatBufferItem(577)] public string Path577 { get; set; } - [FlatBufferItem(578)] public string Path578 { get; set; } - [FlatBufferItem(579)] public string Path579 { get; set; } - [FlatBufferItem(580)] public string Path580 { get; set; } - [FlatBufferItem(581)] public string Path581 { get; set; } - [FlatBufferItem(582)] public string Path582 { get; set; } - [FlatBufferItem(583)] public string Path583 { get; set; } - [FlatBufferItem(584)] public string Path584 { get; set; } - [FlatBufferItem(585)] public string Path585 { get; set; } - [FlatBufferItem(586)] public string Path586 { get; set; } - [FlatBufferItem(587)] public string Path587 { get; set; } - [FlatBufferItem(588)] public string Path588 { get; set; } - [FlatBufferItem(589)] public string Path589 { get; set; } - [FlatBufferItem(590)] public string Path590 { get; set; } - [FlatBufferItem(591)] public string Path591 { get; set; } - [FlatBufferItem(592)] public string Path592 { get; set; } - [FlatBufferItem(593)] public string Path593 { get; set; } - [FlatBufferItem(594)] public string Path594 { get; set; } - [FlatBufferItem(595)] public string Path595 { get; set; } - [FlatBufferItem(596)] public string Path596 { get; set; } - [FlatBufferItem(597)] public string Path597 { get; set; } - [FlatBufferItem(598)] public string Path598 { get; set; } - [FlatBufferItem(599)] public string Path599 { get; set; } - [FlatBufferItem(600)] public string Path600 { get; set; } - [FlatBufferItem(601)] public string Path601 { get; set; } - [FlatBufferItem(602)] public string Path602 { get; set; } - [FlatBufferItem(603)] public string Path603 { get; set; } - [FlatBufferItem(604)] public string Path604 { get; set; } - [FlatBufferItem(605)] public string Path605 { get; set; } - [FlatBufferItem(606)] public string Path606 { get; set; } - [FlatBufferItem(607)] public string Path607 { get; set; } - [FlatBufferItem(608)] public string Path608 { get; set; } - [FlatBufferItem(609)] public string Path609 { get; set; } - [FlatBufferItem(610)] public string Path610 { get; set; } - [FlatBufferItem(611)] public string Path611 { get; set; } - [FlatBufferItem(612)] public string Path612 { get; set; } - [FlatBufferItem(613)] public string Path613 { get; set; } - [FlatBufferItem(614)] public string Path614 { get; set; } - [FlatBufferItem(615)] public string Path615 { get; set; } - [FlatBufferItem(616)] public string Path616 { get; set; } - [FlatBufferItem(617)] public string Path617 { get; set; } - [FlatBufferItem(618)] public string Path618 { get; set; } - [FlatBufferItem(619)] public string Path619 { get; set; } - [FlatBufferItem(620)] public string Path620 { get; set; } - [FlatBufferItem(621)] public string Path621 { get; set; } - [FlatBufferItem(622)] public string Path622 { get; set; } - [FlatBufferItem(623)] public string Path623 { get; set; } - [FlatBufferItem(624)] public string Path624 { get; set; } - [FlatBufferItem(625)] public string Path625 { get; set; } - [FlatBufferItem(626)] public string Path626 { get; set; } - [FlatBufferItem(627)] public string Path627 { get; set; } - [FlatBufferItem(628)] public string Path628 { get; set; } - [FlatBufferItem(629)] public string Path629 { get; set; } - [FlatBufferItem(630)] public string Path630 { get; set; } - [FlatBufferItem(631)] public string Path631 { get; set; } - [FlatBufferItem(632)] public string Path632 { get; set; } - [FlatBufferItem(633)] public string Path633 { get; set; } - [FlatBufferItem(634)] public string Path634 { get; set; } - [FlatBufferItem(635)] public string Path635 { get; set; } - [FlatBufferItem(636)] public string Path636 { get; set; } - [FlatBufferItem(637)] public string Path637 { get; set; } - [FlatBufferItem(638)] public string Path638 { get; set; } - [FlatBufferItem(639)] public string Path639 { get; set; } - [FlatBufferItem(640)] public string Path640 { get; set; } - [FlatBufferItem(641)] public string Path641 { get; set; } - [FlatBufferItem(642)] public string Path642 { get; set; } - [FlatBufferItem(643)] public string Path643 { get; set; } - [FlatBufferItem(644)] public string Path644 { get; set; } - [FlatBufferItem(645)] public string Path645 { get; set; } - [FlatBufferItem(646)] public string Path646 { get; set; } - [FlatBufferItem(647)] public string Path647 { get; set; } - [FlatBufferItem(648)] public string Path648 { get; set; } - [FlatBufferItem(649)] public string Path649 { get; set; } - [FlatBufferItem(650)] public string Path650 { get; set; } - [FlatBufferItem(651)] public string Path651 { get; set; } - [FlatBufferItem(652)] public string Path652 { get; set; } - [FlatBufferItem(653)] public string Path653 { get; set; } - [FlatBufferItem(654)] public string Path654 { get; set; } - [FlatBufferItem(655)] public string Path655 { get; set; } - [FlatBufferItem(656)] public string Path656 { get; set; } - [FlatBufferItem(657)] public string Path657 { get; set; } - [FlatBufferItem(658)] public string Path658 { get; set; } - [FlatBufferItem(659)] public string Path659 { get; set; } - [FlatBufferItem(660)] public string Path660 { get; set; } - [FlatBufferItem(661)] public string Path661 { get; set; } - [FlatBufferItem(662)] public string Path662 { get; set; } - [FlatBufferItem(663)] public string Path663 { get; set; } - [FlatBufferItem(664)] public string Path664 { get; set; } - [FlatBufferItem(665)] public string Path665 { get; set; } - [FlatBufferItem(666)] public string Path666 { get; set; } - [FlatBufferItem(667)] public string Path667 { get; set; } - [FlatBufferItem(668)] public string Path668 { get; set; } - [FlatBufferItem(669)] public string Path669 { get; set; } - [FlatBufferItem(670)] public string Path670 { get; set; } - [FlatBufferItem(671)] public string Path671 { get; set; } - [FlatBufferItem(672)] public string Path672 { get; set; } - [FlatBufferItem(673)] public string Path673 { get; set; } - [FlatBufferItem(674)] public string Path674 { get; set; } - [FlatBufferItem(675)] public string Path675 { get; set; } - [FlatBufferItem(676)] public string Path676 { get; set; } - [FlatBufferItem(677)] public string Path677 { get; set; } - [FlatBufferItem(678)] public string Path678 { get; set; } - [FlatBufferItem(679)] public string Path679 { get; set; } - [FlatBufferItem(680)] public string Path680 { get; set; } - [FlatBufferItem(681)] public string Path681 { get; set; } - [FlatBufferItem(682)] public string Path682 { get; set; } - [FlatBufferItem(683)] public string Path683 { get; set; } - [FlatBufferItem(684)] public string Path684 { get; set; } - [FlatBufferItem(685)] public string Path685 { get; set; } - [FlatBufferItem(686)] public string Path686 { get; set; } - [FlatBufferItem(687)] public string Path687 { get; set; } - [FlatBufferItem(688)] public string Path688 { get; set; } - [FlatBufferItem(689)] public string Path689 { get; set; } - [FlatBufferItem(690)] public string Path690 { get; set; } - [FlatBufferItem(691)] public string Path691 { get; set; } - [FlatBufferItem(692)] public string Path692 { get; set; } - [FlatBufferItem(693)] public string Path693 { get; set; } - [FlatBufferItem(694)] public string Path694 { get; set; } - [FlatBufferItem(695)] public string Path695 { get; set; } - [FlatBufferItem(696)] public string Path696 { get; set; } - [FlatBufferItem(697)] public string Path697 { get; set; } - [FlatBufferItem(698)] public string Path698 { get; set; } - [FlatBufferItem(699)] public string Path699 { get; set; } - [FlatBufferItem(700)] public string Path700 { get; set; } - [FlatBufferItem(701)] public string Path701 { get; set; } - [FlatBufferItem(702)] public string Path702 { get; set; } - [FlatBufferItem(703)] public string Path703 { get; set; } - [FlatBufferItem(704)] public string Path704 { get; set; } - [FlatBufferItem(705)] public string Path705 { get; set; } - [FlatBufferItem(706)] public string Path706 { get; set; } - [FlatBufferItem(707)] public string Path707 { get; set; } - [FlatBufferItem(708)] public string Path708 { get; set; } - [FlatBufferItem(709)] public string Path709 { get; set; } - [FlatBufferItem(710)] public string Path710 { get; set; } - [FlatBufferItem(711)] public string Path711 { get; set; } - [FlatBufferItem(712)] public string Path712 { get; set; } - [FlatBufferItem(713)] public string Path713 { get; set; } - [FlatBufferItem(714)] public string Path714 { get; set; } - [FlatBufferItem(715)] public string Path715 { get; set; } - [FlatBufferItem(716)] public string Path716 { get; set; } - [FlatBufferItem(717)] public string Path717 { get; set; } - [FlatBufferItem(718)] public string Path718 { get; set; } - [FlatBufferItem(719)] public string Path719 { get; set; } - [FlatBufferItem(720)] public string Path720 { get; set; } - [FlatBufferItem(721)] public string Path721 { get; set; } - [FlatBufferItem(722)] public string Path722 { get; set; } - [FlatBufferItem(723)] public string Path723 { get; set; } - [FlatBufferItem(724)] public string Path724 { get; set; } - [FlatBufferItem(725)] public string Path725 { get; set; } - [FlatBufferItem(726)] public string Path726 { get; set; } - [FlatBufferItem(727)] public string Path727 { get; set; } - [FlatBufferItem(728)] public string Path728 { get; set; } - [FlatBufferItem(729)] public string Path729 { get; set; } - [FlatBufferItem(730)] public string Path730 { get; set; } - [FlatBufferItem(731)] public string Path731 { get; set; } - [FlatBufferItem(732)] public string Path732 { get; set; } - [FlatBufferItem(733)] public string Path733 { get; set; } - [FlatBufferItem(734)] public string Path734 { get; set; } - [FlatBufferItem(735)] public string Path735 { get; set; } - [FlatBufferItem(736)] public string Path736 { get; set; } - [FlatBufferItem(737)] public string Path737 { get; set; } - [FlatBufferItem(738)] public string Path738 { get; set; } - [FlatBufferItem(739)] public string Path739 { get; set; } - [FlatBufferItem(740)] public string Path740 { get; set; } - [FlatBufferItem(741)] public string Path741 { get; set; } - [FlatBufferItem(742)] public string Path742 { get; set; } - [FlatBufferItem(743)] public string Path743 { get; set; } - [FlatBufferItem(744)] public string Path744 { get; set; } - [FlatBufferItem(745)] public string Path745 { get; set; } - [FlatBufferItem(746)] public string Path746 { get; set; } - [FlatBufferItem(747)] public string Path747 { get; set; } - [FlatBufferItem(748)] public string Path748 { get; set; } - [FlatBufferItem(749)] public string Path749 { get; set; } - [FlatBufferItem(750)] public string Path750 { get; set; } - [FlatBufferItem(751)] public string Path751 { get; set; } - [FlatBufferItem(752)] public string Path752 { get; set; } - [FlatBufferItem(753)] public string Path753 { get; set; } - [FlatBufferItem(754)] public string Path754 { get; set; } - [FlatBufferItem(755)] public string Path755 { get; set; } - [FlatBufferItem(756)] public string Path756 { get; set; } - [FlatBufferItem(757)] public string Path757 { get; set; } - [FlatBufferItem(758)] public string Path758 { get; set; } - [FlatBufferItem(759)] public string Path759 { get; set; } - [FlatBufferItem(760)] public string Path760 { get; set; } - [FlatBufferItem(761)] public string Path761 { get; set; } - [FlatBufferItem(762)] public string Path762 { get; set; } - [FlatBufferItem(763)] public string Path763 { get; set; } - [FlatBufferItem(764)] public string Path764 { get; set; } - [FlatBufferItem(765)] public string Path765 { get; set; } - [FlatBufferItem(766)] public string Path766 { get; set; } - [FlatBufferItem(767)] public string Path767 { get; set; } - [FlatBufferItem(768)] public string Path768 { get; set; } - [FlatBufferItem(769)] public string Path769 { get; set; } - [FlatBufferItem(770)] public string Path770 { get; set; } - [FlatBufferItem(771)] public string Path771 { get; set; } - [FlatBufferItem(772)] public string Path772 { get; set; } - [FlatBufferItem(773)] public string Path773 { get; set; } - [FlatBufferItem(774)] public string Path774 { get; set; } - [FlatBufferItem(775)] public string Path775 { get; set; } - [FlatBufferItem(776)] public string Path776 { get; set; } - [FlatBufferItem(777)] public string Path777 { get; set; } - [FlatBufferItem(778)] public string Path778 { get; set; } - [FlatBufferItem(779)] public string Path779 { get; set; } - [FlatBufferItem(780)] public string Path780 { get; set; } - [FlatBufferItem(781)] public string Path781 { get; set; } - [FlatBufferItem(782)] public string Path782 { get; set; } - [FlatBufferItem(783)] public string Path783 { get; set; } - [FlatBufferItem(784)] public string Path784 { get; set; } - [FlatBufferItem(785)] public string Path785 { get; set; } - [FlatBufferItem(786)] public string Path786 { get; set; } - [FlatBufferItem(787)] public string Path787 { get; set; } - [FlatBufferItem(788)] public string Path788 { get; set; } - [FlatBufferItem(789)] public string Path789 { get; set; } - [FlatBufferItem(790)] public string Path790 { get; set; } - [FlatBufferItem(791)] public string Path791 { get; set; } - [FlatBufferItem(792)] public string Path792 { get; set; } - [FlatBufferItem(793)] public string Path793 { get; set; } - [FlatBufferItem(794)] public string Path794 { get; set; } - [FlatBufferItem(795)] public string Path795 { get; set; } - [FlatBufferItem(796)] public string Path796 { get; set; } - [FlatBufferItem(797)] public string Path797 { get; set; } - [FlatBufferItem(798)] public string Path798 { get; set; } - [FlatBufferItem(799)] public string Path799 { get; set; } - [FlatBufferItem(800)] public string Path800 { get; set; } - [FlatBufferItem(801)] public string Path801 { get; set; } - [FlatBufferItem(802)] public string Path802 { get; set; } - [FlatBufferItem(803)] public string Path803 { get; set; } - [FlatBufferItem(804)] public string Path804 { get; set; } - [FlatBufferItem(805)] public string Path805 { get; set; } - [FlatBufferItem(806)] public string Path806 { get; set; } - [FlatBufferItem(807)] public string Path807 { get; set; } - [FlatBufferItem(808)] public string Path808 { get; set; } - [FlatBufferItem(809)] public string Path809 { get; set; } - [FlatBufferItem(810)] public string Path810 { get; set; } - [FlatBufferItem(811)] public string Path811 { get; set; } - [FlatBufferItem(812)] public string Path812 { get; set; } - [FlatBufferItem(813)] public string Path813 { get; set; } - [FlatBufferItem(814)] public string Path814 { get; set; } - [FlatBufferItem(815)] public string Path815 { get; set; } - [FlatBufferItem(816)] public string Path816 { get; set; } - [FlatBufferItem(817)] public string Path817 { get; set; } - [FlatBufferItem(818)] public string Path818 { get; set; } - [FlatBufferItem(819)] public string Path819 { get; set; } - [FlatBufferItem(820)] public string Path820 { get; set; } - [FlatBufferItem(821)] public string Path821 { get; set; } - [FlatBufferItem(822)] public string Path822 { get; set; } - [FlatBufferItem(823)] public string Path823 { get; set; } - [FlatBufferItem(824)] public string Path824 { get; set; } - [FlatBufferItem(825)] public string Path825 { get; set; } - [FlatBufferItem(826)] public string Path826 { get; set; } - [FlatBufferItem(827)] public string Path827 { get; set; } - [FlatBufferItem(828)] public string Path828 { get; set; } - [FlatBufferItem(829)] public string Path829 { get; set; } - [FlatBufferItem(830)] public string Path830 { get; set; } - [FlatBufferItem(831)] public string Path831 { get; set; } - [FlatBufferItem(832)] public string Path832 { get; set; } - [FlatBufferItem(833)] public string Path833 { get; set; } - [FlatBufferItem(834)] public string Path834 { get; set; } - [FlatBufferItem(835)] public string Path835 { get; set; } - [FlatBufferItem(836)] public string Path836 { get; set; } - [FlatBufferItem(837)] public string Path837 { get; set; } - [FlatBufferItem(838)] public string Path838 { get; set; } - [FlatBufferItem(839)] public string Path839 { get; set; } - [FlatBufferItem(840)] public string Path840 { get; set; } - [FlatBufferItem(841)] public string Path841 { get; set; } - [FlatBufferItem(842)] public string Path842 { get; set; } - [FlatBufferItem(843)] public string Path843 { get; set; } - [FlatBufferItem(844)] public string Path844 { get; set; } - [FlatBufferItem(845)] public string Path845 { get; set; } - [FlatBufferItem(846)] public string Path846 { get; set; } - [FlatBufferItem(847)] public string Path847 { get; set; } - [FlatBufferItem(848)] public string Path848 { get; set; } - [FlatBufferItem(849)] public string Path849 { get; set; } - [FlatBufferItem(850)] public string Path850 { get; set; } - [FlatBufferItem(851)] public string Path851 { get; set; } - [FlatBufferItem(852)] public string Path852 { get; set; } - [FlatBufferItem(853)] public string Path853 { get; set; } - [FlatBufferItem(854)] public string Path854 { get; set; } - [FlatBufferItem(855)] public string Path855 { get; set; } - [FlatBufferItem(856)] public string Path856 { get; set; } - [FlatBufferItem(857)] public string Path857 { get; set; } - [FlatBufferItem(858)] public string Path858 { get; set; } - [FlatBufferItem(859)] public string Path859 { get; set; } - [FlatBufferItem(860)] public string Path860 { get; set; } - [FlatBufferItem(861)] public string Path861 { get; set; } - [FlatBufferItem(862)] public string Path862 { get; set; } - [FlatBufferItem(863)] public string Path863 { get; set; } - [FlatBufferItem(864)] public string Path864 { get; set; } - [FlatBufferItem(865)] public string Path865 { get; set; } - [FlatBufferItem(866)] public string Path866 { get; set; } - [FlatBufferItem(867)] public string Path867 { get; set; } - [FlatBufferItem(868)] public string Path868 { get; set; } - [FlatBufferItem(869)] public string Path869 { get; set; } - [FlatBufferItem(870)] public string Path870 { get; set; } - [FlatBufferItem(871)] public string Path871 { get; set; } - [FlatBufferItem(872)] public string Path872 { get; set; } - [FlatBufferItem(873)] public string Path873 { get; set; } - [FlatBufferItem(874)] public string Path874 { get; set; } - [FlatBufferItem(875)] public string Path875 { get; set; } - [FlatBufferItem(876)] public string Path876 { get; set; } - [FlatBufferItem(877)] public string Path877 { get; set; } - [FlatBufferItem(878)] public string Path878 { get; set; } - [FlatBufferItem(879)] public string Path879 { get; set; } - [FlatBufferItem(880)] public string Path880 { get; set; } - [FlatBufferItem(881)] public string Path881 { get; set; } - [FlatBufferItem(882)] public string Path882 { get; set; } - [FlatBufferItem(883)] public string Path883 { get; set; } - [FlatBufferItem(884)] public string Path884 { get; set; } - [FlatBufferItem(885)] public string Path885 { get; set; } - [FlatBufferItem(886)] public string Path886 { get; set; } - [FlatBufferItem(887)] public string Path887 { get; set; } - [FlatBufferItem(888)] public string Path888 { get; set; } - [FlatBufferItem(889)] public string Path889 { get; set; } - [FlatBufferItem(890)] public string Path890 { get; set; } - [FlatBufferItem(891)] public string Path891 { get; set; } - [FlatBufferItem(892)] public string Path892 { get; set; } - [FlatBufferItem(893)] public string Path893 { get; set; } - [FlatBufferItem(894)] public string Path894 { get; set; } - [FlatBufferItem(895)] public string Path895 { get; set; } - [FlatBufferItem(896)] public string Path896 { get; set; } - [FlatBufferItem(897)] public string Path897 { get; set; } - [FlatBufferItem(898)] public string Path898 { get; set; } - [FlatBufferItem(899)] public string Path899 { get; set; } - [FlatBufferItem(900)] public string Path900 { get; set; } - [FlatBufferItem(901)] public string Path901 { get; set; } - [FlatBufferItem(902)] public string Path902 { get; set; } - [FlatBufferItem(903)] public string Path903 { get; set; } - [FlatBufferItem(904)] public string Path904 { get; set; } - [FlatBufferItem(905)] public string Path905 { get; set; } - [FlatBufferItem(906)] public string Path906 { get; set; } - [FlatBufferItem(907)] public string Path907 { get; set; } - [FlatBufferItem(908)] public string Path908 { get; set; } - [FlatBufferItem(909)] public string Path909 { get; set; } - [FlatBufferItem(910)] public string Path910 { get; set; } - [FlatBufferItem(911)] public string Path911 { get; set; } - [FlatBufferItem(912)] public string Path912 { get; set; } - [FlatBufferItem(913)] public string Path913 { get; set; } - [FlatBufferItem(914)] public string Path914 { get; set; } - [FlatBufferItem(915)] public string Path915 { get; set; } - [FlatBufferItem(916)] public string Path916 { get; set; } - [FlatBufferItem(917)] public string Path917 { get; set; } - [FlatBufferItem(918)] public string Path918 { get; set; } - [FlatBufferItem(919)] public string Path919 { get; set; } - [FlatBufferItem(920)] public string Path920 { get; set; } - [FlatBufferItem(921)] public string Path921 { get; set; } - [FlatBufferItem(922)] public string Path922 { get; set; } - [FlatBufferItem(923)] public string Path923 { get; set; } - [FlatBufferItem(924)] public string Path924 { get; set; } - [FlatBufferItem(925)] public string Path925 { get; set; } - [FlatBufferItem(926)] public string Path926 { get; set; } - [FlatBufferItem(927)] public string Path927 { get; set; } - [FlatBufferItem(928)] public string Path928 { get; set; } - [FlatBufferItem(929)] public string Path929 { get; set; } - [FlatBufferItem(930)] public string Path930 { get; set; } - [FlatBufferItem(931)] public string Path931 { get; set; } - [FlatBufferItem(932)] public string Path932 { get; set; } - [FlatBufferItem(933)] public string Path933 { get; set; } - [FlatBufferItem(934)] public string Path934 { get; set; } - [FlatBufferItem(935)] public string Path935 { get; set; } - [FlatBufferItem(936)] public string Path936 { get; set; } - [FlatBufferItem(937)] public string Path937 { get; set; } - [FlatBufferItem(938)] public string Path938 { get; set; } - [FlatBufferItem(939)] public string Path939 { get; set; } - [FlatBufferItem(940)] public string Path940 { get; set; } - [FlatBufferItem(941)] public string Path941 { get; set; } - [FlatBufferItem(942)] public string Path942 { get; set; } - [FlatBufferItem(943)] public string Path943 { get; set; } - [FlatBufferItem(944)] public string Path944 { get; set; } - [FlatBufferItem(945)] public string Path945 { get; set; } - [FlatBufferItem(946)] public string Path946 { get; set; } - [FlatBufferItem(947)] public string Path947 { get; set; } - [FlatBufferItem(948)] public string Path948 { get; set; } - [FlatBufferItem(949)] public string Path949 { get; set; } - [FlatBufferItem(950)] public string Path950 { get; set; } - [FlatBufferItem(951)] public string Path951 { get; set; } - [FlatBufferItem(952)] public string Path952 { get; set; } - [FlatBufferItem(953)] public string Path953 { get; set; } - [FlatBufferItem(954)] public string Path954 { get; set; } - [FlatBufferItem(955)] public string Path955 { get; set; } - [FlatBufferItem(956)] public string Path956 { get; set; } - [FlatBufferItem(957)] public string Path957 { get; set; } - [FlatBufferItem(958)] public string Path958 { get; set; } - [FlatBufferItem(959)] public string Path959 { get; set; } - [FlatBufferItem(960)] public string Path960 { get; set; } - [FlatBufferItem(961)] public string Path961 { get; set; } - [FlatBufferItem(962)] public string Path962 { get; set; } - [FlatBufferItem(963)] public string Path963 { get; set; } - [FlatBufferItem(964)] public string Path964 { get; set; } - [FlatBufferItem(965)] public string Path965 { get; set; } - [FlatBufferItem(966)] public string Path966 { get; set; } - [FlatBufferItem(967)] public string Path967 { get; set; } - [FlatBufferItem(968)] public string Path968 { get; set; } - [FlatBufferItem(969)] public string Path969 { get; set; } - [FlatBufferItem(970)] public string Path970 { get; set; } - [FlatBufferItem(971)] public string Path971 { get; set; } - [FlatBufferItem(972)] public string Path972 { get; set; } - [FlatBufferItem(973)] public string Path973 { get; set; } - [FlatBufferItem(974)] public string Path974 { get; set; } - [FlatBufferItem(975)] public string Path975 { get; set; } - [FlatBufferItem(976)] public string Path976 { get; set; } - [FlatBufferItem(977)] public string Path977 { get; set; } - [FlatBufferItem(978)] public string Path978 { get; set; } - [FlatBufferItem(979)] public string Path979 { get; set; } - [FlatBufferItem(980)] public string Path980 { get; set; } - [FlatBufferItem(981)] public string Path981 { get; set; } - [FlatBufferItem(982)] public string Path982 { get; set; } - [FlatBufferItem(983)] public string Path983 { get; set; } - [FlatBufferItem(984)] public string Path984 { get; set; } - [FlatBufferItem(985)] public string Path985 { get; set; } - [FlatBufferItem(986)] public string Path986 { get; set; } - [FlatBufferItem(987)] public string Path987 { get; set; } - [FlatBufferItem(988)] public string Path988 { get; set; } - [FlatBufferItem(989)] public string Path989 { get; set; } - [FlatBufferItem(990)] public string Path990 { get; set; } - [FlatBufferItem(991)] public string Path991 { get; set; } - [FlatBufferItem(992)] public string Path992 { get; set; } - [FlatBufferItem(993)] public string Path993 { get; set; } - [FlatBufferItem(994)] public string Path994 { get; set; } - [FlatBufferItem(995)] public string Path995 { get; set; } - [FlatBufferItem(996)] public string Path996 { get; set; } - [FlatBufferItem(997)] public string Path997 { get; set; } - [FlatBufferItem(998)] public string Path998 { get; set; } - [FlatBufferItem(999)] public string Path999 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/EventAddPokemonArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/EventAddPokemonArray.cs deleted file mode 100644 index 9e40f8ab..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/EventAddPokemonArray.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventAddPokemonArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EventAddPokemon[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventAddPokemon -{ - [FlatBufferItem(0)] public string Label { get; set; } - [FlatBufferItem(1)] public PokeDataFull PokeData { get; set; } - [FlatBufferItem(2)] public bool PokedexRegistration { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/EventSub012.RewardTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/EventSub012.RewardTableArray.cs deleted file mode 100644 index 7df1ab4e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/EventSub012.RewardTableArray.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers.EventSub012; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RewardTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RewardTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RewardTable -{ - [FlatBufferItem(0)] public ItemID ItemId { get; set; } - [FlatBufferItem(1)] public int ItemNum { get; set; } - [FlatBufferItem(2)] public int LotteryWeight { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/EventTradeListArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/EventTradeListArray.cs deleted file mode 100644 index 51b679ec..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/EventTradeListArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventTradeListArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EventTradeList[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventTradeList -{ - [FlatBufferItem(0)] public string Label { get; set; } - [FlatBufferItem(1)] public string ReceivePoke { get; set; } - [FlatBufferItem(2)] public DevID SendPokeDevId { get; set; } - [FlatBufferItem(3)] public short SendPokeFormId { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/EventTradePokemonArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/EventTradePokemonArray.cs deleted file mode 100644 index 2e5f8354..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/EventTradePokemonArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventTradePokemonArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EventTradePokemon[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventTradePokemon -{ - [FlatBufferItem(0)] public string Label { get; set; } - [FlatBufferItem(1)] public PokeDataTrade PokeData { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotionType.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotionType.cs deleted file mode 100644 index 6ea229ce..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcMotionType.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(uint))] -public enum FieldNpcMotionType : uint -{ - Wait = 0, - OneShot = 1, - Loop = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonDefaultMotion.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonDefaultMotion.cs deleted file mode 100644 index 7291319f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/FieldNpcPokemonDefaultMotion.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(uint))] -public enum FieldNpcPokemonDefaultMotion : uint -{ - Ground = 0, - Water = 1, - Sky = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficFormation.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficFormation.cs deleted file mode 100644 index 4e9a2162..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficFormation.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum NpcTrafficFormation -{ - Right = 0, - Left = 1, - Back = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficPartnerType.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficPartnerType.cs deleted file mode 100644 index f1e7f833..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/Motion/NpcTrafficPartnerType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum NpcTrafficPartnerType -{ - None = 0, - Npc = 1, - Poke = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/NpcTrafficGenerateTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/NpcTrafficGenerateTableArray.cs deleted file mode 100644 index d79a16ed..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/NpcTrafficGenerateTableArray.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NpcTrafficGenerateTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NpcTrafficGenerateTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NpcTrafficGenerateTable -{ - [FlatBufferItem(00)] public string Id { get; set; } - [FlatBufferItem(01)] public NpcTrafficGenerateData Data1 { get; set; } - [FlatBufferItem(02)] public NpcTrafficGenerateData Data2 { get; set; } - [FlatBufferItem(03)] public NpcTrafficGenerateData Data3 { get; set; } - [FlatBufferItem(04)] public NpcTrafficGenerateData Data4 { get; set; } - [FlatBufferItem(05)] public NpcTrafficGenerateData Data5 { get; set; } - [FlatBufferItem(06)] public NpcTrafficGenerateData Data6 { get; set; } - [FlatBufferItem(07)] public NpcTrafficGenerateData Data7 { get; set; } - [FlatBufferItem(08)] public NpcTrafficGenerateData Data8 { get; set; } - [FlatBufferItem(09)] public NpcTrafficGenerateData Data9 { get; set; } - [FlatBufferItem(10)] public NpcTrafficGenerateData Data10 { get; set; } - [FlatBufferItem(11)] public NpcTrafficGenerateData Data11 { get; set; } - [FlatBufferItem(12)] public NpcTrafficGenerateData Data12 { get; set; } - [FlatBufferItem(13)] public NpcTrafficGenerateData Data13 { get; set; } - [FlatBufferItem(14)] public NpcTrafficGenerateData Data14 { get; set; } - [FlatBufferItem(15)] public NpcTrafficGenerateData Data15 { get; set; } - [FlatBufferItem(16)] public NpcTrafficGenerateData Data16 { get; set; } - [FlatBufferItem(17)] public NpcTrafficGenerateData Data17 { get; set; } - [FlatBufferItem(18)] public NpcTrafficGenerateData Data18 { get; set; } - [FlatBufferItem(19)] public NpcTrafficGenerateData Data19 { get; set; } - [FlatBufferItem(20)] public NpcTrafficGenerateData Data20 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NpcTrafficGenerateData -{ - [FlatBufferItem(00)] public uint Probability { get; set; } - [FlatBufferItem(01)] public CharaCreateParam Ccparam { get; set; } - [FlatBufferItem(02)] public string Messageid { get; set; } - [FlatBufferItem(03)] public NpcTrafficPartnerType PartnerType { get; set; } - [FlatBufferItem(04)] public CharaCreateParam PartnerCcparam { get; set; } - [FlatBufferItem(05)] public PokemonSimpleParam PartnerPkparam { get; set; } - [FlatBufferItem(06)] public string PartnerMessageid { get; set; } - [FlatBufferItem(07)] public float PartnerRange { get; set; } - [FlatBufferItem(08)] public NpcTrafficFormation Formation { get; set; } - [FlatBufferItem(09)] public int Speed { get; set; } - [FlatBufferItem(10)] public FieldNpcFaceType FaceType { get; set; } - [FlatBufferItem(11)] public bool LipSync { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokemonSimpleParam -{ - [FlatBufferItem(0)] public DevID DevId { get; set; } - [FlatBufferItem(1)] public short FormId { get; set; } - [FlatBufferItem(2)] public SexType Sex { get; set; } - [FlatBufferItem(3)] public bool IsRare { get; set; } - [FlatBufferItem(4)] public bool IsEgg { get; set; } - [FlatBufferItem(5)] public float Scale { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldNpcMotionIntValue -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public int Value { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldNpcMotionBoolValue -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public bool Value { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldNpcAnimationConfig -{ - [FlatBufferItem(0)] public string Trigger { get; set; } - [FlatBufferItem(1)] public FieldNpcMotionIntValue IntValue { get; set; } - [FlatBufferItem(2)] public FieldNpcMotionBoolValue BoolValue { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CharaCreateParam -{ - [FlatBufferItem(0)] public CharaCreateFilePath FilePath { get; set; } - [FlatBufferItem(1)] public string Label { get; set; } - [FlatBufferItem(2)] public uint AnimSlot { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CharaCreateFilePath -{ - [FlatBufferItem(0)] public string Role { get; set; } - [FlatBufferItem(1)] public string Character { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/PopupWindowTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/PopupWindowTableArray.cs deleted file mode 100644 index fa16873a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/PopupWindowTableArray.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopupWindowTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PopupWindowTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopupWindowTable -{ - [FlatBufferItem(0)] public string Id { get; set; } - [FlatBufferItem(1)] public string Label { get; set; } - [FlatBufferItem(2)] public WindowTypeEnum WindowType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum WindowTypeEnum -{ - normal = 0, - burst = 1, - thinking = 2, - sub_quest = 3, - signboard = 4, - trainer_normal = 5, - trainer_strong = 6, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Event/TreeShakePokemonArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Event/TreeShakePokemonArray.cs deleted file mode 100644 index 0c9b0ba7..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Event/TreeShakePokemonArray.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TreeShakePokemonArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public TreeShakePokemon[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TreeShakePokemon -{ - [FlatBufferItem(00)] public string Id { get; set; } - [FlatBufferItem(01)] public TreeShakePokemonSelect Data1 { get; set; } - [FlatBufferItem(02)] public TreeShakePokemonSelect Data2 { get; set; } - [FlatBufferItem(03)] public TreeShakePokemonSelect Data3 { get; set; } - [FlatBufferItem(04)] public TreeShakePokemonSelect Data4 { get; set; } - [FlatBufferItem(05)] public TreeShakePokemonSelect Data5 { get; set; } - [FlatBufferItem(06)] public TreeShakePokemonSelect Data6 { get; set; } - [FlatBufferItem(07)] public TreeShakePokemonSelect Data7 { get; set; } - [FlatBufferItem(08)] public TreeShakePokemonSelect Data8 { get; set; } - [FlatBufferItem(09)] public TreeShakePokemonSelect Data9 { get; set; } - [FlatBufferItem(10)] public TreeShakePokemonSelect Data10 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TreeShakePokemonSelect -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public uint Probability { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCoursePokemonTable.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCoursePokemonTable.cs deleted file mode 100644 index 657812d3..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCoursePokemonTable.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 1 -// Enum Count: 0 -// Root Type: GymKooriCoursePokemonTable - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymKooriCoursePokemonTable -{ - [FlatBufferItem(0)] public float MoveSpeed { get; set; } - [FlatBufferItem(1)] public bool IsPathStartPosition { get; set; } - [FlatBufferItem(2)] public float NextMoveDuration { get; set; } - [FlatBufferItem(3)] public float RotationDuration { get; set; } - [FlatBufferItem(4)] public float MoveSpeedChangeDuration { get; set; } - [FlatBufferItem(5)] public float BoundPower { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCourseTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCourseTableArray.cs deleted file mode 100644 index ddf0b7e7..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/GymKooriCourseTableArray.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: GymKooriCourseTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymKooriCourseTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public GymKooriCourseTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymKooriCourseTable -{ - [FlatBufferItem(00)] public int CourseId { get; set; } - [FlatBufferItem(01)] public string SceneName { get; set; } - [FlatBufferItem(02)] public int ClearTimeMinutes { get; set; } - [FlatBufferItem(03)] public int ClearTimeSeconds { get; set; } - [FlatBufferItem(04)] public int ClearTimeMillisecond { get; set; } - [FlatBufferItem(05)] public int PenaltyTimeMinutes { get; set; } - [FlatBufferItem(06)] public int PenaltyTimeSeconds { get; set; } - [FlatBufferItem(07)] public int PenaltyTimeMillisecond { get; set; } - [FlatBufferItem(08)] public int TimeupTimeMinutes { get; set; } - [FlatBufferItem(09)] public int TimeupTimeSeconds { get; set; } - [FlatBufferItem(10)] public int TimeupTimeMillisecond { get; set; } - [FlatBufferItem(11)] public string BestRecordTimeName { get; set; } - [FlatBufferItem(12)] public bool ShowNewRecord { get; set; } - [FlatBufferItem(13)] public bool ShowClearTime { get; set; } - [FlatBufferItem(14)] public ItemID PrizeItemId { get; set; } - [FlatBufferItem(15)] public int PrizeItemNum { get; set; } - [FlatBufferItem(16)] public string IsClearName { get; set; } - [FlatBufferItem(17)] public ItemID FirstPrizeItemId { get; set; } - [FlatBufferItem(18)] public int FirstPrizeItemNum { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.denki.PopupPosTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.denki.PopupPosTableArray.cs deleted file mode 100644 index ebded0de..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.denki.PopupPosTableArray.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: gym.denki.PopupPosTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopupPosTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PopupPosTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopupPosTable -{ - [FlatBufferItem(0)] public int AreaId { get; set; } - [FlatBufferItem(1)] public int PosId { get; set; } - [FlatBufferItem(2)] public float PosX { get; set; } - [FlatBufferItem(3)] public float PosY { get; set; } - [FlatBufferItem(4)] public WindowType WindowType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum WindowType -{ - Normal = 0, - Burst = 1, - Thinking = 2, - SubQuest = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.ENDLESS_BORDERArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.ENDLESS_BORDERArray.cs deleted file mode 100644 index 8b7e6f5c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.ENDLESS_BORDERArray.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 4 -// Enum Count: 1 -// Root Type: gym.esper.ENDLESS_BORDERArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ENDLESSBORDERArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ENDLESSBORDER[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ENDLESSBORDER -{ - [FlatBufferItem(0)] public ExerciseSetting ExerciseSetting { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class ExerciseSetting -{ - [FlatBufferItem(0)] public int Variation { get; set; } - [FlatBufferItem(1)] public float InputSeconds { get; set; } - [FlatBufferItem(2)] public int InstructCount { get; set; } - [FlatBufferItem(3)] public ExerciseRewardData FixedReward { get; set; } - [FlatBufferItem(4)] public ExerciseRewardData[] Rewards { get; set; } - [FlatBufferItem(5)] public int RewardsCount { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class ExerciseRewardData -{ - [FlatBufferItem(0)] public ItemID ItemId { get; set; } - [FlatBufferItem(1)] public int ItemCount { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.EXERCISE_COURSESArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.EXERCISE_COURSESArray.cs deleted file mode 100644 index d2a07b0c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.esper.EXERCISE_COURSESArray.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 5 -// Enum Count: 1 -// Root Type: gym.esper.EXERCISE_COURSESArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EXERCISECOURSESArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EXERCISECOURSES[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EXERCISECOURSES -{ - [FlatBufferItem(0)] public ExerciseSetting ExerciseSetting { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.PokeTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.PokeTableArray.cs deleted file mode 100644 index 5e732955..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.PokeTableArray.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: gym.kusa.PokeTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PokeTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeTable -{ - [FlatBufferItem(00)] public string ObjectName { get; set; } - [FlatBufferItem(01)] public string FindFlagName { get; set; } - [FlatBufferItem(02)] public bool IsBattle { get; set; } - [FlatBufferItem(03)] public string BattleFlagName { get; set; } - [FlatBufferItem(04)] public string BattleId { get; set; } - [FlatBufferItem(05)] public string BattleMessageName { get; set; } - [FlatBufferItem(06)] public string RanchMessageName { get; set; } - [FlatBufferItem(07)] public Feature Feature { get; set; } - [FlatBufferItem(08)] public string PositionXFlagName { get; set; } - [FlatBufferItem(09)] public string PositionYFlagName { get; set; } - [FlatBufferItem(10)] public string PositionZFlagName { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum Feature -{ - Stand = 0, - Hiding = 1, - Runaway = 2, - Tree = 3, - FlowerPot = 4, - Shopping = 5, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.RewardTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.RewardTableArray.cs deleted file mode 100644 index 938ddca8..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.kusa.RewardTableArray.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: gym.kusa.RewardTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RewardTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RewardTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RewardTable -{ - [FlatBufferItem(0)] public sbyte Count { get; set; } - [FlatBufferItem(1)] public ItemID ItemId { get; set; } - [FlatBufferItem(2)] public int ItemNum { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.FixTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.FixTableArray.cs deleted file mode 100644 index 86e21c96..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.FixTableArray.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 0 -// Root Type: gym.mizu.FixTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FixTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixTable -{ - [FlatBufferItem(0)] public int FixTableId { get; set; } - [FlatBufferItem(1)] public int SmallPrice { get; set; } - [FlatBufferItem(2)] public int LargePrice { get; set; } - [FlatBufferItem(3)] public int NpcSmallRate { get; set; } - [FlatBufferItem(4)] public int NpcLargeRate { get; set; } - [FlatBufferItem(5)] public int NpcWishSmallRate { get; set; } - [FlatBufferItem(6)] public int NpcWishLargeRate { get; set; } - [FlatBufferItem(7)] public float PopupDistance { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriItemTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriItemTableArray.cs deleted file mode 100644 index aba9fef5..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriItemTableArray.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 2 -// Root Type: gym.mizu.SeriItemTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeriItemTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public SeriItemTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeriItemTable -{ - [FlatBufferItem(00)] public int SeriItemTableId { get; set; } - [FlatBufferItem(01)] public ItemID ItemId { get; set; } - [FlatBufferItem(02)] public int MinPrice { get; set; } - [FlatBufferItem(03)] public int BasePrice { get; set; } - [FlatBufferItem(04)] public int MinItemNum { get; set; } - [FlatBufferItem(05)] public int MaxItemNum { get; set; } - [FlatBufferItem(06)] public float DiscountRate { get; set; } - [FlatBufferItem(07)] public int Venue1Probability { get; set; } - [FlatBufferItem(08)] public int Venue2Probability { get; set; } - [FlatBufferItem(09)] public int Venue3Probability { get; set; } - [FlatBufferItem(10)] public int Venue4Probability { get; set; } - [FlatBufferItem(11)] public string BarkerMessageLabelName { get; set; } - [FlatBufferItem(12)] public string ItemObjectName { get; set; } - [FlatBufferItem(13)] public string BoxObjectName { get; set; } - [FlatBufferItem(14)] public string EffectName { get; set; } - [FlatBufferItem(15)] public string AcquiredFlagName { get; set; } - [FlatBufferItem(16)] public DevID DevId { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriNpcTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriNpcTableArray.cs deleted file mode 100644 index 9a4d17d0..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriNpcTableArray.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: gym.mizu.SeriNpcTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeriNpcTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public SeriNpcTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeriNpcTable -{ - [FlatBufferItem(00)] public int SeriNpcTableId { get; set; } - [FlatBufferItem(01)] public bool IsEventOnly { get; set; } - [FlatBufferItem(02)] public string NpcName { get; set; } - [FlatBufferItem(03)] public string TemplateName { get; set; } - [FlatBufferItem(04)] public ItemID WishItemId { get; set; } - [FlatBufferItem(05)] public float BaseBudgetRate { get; set; } - [FlatBufferItem(06)] public float WishBudgetRate { get; set; } - [FlatBufferItem(07)] public int MinBidPrice { get; set; } - [FlatBufferItem(08)] public int MaxBidPrice { get; set; } - [FlatBufferItem(09)] public string BidMessageLabelName { get; set; } - [FlatBufferItem(10)] public string LargeMessageLabelName { get; set; } - [FlatBufferItem(11)] public string WishMessageLabelName { get; set; } - [FlatBufferItem(12)] public string BlessingMessageLabelName { get; set; } - [FlatBufferItem(13)] public float WindowOffset { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriVenueTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriVenueTableArray.cs deleted file mode 100644 index b715fe99..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mizu.SeriVenueTableArray.cs +++ /dev/null @@ -1,60 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: gym.mizu.SeriVenueTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeriVenueTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public SeriVenueTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeriVenueTable -{ - [FlatBufferItem(00)] public int SeriVenueTableId { get; set; } - [FlatBufferItem(01)] public bool IsEventOnly { get; set; } - [FlatBufferItem(02)] public bool IsLegend { get; set; } - [FlatBufferItem(03)] public VenueType VenueType { get; set; } - [FlatBufferItem(04)] public string McName { get; set; } - [FlatBufferItem(05)] public string BarkerMessageLabelName { get; set; } - [FlatBufferItem(06)] public string BarkersMessageLabelName { get; set; } - [FlatBufferItem(07)] public string EntryMessageLabelName { get; set; } - [FlatBufferItem(08)] public string EntrysMessageLabelName { get; set; } - [FlatBufferItem(09)] public string FirstBidMessageLabelName { get; set; } - [FlatBufferItem(10)] public string NextBidMessageLabelName { get; set; } - [FlatBufferItem(11)] public string PlayerBidMessageLabelName { get; set; } - [FlatBufferItem(12)] public string PlayerSuccessBidMessageLabelName { get; set; } - [FlatBufferItem(13)] public string OtherSuccessBidMessageLabelName { get; set; } - [FlatBufferItem(14)] public string ReceiveItemMessageLabelName { get; set; } - [FlatBufferItem(15)] public string InvalidMessageLabelName { get; set; } - [FlatBufferItem(16)] public string EndMessageLabelName { get; set; } - [FlatBufferItem(17)] public string UnopenedMessageLabelName { get; set; } - [FlatBufferItem(18)] public string ProgressFlagName { get; set; } - [FlatBufferItem(19)] public string ItemIdFlagName { get; set; } - [FlatBufferItem(20)] public string ItemNumFlagName { get; set; } - [FlatBufferItem(21)] public string NpcId0FlagName { get; set; } - [FlatBufferItem(22)] public string NpcId1FlagName { get; set; } - [FlatBufferItem(23)] public string ItemPositionObjectName { get; set; } - [FlatBufferItem(24)] public float WindowOffset { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum VenueType -{ - A = 0, - B = 1, - C = 2, - D = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiData.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiData.cs deleted file mode 100644 index fb8d099a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiData.cs +++ /dev/null @@ -1,65 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 6 -// Enum Count: 1 -// Root Type: gym.mushi.GymMushiData - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class SubEventParam -{ - [FlatBufferItem(0)] public ItemID ItemID { get; set; } - [FlatBufferItem(1)] public int ItemNum { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PushBallPower -{ - [FlatBufferItem(0)] public float Forward { get; set; } - [FlatBufferItem(1)] public float Upper { get; set; } - [FlatBufferItem(2)] public float RideForward { get; set; } - [FlatBufferItem(3)] public float RideUpper { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymMushiData -{ - [FlatBufferItem(0)] public PushBallPower PushBallPower { get; set; } - [FlatBufferItem(1)] public BoundOutsideFence BoundOutsideFence { get; set; } - [FlatBufferItem(2)] public float BallStartHeightOffset { get; set; } - [FlatBufferItem(3)] public FreeMoveParam FreeMoveParam { get; set; } - [FlatBufferItem(4)] public EventCommonParam EventCommonParam { get; set; } - [FlatBufferItem(5)] public SubEventParam SubEventParam { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class FreeMoveParam -{ - [FlatBufferItem(0)] public float FadeOutTime { get; set; } - [FlatBufferItem(1)] public float FadeInTime { get; set; } - [FlatBufferItem(2)] public float GoalBallVelocity { get; set; } - [FlatBufferItem(3)] public float GoalTimeOut { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventCommonParam -{ - [FlatBufferItem(0)] public float GoalBallVelocity { get; set; } - [FlatBufferItem(1)] public float PlayerWaitTime { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class BoundOutsideFence -{ - [FlatBufferItem(0)] public float Add { get; set; } - [FlatBufferItem(1)] public float Magnification { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiRewardArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiRewardArray.cs deleted file mode 100644 index 686a9328..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym.mushi.GymMushiRewardArray.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 1 -// Root Type: gym.mushi.GymMushiRewardArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymMushiRewardArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public GymMushiReward[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymMushiReward -{ - [FlatBufferItem(0)] public ItemID ItemID { get; set; } - [FlatBufferItem(1)] public int ItemNum { get; set; } - [FlatBufferItem(2)] public int ClearTimeMinutes { get; set; } - [FlatBufferItem(3)] public int ClearTimeSeconds { get; set; } - [FlatBufferItem(4)] public int ClearTimeMillisecond { get; set; } - [FlatBufferItem(5)] public string ItemReceivedWorkName { get; set; } - [FlatBufferItem(6)] public bool IsClear { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym_denki.PopupFixTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Gym/gym_denki.PopupFixTableArray.cs deleted file mode 100644 index 9a983ab2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Gym/gym_denki.PopupFixTableArray.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 2 -// Enum Count: 0 -// Root Type: gym_denki.PopupFixTableArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopupFixTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PopupFixTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PopupFixTable -{ - [FlatBufferItem(00)] public float EventShowTime { get; set; } - [FlatBufferItem(01)] public float EventAppearFirstTime { get; set; } - [FlatBufferItem(02)] public float EventAppearMinTime { get; set; } - [FlatBufferItem(03)] public float EventAppearMaxTime { get; set; } - [FlatBufferItem(04)] public int EventPopup1AreaId { get; set; } - [FlatBufferItem(05)] public int EventPopup2AreaId { get; set; } - [FlatBufferItem(06)] public int EventPopup3AreaId { get; set; } - [FlatBufferItem(07)] public int EventPopup4AreaId { get; set; } - [FlatBufferItem(08)] public float BossShowTime { get; set; } - [FlatBufferItem(09)] public int BossPopup1AreaId { get; set; } - [FlatBufferItem(10)] public int BossPopup2AreaId { get; set; } - [FlatBufferItem(11)] public int BossPopup3AreaId { get; set; } - [FlatBufferItem(12)] public int BossPopup4AreaId { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/DLCItemGroupArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/DLCItemGroupArray.cs deleted file mode 100644 index e09b2c0f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/DLCItemGroupArray.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -// Generated by FlatSharp -// FileIdentifier: -// FileExtension: -// Object Count: 13 -// Enum Count: 17 -// Root Type: DLCItemGroupArray - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DLCItemGroupArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DLCItemGroup[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DLCItemGroup -{ - [FlatBufferItem(0)] public DLCItemType ItemType { get; set; } - [FlatBufferItem(1)] public int DataId { get; set; } - [FlatBufferItem(2)] public int SortId { get; set; } - [FlatBufferItem(3)] public string GroupNameTextLabel { get; set; } - [FlatBufferItem(4)] public DLCItemGender ItemGender { get; set; } - [FlatBufferItem(5)] public DLCItemDataList ItemDataList { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DLCItemDataList -{ - [FlatBufferItem(00)] public DLCItemData ItemData01 { get; set; } - [FlatBufferItem(01)] public DLCItemData ItemData02 { get; set; } - [FlatBufferItem(02)] public DLCItemData ItemData03 { get; set; } - [FlatBufferItem(03)] public DLCItemData ItemData04 { get; set; } - [FlatBufferItem(04)] public DLCItemData ItemData05 { get; set; } - [FlatBufferItem(05)] public DLCItemData ItemData06 { get; set; } - [FlatBufferItem(06)] public DLCItemData ItemData07 { get; set; } - [FlatBufferItem(07)] public DLCItemData ItemData08 { get; set; } - [FlatBufferItem(08)] public DLCItemData ItemData09 { get; set; } - [FlatBufferItem(09)] public DLCItemData ItemData10 { get; set; } - [FlatBufferItem(10)] public DLCItemData ItemData11 { get; set; } - [FlatBufferItem(11)] public DLCItemData ItemData12 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DLCItemData -{ - [FlatBufferItem(0)] public DLCItemType ItemType { get; set; } - [FlatBufferItem(1)] public ItemID ItemId { get; set; } - [FlatBufferItem(2)] public int ItemNum { get; set; } - [FlatBufferItem(3)] public int DressupItemId { get; set; } - [FlatBufferItem(4)] public PokeDataDLCGift PokemonData { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDataDLCGift -{ - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public short FormId { get; set; } - [FlatBufferItem(02)] public int Level { get; set; } - [FlatBufferItem(03)] public SexType Sex { get; set; } - [FlatBufferItem(04)] public TokuseiType Tokusei { get; set; } - [FlatBufferItem(05)] public GemType GemType { get; set; } - [FlatBufferItem(06)] public RareType RareType { get; set; } - [FlatBufferItem(07)] public SizeType ScaleType { get; set; } - [FlatBufferItem(08)] public short ScaleValue { get; set; } - [FlatBufferItem(09)] public SizeType WeightType { get; set; } - [FlatBufferItem(10)] public short WaightValue { get; set; } - [FlatBufferItem(11)] public TalentType TalentType { get; set; } - [FlatBufferItem(12)] public sbyte TalentVnum { get; set; } - [FlatBufferItem(13)] public ParamSet TalentValue { get; set; } - [FlatBufferItem(14)] public ParamSet EffortValue { get; set; } - [FlatBufferItem(15)] public ItemID Item { get; set; } - [FlatBufferItem(16)] public SeikakuType Seikaku { get; set; } - [FlatBufferItem(17)] public SeikakuType SeikakuHosei { get; set; } - [FlatBufferItem(18)] public WazaType WazaType { get; set; } - [FlatBufferItem(19)] public WazaSet Waza1 { get; set; } - [FlatBufferItem(20)] public WazaSet Waza2 { get; set; } - [FlatBufferItem(21)] public WazaSet Waza3 { get; set; } - [FlatBufferItem(22)] public WazaSet Waza4 { get; set; } - [FlatBufferItem(23)] public BallType BallId { get; set; } - [FlatBufferItem(24)] public bool UseNickName { get; set; } - [FlatBufferItem(25)] public ulong NicknameLabel { get; set; } - [FlatBufferItem(26)] public SexType ParentSex { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum DLCItemGender -{ - ALL = 0, - MALE = 1, - FEMALE = 2, -} - -[FlatBufferEnum(typeof(int))] -public enum DLCItemType -{ - DLCNONE = 0, - DLCItem = 1, - DLCDressUpItem = 2, - DLCPokemon = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/DropItemDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/DropItemDataArray.cs deleted file mode 100644 index 74d23258..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/DropItemDataArray.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DropItemDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DropItemData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DropItemData -{ - [FlatBufferItem(0)] public DevID DevId { get; set; } - [FlatBufferItem(1)] public OneItemData Item1 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class OneItemData -{ - [FlatBufferItem(0)] public ItemID ItemId { get; set; } - [FlatBufferItem(1)] public sbyte Rate { get; set; } - [FlatBufferItem(2)] public sbyte Num { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/BattleFunctionType.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/BattleFunctionType.cs deleted file mode 100644 index a2bbf57a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/BattleFunctionType.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum BattleFunctionType -{ - BTLFUNC_NONE = 0, - BTLFUNC_BALL = 1, - BTLFUNC_RECOVER = 2, - BTLFUNC_ESCAPE = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkPpSelTgt.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkPpSelTgt.cs deleted file mode 100644 index 5dfef3d2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkPpSelTgt.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum WorkPpSelTgt -{ - WORKPPSEL_NONE = 0, - WORKPPSEL_SINGLE = 1, - WORKPPSEL_OVERALL = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkType.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkType.cs deleted file mode 100644 index 31b9976f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/Enums/WorkType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum WorkType -{ - WORKTYPE_OTHER = 0, - WORKTYPE_EffectPokemon = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemBiomeTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemBiomeTableArray.cs deleted file mode 100644 index 290b557c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemBiomeTableArray.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HiddenItemBiomeTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public HiddenItemBiomeTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HiddenItemBiomeTable -{ - [FlatBufferItem(0)] public HiddenItemBiomeKey Key { get; set; } - [FlatBufferItem(1)] public string TableId { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HiddenItemBiomeKey -{ - [FlatBufferItem(0)] public int Area { get; set; } - [FlatBufferItem(1)] public string Biome { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemDataTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemDataTableArray.cs deleted file mode 100644 index c3b9208d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/HiddenItemDataTableArray.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HiddenItemDataTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public HiddenItemDataTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HiddenItemDataTable -{ - [FlatBufferItem(00)] public string TableId { get; set; } - [FlatBufferItem(01)] public HiddenItemDataTableInfo Item1 { get; set; } - [FlatBufferItem(02)] public HiddenItemDataTableInfo Item2 { get; set; } - [FlatBufferItem(03)] public HiddenItemDataTableInfo Item3 { get; set; } - [FlatBufferItem(04)] public HiddenItemDataTableInfo Item4 { get; set; } - [FlatBufferItem(05)] public HiddenItemDataTableInfo Item5 { get; set; } - [FlatBufferItem(06)] public HiddenItemDataTableInfo Item6 { get; set; } - [FlatBufferItem(07)] public HiddenItemDataTableInfo Item7 { get; set; } - [FlatBufferItem(08)] public HiddenItemDataTableInfo Item8 { get; set; } - [FlatBufferItem(09)] public HiddenItemDataTableInfo Item9 { get; set; } - [FlatBufferItem(10)] public HiddenItemDataTableInfo Item10 { get; set; } -} - - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class HiddenItemDataTableInfo -{ - [FlatBufferItem(0)] public ItemID ItemId { get; set; } - [FlatBufferItem(1)] public int EmergePercent { get; set; } - [FlatBufferItem(2)] public int DropCount { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/ItemDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/ItemDataArray.cs deleted file mode 100644 index 78aa6153..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/ItemDataArray.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ItemDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0, Required = true)] public ItemData[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ItemData -{ - [FlatBufferItem(00)] public int Id { get; set; } - [FlatBufferItem(01)] public ItemType ItemType { get; set; } - [FlatBufferItem(02, Required = true)] public string IconName { get; set; } = string.Empty; - [FlatBufferItem(03)] public int Price { get; set; } - [FlatBufferItem(04)] public int BP { get; set; } - [FlatBufferItem(05)] public EquipEffect EquipEffect { get; set; } - [FlatBufferItem(06)] public int EquipPower { get; set; } - [FlatBufferItem(07)] public int ThrowPower { get; set; } - [FlatBufferItem(08)] public bool ThrowEffect { get; set; } - [FlatBufferItem(09)] public int NaturalGiftPower { get; set; } - [FlatBufferItem(10)] public int NaturalGiftType { get; set; } - [FlatBufferItem(11)] public PluckEffect PluckEffect { get; set; } - [FlatBufferItem(12)] public WazaID MachineWaza { get; set; } - [FlatBufferItem(13)] public int SortNum { get; set; } - [FlatBufferItem(14)] public ItemGroup ItemGroup { get; set; } - [FlatBufferItem(15)] public int GroupID { get; set; } - [FlatBufferItem(16)] public FieldPocket FieldPocket { get; set; } - [FlatBufferItem(17)] public FieldFunctionType FieldFunctionType { get; set; } - [FlatBufferItem(18)] public BattleFunctionType BattleFunctionType { get; set; } - [FlatBufferItem(19)] public bool BattleUseLost { get; set; } - [FlatBufferItem(20)] public bool BattleBagSelect { get; set; } - [FlatBufferItem(21)] public bool BattleBagSelectTarget { get; set; } - [FlatBufferItem(22)] public bool NoSpend { get; set; } - [FlatBufferItem(23)] public bool SetToPoke { get; set; } - [FlatBufferItem(24)] public int SlotMaxNum { get; set; } - [FlatBufferItem(25)] public WorkType WorkType { get; set; } - [FlatBufferItem(26)] public int WorkCommon { get; set; } - [FlatBufferItem(27)] public int WorkEffectGuard { get; set; } - [FlatBufferItem(28)] public int WorkCritical { get; set; } - [FlatBufferItem(29)] public int WorkAttack { get; set; } - [FlatBufferItem(30)] public int WorkDefense { get; set; } - [FlatBufferItem(31)] public int WorkSpeed { get; set; } - [FlatBufferItem(32)] public int WorkAccuracy { get; set; } - [FlatBufferItem(33)] public int WorkSpAttack { get; set; } - [FlatBufferItem(34)] public int WorkSpDefense { get; set; } - [FlatBufferItem(35)] public int WorkLevel { get; set; } - [FlatBufferItem(36)] public WorkPpSelTgt WorkPpSelTgt { get; set; } - [FlatBufferItem(37)] public int WorkPpRcv { get; set; } - [FlatBufferItem(38)] public int WorkPpUp { get; set; } - [FlatBufferItem(39)] public int WorkStatusLimitCtrl { get; set; } - [FlatBufferItem(40)] public int WorkStatusHp { get; set; } - [FlatBufferItem(41)] public int WorkStatusAtk { get; set; } - [FlatBufferItem(42)] public int WorkStatusDef { get; set; } - [FlatBufferItem(43)] public int WorkStatusSpd { get; set; } - [FlatBufferItem(44)] public int WorkStatusSAtk { get; set; } - [FlatBufferItem(45)] public int WorkStatusSDef { get; set; } - [FlatBufferItem(46)] public int WorkFriendly1 { get; set; } - [FlatBufferItem(47)] public int WorkFriendly2 { get; set; } - [FlatBufferItem(48)] public int WorkFriendly3 { get; set; } - [FlatBufferItem(49)] public int WorkRecvSleep { get; set; } - [FlatBufferItem(50)] public int WorkRecvPoison { get; set; } - [FlatBufferItem(51)] public int WorkRecvBurn { get; set; } - [FlatBufferItem(52)] public int WorkRecvFreeze { get; set; } - [FlatBufferItem(53)] public int WorkRecvParalyze { get; set; } - [FlatBufferItem(54)] public int WorkRecvConfuse { get; set; } - [FlatBufferItem(55)] public int WorkRecvMero { get; set; } - [FlatBufferItem(56)] public int WorkRecvPower { get; set; } - [FlatBufferItem(57)] public int WorkRevival { get; set; } - [FlatBufferItem(58)] public int WorkEvolutional { get; set; } - [FlatBufferItem(59)] public int WorkRecvNemuke { get; set; } - [FlatBufferItem(60)] public int WorkRecvTousyou { get; set; } - [FlatBufferItem(61)] public int WorkWazaDrunk { get; set; } - [FlatBufferItem(62)] public int WorkAvoidUp { get; set; } - [FlatBufferItem(63)] public int WorkOffenseUp { get; set; } - [FlatBufferItem(64)] public int WorkOffDefInv { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/ItemPointTypeBiomeTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/ItemPointTypeBiomeTableArray.cs deleted file mode 100644 index 4c7c5e63..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/ItemPointTypeBiomeTableArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ItemPointTypeBiomeTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ItemPointTypeBiomeTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ItemPointTypeBiomeTable -{ - [FlatBufferItem(0)] public string Biome { get; set; } - [FlatBufferItem(1)] public float WeightHiddenItem { get; set; } - [FlatBufferItem(2)] public float WeightRummagingItem { get; set; } -} - diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/MonohiroiItemArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/MonohiroiItemArray.cs deleted file mode 100644 index 50085af2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/MonohiroiItemArray.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MonohiroiItemArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public MonohiroiItem[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MonohiroiItem -{ - [FlatBufferItem(00)] public OneMonohiroiItem Item01 { get; set; } - [FlatBufferItem(01)] public OneMonohiroiItem Item02 { get; set; } - [FlatBufferItem(02)] public OneMonohiroiItem Item03 { get; set; } - [FlatBufferItem(03)] public OneMonohiroiItem Item04 { get; set; } - [FlatBufferItem(04)] public OneMonohiroiItem Item05 { get; set; } - [FlatBufferItem(05)] public OneMonohiroiItem Item06 { get; set; } - [FlatBufferItem(06)] public OneMonohiroiItem Item07 { get; set; } - [FlatBufferItem(07)] public OneMonohiroiItem Item08 { get; set; } - [FlatBufferItem(08)] public OneMonohiroiItem Item09 { get; set; } - [FlatBufferItem(09)] public OneMonohiroiItem Item10 { get; set; } - [FlatBufferItem(10)] public OneMonohiroiItem Item11 { get; set; } - [FlatBufferItem(11)] public OneMonohiroiItem Item12 { get; set; } - [FlatBufferItem(12)] public OneMonohiroiItem Item13 { get; set; } - [FlatBufferItem(13)] public OneMonohiroiItem Item14 { get; set; } - [FlatBufferItem(14)] public OneMonohiroiItem Item15 { get; set; } - [FlatBufferItem(15)] public OneMonohiroiItem Item16 { get; set; } - [FlatBufferItem(16)] public OneMonohiroiItem Item17 { get; set; } - [FlatBufferItem(17)] public OneMonohiroiItem Item18 { get; set; } - [FlatBufferItem(18)] public OneMonohiroiItem Item19 { get; set; } - [FlatBufferItem(19)] public OneMonohiroiItem Item20 { get; set; } - [FlatBufferItem(20)] public OneMonohiroiItem Item21 { get; set; } - [FlatBufferItem(21)] public OneMonohiroiItem Item22 { get; set; } - [FlatBufferItem(22)] public OneMonohiroiItem Item23 { get; set; } - [FlatBufferItem(23)] public OneMonohiroiItem Item24 { get; set; } - [FlatBufferItem(24)] public OneMonohiroiItem Item25 { get; set; } - [FlatBufferItem(25)] public OneMonohiroiItem Item26 { get; set; } - [FlatBufferItem(26)] public OneMonohiroiItem Item27 { get; set; } - [FlatBufferItem(27)] public OneMonohiroiItem Item28 { get; set; } - [FlatBufferItem(28)] public OneMonohiroiItem Item29 { get; set; } - [FlatBufferItem(29)] public OneMonohiroiItem Item30 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class OneMonohiroiItem -{ - [FlatBufferItem(0)] public ItemID ItemId { get; set; } - [FlatBufferItem(1)] public int Rate { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Item/RummagingItemDataTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Item/RummagingItemDataTableArray.cs deleted file mode 100644 index 54c5c8f6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Item/RummagingItemDataTableArray.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RummagingItemDataTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RummagingItemDataTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RummagingItemDataTable -{ - [FlatBufferItem(0)] public RummagingCategory Category { get; set; } - [FlatBufferItem(1)] public RummagingPattern Pattern { get; set; } - [FlatBufferItem(2)] public ItemID Item00 { get; set; } - [FlatBufferItem(3)] public ItemID Item01 { get; set; } - [FlatBufferItem(4)] public ItemID Item02 { get; set; } - [FlatBufferItem(5)] public ItemID Item03 { get; set; } - [FlatBufferItem(6)] public ItemID Item04 { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum RummagingCategory -{ - NONE = 0, - BUSH = 1, - ROCK = 2, - UNDER_WATER = 3, - IN_THE_GROUND = 4, - HIGH_ALTITUDE = 5, -} - -[FlatBufferEnum(typeof(int))] -public enum RummagingPattern -{ - NONE = 0, - NORMAL = 1, - NUT = 2, - RARE = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoCommonLevelArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoCommonLevelArray.cs deleted file mode 100644 index a16ea76f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoCommonLevelArray.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoCommonLevelStruct -{ - [FlatBufferItem(0)] public AjitoTypeEnum AjitoTypeEnum { get; set; } - [FlatBufferItem(1)] public AjitoDifficultEnum AjitoDifficultEnum { get; set; } - [FlatBufferItem(2)] public int ClearPokemonNum { get; set; } - [FlatBufferItem(3)] public int MinPokemonLv { get; set; } - [FlatBufferItem(4)] public int MaxPokemonLv { get; set; } - [FlatBufferItem(5)] public int LpCoefficient { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoCommonLevelArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public AjitoCommonLevel[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoCommonLevel -{ - [FlatBufferItem(0)] public AjitoCommonLevelStruct AjitoCommonLevelStruct { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoDifficultEnum.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoDifficultEnum.cs deleted file mode 100644 index 6d5ca869..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoDifficultEnum.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum AjitoDifficultEnum -{ - Easy = 0, - Normal = 1, - Hard = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoPokemonArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoPokemonArray.cs deleted file mode 100644 index aeb02084..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoPokemonArray.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoPokemonArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public AjitoPokemon[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoPokemonTable -{ - [FlatBufferItem(0)] public int PokemonId { get; set; } - [FlatBufferItem(1)] public DevID DevId { get; set; } - [FlatBufferItem(2)] public int FormNo { get; set; } -} -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoPokemon -{ - [FlatBufferItem(0)] public AjitoPokemonTable AjitoPokemonTable { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoTypeEnum.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoTypeEnum.cs deleted file mode 100644 index 53862ec0..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoTypeEnum.cs +++ /dev/null @@ -1,14 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum AjitoTypeEnum -{ - Fire = 0, - Dark = 1, - Fairy = 2, - Fighting = 3, - Poison = 4, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoUnitArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoUnitArray.cs deleted file mode 100644 index 756e0c46..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/Ajito/AjitoUnitArray.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoUnitArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public AjitoUnit[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoUnit -{ - [FlatBufferItem(0)] public AjitoUnitTable AjitoUnitTable { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AjitoUnitTable -{ - [FlatBufferItem(00)] public AjitoTypeEnum AjitoTypeEnum { get; set; } - [FlatBufferItem(01)] public AjitoDifficultEnum AjitoDifficultEnum { get; set; } - [FlatBufferItem(02)] public int PokemonId1 { get; set; } - [FlatBufferItem(03)] public int PokemonId2 { get; set; } - [FlatBufferItem(04)] public int PokemonId3 { get; set; } - [FlatBufferItem(05)] public int PokemonId4 { get; set; } - [FlatBufferItem(06)] public int PokemonId5 { get; set; } - [FlatBufferItem(07)] public int PokemonId6 { get; set; } - [FlatBufferItem(08)] public int PokemonId7 { get; set; } - [FlatBufferItem(09)] public int PokemonId8 { get; set; } - [FlatBufferItem(10)] public int PokemonId9 { get; set; } - [FlatBufferItem(11)] public int PokemonId10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/GemSettingRootTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/GemSettingRootTableArray.cs deleted file mode 100644 index 5f08c627..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/GemSettingRootTableArray.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemSettingRootTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public GemSettingRootTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemSettingRootTable -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public GemParam DefaultModelData { get; set; } - [FlatBufferItem(2)] public string DefaultModelLocaterData { get; set; } - [FlatBufferItem(3)] public GemArrayParam IndividualModelData { get; set; } - [FlatBufferItem(4)] public GemTypeLocaterTable IndividualModelLocaterData { get; set; } - [FlatBufferItem(5)] public GemParam DefaultEffectData { get; set; } - [FlatBufferItem(6)] public string DefaultEffectLocaterData { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemParam -{ - [FlatBufferItem(0)] public PackedVec3f Pos { get; set; } - [FlatBufferItem(1)] public PackedVec3f Rot { get; set; } - [FlatBufferItem(2)] public float Scale { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemArrayParam -{ - // GemParam[18] - [FlatBufferItem(00)] public GemParam Group00 { get; set; } - [FlatBufferItem(01)] public GemParam Group01 { get; set; } - [FlatBufferItem(02)] public GemParam Group02 { get; set; } - [FlatBufferItem(03)] public GemParam Group03 { get; set; } - [FlatBufferItem(04)] public GemParam Group04 { get; set; } - [FlatBufferItem(05)] public GemParam Group05 { get; set; } - [FlatBufferItem(06)] public GemParam Group06 { get; set; } - [FlatBufferItem(07)] public GemParam Group07 { get; set; } - [FlatBufferItem(08)] public GemParam Group08 { get; set; } - [FlatBufferItem(09)] public GemParam Group09 { get; set; } - [FlatBufferItem(10)] public GemParam Group10 { get; set; } - [FlatBufferItem(11)] public GemParam Group11 { get; set; } - [FlatBufferItem(12)] public GemParam Group12 { get; set; } - [FlatBufferItem(13)] public GemParam Group13 { get; set; } - [FlatBufferItem(14)] public GemParam Group14 { get; set; } - [FlatBufferItem(15)] public GemParam Group15 { get; set; } - [FlatBufferItem(16)] public GemParam Group16 { get; set; } - [FlatBufferItem(17)] public GemParam Group17 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemTypeLocaterTable -{ - [FlatBufferItem(00)] public string Normal { get; set; } - [FlatBufferItem(01)] public string Kakutou { get; set; } - [FlatBufferItem(02)] public string Hikou { get; set; } - [FlatBufferItem(03)] public string Doku { get; set; } - [FlatBufferItem(04)] public string Jimen { get; set; } - [FlatBufferItem(05)] public string Iwa { get; set; } - [FlatBufferItem(06)] public string Mushi { get; set; } - [FlatBufferItem(07)] public string Ghost { get; set; } - [FlatBufferItem(08)] public string Hagane { get; set; } - [FlatBufferItem(09)] public string Honoo { get; set; } - [FlatBufferItem(10)] public string Mizu { get; set; } - [FlatBufferItem(11)] public string Kusa { get; set; } - [FlatBufferItem(12)] public string Denki { get; set; } - [FlatBufferItem(13)] public string Esper { get; set; } - [FlatBufferItem(14)] public string Koori { get; set; } - [FlatBufferItem(15)] public string Dragon { get; set; } - [FlatBufferItem(16)] public string Aku { get; set; } - [FlatBufferItem(17)] public string Fairy { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Misc/RibbonDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Misc/RibbonDataArray.cs deleted file mode 100644 index d147aad1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Misc/RibbonDataArray.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RibbonDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RibbonData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RibbonData -{ - [FlatBufferItem(0)] public int Id { get; set; } - [FlatBufferItem(1)] public int DispOrder { get; set; } - [FlatBufferItem(2)] public string NameLabel { get; set; } - [FlatBufferItem(3)] public string DescLabel { get; set; } - [FlatBufferItem(4)] public string TitleLabel { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Affinity.cs b/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Affinity.cs deleted file mode 100644 index c65fcb58..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Affinity.cs +++ /dev/null @@ -1,15 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(byte))] -public enum Waza9Affinity : byte -{ - None = 0, - Support = 3, - Self = 4, - Attack = 5, - Strong = 6, - Shuriken = 7, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9EntityStat.cs b/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9EntityStat.cs deleted file mode 100644 index 00db0862..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9EntityStat.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class Waza9EntityStat -{ - [FlatBufferItem(0), Browsable(false)] public sbyte FStat1 { get; set; } - [FlatBufferItem(1), Browsable(false)] public sbyte FStat2 { get; set; } - [FlatBufferItem(2), Browsable(false)] public sbyte FStat3 { get; set; } - [FlatBufferItem(3), Browsable(false)] public sbyte FStat1Stage { get; set; } - [FlatBufferItem(4), Browsable(false)] public sbyte FStat2Stage { get; set; } - [FlatBufferItem(5), Browsable(false)] public sbyte FStat3Stage { get; set; } - [FlatBufferItem(6), Browsable(false)] public byte FStat1Percent { get; set; } - [FlatBufferItem(7), Browsable(false)] public byte FStat2Percent { get; set; } - [FlatBufferItem(8), Browsable(false)] public byte FStat3Percent { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Inflict.cs b/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Inflict.cs deleted file mode 100644 index 859a09c4..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Inflict.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class Waza9Inflict -{ - [FlatBufferItem(00)] public ushort Value { get; set; } - [FlatBufferItem(01)] public byte Chance { get; set; } - [FlatBufferItem(02)] public byte Turn1 { get; set; } - [FlatBufferItem(03)] public byte Turn2 { get; set; } - [FlatBufferItem(04)] public byte Turn3 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Table.cs b/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Table.cs deleted file mode 100644 index 05d1a2f2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Move/Waza9Table.cs +++ /dev/null @@ -1,97 +0,0 @@ -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 Waza9Table : IFlatBufferArchive -{ - [FlatBufferItem(0)] public Waza9[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Waza9 -{ - public byte[] Write() => FlatBufferConverter.SerializeFrom(this); - - [FlatBufferItem(00)] public ushort MoveID { get; set; } - [FlatBufferItem(01)] public bool CanUseMove { get; set; } - [FlatBufferItem(02)] public byte Type { get; set; } - [FlatBufferItem(03)] public byte Quality { get; set; } - [FlatBufferItem(04)] public byte Category { get; set; } - [FlatBufferItem(05)] public byte Power { get; set; } - [FlatBufferItem(06)] public byte Accuracy { get; set; } - [FlatBufferItem(07)] public byte PP { get; set; } - [FlatBufferItem(08)] public sbyte Priority { get; set; } - [FlatBufferItem(09)] public byte HitMax { get; set; } - [FlatBufferItem(10)] public byte HitMin { get; set; } - [FlatBufferItem(11)] public Waza9Inflict Inflict { get; set; } = new(); - [FlatBufferItem(12)] public byte CritStage { get; set; } - [FlatBufferItem(13)] public byte Flinch { get; set; } - [FlatBufferItem(14)] public ushort EffectSequence { get; set; } - [FlatBufferItem(15)] public sbyte Recoil { get; set; } - [FlatBufferItem(16)] public sbyte RawHealing { get; set; } - [FlatBufferItem(17)] public byte RawTarget { get; set; } - [FlatBufferItem(18)] public Waza9EntityStat StatAmps { get; set; } = new(); - [FlatBufferItem(19)] public Waza9Affinity Affinity { get; set; } - [FlatBufferItem(20)] public bool Flag_MakesContact { get; set; } - [FlatBufferItem(21)] public bool Flag_Charge { get; set; } - [FlatBufferItem(22)] public bool Flag_Recharge { get; set; } - [FlatBufferItem(23)] public bool Flag_Protect { get; set; } - [FlatBufferItem(24)] public bool Flag_Reflectable { get; set; } - [FlatBufferItem(25)] public bool Flag_Snatch { get; set; } - [FlatBufferItem(26)] public bool Flag_Mirror { get; set; } - [FlatBufferItem(27)] public bool Flag_Punch { get; set; } - [FlatBufferItem(28)] public bool Flag_Sound { get; set; } - [FlatBufferItem(29)] public bool Flag_Dance { get; set; } - [FlatBufferItem(30)] public bool Flag_Gravity { get; set; } - [FlatBufferItem(31)] public bool Flag_Defrost { get; set; } - [FlatBufferItem(32)] public bool Flag_DistanceTriple { get; set; } - [FlatBufferItem(33)] public bool Flag_Heal { get; set; } - [FlatBufferItem(34)] public bool Flag_IgnoreSubstitute { get; set; } - [FlatBufferItem(35)] public bool Flag_FailSkyBattle { get; set; } - [FlatBufferItem(36)] public bool Flag_AnimateAlly { get; set; } - [FlatBufferItem(37)] public bool Flag_Metronome { get; set; } - [FlatBufferItem(38)] public bool Flag_FailEncore { get; set; } - [FlatBufferItem(39)] public bool Flag_FailMeFirst { get; set; } - [FlatBufferItem(40)] public bool Flag_FutureAttack { get; set; } - [FlatBufferItem(41)] public bool Flag_Pressure { get; set; } - [FlatBufferItem(42)] public bool Flag_Combo { get; set; } - [FlatBufferItem(43)] public bool Flag_NoSleepTalk { get; set; } - [FlatBufferItem(44)] public bool Flag_NoAssist { get; set; } - [FlatBufferItem(45)] public bool Flag_FailCopycat { get; set; } - [FlatBufferItem(46)] public bool Flag_FailMimic { get; set; } - [FlatBufferItem(47)] public bool Flag_FailInstruct { get; set; } - [FlatBufferItem(48)] public bool Flag_Powder { get; set; } - [FlatBufferItem(49)] public bool Flag_Bite { get; set; } - [FlatBufferItem(50)] public bool Flag_Bullet { get; set; } - [FlatBufferItem(51)] public bool Flag_NoMultiHit { get; set; } - [FlatBufferItem(52)] public bool Flag_NoEffectiveness { get; set; } - [FlatBufferItem(53)] public bool Flag_SheerForce { get; set; } - [FlatBufferItem(54)] public bool Flag_Slicing { get; set; } - [FlatBufferItem(55)] public bool Flag_Wind { get; set; } - [FlatBufferItem(56)] public bool Unknown_56 { get; set; } - [FlatBufferItem(57)] public bool Unknown_57 { get; set; } - [FlatBufferItem(58)] public bool Unknown_58 { get; set; } - [FlatBufferItem(59)] public bool Unknown_59 { get; set; } - [FlatBufferItem(60)] public bool Unknown_60 { get; set; } - [FlatBufferItem(61)] public bool Unused_61 { get; set; } - [FlatBufferItem(62)] public bool Unused_62 { get; set; } - [FlatBufferItem(63)] public bool Unused_63 { get; set; } - [FlatBufferItem(64)] public bool Unused_64 { get; set; } - [FlatBufferItem(65)] public bool Unused_65 { get; set; } - [FlatBufferItem(66)] public bool Unused_66 { get; set; } - [FlatBufferItem(67)] public bool Unused_67 { get; set; } - [FlatBufferItem(68)] public bool Unused_68 { get; set; } - [FlatBufferItem(69)] public bool Unused_69 { get; set; } - [FlatBufferItem(70)] public bool Unused_70 { get; set; } - [FlatBufferItem(71)] public bool Flag_CantUseTwice { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleDataArray.cs deleted file mode 100644 index f705f1be..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleDataArray.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NetBattleRuleDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NetBattleRuleData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NetBattleRuleData -{ - [FlatBufferItem(00)] public int BattleRuleId { get; set; } - [FlatBufferItem(01)] public int BattleteamPokeMin { get; set; } - [FlatBufferItem(02)] public int BattleteamPokeMax { get; set; } - [FlatBufferItem(03)] public int SelectPokeMin { get; set; } - [FlatBufferItem(04)] public int SelectPokeMax { get; set; } - [FlatBufferItem(05)] public int JoinLevel { get; set; } - [FlatBufferItem(06)] public LevelRateRule LevelRateRule { get; set; } - [FlatBufferItem(07)] public UseCheck SamePokeCheck { get; set; } - [FlatBufferItem(08)] public UseCheck SameItemCheck { get; set; } - [FlatBufferItem(09)] public TimeLimitType TimelimitType { get; set; } - [FlatBufferItem(10)] public int LimitTime { get; set; } - [FlatBufferItem(11)] public int WaitTime { get; set; } - [FlatBufferItem(12)] public int DecideTime { get; set; } - [FlatBufferItem(13)] public PokeShowType PokeShowType { get; set; } - [FlatBufferItem(14)] public int PokeShowTime { get; set; } - [FlatBufferItem(15)] public GemModeLimit GemModeFlag { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum GemModeLimit -{ - USABLE = 0, - PROHIBITION = 1, -} - -[FlatBufferEnum(typeof(int))] -public enum LevelRateRule -{ - NONE = 0, - OR_MORE = 1, - OR_LESS = 2, - OR_MORE_REVISE = 3, - ALL_REVISE = 4, - OR_LESS_REVISE = 5, -} - -[FlatBufferEnum(typeof(int))] -public enum PokeShowType -{ - NOT_SHOW = 0, - SHOW = 1, -} - -[FlatBufferEnum(typeof(int))] -public enum TimeLimitType -{ - TOTAL = 0, - WAIT = 1, - TOTALWAIT = 2, -} - -[FlatBufferEnum(typeof(int))] -public enum UseCheck -{ - USABLE = 0, - NOT_USE = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleParamArray.cs b/pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleParamArray.cs deleted file mode 100644 index 346780dc..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/NetBattle/NetBattleRuleParamArray.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NetBattleRuleParamArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NetBattleRuleParam[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NetBattleRuleParam -{ - [FlatBufferItem(0)] public int BattleRuleId { get; set; } - [FlatBufferItem(1)] public BattleType BattleType { get; set; } - [FlatBufferItem(2)] public LevelType LevelType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum LevelType -{ - NORMAL = 0, - FLAT = 1, - NON_LIMITED = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/PersonalTable9SVfb.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/PersonalTable9SVfb.cs deleted file mode 100644 index 08fdf45f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/PersonalTable9SVfb.cs +++ /dev/null @@ -1,55 +0,0 @@ -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; - -/// -/// Personal Info class with values from the games. -/// -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalTable9SVfb : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PersonalInfo9SVfb[] Table { get; set; } = Array.Empty(); -} - -/// -/// Personal Info class with values from the games. -/// -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVfb -{ - [FlatBufferItem(00)] public PersonalInfo9SVInfo Info { get; set; } = new(); - [FlatBufferItem(01)] public bool IsPresentInGame { get; set; } // byte - [FlatBufferItem(02)] public PersonalInfo9SVDex? Dex { get; set; } - [FlatBufferItem(03)] public byte Type1 { get; set; } // byte - [FlatBufferItem(04)] public byte Type2 { get; set; } // byte - [FlatBufferItem(05)] public ushort Ability1 { get; set; } // ushort - [FlatBufferItem(06)] public ushort Ability2 { get; set; } // ushort - [FlatBufferItem(07)] public ushort AbilityH { get; set; } // ushort - [FlatBufferItem(08)] public byte EXPGrowth { get; set; } // byte - [FlatBufferItem(09)] public byte CatchRate { get; set; } // byte - [FlatBufferItem(10)] public PersonalInfo9SVGender Gender { get; set; } = new(); - [FlatBufferItem(11)] public byte EggGroup1 { get; set; } // byte - [FlatBufferItem(12)] public byte EggGroup2 { get; set; } // byte - [FlatBufferItem(13)] public PersonalInfo9SVHatch Hatch { get; set; } = new(); - [FlatBufferItem(14)] public byte HatchCycles { get; set; } // byte - [FlatBufferItem(15)] public byte BaseFriendship { get; set; } // byte - [FlatBufferItem(16)] public short BaseEXPAddend { get; set; } // short - [FlatBufferItem(17)] public byte EvoStage { get; set; } // byte - [FlatBufferItem(18)] public bool IsTypeChangeDisallowed { get; set; } // Silvally, Arceus (and Sylveon in 1.0.0, fixed) - [FlatBufferItem(19)] public PersonalInfo9SVStats EVYield { get; set; } = new(); - [FlatBufferItem(20)] public PersonalInfo9SVStats Base { get; set; } = new(); - [FlatBufferItem(21)] public PersonalInfo9SVEvolutions[] Evolutions { get; set; } = Array.Empty(); - [FlatBufferItem(22)] public ushort[] TechnicalMachine { get; set; } = Array.Empty(); - [FlatBufferItem(23)] public ushort[] EggMoves { get; set; } = Array.Empty(); - [FlatBufferItem(24)] public ushort[] ReminderMoves { get; set; } = Array.Empty(); - [FlatBufferItem(25)] public PersonalInfo9SVMove[] Learnset { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVDex.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVDex.cs deleted file mode 100644 index 29e14a7d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVDex.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVDex -{ - [FlatBufferItem(0)] public ushort Index { get; set; } - [FlatBufferItem(1)] public byte Group { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVEvolutions.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVEvolutions.cs deleted file mode 100644 index 84f8aea9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVEvolutions.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVEvolutions -{ - [FlatBufferItem(0)] public ushort Level { get; set; } - [FlatBufferItem(1)] public ushort Method { get; set; } - [FlatBufferItem(2)] public ushort Argument { get; set; } - [FlatBufferItem(3)] public ushort Reserved3 { get; set; } - [FlatBufferItem(4)] public ushort Reserved4 { get; set; } - [FlatBufferItem(5)] public ushort Reserved5 { get; set; } - [FlatBufferItem(6)] public ushort SpeciesInternal { get; set; } - [FlatBufferItem(7)] public ushort Form { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVHatch.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVHatch.cs deleted file mode 100644 index 942a1320..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVHatch.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVHatch -{ - [FlatBufferItem(0)] public ushort SpeciesInternal { get; set; } - [FlatBufferItem(1)] public ushort Form { get; set; } - [FlatBufferItem(2)] public ushort RegionalFlags { get; set; } - [FlatBufferItem(3)] public ushort EverstoneForm { get; set; } - - public override string ToString() => $"{SpeciesInternal:000}\t{Form:00}"; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVInfo.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVInfo.cs deleted file mode 100644 index f8b0c79c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVInfo -{ - [FlatBufferItem(00)] public ushort SpeciesInternal { get; set; } - [FlatBufferItem(01)] public ushort Form { get; set; } - [FlatBufferItem(02)] public ushort SpeciesNational { get; set; } - [FlatBufferItem(03)] public byte Color { get; set; } - [FlatBufferItem(04)] public byte BodyType { get; set; } - [FlatBufferItem(05)] public ushort Height { get; set; } - [FlatBufferItem(06)] public ushort Weight { get; set; } - [FlatBufferItem(07)] public uint Reserved0 { get; set; } - [FlatBufferItem(08)] public uint Reserved1 { get; set; } - [FlatBufferItem(09)] public uint Reserved2 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVMove.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVMove.cs deleted file mode 100644 index a543d6a2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVMove.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVMove -{ - [FlatBufferItem(0)] public ushort Move { get; set; } - [FlatBufferItem(1)] public sbyte Level { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVStats.cs b/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVStats.cs deleted file mode 100644 index 0d8ea150..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Personal/Types/PersonalInfo9SVStats.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PersonalInfo9SVStats -{ - [FlatBufferItem(0)] public byte HP { get; set; } - [FlatBufferItem(1)] public byte ATK { get; set; } - [FlatBufferItem(2)] public byte DEF { get; set; } - [FlatBufferItem(3)] public byte SPA { get; set; } - [FlatBufferItem(4)] public byte SPD { get; set; } - [FlatBufferItem(5)] public byte SPE { get; set; } - - // Return the 2 bits of each, shifted left with HP as the lowest bits. - public ushort U16() => (ushort)((HP & 0b11) | ((ATK & 0b11) << 2) | ((DEF & 0b11) << 4) | ((SPA & 0b11) << 6) | ((SPD & 0b11) << 8) | ((SPE & 0b11) << 10)); -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicPokemon.cs b/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicPokemon.cs deleted file mode 100644 index 66922b2a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicPokemon.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PicnicPokemon -{ - [FlatBufferItem(0)] public PettingData Petting { get; set; } - [FlatBufferItem(1)] public WashData Wash { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class WashData -{ - [FlatBufferItem(0)] public PokemonContactJointList HappyBoneInfoList { get; set; } - [FlatBufferItem(1)] public PokemonContactJointList HateBoneInfoList { get; set; } - [FlatBufferItem(2)] public bool UseUniqueData { get; set; } - [FlatBufferItem(3)] public UniqueWashData UniqueData { get; set; } - [FlatBufferItem(4)] public bool DisableEraseFaceEffect { get; set; } - [FlatBufferItem(5)] public bool DisableWink { get; set; } - [FlatBufferItem(6)] public DisableAwaJointParam DisableAwaJoints { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class UniqueWashJointParam -{ - [FlatBufferItem(0)] public bool Valid { get; set; } - [FlatBufferItem(1)] public string JointName { get; set; } - [FlatBufferItem(2)] public PackedVec3f Offset { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class UniqueWashData -{ - [FlatBufferItem(00)] public UniqueWashJointParam Joint0 { get; set; } - [FlatBufferItem(01)] public UniqueWashJointParam Joint1 { get; set; } - [FlatBufferItem(02)] public UniqueWashJointParam Joint2 { get; set; } - [FlatBufferItem(03)] public UniqueWashJointParam Joint3 { get; set; } - [FlatBufferItem(04)] public UniqueWashJointParam Joint4 { get; set; } - [FlatBufferItem(05)] public UniqueWashJointParam Joint5 { get; set; } - [FlatBufferItem(06)] public UniqueWashJointParam Joint6 { get; set; } - [FlatBufferItem(07)] public UniqueWashJointParam Joint7 { get; set; } - [FlatBufferItem(08)] public UniqueWashJointParam Joint8 { get; set; } - [FlatBufferItem(09)] public UniqueWashJointParam Joint9 { get; set; } - [FlatBufferItem(10)] public UniqueWashJointParam Joint10 { get; set; } - [FlatBufferItem(11)] public UniqueWashJointParam Joint11 { get; set; } - [FlatBufferItem(12)] public UniqueWashJointParam Joint12 { get; set; } - [FlatBufferItem(13)] public UniqueWashJointParam Joint13 { get; set; } - [FlatBufferItem(14)] public UniqueWashJointParam Joint14 { get; set; } - [FlatBufferItem(15)] public UniqueWashJointParam Joint15 { get; set; } - [FlatBufferItem(16)] public UniqueWashJointParam Joint16 { get; set; } - [FlatBufferItem(17)] public UniqueWashJointParam Joint17 { get; set; } - [FlatBufferItem(18)] public UniqueWashJointParam Joint18 { get; set; } - [FlatBufferItem(19)] public UniqueWashJointParam Joint19 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokemonContactJointList -{ - [FlatBufferItem(0)] public PokemonContactJointInfo Value0 { get; set; } - [FlatBufferItem(1)] public PokemonContactJointInfo Value1 { get; set; } - [FlatBufferItem(2)] public PokemonContactJointInfo Value2 { get; set; } - [FlatBufferItem(3)] public PokemonContactJointInfo Value3 { get; set; } - [FlatBufferItem(4)] public PokemonContactJointInfo Value4 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokemonContactJointInfo -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public float CollisionRad { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PettingData -{ - [FlatBufferItem(0)] public PokemonContactJointList HappyBoneInfoList { get; set; } - [FlatBufferItem(1)] public PokemonContactJointList HateBoneInfoList { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DisableAwaJointParam -{ - [FlatBufferItem(00)] public string Joint0 { get; set; } - [FlatBufferItem(01)] public string Joint1 { get; set; } - [FlatBufferItem(02)] public string Joint2 { get; set; } - [FlatBufferItem(03)] public string Joint3 { get; set; } - [FlatBufferItem(04)] public string Joint4 { get; set; } - [FlatBufferItem(05)] public string Joint5 { get; set; } - [FlatBufferItem(06)] public string Joint6 { get; set; } - [FlatBufferItem(07)] public string Joint7 { get; set; } - [FlatBufferItem(08)] public string Joint8 { get; set; } - [FlatBufferItem(09)] public string Joint9 { get; set; } - [FlatBufferItem(10)] public string Joint10 { get; set; } - [FlatBufferItem(11)] public string Joint11 { get; set; } - [FlatBufferItem(12)] public string Joint12 { get; set; } - [FlatBufferItem(13)] public string Joint13 { get; set; } - [FlatBufferItem(14)] public string Joint14 { get; set; } - [FlatBufferItem(15)] public string Joint15 { get; set; } - [FlatBufferItem(16)] public string Joint16 { get; set; } - [FlatBufferItem(17)] public string Joint17 { get; set; } - [FlatBufferItem(18)] public string Joint18 { get; set; } - [FlatBufferItem(19)] public string Joint19 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicSystemData.cs b/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicSystemData.cs deleted file mode 100644 index 4bbfe2b1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicSystemData.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PicnicSystemData -{ - [FlatBufferItem(0)] public float PicnicRangeRadius { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicTablesetData.cs b/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicTablesetData.cs deleted file mode 100644 index ffc3e3e7..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicTablesetData.cs +++ /dev/null @@ -1,96 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PicnicTablesetData -{ - [FlatBufferItem(0)] public NormalPicnicTableInfo Normal { get; set; } - [FlatBufferItem(1)] public CookingPicnicTableInfo Cooking { get; set; } - [FlatBufferItem(2)] public CookedPicnicTableInfo Cooked { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PicnicTablePlayerItemInfo -{ - [FlatBufferItem(0)] public Transform ChairPos { get; set; } - [FlatBufferItem(1)] public Transform WaterBottlePos { get; set; } - [FlatBufferItem(2)] public Transform TumblerPos { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NormalPicnicTableInfo -{ - [FlatBufferItem(0)] public Transform BucketPos { get; set; } - [FlatBufferItem(1)] public Transform LanternPos { get; set; } - [FlatBufferItem(2)] public PicnicTablePlayerItemInfo Player0 { get; set; } - [FlatBufferItem(3)] public PicnicTablePlayerItemInfo Player1 { get; set; } - [FlatBufferItem(4)] public PicnicTablePlayerItemInfo Player2 { get; set; } - [FlatBufferItem(5)] public PicnicTablePlayerItemInfo Player3 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class IngredientPicnicTableInfo -{ - [FlatBufferItem(0)] public Transform Pos0 { get; set; } - [FlatBufferItem(1)] public Transform Pos1 { get; set; } - [FlatBufferItem(2)] public Transform Pos2 { get; set; } - [FlatBufferItem(3)] public Transform Pos3 { get; set; } - [FlatBufferItem(4)] public Transform Pos4 { get; set; } - [FlatBufferItem(5)] public Transform Pos5 { get; set; } - [FlatBufferItem(6)] public Transform Pos6 { get; set; } - [FlatBufferItem(7)] public Transform Pos7 { get; set; } - [FlatBufferItem(8)] public Transform Pos8 { get; set; } - [FlatBufferItem(9)] public Transform Pos9 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CookingPicnicTableInfo -{ - [FlatBufferItem(0)] public Transform DishPos { get; set; } - [FlatBufferItem(1)] public Transform BucketPos { get; set; } - [FlatBufferItem(2)] public Transform LanternPos { get; set; } - [FlatBufferItem(3)] public IngredientPicnicTableInfo Ingredient { get; set; } - [FlatBufferItem(4)] public SeasoningPicnicTableInfo Seasoning { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CookedPicnicTableInfo -{ - [FlatBufferItem(00)] public Transform Berryjam01Pos { get; set; } - [FlatBufferItem(01)] public Transform Berryjam02Pos { get; set; } - [FlatBufferItem(02)] public Transform BottleRedPos { get; set; } - [FlatBufferItem(03)] public Transform BottleYellowPos { get; set; } - [FlatBufferItem(04)] public Transform BucketPos { get; set; } - [FlatBufferItem(05)] public Transform Butter01Pos { get; set; } - [FlatBufferItem(06)] public Transform Butter02Pos { get; set; } - [FlatBufferItem(07)] public Transform Creamcheese01Pos { get; set; } - [FlatBufferItem(08)] public Transform DishPos { get; set; } - [FlatBufferItem(09)] public Transform LanternPos { get; set; } - [FlatBufferItem(10)] public Transform Marmalade04Pos { get; set; } - [FlatBufferItem(11)] public Transform Oliveoil03Pos { get; set; } - [FlatBufferItem(12)] public Transform Smallbowl01OliveoilPos { get; set; } - [FlatBufferItem(13)] public Transform Smallbowl01VinegarPos { get; set; } - [FlatBufferItem(14)] public Transform Watercress01Pos { get; set; } - [FlatBufferItem(15)] public Transform Watercress02Pos { get; set; } - [FlatBufferItem(16)] public Transform Watercress03Pos { get; set; } - [FlatBufferItem(17)] public Transform Watercress01Shadow01Pos { get; set; } - [FlatBufferItem(18)] public Transform Watercress01Shadow02Pos { get; set; } - [FlatBufferItem(19)] public Transform Cocotteplate06WhippedcreamPos { get; set; } - [FlatBufferItem(20)] public Transform Marmalade01Pos { get; set; } - [FlatBufferItem(21)] public Transform Chilisauce01Pos { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SeasoningPicnicTableInfo -{ - [FlatBufferItem(0)] public Transform Pos0 { get; set; } - [FlatBufferItem(1)] public Transform Pos1 { get; set; } - [FlatBufferItem(2)] public Transform Pos2 { get; set; } - [FlatBufferItem(3)] public Transform Pos3 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicWagonData.cs b/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicWagonData.cs deleted file mode 100644 index 312c89ce..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Picnic/PicnicWagonData.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PicnicWagonData -{ - [FlatBufferItem(0)] public int WagonSize { get; set; } - [FlatBufferItem(1)] public PokemonEggCommonData EggCommonData { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokemonEggCommonData -{ - [FlatBufferItem(0)] public float CreateEggTimer { get; set; } - [FlatBufferItem(1)] public float CreateEggTimerShort { get; set; } - [FlatBufferItem(2)] public LoveLevelProb CreateEggProb { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LoveLevelProb -{ - [FlatBufferItem(0)] public float Good { get; set; } - [FlatBufferItem(1)] public float Normal { get; set; } - [FlatBufferItem(2)] public float Bad { get; set; } - [FlatBufferItem(3)] public float Worst { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataEventBattle.cs b/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataEventBattle.cs deleted file mode 100644 index ae32cc33..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataEventBattle.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDataEventBattle -{ - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public short FormId { get; set; } - [FlatBufferItem(02)] public SexType Sex { get; set; } - [FlatBufferItem(03)] public int Level { get; set; } - [FlatBufferItem(04)] public RareType RareType { get; set; } - [FlatBufferItem(05)] public TalentType TalentType { get; set; } - [FlatBufferItem(06)] public sbyte TalentVnum { get; set; } - [FlatBufferItem(07)] public ParamSet TalentValue { get; set; } - [FlatBufferItem(08)] public ParamSet EffortValue { get; set; } - [FlatBufferItem(09)] public ItemID Item { get; set; } - [FlatBufferItem(10)] public ItemID DropItem { get; set; } - [FlatBufferItem(11)] public sbyte DropItemNum { get; set; } - [FlatBufferItem(12)] public SeikakuType Seikaku { get; set; } - [FlatBufferItem(13)] public SeikakuType SeikakuHosei { get; set; } - [FlatBufferItem(14)] public TokuseiType Tokusei { get; set; } - [FlatBufferItem(15)] public WazaType WazaType { get; set; } - [FlatBufferItem(16)] public WazaSet Waza1 { get; set; } - [FlatBufferItem(17)] public WazaSet Waza2 { get; set; } - [FlatBufferItem(18)] public WazaSet Waza3 { get; set; } - [FlatBufferItem(19)] public WazaSet Waza4 { get; set; } - [FlatBufferItem(20)] public GemType GemType { get; set; } - [FlatBufferItem(21)] public SizeType ScaleType { get; set; } - [FlatBufferItem(22)] public short ScaleValue { get; set; } - [FlatBufferItem(23)] public RibbonType SetRibbon { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataFull.cs b/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataFull.cs deleted file mode 100644 index a6aa7cea..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataFull.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDataFull -{ - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public short FormId { get; set; } - [FlatBufferItem(02)] public ItemID Item { get; set; } - [FlatBufferItem(03)] public int Level { get; set; } - [FlatBufferItem(04)] public SexType Sex { get; set; } - [FlatBufferItem(05)] public SeikakuType Seikaku { get; set; } - [FlatBufferItem(06)] public SeikakuType SeikakuHosei { get; set; } - [FlatBufferItem(07)] public TokuseiType Tokusei { get; set; } - [FlatBufferItem(08)] public RareType RareType { get; set; } - [FlatBufferItem(09)] public int RareTryCount { get; set; } - [FlatBufferItem(10)] public TalentType TalentType { get; set; } - [FlatBufferItem(11)] public ParamSet TalentValue { get; set; } - [FlatBufferItem(12)] public sbyte TalentVnum { get; set; } - [FlatBufferItem(13)] public ParamSet EffortValue { get; set; } - [FlatBufferItem(14)] public int Friendship { get; set; } - [FlatBufferItem(15)] public SizeType HeightType { get; set; } - [FlatBufferItem(16)] public short HeightValue { get; set; } - [FlatBufferItem(17)] public SizeType WeightType { get; set; } - [FlatBufferItem(18)] public short WeightValue { get; set; } - [FlatBufferItem(19)] public SizeType ScaleType { get; set; } - [FlatBufferItem(20)] public short ScaleValue { get; set; } - [FlatBufferItem(21)] public bool SetPersonalRand { get; set; } - [FlatBufferItem(22)] public ulong PersonalRand { get; set; } - [FlatBufferItem(23)] public bool SetRandSeed { get; set; } - [FlatBufferItem(24)] public ulong RandSeed { get; set; } - [FlatBufferItem(25)] public WazaType WazaType { get; set; } - [FlatBufferItem(26)] public WazaSet Waza1 { get; set; } - [FlatBufferItem(27)] public WazaSet Waza2 { get; set; } - [FlatBufferItem(28)] public WazaSet Waza3 { get; set; } - [FlatBufferItem(29)] public WazaSet Waza4 { get; set; } - [FlatBufferItem(30)] public bool UseNickName { get; set; } - [FlatBufferItem(31)] public ulong NicknameLabel { get; set; } - [FlatBufferItem(32)] public ulong ParentNameLabel { get; set; } - [FlatBufferItem(33)] public SexType ParentSex { get; set; } - [FlatBufferItem(34)] public LangType ParentLangId { get; set; } - [FlatBufferItem(35)] public int ParentMemoryCode { get; set; } - [FlatBufferItem(36)] public int ParentMemoryData { get; set; } - [FlatBufferItem(37)] public int ParentMemoryFeel { get; set; } - [FlatBufferItem(38)] public int ParentMemoryLevel { get; set; } - [FlatBufferItem(39)] public LangType LangId { get; set; } - [FlatBufferItem(40)] public BallType BallId { get; set; } - [FlatBufferItem(41)] public RibbonType SetRibbon { get; set; } - [FlatBufferItem(42)] public bool EventFlg { get; set; } - [FlatBufferItem(43)] public GemType GemType { get; set; } - [FlatBufferItem(44)] public sbyte WazaConfirmLevel { get; set; } - [FlatBufferItem(45)] public PokeMemoType PokeMemo { get; set; } - [FlatBufferItem(46)] public int PokeMemoPlace { get; set; } - [FlatBufferItem(47)] public long TrainerId { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataSymbol.cs b/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataSymbol.cs deleted file mode 100644 index abafb7f2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataSymbol.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDataSymbol -{ - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public short FormId { get; set; } - [FlatBufferItem(02)] public int Level { get; set; } - [FlatBufferItem(03)] public SexType Sex { get; set; } - [FlatBufferItem(04)] public RareType RareType { get; set; } - [FlatBufferItem(05)] public TalentType TalentType { get; set; } - [FlatBufferItem(06)] public ParamSet TalentValue { get; set; } - [FlatBufferItem(07)] public sbyte TalentVNum { get; set; } - [FlatBufferItem(08)] public WazaType WazaType { get; set; } - [FlatBufferItem(09)] public WazaSet Waza1 { get; set; } - [FlatBufferItem(10)] public WazaSet Waza2 { get; set; } - [FlatBufferItem(11)] public WazaSet Waza3 { get; set; } - [FlatBufferItem(12)] public WazaSet Waza4 { get; set; } - [FlatBufferItem(13)] public TokuseiType TokuseiIndex { get; set; } - [FlatBufferItem(14)] public SizeType ScaleType { get; set; } - [FlatBufferItem(15)] public short ScaleValue { get; set; } - [FlatBufferItem(16)] public GemType GemType { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataTrade.cs b/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataTrade.cs deleted file mode 100644 index 27316b1c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/PokeDataTrade.cs +++ /dev/null @@ -1,42 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PokeDataTrade -{ - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public short FormId { get; set; } - [FlatBufferItem(02)] public int Level { get; set; } - [FlatBufferItem(03)] public SexType Sex { get; set; } - [FlatBufferItem(04)] public TokuseiType Tokusei { get; set; } - [FlatBufferItem(05)] public GemType GemType { get; set; } - [FlatBufferItem(06)] public RareType RareType { get; set; } - [FlatBufferItem(07)] public SizeType ScaleType { get; set; } - [FlatBufferItem(08)] public short ScaleValue { get; set; } - [FlatBufferItem(09)] public SizeType WeightType { get; set; } - [FlatBufferItem(10)] public short WeightValue { get; set; } - [FlatBufferItem(11)] public TalentType TalentType { get; set; } - [FlatBufferItem(12)] public sbyte TalentVnum { get; set; } - [FlatBufferItem(13)] public ParamSet TalentValue { get; set; } - [FlatBufferItem(14)] public ParamSet EffortValue { get; set; } - [FlatBufferItem(15)] public ItemID Item { get; set; } - [FlatBufferItem(16)] public SeikakuType Seikaku { get; set; } - [FlatBufferItem(17)] public SeikakuType SeikakuHosei { get; set; } - [FlatBufferItem(18)] public WazaType WazaType { get; set; } - [FlatBufferItem(19)] public WazaSet Waza1 { get; set; } - [FlatBufferItem(20)] public WazaSet Waza2 { get; set; } - [FlatBufferItem(21)] public WazaSet Waza3 { get; set; } - [FlatBufferItem(22)] public WazaSet Waza4 { get; set; } - [FlatBufferItem(23)] public BallType BallId { get; set; } - [FlatBufferItem(24)] public bool UseNickName { get; set; } - [FlatBufferItem(25)] public ulong NicknameLabel { get; set; } - [FlatBufferItem(26)] public ulong ParentNameLabel { get; set; } - [FlatBufferItem(27)] public long TrainerId { get; set; } - [FlatBufferItem(28)] public SexType ParentSex { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaSet.cs b/pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaSet.cs deleted file mode 100644 index 3519f52a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaSet.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class WazaSet -{ - [FlatBufferItem(0)] public WazaID WazaId { get; set; } - [FlatBufferItem(1)] public sbyte PointUp { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaType.cs b/pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaType.cs deleted file mode 100644 index 5a6067ca..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/PokeData/WazaType.cs +++ /dev/null @@ -1,10 +0,0 @@ -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum WazaType -{ - DEFAULT = 0, - MANUAL = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidEnemyTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidEnemyTableArray.cs deleted file mode 100644 index 099030b3..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidEnemyTableArray.cs +++ /dev/null @@ -1,140 +0,0 @@ -using System.ComponentModel; -using System.IO; -using FlatSharp.Attributes; - -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidEnemyTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DeliveryRaidEnemyTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidEnemyTable -{ - [FlatBufferItem(0)] public RaidEnemyInfo RaidEnemyInfo { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidTimeData -{ - [FlatBufferItem(0)] public bool IsActive { get; set; } - [FlatBufferItem(1)] public int GameLimit { get; set; } - [FlatBufferItem(2)] public int ClientLimit { get; set; } - [FlatBufferItem(3)] public int CommandLimit { get; set; } - [FlatBufferItem(4)] public int PokeReviveTime { get; set; } - [FlatBufferItem(5)] public int AiIntervalTime { get; set; } - [FlatBufferItem(6)] public int AiIntervalRand { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidEnemyInfo -{ - [FlatBufferItem(00)] public RaidRomType RomVer { get; set; } - [FlatBufferItem(01)] public int No { get; set; } - [FlatBufferItem(02)] public sbyte DeliveryGroupID { get; set; } - [FlatBufferItem(03)] public int Difficulty { get; set; } - [FlatBufferItem(04)] public sbyte Rate { get; set; } - [FlatBufferItem(05)] public ulong DropTableFix { get; set; } - [FlatBufferItem(06)] public ulong DropTableRandom { get; set; } - [FlatBufferItem(07)] public sbyte CaptureRate { get; set; } - [FlatBufferItem(08)] public sbyte CaptureLv { get; set; } - [FlatBufferItem(09)] public PokeDataBattle BossPokePara { get; set; } - [FlatBufferItem(10)] public RaidBossSizeData BossPokeSize { get; set; } - [FlatBufferItem(11)] public RaidBossData BossDesc { get; set; } - [FlatBufferItem(12)] public RaidTimeData RaidTimeData { get; set; } - - public void SerializePKHeX(BinaryWriter bw, byte star, sbyte rate, RaidSerializationFormat format) - { - BossPokePara.SerializePKHeX(bw, CaptureLv, format); - BossPokeSize.SerializePKHeX(); - bw.Write(DeliveryGroupID); - - // Append RNG details. - bw.Write(star); - bw.Write(rate); - } - - public void SerializeType2(BinaryWriter bw) - { - var b = BossPokePara; - bw.Write((byte)b.ScaleType); - bw.Write((byte)b.ScaleValue); - } - - public void SerializeType3(BinaryWriter bw) - { - // Fixed Nature, fixed IVs, fixed Scale - var b = BossPokePara; - if (b.TalentType > TalentType.VALUE) - throw new InvalidDataException("Invalid talent type for Type 3 serialization."); - - bw.Write(b.Seikaku == SeikakuType.DEFAULT ? (byte)25 : (byte)(b.Seikaku - 1)); - bw.Write((byte)b.TalentValue.HP); - bw.Write((byte)b.TalentValue.ATK); - bw.Write((byte)b.TalentValue.DEF); - bw.Write((byte)b.TalentValue.SPE); - bw.Write((byte)b.TalentValue.SPA); - bw.Write((byte)b.TalentValue.SPD); - bw.Write((byte)(b.TalentType == 0 ? 0 : 1)); - bw.Write((byte)b.ScaleType); - bw.Write((byte)b.ScaleValue); - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidBossSizeData -{ - [FlatBufferItem(0)] public SizeType HeightType { get; set; } - [FlatBufferItem(1)] public short HeightValue { get; set; } - [FlatBufferItem(2)] public SizeType WeightType { get; set; } - [FlatBufferItem(3)] public short WeightValue { get; set; } - [FlatBufferItem(4)] public SizeType ScaleType { get; set; } - [FlatBufferItem(5)] public short ScaleValue { get; set; } - - public void SerializePKHeX() - { - // If any property is not zero, throw an exception. - // if (HeightType != 0 || HeightValue != 0 || WeightType != 0 || WeightValue != 0 || ScaleType != 0 || ScaleValue != 0) - // throw new ArgumentException("Expected default sizes."); - } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidBossExtraData -{ - [FlatBufferItem(0)] public RaidBossExtraTimingType Timming { get; set; } - [FlatBufferItem(1)] public RaidBossExtraActType Action { get; set; } - [FlatBufferItem(2)] public short Value { get; set; } - [FlatBufferItem(3)] public WazaID Wazano { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidBossData -{ - [FlatBufferItem(00)] public short HpCoef { get; set; } - [FlatBufferItem(01)] public sbyte PowerChargeTrigerHp { get; set; } - [FlatBufferItem(02)] public sbyte PowerChargeTrigerTime { get; set; } - [FlatBufferItem(03)] public short PowerChargeLimitTime { get; set; } - [FlatBufferItem(04)] public sbyte PowerChargeCancelDamage { get; set; } - [FlatBufferItem(05)] public short PowerChargePenaltyTime { get; set; } - [FlatBufferItem(06)] public WazaID PowerChargePenaltyAction { get; set; } - [FlatBufferItem(07)] public sbyte PowerChargeDamageRate { get; set; } - [FlatBufferItem(08)] public sbyte PowerChargeGemDamageRate { get; set; } - [FlatBufferItem(09)] public sbyte PowerChargeChangeGemDamageRate { get; set; } - [FlatBufferItem(10)] public RaidBossExtraData ExtraAction1 { get; set; } - [FlatBufferItem(11)] public RaidBossExtraData ExtraAction2 { get; set; } - [FlatBufferItem(12)] public RaidBossExtraData ExtraAction3 { get; set; } - [FlatBufferItem(13)] public RaidBossExtraData ExtraAction4 { get; set; } - [FlatBufferItem(14)] public RaidBossExtraData ExtraAction5 { get; set; } - [FlatBufferItem(15)] public RaidBossExtraData ExtraAction6 { get; set; } - [FlatBufferItem(16)] public sbyte DoubleActionTriggerHp { get; set; } - [FlatBufferItem(17)] public sbyte DoubleActionTriggerTime { get; set; } - [FlatBufferItem(18)] public sbyte DoubleActionRate { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs deleted file mode 100644 index e44e04ce..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidFixedRewardItemArray.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidFixedRewardItemArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DeliveryRaidFixedRewardItem[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidFixedRewardItem -{ - [FlatBufferItem(00)] public ulong TableName { get; set; } - [FlatBufferItem(01)] public RaidFixedRewardItemInfo RewardItem00 { get; set; } - [FlatBufferItem(02)] public RaidFixedRewardItemInfo RewardItem01 { get; set; } - [FlatBufferItem(03)] public RaidFixedRewardItemInfo RewardItem02 { get; set; } - [FlatBufferItem(04)] public RaidFixedRewardItemInfo RewardItem03 { get; set; } - [FlatBufferItem(05)] public RaidFixedRewardItemInfo RewardItem04 { get; set; } - [FlatBufferItem(06)] public RaidFixedRewardItemInfo RewardItem05 { get; set; } - [FlatBufferItem(07)] public RaidFixedRewardItemInfo RewardItem06 { get; set; } - [FlatBufferItem(08)] public RaidFixedRewardItemInfo RewardItem07 { get; set; } - [FlatBufferItem(09)] public RaidFixedRewardItemInfo RewardItem08 { get; set; } - [FlatBufferItem(10)] public RaidFixedRewardItemInfo RewardItem09 { get; set; } - [FlatBufferItem(11)] public RaidFixedRewardItemInfo RewardItem10 { get; set; } - [FlatBufferItem(12)] public RaidFixedRewardItemInfo RewardItem11 { get; set; } - [FlatBufferItem(13)] public RaidFixedRewardItemInfo RewardItem12 { get; set; } - [FlatBufferItem(14)] public RaidFixedRewardItemInfo RewardItem13 { get; set; } - [FlatBufferItem(15)] public RaidFixedRewardItemInfo RewardItem14 { get; set; } - - public const int Count = 15; - - public RaidFixedRewardItemInfo GetReward(int index) => index switch - { - 00 => RewardItem00, - 01 => RewardItem01, - 02 => RewardItem02, - 03 => RewardItem03, - 04 => RewardItem04, - 05 => RewardItem05, - 06 => RewardItem06, - 07 => RewardItem07, - 08 => RewardItem08, - 09 => RewardItem09, - 10 => RewardItem10, - 11 => RewardItem11, - 12 => RewardItem12, - 13 => RewardItem13, - 14 => RewardItem14, - _ => throw new ArgumentOutOfRangeException(nameof(index), index, null), - }; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs deleted file mode 100644 index 577bba85..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidLotteryRewardItemArray.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidLotteryRewardItemArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DeliveryRaidLotteryRewardItem[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidLotteryRewardItem -{ - [FlatBufferItem(00)] public ulong TableName { get; set; } - [FlatBufferItem(01)] public RaidLotteryRewardItemInfo RewardItem00 { get; set; } - [FlatBufferItem(02)] public RaidLotteryRewardItemInfo RewardItem01 { get; set; } - [FlatBufferItem(03)] public RaidLotteryRewardItemInfo RewardItem02 { get; set; } - [FlatBufferItem(04)] public RaidLotteryRewardItemInfo RewardItem03 { get; set; } - [FlatBufferItem(05)] public RaidLotteryRewardItemInfo RewardItem04 { get; set; } - [FlatBufferItem(06)] public RaidLotteryRewardItemInfo RewardItem05 { get; set; } - [FlatBufferItem(07)] public RaidLotteryRewardItemInfo RewardItem06 { get; set; } - [FlatBufferItem(08)] public RaidLotteryRewardItemInfo RewardItem07 { get; set; } - [FlatBufferItem(09)] public RaidLotteryRewardItemInfo RewardItem08 { get; set; } - [FlatBufferItem(10)] public RaidLotteryRewardItemInfo RewardItem09 { get; set; } - [FlatBufferItem(11)] public RaidLotteryRewardItemInfo RewardItem10 { get; set; } - [FlatBufferItem(12)] public RaidLotteryRewardItemInfo RewardItem11 { get; set; } - [FlatBufferItem(13)] public RaidLotteryRewardItemInfo RewardItem12 { get; set; } - [FlatBufferItem(14)] public RaidLotteryRewardItemInfo RewardItem13 { get; set; } - [FlatBufferItem(15)] public RaidLotteryRewardItemInfo RewardItem14 { get; set; } - [FlatBufferItem(16)] public RaidLotteryRewardItemInfo RewardItem15 { get; set; } - [FlatBufferItem(17)] public RaidLotteryRewardItemInfo RewardItem16 { get; set; } - [FlatBufferItem(18)] public RaidLotteryRewardItemInfo RewardItem17 { get; set; } - [FlatBufferItem(19)] public RaidLotteryRewardItemInfo RewardItem18 { get; set; } - [FlatBufferItem(20)] public RaidLotteryRewardItemInfo RewardItem19 { get; set; } - [FlatBufferItem(21)] public RaidLotteryRewardItemInfo RewardItem20 { get; set; } - [FlatBufferItem(22)] public RaidLotteryRewardItemInfo RewardItem21 { get; set; } - [FlatBufferItem(23)] public RaidLotteryRewardItemInfo RewardItem22 { get; set; } - [FlatBufferItem(24)] public RaidLotteryRewardItemInfo RewardItem23 { get; set; } - [FlatBufferItem(25)] public RaidLotteryRewardItemInfo RewardItem24 { get; set; } - [FlatBufferItem(26)] public RaidLotteryRewardItemInfo RewardItem25 { get; set; } - [FlatBufferItem(27)] public RaidLotteryRewardItemInfo RewardItem26 { get; set; } - [FlatBufferItem(28)] public RaidLotteryRewardItemInfo RewardItem27 { get; set; } - [FlatBufferItem(29)] public RaidLotteryRewardItemInfo RewardItem28 { get; set; } - [FlatBufferItem(30)] public RaidLotteryRewardItemInfo RewardItem29 { get; set; } - - public const int RewardItemCount = 30; - - // Get reward item from index - public RaidLotteryRewardItemInfo GetRewardItem(int index) => index switch - { - 00 => RewardItem00, - 01 => RewardItem01, - 02 => RewardItem02, - 03 => RewardItem03, - 04 => RewardItem04, - 05 => RewardItem05, - 06 => RewardItem06, - 07 => RewardItem07, - 08 => RewardItem08, - 09 => RewardItem09, - 10 => RewardItem10, - 11 => RewardItem11, - 12 => RewardItem12, - 13 => RewardItem13, - 14 => RewardItem14, - 15 => RewardItem15, - 16 => RewardItem16, - 17 => RewardItem17, - 18 => RewardItem18, - 19 => RewardItem19, - 20 => RewardItem20, - 21 => RewardItem21, - 22 => RewardItem22, - 23 => RewardItem23, - 24 => RewardItem24, - 25 => RewardItem25, - 26 => RewardItem26, - 27 => RewardItem27, - 28 => RewardItem28, - 29 => RewardItem29, - _ => throw new ArgumentOutOfRangeException(nameof(index), index, null), - }; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidPriorityArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidPriorityArray.cs deleted file mode 100644 index cc3e5853..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/DeliveryRaidPriorityArray.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidPriorityArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DeliveryRaidPriority[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryRaidPriority -{ - [FlatBufferItem(0)] public int VersionNo { get; set; } - [FlatBufferItem(1)] public DeliveryGroupID DeliveryGroupID { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DeliveryGroupID -{ - // GroupID[10] : byte - [FlatBufferItem(0)] public sbyte GroupID01 { get; set; } - [FlatBufferItem(1)] public sbyte GroupID02 { get; set; } - [FlatBufferItem(2)] public sbyte GroupID03 { get; set; } - [FlatBufferItem(3)] public sbyte GroupID04 { get; set; } - [FlatBufferItem(4)] public sbyte GroupID05 { get; set; } - [FlatBufferItem(5)] public sbyte GroupID06 { get; set; } - [FlatBufferItem(6)] public sbyte GroupID07 { get; set; } - [FlatBufferItem(7)] public sbyte GroupID08 { get; set; } - [FlatBufferItem(8)] public sbyte GroupID09 { get; set; } - [FlatBufferItem(9)] public sbyte GroupID10 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraActType.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraActType.cs deleted file mode 100644 index 136f7371..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraActType.cs +++ /dev/null @@ -1,14 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(short))] -public enum RaidBossExtraActType : short -{ - NONE = 0, - BOSS_STATUS_RESET = 1, - PLAYER_STATUS_RESET = 2, - WAZA = 3, - GEM_COUNT = 4, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraTimingType.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraTimingType.cs deleted file mode 100644 index 16f11162..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidBossExtraTimingType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(short))] -public enum RaidBossExtraTimingType : short -{ - NONE = 0, - TIME = 1, - HP = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemCategoryType.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemCategoryType.cs deleted file mode 100644 index 4bb6e15e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemCategoryType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum RaidRewardItemCategoryType -{ - ITEM = 0, - POKE = 1, - GEM = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemSubjectType.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemSubjectType.cs deleted file mode 100644 index a6831ee6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRewardItemSubjectType.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum RaidRewardItemSubjectType -{ - ALL = 0, - HOST = 1, - CLIENT = 2, - ONCE = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRomType.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRomType.cs deleted file mode 100644 index 6e1dd18c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/Enums/RaidRomType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(short))] -public enum RaidRomType : short -{ - BOTH = 0, - TYPE_A = 1, - TYPE_B = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidDifficultyLotteryTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidDifficultyLotteryTableArray.cs deleted file mode 100644 index c36e44f1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidDifficultyLotteryTableArray.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidDifficultyLotteryTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidDifficultyLotteryTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidDifficultyLotteryTable -{ - [FlatBufferItem(0)] public RaidLotteryParam Target01 { get; set; } - [FlatBufferItem(1)] public RaidLotteryParam Target02 { get; set; } - [FlatBufferItem(2)] public RaidLotteryParam Target03 { get; set; } - [FlatBufferItem(3)] public RaidLotteryParam Target04 { get; set; } - [FlatBufferItem(4)] public RaidLotteryParam Target05 { get; set; } - [FlatBufferItem(5)] public RaidLotteryParam Target06 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidLotteryParam -{ - [FlatBufferItem(0)] public int Difficulty { get; set; } - [FlatBufferItem(1)] public int Rate { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidEnemyTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidEnemyTableArray.cs deleted file mode 100644 index 81a44cad..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidEnemyTableArray.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidEnemyTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidEnemyTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidEnemyTable -{ - [FlatBufferItem(0)] public RaidEnemyInfo RaidEnemyInfo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidFixedRewardItemArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidFixedRewardItemArray.cs deleted file mode 100644 index 4d8cb89a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidFixedRewardItemArray.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidFixedRewardItemArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidFixedRewardItem[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidFixedRewardItem -{ - [FlatBufferItem(00)] public ulong TableName { get; set; } - [FlatBufferItem(01)] public RaidFixedRewardItemInfo RewardItem00 { get; set; } - [FlatBufferItem(02)] public RaidFixedRewardItemInfo RewardItem01 { get; set; } - [FlatBufferItem(03)] public RaidFixedRewardItemInfo RewardItem02 { get; set; } - [FlatBufferItem(04)] public RaidFixedRewardItemInfo RewardItem03 { get; set; } - [FlatBufferItem(05)] public RaidFixedRewardItemInfo RewardItem04 { get; set; } - [FlatBufferItem(06)] public RaidFixedRewardItemInfo RewardItem05 { get; set; } - [FlatBufferItem(07)] public RaidFixedRewardItemInfo RewardItem06 { get; set; } - [FlatBufferItem(08)] public RaidFixedRewardItemInfo RewardItem07 { get; set; } - [FlatBufferItem(09)] public RaidFixedRewardItemInfo RewardItem08 { get; set; } - [FlatBufferItem(10)] public RaidFixedRewardItemInfo RewardItem09 { get; set; } - [FlatBufferItem(11)] public RaidFixedRewardItemInfo RewardItem10 { get; set; } - [FlatBufferItem(12)] public RaidFixedRewardItemInfo RewardItem11 { get; set; } - [FlatBufferItem(13)] public RaidFixedRewardItemInfo RewardItem12 { get; set; } - [FlatBufferItem(14)] public RaidFixedRewardItemInfo RewardItem13 { get; set; } - [FlatBufferItem(15)] public RaidFixedRewardItemInfo RewardItem14 { get; set; } - - public const int Count = 15; - - public RaidFixedRewardItemInfo GetReward(int index) => index switch - { - 00 => RewardItem00, - 01 => RewardItem01, - 02 => RewardItem02, - 03 => RewardItem03, - 04 => RewardItem04, - 05 => RewardItem05, - 06 => RewardItem06, - 07 => RewardItem07, - 08 => RewardItem08, - 09 => RewardItem09, - 10 => RewardItem10, - 11 => RewardItem11, - 12 => RewardItem12, - 13 => RewardItem13, - 14 => RewardItem14, - _ => throw new ArgumentOutOfRangeException(nameof(index)) - }; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidGemSetting.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidGemSetting.cs deleted file mode 100644 index 5cc9208c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidGemSetting.cs +++ /dev/null @@ -1,48 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidGemSetting -{ - [FlatBufferItem(0)] public MeteorSetting Meteor { get; set; } - [FlatBufferItem(1)] public GemSetting Gem { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MeteorSetting -{ - [FlatBufferItem(0)] public int ShowerInterval { get; set; } - [FlatBufferItem(1)] public int QuantityMin { get; set; } - [FlatBufferItem(2)] public int QuantityMax { get; set; } - [FlatBufferItem(3)] public float DelayMin { get; set; } - [FlatBufferItem(4)] public float DelayMax { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemSetting -{ - [FlatBufferItem(00)] public int MaxNumUnexplored { get; set; } - [FlatBufferItem(01)] public int MaxNumExplored { get; set; } - [FlatBufferItem(02)] public int MaxNumAnAreaUnexplored { get; set; } - [FlatBufferItem(03)] public int MaxNumAnAreaExplored { get; set; } - [FlatBufferItem(04)] public int AreaMax { get; set; } - [FlatBufferItem(05)] public int GroupMax { get; set; } - [FlatBufferItem(06)] public int GemMax { get; set; } - [FlatBufferItem(07)] public int LotteryGroupMax { get; set; } - [FlatBufferItem(08)] public int LotteryKwmMax { get; set; } - [FlatBufferItem(09)] public float GemFetchLength { get; set; } - [FlatBufferItem(10)] public float GemReleaseLength { get; set; } - [FlatBufferItem(11)] public int LeaguePayDifficulty01 { get; set; } - [FlatBufferItem(12)] public int LeaguePayDifficulty02 { get; set; } - [FlatBufferItem(13)] public int LeaguePayDifficulty03 { get; set; } - [FlatBufferItem(14)] public int LeaguePayDifficulty04 { get; set; } - [FlatBufferItem(15)] public int LeaguePayDifficulty05 { get; set; } - [FlatBufferItem(16)] public int LeaguePayDifficulty06 { get; set; } - [FlatBufferItem(17)] public int LeaguePayDifficulty07 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidLotteryRewardItemArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidLotteryRewardItemArray.cs deleted file mode 100644 index e48d0251..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidLotteryRewardItemArray.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidLotteryRewardItemArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidLotteryRewardItem[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidLotteryRewardItem -{ - [FlatBufferItem(00)] public ulong TableName { get; set; } - [FlatBufferItem(01)] public RaidLotteryRewardItemInfo RewardItem00 { get; set; } - [FlatBufferItem(02)] public RaidLotteryRewardItemInfo RewardItem01 { get; set; } - [FlatBufferItem(03)] public RaidLotteryRewardItemInfo RewardItem02 { get; set; } - [FlatBufferItem(04)] public RaidLotteryRewardItemInfo RewardItem03 { get; set; } - [FlatBufferItem(05)] public RaidLotteryRewardItemInfo RewardItem04 { get; set; } - [FlatBufferItem(06)] public RaidLotteryRewardItemInfo RewardItem05 { get; set; } - [FlatBufferItem(07)] public RaidLotteryRewardItemInfo RewardItem06 { get; set; } - [FlatBufferItem(08)] public RaidLotteryRewardItemInfo RewardItem07 { get; set; } - [FlatBufferItem(09)] public RaidLotteryRewardItemInfo RewardItem08 { get; set; } - [FlatBufferItem(10)] public RaidLotteryRewardItemInfo RewardItem09 { get; set; } - [FlatBufferItem(11)] public RaidLotteryRewardItemInfo RewardItem10 { get; set; } - [FlatBufferItem(12)] public RaidLotteryRewardItemInfo RewardItem11 { get; set; } - [FlatBufferItem(13)] public RaidLotteryRewardItemInfo RewardItem12 { get; set; } - [FlatBufferItem(14)] public RaidLotteryRewardItemInfo RewardItem13 { get; set; } - [FlatBufferItem(15)] public RaidLotteryRewardItemInfo RewardItem14 { get; set; } - [FlatBufferItem(16)] public RaidLotteryRewardItemInfo RewardItem15 { get; set; } - [FlatBufferItem(17)] public RaidLotteryRewardItemInfo RewardItem16 { get; set; } - [FlatBufferItem(18)] public RaidLotteryRewardItemInfo RewardItem17 { get; set; } - [FlatBufferItem(19)] public RaidLotteryRewardItemInfo RewardItem18 { get; set; } - [FlatBufferItem(20)] public RaidLotteryRewardItemInfo RewardItem19 { get; set; } - [FlatBufferItem(21)] public RaidLotteryRewardItemInfo RewardItem20 { get; set; } - [FlatBufferItem(22)] public RaidLotteryRewardItemInfo RewardItem21 { get; set; } - [FlatBufferItem(23)] public RaidLotteryRewardItemInfo RewardItem22 { get; set; } - [FlatBufferItem(24)] public RaidLotteryRewardItemInfo RewardItem23 { get; set; } - [FlatBufferItem(25)] public RaidLotteryRewardItemInfo RewardItem24 { get; set; } - [FlatBufferItem(26)] public RaidLotteryRewardItemInfo RewardItem25 { get; set; } - [FlatBufferItem(27)] public RaidLotteryRewardItemInfo RewardItem26 { get; set; } - [FlatBufferItem(28)] public RaidLotteryRewardItemInfo RewardItem27 { get; set; } - [FlatBufferItem(29)] public RaidLotteryRewardItemInfo RewardItem28 { get; set; } - [FlatBufferItem(30)] public RaidLotteryRewardItemInfo RewardItem29 { get; set; } - - public const int RewardItemCount = 30; - - // Get reward item from index - public RaidLotteryRewardItemInfo GetRewardItem(int index) => index switch - { - 00 => RewardItem00, - 01 => RewardItem01, - 02 => RewardItem02, - 03 => RewardItem03, - 04 => RewardItem04, - 05 => RewardItem05, - 06 => RewardItem06, - 07 => RewardItem07, - 08 => RewardItem08, - 09 => RewardItem09, - 10 => RewardItem10, - 11 => RewardItem11, - 12 => RewardItem12, - 13 => RewardItem13, - 14 => RewardItem14, - 15 => RewardItem15, - 16 => RewardItem16, - 17 => RewardItem17, - 18 => RewardItem18, - 19 => RewardItem19, - 20 => RewardItem20, - 21 => RewardItem21, - 22 => RewardItem22, - 23 => RewardItem23, - 24 => RewardItem24, - 25 => RewardItem25, - 26 => RewardItem26, - 27 => RewardItem27, - 28 => RewardItem28, - 29 => RewardItem29, - _ => throw new ArgumentOutOfRangeException(nameof(index), index, null) - }; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidLotteryRewardItemInfo -{ - [FlatBufferItem(0)] public RaidRewardItemCategoryType Category { get; set; } - [FlatBufferItem(1)] public ItemID ItemID { get; set; } - [FlatBufferItem(2)] public sbyte Num { get; set; } - [FlatBufferItem(3)] public int Rate { get; set; } - [FlatBufferItem(4)] public bool RareItemFlag { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidFixedRewardItemInfo -{ - [FlatBufferItem(0)] public RaidRewardItemCategoryType Category { get; set; } - [FlatBufferItem(1)] public RaidRewardItemSubjectType SubjectType { get; set; } - [FlatBufferItem(2)] public ItemID ItemID { get; set; } - [FlatBufferItem(3)] public sbyte Num { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidPokeScaleDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidPokeScaleDataArray.cs deleted file mode 100644 index dbe50744..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidPokeScaleDataArray.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidPokeScaleDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidPokeScaleData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidPokeScaleData -{ - [FlatBufferItem(0)] public DevID Monsno { get; set; } - [FlatBufferItem(1)] public short Formno { get; set; } - [FlatBufferItem(2)] public SexType Sex { get; set; } - [FlatBufferItem(3)] public float Scale { get; set; } - [FlatBufferItem(4)] public float Offset { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidRewardSlotArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidRewardSlotArray.cs deleted file mode 100644 index d2f2b596..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidRewardSlotArray.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidRewardSlotArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidRewardSlot[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidRewardSlot -{ - [FlatBufferItem(0)] public RaidRewardSlotInfo Slot01 { get; set; } - [FlatBufferItem(1)] public RaidRewardSlotInfo Slot02 { get; set; } - [FlatBufferItem(2)] public RaidRewardSlotInfo Slot03 { get; set; } - [FlatBufferItem(3)] public RaidRewardSlotInfo Slot04 { get; set; } - [FlatBufferItem(4)] public RaidRewardSlotInfo Slot05 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidRewardSlotInfo -{ - [FlatBufferItem(0)] public int SlotNum { get; set; } - [FlatBufferItem(1)] public int Rate { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidTrainerArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidTrainerArray.cs deleted file mode 100644 index 13665f31..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Raid/RaidTrainerArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidTrainerArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RaidTrainer[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RaidTrainer -{ - [FlatBufferItem(0)] public string RaidTrainerInfo { get; set; } - [FlatBufferItem(1)] public int NpcPresetIndex { get; set; } - [FlatBufferItem(2)] public string NameTextLabel { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/BattleType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/BattleType.cs deleted file mode 100644 index 811d70ac..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/BattleType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum BattleType -{ - SINGLE = 0, - DOUBLE = 1, - MULTI = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/DataType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/DataType.cs deleted file mode 100644 index bb3e880f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/DataType.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum DataType -{ - NORMAL = 0, - ITEM = 1, - WAZA = 2, - MULTI = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/RareType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/RareType.cs deleted file mode 100644 index 45440c4d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/RareType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum RareType -{ - DEFAULT = 0, - NO_RARE = 1, - RARE = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/Sex.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/Sex.cs deleted file mode 100644 index cb01a0c9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/Sex.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum Sex -{ - MALE = 0, - FEMALE = 1, - UNKNOWN = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/SexType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/SexType.cs deleted file mode 100644 index d441c340..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/SexType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum SexType -{ - DEFAULT = 0, - MALE = 1, - FEMALE = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/SizeType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/SizeType.cs deleted file mode 100644 index c6a03cf0..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/SizeType.cs +++ /dev/null @@ -1,16 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum SizeType -{ - RANDOM = 0, - XS = 1, - S = 2, - M = 3, - L = 4, - XL = 5, - VALUE = 6, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/TalentType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/TalentType.cs deleted file mode 100644 index 960241e4..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/TalentType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum TalentType -{ - RANDOM = 0, - V_NUM = 1, - VALUE = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Shared/TokuseiType.cs b/pkNX.Structures.FlatBuffers/Gen9/Shared/TokuseiType.cs deleted file mode 100644 index 3f38dffd..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Shared/TokuseiType.cs +++ /dev/null @@ -1,14 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum TokuseiType -{ - RANDOM_12 = 0, - RANDOM_123 = 1, - SET_1 = 2, - SET_2 = 3, - SET_3 = 4, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/System/ObjectGenerationRangeArray.cs b/pkNX.Structures.FlatBuffers/Gen9/System/ObjectGenerationRangeArray.cs deleted file mode 100644 index 932bfe0c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/System/ObjectGenerationRangeArray.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ObjectGenerationRangeArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ObjectGenerationRange[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ObjectGenerationRange -{ - [FlatBufferItem(0)] public ObjectType Type { get; set; } - [FlatBufferItem(1)] public float MinCreateDistance { get; set; } - [FlatBufferItem(2)] public float MaxCreateDistance { get; set; } - [FlatBufferItem(3)] public float MinDestroyDistance { get; set; } - [FlatBufferItem(4)] public float MaxDestroyDistance { get; set; } - [FlatBufferItem(5)] public int MaxGenerationNum { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum ObjectType -{ - None = -1, - RaidGem = 0, - EncountPokemon = 1, - DistantViewEffect = 2, - GroundEffect = 3, - HiddenItem = 4, - CrashRock = 5, - TrafficNpc = 6, - FieldNpc = 7, - FixEncout = 8, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkData.cs b/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkData.cs deleted file mode 100644 index e653aed9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/Talk/TalkData.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TalkData -{ - [FlatBufferItem(0)] public string EventName { get; set; } - [FlatBufferItem(1)] public CheckCategory Category { get; set; } - [FlatBufferItem(2)] public int ValueA { get; set; } - [FlatBufferItem(3)] public int ValueB { get; set; } - [FlatBufferItem(4)] public int ValueC { get; set; } - [FlatBufferItem(5)] public TalkRankEffect RankEffect { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerBodySize.cs b/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerBodySize.cs deleted file mode 100644 index f0dc78ae..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerBodySize.cs +++ /dev/null @@ -1,14 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum TrainerBodySize -{ - S = 0, - M = 1, - L = 2, - LL = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerCategory.cs b/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerCategory.cs deleted file mode 100644 index 4e6313ec..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerCategory.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(byte))] -public enum TrainerCategory: byte -{ - NORMAL = 0, - GYM_LEADER = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerDataArray.cs deleted file mode 100644 index c4fcf7c6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerDataArray.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using FlatSharp.Attributes; -using System.ComponentModel; -#nullable disable -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrDataMainArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public TrDataMain[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrDataMain : IFlatBufferArchive -{ - [FlatBufferItem(00)] public string TrId { get; set; } - [FlatBufferItem(01)] public string TrNameLabel { get; set; } - [FlatBufferItem(02)] public string TrainerType { get; set; } - [FlatBufferItem(03)] public bool IsStrong { get; set; } - [FlatBufferItem(04)] public BattleType BattleType { get; set; } - [FlatBufferItem(05)] public DataType DataType { get; set; } - [FlatBufferItem(06)] public sbyte MoneyRate { get; set; } - [FlatBufferItem(07)] public bool ChangeGem { get; set; } - [FlatBufferItem(08)] public PokeDataBattle Poke1 { get; set; } - [FlatBufferItem(09)] public PokeDataBattle Poke2 { get; set; } - [FlatBufferItem(10)] public PokeDataBattle Poke3 { get; set; } - [FlatBufferItem(11)] public PokeDataBattle Poke4 { get; set; } - [FlatBufferItem(12)] public PokeDataBattle Poke5 { get; set; } - [FlatBufferItem(13)] public PokeDataBattle Poke6 { get; set; } - [FlatBufferItem(14)] public bool AiBasic { get; set; } - [FlatBufferItem(15)] public bool AiHigh { get; set; } - [FlatBufferItem(16)] public bool AiExpert { get; set; } - [FlatBufferItem(17)] public bool AiDouble { get; set; } - [FlatBufferItem(18)] public bool AiRaid { get; set; } - [FlatBufferItem(19)] public bool AiWeak { get; set; } - [FlatBufferItem(20)] public bool AiItem { get; set; } - [FlatBufferItem(21)] public bool AiChange { get; set; } - [FlatBufferItem(22)] public string PopupLabelNormal1 { get; set; } - [FlatBufferItem(23)] public string PopupLabelNormal2 { get; set; } - [FlatBufferItem(24)] public string PopupLabelPinch1 { get; set; } - [FlatBufferItem(25)] public string PopupLabelPinch2 { get; set; } - - [Browsable(false)] - public PokeDataBattle[] Table { get => new[] {Poke1, Poke2, Poke3, Poke4, Poke5, Poke6}; set => throw new ArgumentException(nameof(Table)); } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerEnvArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerEnvArray.cs deleted file mode 100644 index 8e860b31..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerEnvArray.cs +++ /dev/null @@ -1,42 +0,0 @@ -using FlatSharp.Attributes; -using System.ComponentModel; -#nullable disable -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrainerEnvArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public TrainerEnv[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrainerEnv -{ - [FlatBufferItem(00)] public string TrEnvId { get; set; } - [FlatBufferItem(01)] public TalkData TalkData1 { get; set; } - [FlatBufferItem(02)] public TalkData TalkData2 { get; set; } - [FlatBufferItem(03)] public TalkData TalkData3 { get; set; } - [FlatBufferItem(04)] public TalkData TalkData4 { get; set; } - [FlatBufferItem(05)] public TalkData TalkData5 { get; set; } - [FlatBufferItem(06)] public TalkData TalkData6 { get; set; } - [FlatBufferItem(07)] public TalkData TalkData7 { get; set; } - [FlatBufferItem(08)] public TalkData TalkData8 { get; set; } - [FlatBufferItem(09)] public TalkData TalkData9 { get; set; } - [FlatBufferItem(10)] public TalkData TalkData10 { get; set; } - [FlatBufferItem(11)] public TalkData TalkData11 { get; set; } - [FlatBufferItem(12)] public TalkData TalkData12 { get; set; } - [FlatBufferItem(13)] public TalkData TalkData13 { get; set; } - [FlatBufferItem(14)] public TalkData TalkData14 { get; set; } - [FlatBufferItem(15)] public TalkData TalkData15 { get; set; } - [FlatBufferItem(16)] public string IntroTml { get; set; } - [FlatBufferItem(17)] public string ThrowTml { get; set; } - [FlatBufferItem(18)] public string CameraObjectName { get; set; } - [FlatBufferItem(19)] public string LoseTml { get; set; } - [FlatBufferItem(20)] public string IntroObjectName { get; set; } - [FlatBufferItem(21)] public string LoseObjectName { get; set; } - [FlatBufferItem(22)] public string bgmEventName { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerTypeArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerTypeArray.cs deleted file mode 100644 index 8b322dfc..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trainers/TrainerTypeArray.cs +++ /dev/null @@ -1,31 +0,0 @@ -using FlatSharp.Attributes; -using System.ComponentModel; -#nullable disable -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrainerTypeArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public TrainerType[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrainerType -{ - [FlatBufferItem(00)] public string NameLabel { get; set; } - [FlatBufferItem(01)] public string MsgLabel { get; set; } - [FlatBufferItem(02)] public Sex Sex { get; set; } - [FlatBufferItem(03)] public TrainerCategory Category { get; set; } - [FlatBufferItem(04)] public string IntroTml { get; set; } - [FlatBufferItem(05)] public string ThrowTml { get; set; } - [FlatBufferItem(06)] public string CameraObjectName { get; set; } - [FlatBufferItem(07)] public string LoseTml { get; set; } - [FlatBufferItem(08)] public string IntroObjectName { get; set; } - [FlatBufferItem(09)] public string LoseObjectName { get; set; } - [FlatBufferItem(10)] public string BGMEventName { get; set; } - [FlatBufferItem(11)] public TrainerBodySize TrainerBodySize { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityCollisionComponentSV.cs b/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityCollisionComponentSV.cs deleted file mode 100644 index 70cc3ef2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityCollisionComponentSV.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System.ComponentModel; -using FlatSharp; -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 TrinityCollisionComponentSV -{ - [FlatBufferItem(00, Required = true)] public FlatBufferUnion Component { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityCollisionComponent1SV -{ - [FlatBufferItem(00, Required = true)] public FlatBufferUnion CollisionShape { get; set; } - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public byte Field_03 { get; set; } - [FlatBufferItem(04)] public uint Field_04 { get; set; } - [FlatBufferItem(05)] public uint Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public uint Field_07 { get; set; } - [FlatBufferItem(08)] public Vec3f Field_08 { get; set; } = new(); - [FlatBufferItem(09)] public string Field_09 { get; set; } = string.Empty; - [FlatBufferItem(10)] public uint Field_0A { get; set; } - [FlatBufferItem(11)] public byte Field_0B { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityCollisionShapeSphereSV -{ - [FlatBufferItem(00)] public string TrcolFilePath { get; set; } = string.Empty; - [FlatBufferItem(01)] public PackedVec3f Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public PackedVec3f Field_02 { get; set; } = new(); - [FlatBufferItem(03)] public PackedVec3f Field_03 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityCollisionShapeBoxSV -{ - [FlatBufferItem(01)] public PackedVec3f Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public PackedVec3f Field_02 { get; set; } = new(); - [FlatBufferItem(03)] public PackedVec3f Field_03 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityCollisionShapeCapsuleSV -{ - [FlatBufferItem(00)] public string TrcolFilePath { get; set; } = string.Empty; - [FlatBufferItem(01)] public PackedVec3f Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public PackedVec3f Field_02 { get; set; } = new(); - [FlatBufferItem(03)] public PackedVec3f Field_03 { get; set; } = new(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityCollisionShapeHavokSV -{ - [FlatBufferItem(00)] public string TrcolFilePath { get; set; } = string.Empty; - [FlatBufferItem(01)] public PackedVec3f Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public PackedVec3f Field_02 { get; set; } = new(); - [FlatBufferItem(03)] public PackedVec3f Field_03 { get; set; } = new(); -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityPropertySheetSV.cs b/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityPropertySheetSV.cs deleted file mode 100644 index a98ca41e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityPropertySheetSV.cs +++ /dev/null @@ -1,70 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp; -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetSV -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public string Extra { get; set; } = string.Empty; - [FlatBufferItem(02)] public TrinityPropertySheetObjectSV[] Properties { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetObjectSV -{ - [FlatBufferItem(00)] public TrinityPropertySheetFieldSV[] Fields { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetFieldSV -{ - [FlatBufferItem(00)] public string Name { get; set; } - [FlatBufferItem(01, Required = true)] public FlatBufferUnion Data { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField1SV -{ - [FlatBufferItem(00)] public ulong Value { get; set; } - [FlatBufferItem(01)] public byte FieldType { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField2SV -{ - [FlatBufferItem(00)] public uint Field_00 { get; set; } - [FlatBufferItem(01)] public byte FieldType { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetFieldStringValueSV -{ - [FlatBufferItem(00)] public string Value { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField4SV { } - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField5SV { } - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField6SV { } - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField7SV { } - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityPropertySheetField8SV { } diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectSV.cs b/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectSV.cs deleted file mode 100644 index e658e2ff..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectSV.cs +++ /dev/null @@ -1,39 +0,0 @@ -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 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 TrinitySceneObjectSV -{ - [FlatBufferItem(00)] public string ObjectName { get; set; } = string.Empty; - [FlatBufferItem(01)] public TrinitySceneObjectPositionSV ObjectPosition { get; set; } = new(); - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public string Field_04 { get; set; } = string.Empty; - [FlatBufferItem(05)] public byte Field_05 { get; set; } - [FlatBufferItem(06)] public uint Field_06 { get; set; } - [FlatBufferItem(07)] public string Field_07 { get; set; } = string.Empty; - [FlatBufferItem(08)] public string[] Field_08 { get; set; } = Array.Empty(); - -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinitySceneObjectPositionSV -{ - [FlatBufferItem(00)] public PackedVec3f Field_00 { get; set; } = new(); - [FlatBufferItem(01)] public PackedVec3f Field_01 { get; set; } = new(); - [FlatBufferItem(02)] public PackedVec3f Field_02 { get; set; } = new(); -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectTemplateSV.cs b/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectTemplateSV.cs deleted file mode 100644 index da4384bb..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinitySceneObjectTemplateSV.cs +++ /dev/null @@ -1,45 +0,0 @@ -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 -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinitySceneObjectTemplateSV -{ - [FlatBufferItem(00)] public string ObjectTemplateName { get; set; } = string.Empty; - [FlatBufferItem(01)] public string ObjectTemplateExtra { get; set; } = string.Empty; - [FlatBufferItem(02)] public uint Field_02 { get; set; } - [FlatBufferItem(03)] public uint Field_03 { get; set; } - [FlatBufferItem(04)] public TrinitySceneObjectTemplateEntrySV[] Objects { get; set; } = Array.Empty(); - [FlatBufferItem(05)] public uint[] Field_05 { get; set; } = Array.Empty(); - [FlatBufferItem(06)] public byte Field_06 { get; set; } - -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinitySceneObjectTemplateEntrySV -{ - [FlatBufferItem(00)] public string Type { get; set; } - [FlatBufferItem(01)] public byte[] Data { get; set; } = Array.Empty(); - [FlatBufferItem(02)] public TrinitySceneObjectTemplateEntrySV[] SubObjects { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinitySceneObjectTemplateDataSV -{ - [FlatBufferItem(00)] public string ObjectTemplateName { get; set; } = string.Empty; - [FlatBufferItem(01)] public string ObjectTemplateExtra { get; set; } = string.Empty; - [FlatBufferItem(02)] public string ObjectTemplatePath { get; set; } = string.Empty; - [FlatBufferItem(03)] public byte Field_03 { get; set; } - [FlatBufferItem(04)] public string Type { get; set; } = string.Empty; - [FlatBufferItem(05)] public byte[] Data { get; set; } = Array.Empty(); -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityScenePointSV.cs b/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityScenePointSV.cs deleted file mode 100644 index b4344f47..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Trinity/TrinityScenePointSV.cs +++ /dev/null @@ -1,16 +0,0 @@ - -// ReSharper disable UnusedMember.Global -// ReSharper disable AutoPropertyCanBeMadeGetOnly.Global - -using FlatSharp.Attributes; -using System.ComponentModel; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TrinityScenePointSV -{ - [FlatBufferItem(00)] public string Name { get; set; } = string.Empty; - [FlatBufferItem(01)] public PackedVec3f Position { get; set; } = new(); - [FlatBufferItem(02)] public byte Field_02 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/BattleBgmSelectTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/BattleBgmSelectTableArray.cs deleted file mode 100644 index f11167ca..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/BattleBgmSelectTableArray.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleBgmSelectTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public BattleBgmSelectTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BattleBgmSelectTable -{ - [FlatBufferItem(0)] public string BgmEventCallName { get; set; } - [FlatBufferItem(1)] public string SoundCallName { get; set; } - [FlatBufferItem(2)] public string TextLabel { get; set; } - [FlatBufferItem(3)] public int SortNum { get; set; } - [FlatBufferItem(4)] public bool IsInitialRelease { get; set; } - [FlatBufferItem(5)] public string ReleaseFlagName { get; set; } - [FlatBufferItem(6)] public BGMSELECTTYPE BgmSelectType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum BGMSELECTTYPE -{ - BGM = 0, - OMAKASE = 1, - NO_BGM = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/BufDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/BufDataArray.cs deleted file mode 100644 index 481a9446..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/BufDataArray.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BufDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public BufData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BufData -{ - [FlatBufferItem(0)] public string Bufid { get; set; } - [FlatBufferItem(1)] public FoodSkillType Buftype01 { get; set; } - [FlatBufferItem(2)] public int Buflevel01 { get; set; } - [FlatBufferItem(3)] public MoveType BufPoketype01 { get; set; } - [FlatBufferItem(4)] public FoodSkillType Buftype02 { get; set; } - [FlatBufferItem(5)] public int Buflevel02 { get; set; } - [FlatBufferItem(6)] public MoveType BufPoketype02 { get; set; } - [FlatBufferItem(7)] public FoodSkillType Buftype03 { get; set; } - [FlatBufferItem(8)] public int Buflevel03 { get; set; } - [FlatBufferItem(9)] public MoveType BufPoketype03 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupCategoryDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupCategoryDataArray.cs deleted file mode 100644 index eedba79d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupCategoryDataArray.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupCategoryDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DressupCategoryData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupCategoryData -{ - [FlatBufferItem(0)] public string Shopid { get; set; } - [FlatBufferItem(1)] public bool Uniform { get; set; } - [FlatBufferItem(2)] public bool Leg { get; set; } - [FlatBufferItem(3)] public bool Foot { get; set; } - [FlatBufferItem(4)] public bool Glove { get; set; } - [FlatBufferItem(5)] public bool Bag { get; set; } - [FlatBufferItem(6)] public bool Head { get; set; } - [FlatBufferItem(7)] public bool Eye { get; set; } - [FlatBufferItem(8)] public bool Rotom { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupItemDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupItemDataArray.cs deleted file mode 100644 index 27e00834..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupItemDataArray.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupItemDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DressupItemData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupItemData -{ - [FlatBufferItem(0)] public int DressupItemid { get; set; } - [FlatBufferItem(1)] public DressupItemType Dressup { get; set; } - [FlatBufferItem(2)] public DressupBlandType Bland { get; set; } - [FlatBufferItem(3)] public string Name { get; set; } - [FlatBufferItem(4)] public string Subname { get; set; } - [FlatBufferItem(5)] public int Price { get; set; } - [FlatBufferItem(6)] public int Sortnum { get; set; } - [FlatBufferItem(7)] public string ModelLabel { get; set; } - [FlatBufferItem(8)] public string SoundTag { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum DressupBlandType -{ - DUMMY = -1, - BROTHERFOOT = 0, - chica = 1, - DOPEGRANMA = 2, - MOTHAT = 3, - DENSOKU = 4, - ALL_AGES = 5, - SO_ATUMORI = 6, - ULINGEAR = 7, - STARCRAZY = 8, - DEFOG = 9, - YOCINOSOMEI = 10, - DECA_SPORTS = 11, - Ruggle = 12, - Ortiga = 13, - ROTOM = 14, -} - -[FlatBufferEnum(typeof(int))] -public enum DressupItemType -{ - UNIFORM = 0, - LEG = 1, - FOOT = 2, - GLOVE = 3, - BAG = 4, - HEAD = 5, - EYE = 6, - ROTOM = 7, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupShopDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupShopDataArray.cs deleted file mode 100644 index 2434d05c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupShopDataArray.cs +++ /dev/null @@ -1,195 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupShopDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DressupShopData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupShopData -{ - [FlatBufferItem(000)] public string ShopId { get; set; } - [FlatBufferItem(001)] public int DressupItemid1 { get; set; } - [FlatBufferItem(002)] public int DressupItemid2 { get; set; } - [FlatBufferItem(003)] public int DressupItemid3 { get; set; } - [FlatBufferItem(004)] public int DressupItemid4 { get; set; } - [FlatBufferItem(005)] public int DressupItemid5 { get; set; } - [FlatBufferItem(006)] public int DressupItemid6 { get; set; } - [FlatBufferItem(007)] public int DressupItemid7 { get; set; } - [FlatBufferItem(008)] public int DressupItemid8 { get; set; } - [FlatBufferItem(009)] public int DressupItemid9 { get; set; } - [FlatBufferItem(010)] public int DressupItemid10 { get; set; } - [FlatBufferItem(011)] public int DressupItemid11 { get; set; } - [FlatBufferItem(012)] public int DressupItemid12 { get; set; } - [FlatBufferItem(013)] public int DressupItemid13 { get; set; } - [FlatBufferItem(014)] public int DressupItemid14 { get; set; } - [FlatBufferItem(015)] public int DressupItemid15 { get; set; } - [FlatBufferItem(016)] public int DressupItemid16 { get; set; } - [FlatBufferItem(017)] public int DressupItemid17 { get; set; } - [FlatBufferItem(018)] public int DressupItemid18 { get; set; } - [FlatBufferItem(019)] public int DressupItemid19 { get; set; } - [FlatBufferItem(020)] public int DressupItemid20 { get; set; } - [FlatBufferItem(021)] public int DressupItemid21 { get; set; } - [FlatBufferItem(022)] public int DressupItemid22 { get; set; } - [FlatBufferItem(023)] public int DressupItemid23 { get; set; } - [FlatBufferItem(024)] public int DressupItemid24 { get; set; } - [FlatBufferItem(025)] public int DressupItemid25 { get; set; } - [FlatBufferItem(026)] public int DressupItemid26 { get; set; } - [FlatBufferItem(027)] public int DressupItemid27 { get; set; } - [FlatBufferItem(028)] public int DressupItemid28 { get; set; } - [FlatBufferItem(029)] public int DressupItemid29 { get; set; } - [FlatBufferItem(030)] public int DressupItemid30 { get; set; } - [FlatBufferItem(031)] public int DressupItemid31 { get; set; } - [FlatBufferItem(032)] public int DressupItemid32 { get; set; } - [FlatBufferItem(033)] public int DressupItemid33 { get; set; } - [FlatBufferItem(034)] public int DressupItemid34 { get; set; } - [FlatBufferItem(035)] public int DressupItemid35 { get; set; } - [FlatBufferItem(036)] public int DressupItemid36 { get; set; } - [FlatBufferItem(037)] public int DressupItemid37 { get; set; } - [FlatBufferItem(038)] public int DressupItemid38 { get; set; } - [FlatBufferItem(039)] public int DressupItemid39 { get; set; } - [FlatBufferItem(040)] public int DressupItemid40 { get; set; } - [FlatBufferItem(041)] public int DressupItemid41 { get; set; } - [FlatBufferItem(042)] public int DressupItemid42 { get; set; } - [FlatBufferItem(043)] public int DressupItemid43 { get; set; } - [FlatBufferItem(044)] public int DressupItemid44 { get; set; } - [FlatBufferItem(045)] public int DressupItemid45 { get; set; } - [FlatBufferItem(046)] public int DressupItemid46 { get; set; } - [FlatBufferItem(047)] public int DressupItemid47 { get; set; } - [FlatBufferItem(048)] public int DressupItemid48 { get; set; } - [FlatBufferItem(049)] public int DressupItemid49 { get; set; } - [FlatBufferItem(050)] public int DressupItemid50 { get; set; } - [FlatBufferItem(051)] public int DressupItemid51 { get; set; } - [FlatBufferItem(052)] public int DressupItemid52 { get; set; } - [FlatBufferItem(053)] public int DressupItemid53 { get; set; } - [FlatBufferItem(054)] public int DressupItemid54 { get; set; } - [FlatBufferItem(055)] public int DressupItemid55 { get; set; } - [FlatBufferItem(056)] public int DressupItemid56 { get; set; } - [FlatBufferItem(057)] public int DressupItemid57 { get; set; } - [FlatBufferItem(058)] public int DressupItemid58 { get; set; } - [FlatBufferItem(059)] public int DressupItemid59 { get; set; } - [FlatBufferItem(060)] public int DressupItemid60 { get; set; } - [FlatBufferItem(061)] public int DressupItemid61 { get; set; } - [FlatBufferItem(062)] public int DressupItemid62 { get; set; } - [FlatBufferItem(063)] public int DressupItemid63 { get; set; } - [FlatBufferItem(064)] public int DressupItemid64 { get; set; } - [FlatBufferItem(065)] public int DressupItemid65 { get; set; } - [FlatBufferItem(066)] public int DressupItemid66 { get; set; } - [FlatBufferItem(067)] public int DressupItemid67 { get; set; } - [FlatBufferItem(068)] public int DressupItemid68 { get; set; } - [FlatBufferItem(069)] public int DressupItemid69 { get; set; } - [FlatBufferItem(070)] public int DressupItemid70 { get; set; } - [FlatBufferItem(071)] public int DressupItemid71 { get; set; } - [FlatBufferItem(072)] public int DressupItemid72 { get; set; } - [FlatBufferItem(073)] public int DressupItemid73 { get; set; } - [FlatBufferItem(074)] public int DressupItemid74 { get; set; } - [FlatBufferItem(075)] public int DressupItemid75 { get; set; } - [FlatBufferItem(076)] public int DressupItemid76 { get; set; } - [FlatBufferItem(077)] public int DressupItemid77 { get; set; } - [FlatBufferItem(078)] public int DressupItemid78 { get; set; } - [FlatBufferItem(079)] public int DressupItemid79 { get; set; } - [FlatBufferItem(080)] public int DressupItemid80 { get; set; } - [FlatBufferItem(081)] public int DressupItemid81 { get; set; } - [FlatBufferItem(082)] public int DressupItemid82 { get; set; } - [FlatBufferItem(083)] public int DressupItemid83 { get; set; } - [FlatBufferItem(084)] public int DressupItemid84 { get; set; } - [FlatBufferItem(085)] public int DressupItemid85 { get; set; } - [FlatBufferItem(086)] public int DressupItemid86 { get; set; } - [FlatBufferItem(087)] public int DressupItemid87 { get; set; } - [FlatBufferItem(088)] public int DressupItemid88 { get; set; } - [FlatBufferItem(089)] public int DressupItemid89 { get; set; } - [FlatBufferItem(090)] public int DressupItemid90 { get; set; } - [FlatBufferItem(091)] public int DressupItemid91 { get; set; } - [FlatBufferItem(092)] public int DressupItemid92 { get; set; } - [FlatBufferItem(093)] public int DressupItemid93 { get; set; } - [FlatBufferItem(094)] public int DressupItemid94 { get; set; } - [FlatBufferItem(095)] public int DressupItemid95 { get; set; } - [FlatBufferItem(096)] public int DressupItemid96 { get; set; } - [FlatBufferItem(097)] public int DressupItemid97 { get; set; } - [FlatBufferItem(098)] public int DressupItemid98 { get; set; } - [FlatBufferItem(099)] public int DressupItemid99 { get; set; } - [FlatBufferItem(100)] public int DressupItemid100 { get; set; } - [FlatBufferItem(101)] public int DressupItemid101 { get; set; } - [FlatBufferItem(102)] public int DressupItemid102 { get; set; } - [FlatBufferItem(103)] public int DressupItemid103 { get; set; } - [FlatBufferItem(104)] public int DressupItemid104 { get; set; } - [FlatBufferItem(105)] public int DressupItemid105 { get; set; } - [FlatBufferItem(106)] public int DressupItemid106 { get; set; } - [FlatBufferItem(107)] public int DressupItemid107 { get; set; } - [FlatBufferItem(108)] public int DressupItemid108 { get; set; } - [FlatBufferItem(109)] public int DressupItemid109 { get; set; } - [FlatBufferItem(110)] public int DressupItemid110 { get; set; } - [FlatBufferItem(111)] public int DressupItemid111 { get; set; } - [FlatBufferItem(112)] public int DressupItemid112 { get; set; } - [FlatBufferItem(113)] public int DressupItemid113 { get; set; } - [FlatBufferItem(114)] public int DressupItemid114 { get; set; } - [FlatBufferItem(115)] public int DressupItemid115 { get; set; } - [FlatBufferItem(116)] public int DressupItemid116 { get; set; } - [FlatBufferItem(117)] public int DressupItemid117 { get; set; } - [FlatBufferItem(118)] public int DressupItemid118 { get; set; } - [FlatBufferItem(119)] public int DressupItemid119 { get; set; } - [FlatBufferItem(120)] public int DressupItemid120 { get; set; } - [FlatBufferItem(121)] public int DressupItemid121 { get; set; } - [FlatBufferItem(122)] public int DressupItemid122 { get; set; } - [FlatBufferItem(123)] public int DressupItemid123 { get; set; } - [FlatBufferItem(124)] public int DressupItemid124 { get; set; } - [FlatBufferItem(125)] public int DressupItemid125 { get; set; } - [FlatBufferItem(126)] public int DressupItemid126 { get; set; } - [FlatBufferItem(127)] public int DressupItemid127 { get; set; } - [FlatBufferItem(128)] public int DressupItemid128 { get; set; } - [FlatBufferItem(129)] public int DressupItemid129 { get; set; } - [FlatBufferItem(130)] public int DressupItemid130 { get; set; } - [FlatBufferItem(131)] public int DressupItemid131 { get; set; } - [FlatBufferItem(132)] public int DressupItemid132 { get; set; } - [FlatBufferItem(133)] public int DressupItemid133 { get; set; } - [FlatBufferItem(134)] public int DressupItemid134 { get; set; } - [FlatBufferItem(135)] public int DressupItemid135 { get; set; } - [FlatBufferItem(136)] public int DressupItemid136 { get; set; } - [FlatBufferItem(137)] public int DressupItemid137 { get; set; } - [FlatBufferItem(138)] public int DressupItemid138 { get; set; } - [FlatBufferItem(139)] public int DressupItemid139 { get; set; } - [FlatBufferItem(140)] public int DressupItemid140 { get; set; } - [FlatBufferItem(141)] public int DressupItemid141 { get; set; } - [FlatBufferItem(142)] public int DressupItemid142 { get; set; } - [FlatBufferItem(143)] public int DressupItemid143 { get; set; } - [FlatBufferItem(144)] public int DressupItemid144 { get; set; } - [FlatBufferItem(145)] public int DressupItemid145 { get; set; } - [FlatBufferItem(146)] public int DressupItemid146 { get; set; } - [FlatBufferItem(147)] public int DressupItemid147 { get; set; } - [FlatBufferItem(148)] public int DressupItemid148 { get; set; } - [FlatBufferItem(149)] public int DressupItemid149 { get; set; } - [FlatBufferItem(150)] public int DressupItemid150 { get; set; } - [FlatBufferItem(151)] public int DressupItemid151 { get; set; } - [FlatBufferItem(152)] public int DressupItemid152 { get; set; } - [FlatBufferItem(153)] public int DressupItemid153 { get; set; } - [FlatBufferItem(154)] public int DressupItemid154 { get; set; } - [FlatBufferItem(155)] public int DressupItemid155 { get; set; } - [FlatBufferItem(156)] public int DressupItemid156 { get; set; } - [FlatBufferItem(157)] public int DressupItemid157 { get; set; } - [FlatBufferItem(158)] public int DressupItemid158 { get; set; } - [FlatBufferItem(159)] public int DressupItemid159 { get; set; } - [FlatBufferItem(160)] public int DressupItemid160 { get; set; } - [FlatBufferItem(161)] public int DressupItemid161 { get; set; } - [FlatBufferItem(162)] public int DressupItemid162 { get; set; } - [FlatBufferItem(163)] public int DressupItemid163 { get; set; } - [FlatBufferItem(164)] public int DressupItemid164 { get; set; } - [FlatBufferItem(165)] public int DressupItemid165 { get; set; } - [FlatBufferItem(166)] public int DressupItemid166 { get; set; } - [FlatBufferItem(167)] public int DressupItemid167 { get; set; } - [FlatBufferItem(168)] public int DressupItemid168 { get; set; } - [FlatBufferItem(169)] public int DressupItemid169 { get; set; } - [FlatBufferItem(170)] public int DressupItemid170 { get; set; } - [FlatBufferItem(171)] public int DressupItemid171 { get; set; } - [FlatBufferItem(172)] public int DressupItemid172 { get; set; } - [FlatBufferItem(173)] public int DressupItemid173 { get; set; } - [FlatBufferItem(174)] public int DressupItemid174 { get; set; } - [FlatBufferItem(175)] public int DressupItemid175 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStyleDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStyleDataArray.cs deleted file mode 100644 index 5643922f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStyleDataArray.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupStyleDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DressupStyleData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupStyleData -{ - [FlatBufferItem(0)] public int DressupStyleId { get; set; } - [FlatBufferItem(1)] public DressupStyleType DressupStyleType { get; set; } - [FlatBufferItem(2)] public int Sortnum { get; set; } - [FlatBufferItem(3)] public string Name { get; set; } - [FlatBufferItem(4)] public int PatternNum { get; set; } - [FlatBufferItem(5)] public int MultiplePatternNum { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum DressupStyleType -{ - Eye = 0, - EyeColor = 1, - Eyelashes = 2, - EyelashesColor = 3, - Eyebrows = 4, - EyeBrowsColor = 5, - Mouth = 6, - Lip = 7, - Mole = 8, - Freckles = 9, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStylePresetDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStylePresetDataArray.cs deleted file mode 100644 index 5f751f42..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Dressup/DressupStylePresetDataArray.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupStylePresetDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DressupStylePresetData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DressupStylePresetData -{ - [FlatBufferItem(00)] public string Base { get; set; } - [FlatBufferItem(01)] public string Acc { get; set; } - [FlatBufferItem(02)] public string Bag { get; set; } - [FlatBufferItem(03)] public string EyeWear { get; set; } - [FlatBufferItem(04)] public string Foot { get; set; } - [FlatBufferItem(05)] public string Glove { get; set; } - [FlatBufferItem(06)] public string Head { get; set; } - [FlatBufferItem(07)] public string Hair { get; set; } - [FlatBufferItem(08)] public string Leg { get; set; } - [FlatBufferItem(09)] public string Uniform { get; set; } - [FlatBufferItem(10)] public string Face { get; set; } - [FlatBufferItem(11)] public int Gender { get; set; } - [FlatBufferItem(12)] public int SkinColor { get; set; } - [FlatBufferItem(13)] public int Lip { get; set; } - [FlatBufferItem(14)] public int EyeColor { get; set; } - [FlatBufferItem(15)] public int Eye { get; set; } - [FlatBufferItem(16)] public int EyeBrowsColor { get; set; } - [FlatBufferItem(17)] public int EyeBrows { get; set; } - [FlatBufferItem(18)] public int EyeBrowsVolume { get; set; } - [FlatBufferItem(19)] public int EyeLashesColor { get; set; } - [FlatBufferItem(20)] public int EyeLashes { get; set; } - [FlatBufferItem(21)] public int EyeLashesVolume { get; set; } - [FlatBufferItem(22)] public int Mouth { get; set; } - [FlatBufferItem(23)] public int Mole { get; set; } - [FlatBufferItem(24)] public int Freckles { get; set; } - [FlatBufferItem(25)] public int HairColor { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ClerkType.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ClerkType.cs deleted file mode 100644 index 3a68b84b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/ClerkType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum ClerkType -{ - CLERK = 0, - NO_CLERK = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/CondEnum.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/CondEnum.cs deleted file mode 100644 index 3c6267da..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/CondEnum.cs +++ /dev/null @@ -1,13 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum CondEnum -{ - NONE = 0, - SYSTEM_FLAG = 1, - SCENARIO = 2, - GYMBADGENUM = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/PayType.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/PayType.cs deleted file mode 100644 index b2518263..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/PayType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum PayType -{ - OKOZUKAI = 0, - LP = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/SellType.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/SellType.cs deleted file mode 100644 index 942a9a85..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Enums/SellType.cs +++ /dev/null @@ -1,11 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum SellType -{ - SELL_BUY = 0, - BUY_ONLY = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/DanQuestClearArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/DanQuestClearArray.cs deleted file mode 100644 index 31bd74d9..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/DanQuestClearArray.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DanQuestClearArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DanQuestClear[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DanQuestClear -{ - [FlatBufferItem(0)] public DanQuestClearNo ID { get; set; } - [FlatBufferItem(1)] public string EventNpcSceneName { get; set; } - [FlatBufferItem(2)] public string EventNpcObjName { get; set; } - [FlatBufferItem(3)] public string DanClearQuestType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum DanQuestClearNo -{ - NONE = 0, - HONOO = 1, - AKU = 2, - DOKU = 3, - KAKUTOU = 4, - FAIRY = 5, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/EventSkyFlyArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/EventSkyFlyArray.cs deleted file mode 100644 index a0cd7c60..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/EventSkyFlyArray.cs +++ /dev/null @@ -1,134 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventSkyFlyArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EventSkyFly[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventSkyFly -{ - [FlatBufferItem(00)] public string ID { get; set; } - [FlatBufferItem(01)] public MapIconKind MapIconKind { get; set; } - [FlatBufferItem(02)] public string FollowSceneName { get; set; } - [FlatBufferItem(03)] public string FollowObjectName { get; set; } - [FlatBufferItem(04)] public Vec3f FollowPositionOffset { get; set; } - [FlatBufferItem(05)] public Vec3f IconPosition { get; set; } - [FlatBufferItem(06)] public float EffectRadius { get; set; } - [FlatBufferItem(07)] public string ReleasePointFlagStr { get; set; } - [FlatBufferItem(08)] public bool IsIncludeSkyFly { get; set; } - [FlatBufferItem(09)] public float EndPlayerRotationY { get; set; } - [FlatBufferItem(10)] public EndCameraType EndCameraType { get; set; } - [FlatBufferItem(11)] public string EnableFlyFlagStr { get; set; } - [FlatBufferItem(12)] public SkyFlyPointType SkyFlyPointKind { get; set; } - [FlatBufferItem(13)] public Vec3f SkyFlyPointOffset { get; set; } - [FlatBufferItem(14)] public OnCursorDataKind OnCursorDataKind { get; set; } - [FlatBufferItem(15)] public string OnCursorDataID { get; set; } - [FlatBufferItem(16)] public string IconTextureReplaceFileName { get; set; } - [FlatBufferItem(17)] public bool IsDisplayInZoomOut { get; set; } - [FlatBufferItem(18)] public bool IsDisplayInZoomNormal { get; set; } - [FlatBufferItem(19)] public bool IsDisplayInZoomIn { get; set; } - [FlatBufferItem(20)] public string PointName { get; set; } - [FlatBufferItem(21)] public string ExInfoTextureName { get; set; } - [FlatBufferItem(22)] public string ExInfoTextLabelName { get; set; } - [FlatBufferItem(23)] public string IconThumbnailTextureName { get; set; } - [FlatBufferItem(24)] public IconDisplayLevel IconDisplayLevel { get; set; } - [FlatBufferItem(25)] public IconAnimPtn IconAnimPtn { get; set; } - [FlatBufferItem(26)] public IconColorPtn IconColorPtn { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum EndCameraType -{ - FRONT = 0, - BACK = 1, -} - -[FlatBufferEnum(typeof(int))] -public enum IconAnimPtn -{ - NONE = 0, - MUSHI = 1, - KUSA = 2, - MIZU = 3, - DENKI = 4, - NORMAL = 5, - KOORI = 6, - GHOST = 7, - ESPER = 8, - AKU = 9, - FAIRY = 10, - HONOO = 11, - DOKU = 12, - KAKUTOU = 13, - HIKOU = 14, - HAGANE = 15, - IWA = 16, - JIMEN = 17, - DRAGON = 18, -} - -[FlatBufferEnum(typeof(int))] -public enum IconColorPtn -{ - GYM = 0, - DAN = 1, - NUSHI = 2, - UTIL = 3, -} - -[FlatBufferEnum(typeof(int))] -public enum IconDisplayLevel -{ - FULLVIEW = 0, - ZOOMOUT = 1, - DEFAULT = 2, - ZOOMIN = 3, -} - -[FlatBufferEnum(typeof(int))] -public enum MapIconKind -{ - POKECEN = 0, - JIM = 1, - DAN = 2, - NUSHI = 3, - COMMON = 4, - TREASURE_RAID = 5, - GREAT_OCCUR = 6, - NETWORK_PLAYER = 7, - TOWN = 8, - HAIRSALON = 9, - BOUTIQUE = 10, - RESTAURANT = 11, - SHOP_UTIL = 12, - FOOD_SHOP = 13, - LANDMARK = 14, - IDO_JUNDEN = 15, - FLY_POINT = 16, -} - -[FlatBufferEnum(typeof(int))] -public enum OnCursorDataKind -{ - NONE = 0, - TOWN = 1, - POINT = 2, - MISSION = 3, -} - -[FlatBufferEnum(typeof(int))] -public enum SkyFlyPointType -{ - NORMAL = 0, - SAFETY = 1, - PLAYER = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/GymQuestClearArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/GymQuestClearArray.cs deleted file mode 100644 index 4b4bb6c6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/GymQuestClearArray.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymQuestClearArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public GymQuestClear[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GymQuestClear -{ - [FlatBufferItem(0)] public GymQuestClearNo ID { get; set; } - [FlatBufferItem(1)] public string EventNpcSceneName { get; set; } - [FlatBufferItem(2)] public string EventNpcObjName { get; set; } - [FlatBufferItem(3)] public string GymClearQuestType { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum GymQuestClearNo -{ - NONE = 0, - MUSHI = 1, - KUSA = 2, - MIZU = 3, - DENKI = 4, - NORMAL = 5, - KOORI = 6, - GHOST = 7, - ESPER = 8, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/NushiQuestClearArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/NushiQuestClearArray.cs deleted file mode 100644 index dfd00d4a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Quest/NushiQuestClearArray.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NushiQuestClearArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NushiQuestClear[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NushiQuestClear -{ - [FlatBufferItem(00)] public NushiQuestClearNo ID { get; set; } - [FlatBufferItem(01)] public string NushiClearQuestType { get; set; } - [FlatBufferItem(02)] public string TrackName { get; set; } - [FlatBufferItem(03)] public string EventNpcSceneName1 { get; set; } - [FlatBufferItem(04)] public string EventNpcObjectName1 { get; set; } - [FlatBufferItem(05)] public string EventNpcSceneName2 { get; set; } - [FlatBufferItem(06)] public string EventNpcObjectName2 { get; set; } - [FlatBufferItem(07)] public string EventNpcSceneName3 { get; set; } - [FlatBufferItem(08)] public string EventNpcObjectName3 { get; set; } - [FlatBufferItem(09)] public string EventNpcSceneName4 { get; set; } - [FlatBufferItem(10)] public string EventNpcObjectName4 { get; set; } - [FlatBufferItem(11)] public string EventNpcSceneName5 { get; set; } - [FlatBufferItem(12)] public string EventNpcObjectName5 { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum NushiQuestClearNo -{ - NONE = 0, - IWA = 1, - HAGANE = 2, - JIMEN = 3, - HIKOU = 4, - DRAGON = 5, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantMenuDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantMenuDataArray.cs deleted file mode 100644 index 36765e1e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantMenuDataArray.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RestaurantMenuDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RestaurantMenuData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RestaurantMenuData -{ - [FlatBufferItem(00)] public string Menuid { get; set; } - [FlatBufferItem(01)] public int Sortnum { get; set; } - [FlatBufferItem(02)] public bool IsPicnic { get; set; } - [FlatBufferItem(03)] public int FoodTextureIndex { get; set; } - [FlatBufferItem(04)] public string Cond { get; set; } - [FlatBufferItem(05)] public int Price { get; set; } - [FlatBufferItem(06)] public string Menuname { get; set; } - [FlatBufferItem(07)] public string MenuInfoText { get; set; } - [FlatBufferItem(08)] public string Bufid { get; set; } - [FlatBufferItem(09)] public TasteCategory TasteCategory { get; set; } - [FlatBufferItem(10)] public TasteDeliciousness TasteDeliciousness { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum TasteCategory -{ - Spicy = 0, - Sweet = 1, - Salty = 2, - Sour = 3, - Bitter = 4, -} - -[FlatBufferEnum(typeof(int))] -public enum TasteDeliciousness -{ - Bad = 0, - Normal = 1, - Delicious = 2, - VeryDelicious = 3, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantShopDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantShopDataArray.cs deleted file mode 100644 index 97ba8e59..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Restaurant/RestaurantShopDataArray.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RestaurantShopDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RestaurantShopData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RestaurantShopData -{ - [FlatBufferItem(0)] public string Shopid { get; set; } - [FlatBufferItem(1)] public string Shopname { get; set; } - [FlatBufferItem(2)] public string Shopsubname { get; set; } - [FlatBufferItem(3)] public PayType Paykind { get; set; } - [FlatBufferItem(4)] public string Menuid { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/SchoolMapDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/SchoolMapDataArray.cs deleted file mode 100644 index 3ef68ad1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/SchoolMapDataArray.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SchoolMapDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public SchoolMapData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SchoolMapData -{ - [FlatBufferItem(0)] public SchoolMapIDEnum MapID { get; set; } - [FlatBufferItem(1)] public string SystemFlagName { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum SchoolMapIDEnum -{ - Entrance = 0, - Dining = 1, - Shop = 2, - BiologicalRoom = 3, - ArtRoom = 4, - HomeEconomicsRoom = 5, - StaffRoom = 6, - PrincipalsRoom = 7, - HealthRoom = 8, - Schoolyard = 9, - PlayerClassRoom = 10, - Friend03ClassRoom = 11, - Friend02ClassRoom = 12, - PlayerRoom = 13, - Friend01Room = 14, - Friend02Room = 15, - Friend03Room = 16, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/FriendlyShopDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/FriendlyShopDataArray.cs deleted file mode 100644 index b803d71d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/FriendlyShopDataArray.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FriendlyShopDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FriendlyShopData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FriendlyShopData -{ - [FlatBufferItem(0)] public string Id { get; set; } - [FlatBufferItem(1)] public string ShopName { get; set; } - [FlatBufferItem(2)] public string ShopSubName { get; set; } - [FlatBufferItem(3)] public SellType SellType { get; set; } - [FlatBufferItem(4)] public PayType PayKind { get; set; } - [FlatBufferItem(5)] public string Lineup { get; set; } - [FlatBufferItem(6)] public ClerkType Clerktype { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/LineupDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/LineupDataArray.cs deleted file mode 100644 index 5cfbd928..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/LineupDataArray.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LineupDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public LineupData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LineupData -{ - [FlatBufferItem(0)] public string Lineupid { get; set; } - [FlatBufferItem(1)] public int Sortnum { get; set; } - [FlatBufferItem(2)] public ItemID Item { get; set; } - [FlatBufferItem(3)] public CondEnum ItemCondkind { get; set; } - [FlatBufferItem(4)] public string ItemCondvalue { get; set; } - [FlatBufferItem(5)] public int GymBadgeNum { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopDataArray.cs deleted file mode 100644 index 800b16ec..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopDataArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ShopDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ShopData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ShopData -{ - [FlatBufferItem(0)] public string ShopId { get; set; } - [FlatBufferItem(1)] public ShopKind ShopKind { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopWazamachineDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopWazamachineDataArray.cs deleted file mode 100644 index acc877ec..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/Shop/ShopWazamachineDataArray.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ShopWazamachineDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ShopWazamachineData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ShopWazamachineData -{ - [FlatBufferItem(00)] public int WazaNo { get; set; } - [FlatBufferItem(01)] public ItemID WazaItemID { get; set; } - [FlatBufferItem(02)] public int LP { get; set; } - [FlatBufferItem(03)] public CondEnum Cond { get; set; } - [FlatBufferItem(04)] public string CondValue { get; set; } - [FlatBufferItem(05)] public ItemID Item01 { get; set; } - [FlatBufferItem(06)] public int ItemNum01 { get; set; } - [FlatBufferItem(07)] public int DevNo01 { get; set; } - [FlatBufferItem(08)] public ItemID Item02 { get; set; } - [FlatBufferItem(09)] public int ItemNum02 { get; set; } - [FlatBufferItem(10)] public int DevNo02 { get; set; } - [FlatBufferItem(11)] public ItemID Item03 { get; set; } - [FlatBufferItem(12)] public int ItemNum03 { get; set; } - [FlatBufferItem(13)] public int DevNo03 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/TipsDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/TipsDataArray.cs deleted file mode 100644 index d91552b8..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/TipsDataArray.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TipsDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public TipsData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TipsData -{ - [FlatBufferItem(00)] public int Id { get; set; } - [FlatBufferItem(01)] public int Sortnum { get; set; } - [FlatBufferItem(02)] public string TipslistTitle { get; set; } - [FlatBufferItem(03)] public string Page1Title { get; set; } - [FlatBufferItem(04)] public string Page1Text { get; set; } - [FlatBufferItem(05)] public string Page1Pic { get; set; } - [FlatBufferItem(06)] public string Page2Title { get; set; } - [FlatBufferItem(07)] public string Page2Text { get; set; } - [FlatBufferItem(08)] public string Page2Pic { get; set; } - [FlatBufferItem(09)] public string Page3Title { get; set; } - [FlatBufferItem(10)] public string Page3Text { get; set; } - [FlatBufferItem(11)] public string Page3Pic { get; set; } - [FlatBufferItem(12)] public string Page4Title { get; set; } - [FlatBufferItem(13)] public string Page4Text { get; set; } - [FlatBufferItem(14)] public string Page4Pic { get; set; } - [FlatBufferItem(15)] public string Page5Title { get; set; } - [FlatBufferItem(16)] public string Page5Text { get; set; } - [FlatBufferItem(17)] public string Page5Pic { get; set; } - [FlatBufferItem(18)] public string Page6Title { get; set; } - [FlatBufferItem(19)] public string Page6Text { get; set; } - [FlatBufferItem(20)] public string Page6Pic { get; set; } - [FlatBufferItem(21)] public string Page7Title { get; set; } - [FlatBufferItem(22)] public string Page7Text { get; set; } - [FlatBufferItem(23)] public string Page7Pic { get; set; } - [FlatBufferItem(24)] public string Page8Title { get; set; } - [FlatBufferItem(25)] public string Page8Text { get; set; } - [FlatBufferItem(26)] public string Page8Pic { get; set; } - [FlatBufferItem(27)] public string Page9Title { get; set; } - [FlatBufferItem(28)] public string Page9Text { get; set; } - [FlatBufferItem(29)] public string Page9Pic { get; set; } - [FlatBufferItem(30)] public string Page10Title { get; set; } - [FlatBufferItem(31)] public string Page10Text { get; set; } - [FlatBufferItem(32)] public string Page10Pic { get; set; } - [FlatBufferItem(33)] public string NewflagName { get; set; } - [FlatBufferItem(34)] public string DispflagName { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/DestinationDataTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/DestinationDataTableArray.cs deleted file mode 100644 index 3ef4d026..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/DestinationDataTableArray.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DestinationDataTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DestinationDataTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DestinationDataTable -{ - [FlatBufferItem(0)] public string EventID { get; set; } - [FlatBufferItem(1)] public MapIconMode MapIconMode { get; set; } - [FlatBufferItem(2)] public string IconID { get; set; } - [FlatBufferItem(3)] public bool IsNotice { get; set; } - [FlatBufferItem(4)] public string ChapterTitle { get; set; } - [FlatBufferItem(5)] public string DestinationName { get; set; } - [FlatBufferItem(6)] public string SubDestinationName { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum MapIconMode -{ - INVISIBLE = 0, - ACTIVE = 1, - ADDON_MARK = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/NpcDestinationDataTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/NpcDestinationDataTableArray.cs deleted file mode 100644 index 6b0c224f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/NpcDestinationDataTableArray.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NpcDestinationDataTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public NpcDestinationDataTable[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class NpcDestinationDataTable -{ - [FlatBufferItem(0)] public string ID { get; set; } = string.Empty; - [FlatBufferItem(1)] public YmapNpcDistinationType Type { get; set; } - [FlatBufferItem(2)] public Vec3f Position { get; set; } = Vec3f.Zero; - [FlatBufferItem(3)] public string MapIconID { get; set; } = string.Empty; - [FlatBufferItem(4)] public string SceneName { get; set; } = string.Empty; - [FlatBufferItem(5)] public string ObjectName { get; set; } = string.Empty; - [FlatBufferItem(6)] public string MstxtLabel { get; set; } = string.Empty; -} - -[FlatBufferEnum(typeof(int))] -public enum YmapNpcDistinationType -{ - POSITION_XYZ = 0, - MAPICON_ID = 1, - SCENE_OBJECT = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/PlaceNameDataTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/PlaceNameDataTableArray.cs deleted file mode 100644 index db5ffb61..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/UI/ymap/PlaceNameDataTableArray.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.ComponentModel; -using FlatSharp.Attributes; - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlaceNameDataTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PlaceNameDataTable[] Table { get; set; } = Array.Empty(); -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlaceNameDataTable -{ - [FlatBufferItem(0)] public string ID { get; set; } = string.Empty; - [FlatBufferItem(1)] public string PlaceNameMstxtLabl { get; set; } = string.Empty; - [FlatBufferItem(2)] public Vec3f Field3DPos { get; set; } = Vec3f.Zero; - [FlatBufferItem(3)] public bool IsDisplayInZoomOut { get; set; } - [FlatBufferItem(4)] public bool IsDisplayInZoomNormal { get; set; } - [FlatBufferItem(5)] public bool IsDisplayInZoomIn { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaInfo.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaInfo.cs deleted file mode 100644 index 4bb3092b..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaInfo.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaInfo -{ - [FlatBufferItem(00)] public AreaType Type { get; set; } - [FlatBufferItem(01)] public string LocationNameMain { get; set; } - [FlatBufferItem(02)] public string LocationNameSub { get; set; } - [FlatBufferItem(03)] public string Bgm { get; set; } - [FlatBufferItem(04)] public string EnvBaseSound { get; set; } - [FlatBufferItem(05)] public string WeatherTable { get; set; } - [FlatBufferItem(06)] public string LightFileP1 { get; set; } - [FlatBufferItem(07)] public string LightFileP2 { get; set; } - [FlatBufferItem(08)] public string LightFileP3 { get; set; } - [FlatBufferItem(09)] public float ShadowClipHeightOffset { get; set; } - [FlatBufferItem(10)] public float ShadowClipHeightMinOffset { get; set; } - [FlatBufferItem(11)] public bool DisableLightOffset { get; set; } - [FlatBufferItem(12)] public bool NoDisplayLocationName { get; set; } - [FlatBufferItem(13)] public bool NoRide { get; set; } - [FlatBufferItem(14)] public bool NoFly { get; set; } - [FlatBufferItem(15)] public bool NoPicnic { get; set; } - [FlatBufferItem(16)] public bool NoPartner { get; set; } - [FlatBufferItem(17)] public bool NoSpawnSection { get; set; } - [FlatBufferItem(18)] public bool NoPokeExchange { get; set; } - [FlatBufferItem(19)] public bool NoOcclusionCulling { get; set; } - [FlatBufferItem(20)] public int MinEncLv { get; set; } - [FlatBufferItem(21)] public int MaxEncLv { get; set; } - [FlatBufferItem(22)] public EncBiome BaseBiome { get; set; } - [FlatBufferItem(23)] public AreaTag Tag { get; set; } - [FlatBufferItem(24)] public OverrideBiome OverrideBiome { get; set; } - - public int ActualMinLevel => MinEncLv != 0 ? MinEncLv : 1; - public int ActualMaxLevel => MaxEncLv != 0 ? MaxEncLv : 100; -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaType.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaType.cs deleted file mode 100644 index 0ac286d6..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/AreaType.cs +++ /dev/null @@ -1,14 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum AreaType -{ - Default = 0, - Field = 1, - Town = 2, - Cave = 3, - Room = 4, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/BandType.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/BandType.cs deleted file mode 100644 index bdeb9af5..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/BandType.cs +++ /dev/null @@ -1,12 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(short))] -public enum BandType : short -{ - NONE = 0, - SAME = 1, - BOSS = 2, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/BringItem.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/BringItem.cs deleted file mode 100644 index 513d33d2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/BringItem.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class BringItem -{ - [FlatBufferItem(0)] public ItemID ItemID { get; set; } - [FlatBufferItem(1)] public sbyte BringRate { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/EnableTable.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/EnableTable.cs deleted file mode 100644 index c0c63604..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/EnableTable.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class EnableTable -{ - [FlatBufferItem(0)] public bool Land { get; set; } - [FlatBufferItem(1)] public bool UpWater { get; set; } - [FlatBufferItem(2)] public bool Underwater { get; set; } - [FlatBufferItem(3)] public bool Air1 { get; set; } - [FlatBufferItem(4)] public bool Air2 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldDungeonAreaArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldDungeonAreaArray.cs deleted file mode 100644 index 2ca5f6eb..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldDungeonAreaArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldDungeonAreaArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldDungeonArea[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldDungeonArea -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public AreaInfo AreaInfo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldInsideAreaArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldInsideAreaArray.cs deleted file mode 100644 index a45e08b7..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldInsideAreaArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldInsideAreaArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldInsideArea[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldInsideArea -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public AreaInfo AreaInfo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldLocationArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldLocationArray.cs deleted file mode 100644 index 92ad318a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldLocationArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldLocationArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldLocation[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldLocation -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public AreaInfo AreaInfo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldMainAreaArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldMainAreaArray.cs deleted file mode 100644 index 6a583254..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldMainAreaArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldMainAreaArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldMainArea[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldMainArea -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public AreaInfo AreaInfo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldSubAreaArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldSubAreaArray.cs deleted file mode 100644 index 451fb00d..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/FieldSubAreaArray.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldSubAreaArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldSubArea[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldSubArea -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public AreaInfo AreaInfo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Area/OverrideBiome.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Area/OverrideBiome.cs deleted file mode 100644 index e6be4fec..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Area/OverrideBiome.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class OverrideBiome -{ - [FlatBufferItem(0)] public FieldAttrKey Attr1 { get; set; } - [FlatBufferItem(1)] public EncBiome Biome1 { get; set; } - [FlatBufferItem(2)] public FieldAttrKey Attr2 { get; set; } - [FlatBufferItem(3)] public EncBiome Biome2 { get; set; } - [FlatBufferItem(4)] public FieldAttrKey Attr3 { get; set; } - [FlatBufferItem(5)] public EncBiome Biome3 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/EncountPokeDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/EncountPokeDataArray.cs deleted file mode 100644 index 02bfe1b0..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/EncountPokeDataArray.cs +++ /dev/null @@ -1,49 +0,0 @@ -using FlatSharp.Attributes; -using System.ComponentModel; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncountPokeDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EncountPokeData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EncountPokeData -{ - [FlatBufferItem(00)] public DevID DevId { get; set; } - [FlatBufferItem(01)] public SexType Sex { get; set; } - [FlatBufferItem(02)] public sbyte Form { get; set; } - [FlatBufferItem(03)] public short MinLevel { get; set; } - [FlatBufferItem(04)] public short MaxLevel { get; set; } - [FlatBufferItem(05)] public short LotValue { get; set; } - [FlatBufferItem(06)] public Biome Biome1 { get; set; } - [FlatBufferItem(07)] public short LotValue1 { get; set; } - [FlatBufferItem(08)] public Biome Biome2 { get; set; } - [FlatBufferItem(09)] public short LotValue2 { get; set; } - [FlatBufferItem(10)] public Biome Biome3 { get; set; } - [FlatBufferItem(11)] public short LotValue3 { get; set; } - [FlatBufferItem(12)] public Biome Biome4 { get; set; } - [FlatBufferItem(13)] public short LotValue4 { get; set; } - [FlatBufferItem(14)] public string Area { get; set; } - [FlatBufferItem(15)] public string LocationName { get; set; } - [FlatBufferItem(16)] public int MinHeight { get; set; } - [FlatBufferItem(17)] public int MaxHeight { get; set; } - [FlatBufferItem(18)] public EnableTable EnableTable { get; set; } - [FlatBufferItem(19)] public TimeTable TimeTable { get; set; } - [FlatBufferItem(20)] public string FlagName { get; set; } - [FlatBufferItem(21)] public short BandRate { get; set; } - [FlatBufferItem(22)] public BandType BandType { get; set; } - [FlatBufferItem(23)] public DevID BandPoke { get; set; } - [FlatBufferItem(24)] public SexType BandSex { get; set; } - [FlatBufferItem(25)] public sbyte BandForm { get; set; } - [FlatBufferItem(26)] public sbyte OutbreakLotValue { get; set; } - [FlatBufferItem(27)] public string PokeVoiceClassification { get; set; } - [FlatBufferItem(28)] public VersionTable VersionTable { get; set; } - [FlatBufferItem(29)] public BringItem BringItem { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/EventBattlePokemonArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/EventBattlePokemonArray.cs deleted file mode 100644 index f8d76a8c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/EventBattlePokemonArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using FlatSharp.Attributes; -using System.ComponentModel; -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -// ReSharper disable UnusedMember.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventBattlePokemonArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public EventBattlePokemon[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EventBattlePokemon -{ - [FlatBufferItem(0)] public string Label { get; set; } - [FlatBufferItem(1)] public PokeDataEventBattle PokeData { get; set; } - [FlatBufferItem(2)] public bool DisableBattleOut { get; set; } - [FlatBufferItem(3)] public bool EventEncount { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/AreaFlyFlagArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/AreaFlyFlagArray.cs deleted file mode 100644 index ade351fd..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/AreaFlyFlagArray.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaFlyFlagArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public AreaFlyFlag[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AreaFlyFlag -{ - [FlatBufferItem(0)] public string AreaName { get; set; } - [FlatBufferItem(1)] public string FlyFlag1 { get; set; } - [FlatBufferItem(2)] public string FlyFlag2 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/CoinSymbolManager.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/CoinSymbolManager.cs deleted file mode 100644 index cd24a88f..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/CoinSymbolManager.cs +++ /dev/null @@ -1,69 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CoinSymbolManager -{ - [FlatBufferItem(0)] public float WalkFetchRange { get; set; } - [FlatBufferItem(1)] public float WalkReleaseRange { get; set; } - [FlatBufferItem(2)] public float BoxFetchRange { get; set; } - [FlatBufferItem(3)] public float BoxReleaseRange { get; set; } - [FlatBufferItem(4)] public BoxRevival BoxRevival { get; set; } - [FlatBufferItem(5)] public WalkRevival WalkRevival { get; set; } - [FlatBufferItem(6)] public float WalkVoiceLength { get; set; } - [FlatBufferItem(7)] public int WalkVoiceIntervalMin { get; set; } - [FlatBufferItem(8)] public int WalkVoiceIntervalMax { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BoxRevival -{ - [FlatBufferItem(0)] public int RevivalRate { get; set; } - [FlatBufferItem(1)] public CoinQuantityData QuantityData { get; set; } - [FlatBufferItem(2)] public CoinNumData NumData { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class WalkRevival -{ - [FlatBufferItem(0)] public int RevivalRate { get; set; } - [FlatBufferItem(1)] public CoinQuantityData QuantityData { get; set; } - [FlatBufferItem(2)] public CoinNumData NumData { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CoinQuantityData -{ - [FlatBufferItem(0)] public CoinRevivalLotteryData Lottery00 { get; set; } - [FlatBufferItem(1)] public CoinRevivalLotteryData Lottery01 { get; set; } - [FlatBufferItem(2)] public CoinRevivalLotteryData Lottery02 { get; set; } - [FlatBufferItem(3)] public CoinRevivalLotteryData Lottery03 { get; set; } - [FlatBufferItem(4)] public CoinRevivalLotteryData Lottery04 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CoinNumData -{ - [FlatBufferItem(0)] public CoinRevivalLotteryData Lottery00 { get; set; } - [FlatBufferItem(1)] public CoinRevivalLotteryData Lottery01 { get; set; } - [FlatBufferItem(2)] public CoinRevivalLotteryData Lottery02 { get; set; } - [FlatBufferItem(3)] public CoinRevivalLotteryData Lottery03 { get; set; } - [FlatBufferItem(4)] public CoinRevivalLotteryData Lottery04 { get; set; } - [FlatBufferItem(5)] public CoinRevivalLotteryData Lottery05 { get; set; } - [FlatBufferItem(6)] public CoinRevivalLotteryData Lottery06 { get; set; } - [FlatBufferItem(7)] public CoinRevivalLotteryData Lottery07 { get; set; } - [FlatBufferItem(8)] public CoinRevivalLotteryData Lottery08 { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class CoinRevivalLotteryData -{ - [FlatBufferItem(0)] public int Rate { get; set; } - [FlatBufferItem(1)] public int Num { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/ExclusionGroupArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/ExclusionGroupArray.cs deleted file mode 100644 index 805b5342..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/ExclusionGroupArray.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ExclusionGroupArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public ExclusionGroup[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ExclusionGroup -{ - [FlatBufferItem(0)] public string Id { get; set; } - [FlatBufferItem(1)] public ExclusionContentSet Content { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ExclusionContentSet -{ - [FlatBufferItem(0)] public bool RaidGem { get; set; } - [FlatBufferItem(1)] public bool Item { get; set; } - [FlatBufferItem(2)] public bool SymbolPokemon { get; set; } - [FlatBufferItem(3)] public bool CommonNpc { get; set; } - [FlatBufferItem(4)] public bool TrafficNpc { get; set; } - [FlatBufferItem(5)] public bool CoinPokemon { get; set; } - [FlatBufferItem(6)] public bool PartnerPokemon { get; set; } - [FlatBufferItem(7)] public bool Picnic { get; set; } - [FlatBufferItem(8)] public bool Rotom { get; set; } - [FlatBufferItem(9)] public bool OtherPlayerThings { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutoReturnPosTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutoReturnPosTableArray.cs deleted file mode 100644 index ff1c4c48..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutoReturnPosTableArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldAutoReturnPosTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldAutoReturnPosTable[] Table{ get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldAutoReturnPosTable -{ - [FlatBufferItem(0)] public string Name { get; set; } - [FlatBufferItem(1)] public float PosX { get; set; } - [FlatBufferItem(2)] public float PosY { get; set; } - [FlatBufferItem(3)] public float PosZ { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutomaticReturnTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutomaticReturnTableArray.cs deleted file mode 100644 index fe7cd629..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldAutomaticReturnTableArray.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldAutomaticReturnTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldAutomaticReturnTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldAutomaticReturnTable -{ - [FlatBufferItem(0)] public float AutoReturnFallTime { get; set; } - [FlatBufferItem(1)] public float AutoReturnSlideTime { get; set; } - [FlatBufferItem(2)] public float AutoReturnMoveAmount { get; set; } - [FlatBufferItem(3)] public float AutoReturnTiltAngle { get; set; } - [FlatBufferItem(4)] public float CliffReturnHeavyLandingHeight { get; set; } - [FlatBufferItem(5)] public float CliffReturnInvalidDistance { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldCamera.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldCamera.cs deleted file mode 100644 index 142dc653..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldCamera.cs +++ /dev/null @@ -1,83 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldCamera -{ - [FlatBufferItem(00)] public float CenterDistance { get; set; } - [FlatBufferItem(01)] public float TopDistance { get; set; } - [FlatBufferItem(02)] public float BottomDistance { get; set; } - [FlatBufferItem(03)] public Vec3f GazeOffset { get; set; } - [FlatBufferItem(04)] public float RotationTurn { get; set; } - [FlatBufferItem(05)] public float RotationPitch { get; set; } - [FlatBufferItem(06)] public float PitchCenter { get; set; } - [FlatBufferItem(07)] public float PitchUpperMax { get; set; } - [FlatBufferItem(08)] public float PitchLowerMax { get; set; } - [FlatBufferItem(09)] public float FollowFactor { get; set; } - [FlatBufferItem(10)] public float WallOffset { get; set; } - [FlatBufferItem(11)] public float FloorOffset { get; set; } - [FlatBufferItem(12)] public float DistanceMin { get; set; } - [FlatBufferItem(13)] public float DistanceMax { get; set; } - [FlatBufferItem(14)] public float RevertFactor { get; set; } - [FlatBufferItem(15)] public float DepthFollowFactor { get; set; } - [FlatBufferItem(16)] public float DepthFollowLerpExponential { get; set; } - [FlatBufferItem(17)] public float ZoomHoldTime { get; set; } - [FlatBufferItem(18)] public float ZoomDistance { get; set; } - [FlatBufferItem(19)] public float StickTolerance { get; set; } - [FlatBufferItem(20)] public FieldCameraHidData Hid { get; set; } - [FlatBufferItem(21)] public FieldCameraTrackingData Tracking { get; set; } - [FlatBufferItem(22)] public FieldCameraOrbitRotationData Orbit { get; set; } - [FlatBufferItem(23)] public FieldCameraLockOnData LockOn { get; set; } - [FlatBufferItem(24)] public FieldCameraCollisionData Collision { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldCameraTrackingData -{ - [FlatBufferItem(0)] public Vec3f TrackingOffset { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldCameraOrbitRotationData -{ - [FlatBufferItem(0)] public float TargetMoveTolerance { get; set; } - [FlatBufferItem(1)] public float AutoRotationTimeTolerance { get; set; } - [FlatBufferItem(2)] public float AutoRotationYawSpeed { get; set; } - [FlatBufferItem(3)] public float AutoRotationPitchSpeed { get; set; } - [FlatBufferItem(4)] public float RotationYawSpeed { get; set; } - [FlatBufferItem(5)] public float RotationPitchSpeed { get; set; } - [FlatBufferItem(6)] public float DefaultResetRotationTime { get; set; } - [FlatBufferItem(7)] public float DefaultEasingPosTime { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldCameraLockOnData -{ - [FlatBufferItem(0)] public float RotationYawSpeed { get; set; } - [FlatBufferItem(1)] public float RotationPitchSpeed { get; set; } - [FlatBufferItem(2)] public float PitchMax { get; set; } - [FlatBufferItem(3)] public float PitchMin { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldCameraHidData -{ - [FlatBufferItem(0)] public float StickTolerance { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldCameraCollisionData -{ - [FlatBufferItem(0)] public float ResolveSpeed { get; set; } - [FlatBufferItem(1)] public float ResolveStartMargin { get; set; } - [FlatBufferItem(2)] public float DistanceLimitMax { get; set; } - [FlatBufferItem(3)] public float DistanceLimitMin { get; set; } - [FlatBufferItem(4)] public float DistanceToWater { get; set; } - [FlatBufferItem(5)] public float CastLengthToWater { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldInteriorCamera.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldInteriorCamera.cs deleted file mode 100644 index dbf8e721..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldInteriorCamera.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldInteriorCamera -{ - [FlatBufferItem(0)] public Range Yaw { get; set; } - [FlatBufferItem(1)] public Range Pitch { get; set; } - [FlatBufferItem(2)] public float Distance { get; set; } - [FlatBufferItem(3)] public float DelayFactor { get; set; } - [FlatBufferItem(4)] public Vec3f Offset { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Range -{ - [FlatBufferItem(0)] public float Origin { get; set; } - [FlatBufferItem(1)] public float Max { get; set; } - [FlatBufferItem(2)] public float Min { get; set; } -} - diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldOutOfRangeTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldOutOfRangeTableArray.cs deleted file mode 100644 index b6385931..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldOutOfRangeTableArray.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldOutOfRangeTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FieldOutOfRangeTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldOutOfRangeTable -{ - [FlatBufferItem(0)] public float OutOfRangeLowerX { get; set; } - [FlatBufferItem(1)] public float OutOfRangeLowerY { get; set; } - [FlatBufferItem(2)] public float OutOfRangeLowerZ { get; set; } - [FlatBufferItem(3)] public float OutOfRangeUpperX { get; set; } - [FlatBufferItem(4)] public float OutOfRangeUpperY { get; set; } - [FlatBufferItem(5)] public float OutOfRangeUpperZ { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldPlayer.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldPlayer.cs deleted file mode 100644 index 083a5909..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldPlayer.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldPlayer -{ - [FlatBufferItem(00)] public GravityParameter Gravity { get; set; } - [FlatBufferItem(01)] public InputParameter Input { get; set; } - [FlatBufferItem(02)] public MoveParameter Move { get; set; } - [FlatBufferItem(03)] public TotterParameter Totter { get; set; } - [FlatBufferItem(04)] public GroundParameter Ground { get; set; } - [FlatBufferItem(05)] public SlideDropParameter SlideDrop { get; set; } - [FlatBufferItem(06)] public LadderParameter Ladder { get; set; } - [FlatBufferItem(07)] public FacialParameter Facial { get; set; } - [FlatBufferItem(08)] public PlayerUniqueParameter Unique { get; set; } - [FlatBufferItem(09)] public GroundKinesisParameter GroundKinesis { get; set; } - [FlatBufferItem(10)] public AerialKinesisParameter AerialKinesis { get; set; } - [FlatBufferItem(11)] public SlideDropKinesisParameter SlideDropKinesis { get; set; } - [FlatBufferItem(12)] public SquatKinesisParameter SquatKinesis { get; set; } - [FlatBufferItem(13)] public SlidingKinesisParameter SlidingKinesis { get; set; } - [FlatBufferItem(14)] public SelfieParameter Selfie { get; set; } - [FlatBufferItem(15)] public FloatationParameter Floatation { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TotterParameter -{ - [FlatBufferItem(0)] public float Interval { get; set; } - [FlatBufferItem(1)] public float Height { get; set; } - [FlatBufferItem(2)] public float DistanceMax { get; set; } - [FlatBufferItem(3)] public float BackDistance { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SelfieParameter -{ - [FlatBufferItem(0)] public float MaxFactor { get; set; } - [FlatBufferItem(1)] public float RotAngleMax { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PlayerUniqueParameter -{ - [FlatBufferItem(00)] public float IdlingIntervalMin { get; set; } - [FlatBufferItem(01)] public float IdlingIntervalMax { get; set; } - [FlatBufferItem(02)] public int FacialIdlingCountMin { get; set; } - [FlatBufferItem(03)] public int FacialIdlingCountMax { get; set; } - [FlatBufferItem(04)] public float RunFacialIntervalMin { get; set; } - [FlatBufferItem(05)] public float RunFacialIntervalMax { get; set; } - [FlatBufferItem(06)] public float RunMouthIntervalMin { get; set; } - [FlatBufferItem(07)] public float RunMouthIntervalMax { get; set; } - [FlatBufferItem(08)] public float SlideDropLeanAngle { get; set; } - [FlatBufferItem(09)] public float SlideDropFwdAngle { get; set; } - [FlatBufferItem(10)] public float SquatRate { get; set; } - [FlatBufferItem(11)] public float RideChangeCheckHeight { get; set; } - [FlatBufferItem(12)] public float RideChangeBottomOffset { get; set; } - [FlatBufferItem(13)] public float RideChangeRadiusScale { get; set; } - [FlatBufferItem(14)] public float HiddenMargin { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class LadderParameter -{ - [FlatBufferItem(0)] public float LowerCorrectRate { get; set; } - [FlatBufferItem(1)] public float UpperCorrectRate { get; set; } - [FlatBufferItem(2)] public float UpperLaunchAngle { get; set; } - [FlatBufferItem(3)] public float LowerLaunchAngle { get; set; } - [FlatBufferItem(4)] public float UpperForwardAngle { get; set; } - [FlatBufferItem(5)] public float LowerForwardAngle { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldRide.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldRide.cs deleted file mode 100644 index 8a358e6a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/FieldRide.cs +++ /dev/null @@ -1,436 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FieldRide -{ - [FlatBufferItem(00)] public UniqueParameter Unique { get; set; } - [FlatBufferItem(01)] public GravityParameter Gravity { get; set; } - [FlatBufferItem(02)] public InputParameter Input { get; set; } - [FlatBufferItem(03)] public MoveParameter Move { get; set; } - [FlatBufferItem(04)] public JumpParameter Jump { get; set; } - [FlatBufferItem(05)] public GroundParameter Ground { get; set; } - [FlatBufferItem(06)] public DashParameter Dash { get; set; } - [FlatBufferItem(07)] public ClimbParameter Climb { get; set; } - [FlatBufferItem(08)] public SlideDropParameter SlideDrop { get; set; } - [FlatBufferItem(09)] public GroundKinesisParameter GroundKinesis { get; set; } - [FlatBufferItem(10)] public AerialKinesisParameter AerialKinesis { get; set; } - [FlatBufferItem(11)] public SlideDropKinesisParameter SlideDropKinesis { get; set; } - [FlatBufferItem(12)] public GlideKinesisParameter GlideKinesis { get; set; } - [FlatBufferItem(13)] public GlideParameter Glide { get; set; } - [FlatBufferItem(14)] public SwimKinesisParameter SwimKinesis { get; set; } - [FlatBufferItem(15)] public SwimKinesisParameter BadSwimKinesis { get; set; } - [FlatBufferItem(16)] public FloatationParameter Floatation { get; set; } - [FlatBufferItem(17)] public FacialParameter Facial { get; set; } - [FlatBufferItem(18)] public EffectParameter Effect { get; set; } - [FlatBufferItem(19)] public FlightKinesisParameter FlightKinesis { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class UniqueParameter -{ - [FlatBufferItem(0)] public float FrontLegDistance { get; set; } - [FlatBufferItem(1)] public float RearLegDistance { get; set; } - [FlatBufferItem(2)] public float GlideTurnCameraFactor { get; set; } - [FlatBufferItem(3)] public float IdlingIntervalMin { get; set; } - [FlatBufferItem(4)] public float IdlingIntervalMax { get; set; } - [FlatBufferItem(5)] public float ImpactAngle { get; set; } - [FlatBufferItem(6)] public float TreeImpactRate { get; set; } - [FlatBufferItem(7)] public float RollbackDepth { get; set; } - [FlatBufferItem(8)] public ChangeOffsetSet ChangeOffsetA { get; set; } - [FlatBufferItem(9)] public ChangeOffsetSet ChangeOffsetB { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SwimKinesisParameter -{ - [FlatBufferItem(0)] public float SelfSpeedMax { get; set; } - [FlatBufferItem(1)] public float Accel { get; set; } - [FlatBufferItem(2)] public float Friction { get; set; } - [FlatBufferItem(3)] public float MinGripAngle { get; set; } - [FlatBufferItem(4)] public float MaxGripAngle { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SquatKinesisParameter -{ - [FlatBufferItem(0)] public float SpeedFixed { get; set; } - [FlatBufferItem(1)] public float SlipFriction { get; set; } - [FlatBufferItem(2)] public float GripFactor { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SlidingKinesisParameter -{ - [FlatBufferItem(0)] public float Friction { get; set; } - [FlatBufferItem(1)] public float SlipFriction { get; set; } - [FlatBufferItem(2)] public float InitVelocityRate { get; set; } - [FlatBufferItem(3)] public float BreakDecrease { get; set; } - [FlatBufferItem(4)] public float BreakIncrease { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SlideDropParameter -{ - [FlatBufferItem(0)] public float ForwardDirFactor { get; set; } - [FlatBufferItem(1)] public float BackwardDirFactor { get; set; } - [FlatBufferItem(2)] public float UpwardDirFactor { get; set; } - [FlatBufferItem(3)] public float BackwardTime { get; set; } - [FlatBufferItem(4)] public float LeanFactor { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SlideDropKinesisParameter -{ - [FlatBufferItem(00)] public float ForwardGripFactor { get; set; } - [FlatBufferItem(01)] public float BackwardGripFactor { get; set; } - [FlatBufferItem(02)] public float Accel { get; set; } - [FlatBufferItem(03)] public float Friction { get; set; } - [FlatBufferItem(04)] public float SpeedMax { get; set; } - [FlatBufferItem(05)] public float CurveAngle { get; set; } - [FlatBufferItem(06)] public float SpeedUpInputThreshold { get; set; } - [FlatBufferItem(07)] public float SideInputTolerance { get; set; } - [FlatBufferItem(08)] public float SideMaxVelocityRate { get; set; } - [FlatBufferItem(09)] public float SideFriction { get; set; } - [FlatBufferItem(10)] public float SpeedUpRate { get; set; } - [FlatBufferItem(11)] public float SpeedDownRate { get; set; } - [FlatBufferItem(12)] public float ForwardSideAccel { get; set; } - [FlatBufferItem(13)] public float BackwardSideAccel { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class RadialBlurParameter -{ - // EaseFloatValue[3] - // EaseFloatValue[3] - [FlatBufferItem(00)] public EaseFloatValue Intensities0 { get; set; } - [FlatBufferItem(01)] public EaseFloatValue Intensities1 { get; set; } - [FlatBufferItem(02)] public EaseFloatValue Intensities2 { get; set; } - [FlatBufferItem(03)] public EaseFloatValue Offsets0 { get; set; } - [FlatBufferItem(04)] public EaseFloatValue Offsets1 { get; set; } - [FlatBufferItem(05)] public EaseFloatValue Offsets2 { get; set; } - [FlatBufferItem(06)] public float Duration { get; set; } - [FlatBufferItem(07)] public float YawLimit { get; set; } - [FlatBufferItem(08)] public float PitchLimit { get; set; } - [FlatBufferItem(09)] public float KillTime { get; set; } - [FlatBufferItem(10)] public Easing KillEase { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class OffsetVector -{ - [FlatBufferItem(0)] public float X { get; set; } - [FlatBufferItem(1)] public float Y { get; set; } - [FlatBufferItem(2)] public float Z { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MoveParameter -{ - [FlatBufferItem(00)] public float PitchFactor { get; set; } - [FlatBufferItem(01)] public float LeanAngle { get; set; } - [FlatBufferItem(02)] public float LeanFactor { get; set; } - [FlatBufferItem(03)] public float RotationFactor { get; set; } - [FlatBufferItem(04)] public float ReverseSpeedFactor { get; set; } - [FlatBufferItem(05)] public float ReverseTurnAngle { get; set; } - [FlatBufferItem(06)] public float ReverseFrictionFactor { get; set; } - [FlatBufferItem(07)] public float LightLandingHeight { get; set; } - [FlatBufferItem(08)] public float HeavyLandingHeight { get; set; } - [FlatBufferItem(09)] public int DynamicsResetCount { get; set; } - [FlatBufferItem(10)] public int SpinCount { get; set; } - [FlatBufferItem(11)] public float SpinMaxSpeed { get; set; } - [FlatBufferItem(12)] public float SpinMaxAnimationSpeed { get; set; } - [FlatBufferItem(13)] public float SpinInterpolation { get; set; } - [FlatBufferItem(14)] public float SlideDropToleranceTime { get; set; } - [FlatBufferItem(15)] public float StopToleranceTime { get; set; } - [FlatBufferItem(16)] public float TurnStickDiffThreashold { get; set; } - [FlatBufferItem(17)] public float SliderModeRate { get; set; } - [FlatBufferItem(18)] public float BallThrowFrictionFactor { get; set; } - [FlatBufferItem(19)] public float BallThrowBackFrictionFactor { get; set; } - [FlatBufferItem(20)] public float UnlandablePushVelocity { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class JumpParameter -{ - [FlatBufferItem(0)] public float HeightHi { get; set; } - [FlatBufferItem(1)] public float HeightLow { get; set; } - [FlatBufferItem(2)] public float TapDuration { get; set; } - [FlatBufferItem(3)] public float WaterHeightHi { get; set; } - [FlatBufferItem(4)] public float WaterHeightLow { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class InputParameter -{ - [FlatBufferItem(0)] public float StickTolerance { get; set; } - [FlatBufferItem(1)] public float SpinThreshold { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GroundParameter -{ - [FlatBufferItem(0)] public float SlideDropThreshold { get; set; } - [FlatBufferItem(1)] public float VerticalMargin { get; set; } - [FlatBufferItem(2)] public float WallHitAngle { get; set; } - [FlatBufferItem(3)] public float WaterDraftLine { get; set; } - [FlatBufferItem(4)] public float WaterSurfaceMargin { get; set; } - [FlatBufferItem(5)] public float WaterWithstandLine { get; set; } - [FlatBufferItem(6)] public float UnderWaterThreshold { get; set; } - [FlatBufferItem(7)] public float ShallowWaterThreshold { get; set; } - [FlatBufferItem(8)] public float AcceptableRadiusRate { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GroundKinesisParameter -{ - [FlatBufferItem(00)] public float FirstSpeedMax { get; set; } - [FlatBufferItem(01)] public float SecondSpeedMax { get; set; } - [FlatBufferItem(02)] public float SlowSpeedMax { get; set; } - [FlatBufferItem(03)] public float FirstAccel { get; set; } - [FlatBufferItem(04)] public float SecondAccel { get; set; } - [FlatBufferItem(05)] public float SlowAccel { get; set; } - [FlatBufferItem(06)] public float Friction { get; set; } - [FlatBufferItem(07)] public float SlipFriction { get; set; } - [FlatBufferItem(08)] public float SlipFrictionExp { get; set; } - [FlatBufferItem(09)] public float MaxGripFactor { get; set; } - [FlatBufferItem(10)] public float MinGripFactor { get; set; } - [FlatBufferItem(11)] public float RunStickThreshold { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GravityParameter -{ - [FlatBufferItem(0)] public float Accel { get; set; } - [FlatBufferItem(1)] public float SpeedMax { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GlideParameter -{ - [FlatBufferItem(0)] public float DampingRate { get; set; } - [FlatBufferItem(1)] public float DampingThreshold { get; set; } - [FlatBufferItem(2)] public float StaminaMax { get; set; } - [FlatBufferItem(3)] public float StaminaCost { get; set; } - [FlatBufferItem(4)] public float StaminaGain { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GlideKinesisParameter -{ - [FlatBufferItem(0)] public float SelfSpeedMax { get; set; } - [FlatBufferItem(1)] public float Accel { get; set; } - [FlatBufferItem(2)] public float Friction { get; set; } - [FlatBufferItem(3)] public float MinGripAngle { get; set; } - [FlatBufferItem(4)] public float MaxGripAngle { get; set; } - [FlatBufferItem(5)] public float GravityRate { get; set; } - [FlatBufferItem(6)] public float FlareSpeedMax { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FloatationParameter -{ - [FlatBufferItem(0)] public float Floatage { get; set; } - [FlatBufferItem(1)] public float Dumping { get; set; } - [FlatBufferItem(2)] public float SpeedMax { get; set; } - [FlatBufferItem(3)] public float SurfaceDumpingRate { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FlightKinesisParameter -{ - [FlatBufferItem(00)] public float Accel { get; set; } - [FlatBufferItem(01)] public float PitchMaxUpAngle { get; set; } - [FlatBufferItem(02)] public float PitchMaxDownAngle { get; set; } - [FlatBufferItem(03)] public float PitchMaxTotalAngle { get; set; } - [FlatBufferItem(04)] public float YawAngleSpeed { get; set; } - [FlatBufferItem(05)] public float PitchAngleSpeed { get; set; } - [FlatBufferItem(06)] public float PitchUpSpeedRate { get; set; } - [FlatBufferItem(07)] public float PitchDownSpeedRate { get; set; } - [FlatBufferItem(08)] public float PitchStableSpeedRate { get; set; } - [FlatBufferItem(09)] public float PitchBaseAngle { get; set; } - [FlatBufferItem(10)] public float RollMaxAngle { get; set; } - [FlatBufferItem(11)] public float RollFactor { get; set; } - [FlatBufferItem(12)] public float UpAccelRate { get; set; } - [FlatBufferItem(13)] public float DownAccelRate { get; set; } - [FlatBufferItem(14)] public float MaxSpeed { get; set; } - [FlatBufferItem(15)] public float MaxDiveSpeed { get; set; } - [FlatBufferItem(16)] public float PitchUpSpeedThreshold { get; set; } - [FlatBufferItem(17)] public float PitchRateExp { get; set; } - [FlatBufferItem(18)] public float ReadyScale { get; set; } - [FlatBufferItem(19)] public float FaintThreshold { get; set; } - [FlatBufferItem(20)] public float AirRegist { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FacialParameter -{ - [FlatBufferItem(0)] public float AutoBlinkIntervalMin { get; set; } - [FlatBufferItem(1)] public float AutoBlinkIntervalMax { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class EmissiveColorParameter -{ - // EaseColorValue[3] Blend - // EaseColorValue[3] Rim - // EaseColorValue[3] Power - // EaseColorValue[3] Intensity - // float Duration - [FlatBufferItem(00)] public EaseColorValue Blend0 { get; set; } - [FlatBufferItem(01)] public EaseColorValue Blend1 { get; set; } - [FlatBufferItem(02)] public EaseColorValue Blend2 { get; set; } - [FlatBufferItem(03)] public EaseColorValue Rim0 { get; set; } - [FlatBufferItem(04)] public EaseColorValue Rim1 { get; set; } - [FlatBufferItem(05)] public EaseColorValue Rim2 { get; set; } - [FlatBufferItem(06)] public EaseFloatValue Power0 { get; set; } - [FlatBufferItem(07)] public EaseFloatValue Power1 { get; set; } - [FlatBufferItem(08)] public EaseFloatValue Power2 { get; set; } - [FlatBufferItem(09)] public EaseFloatValue Intensity0 { get; set; } - [FlatBufferItem(10)] public EaseFloatValue Intensity1 { get; set; } - [FlatBufferItem(11)] public EaseFloatValue Intensity2 { get; set; } - [FlatBufferItem(12)] public float Duration { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EffectParameter -{ - [FlatBufferItem(0)] public EmissiveColorParameter Emissive { get; set; } - [FlatBufferItem(1)] public RadialBlurParameter DashRadialBlur { get; set; } - [FlatBufferItem(2)] public RadialBlurParameter SwimRadialBlur { get; set; } - [FlatBufferItem(3)] public RadialBlurParameter GlideRadialBlur { get; set; } - [FlatBufferItem(4)] public float GlideBlurThreshold { get; set; } - [FlatBufferItem(5)] public float LargeSplayRangeMin { get; set; } - [FlatBufferItem(6)] public float LargeSplayRangeMax { get; set; } - [FlatBufferItem(7)] public float SmallSplayRangeMin { get; set; } - [FlatBufferItem(8)] public float SmallSplayRangeMax { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class EaseFloatValue -{ - [FlatBufferItem(0)] public float Time { get; set; } - [FlatBufferItem(1)] public float Value { get; set; } - [FlatBufferItem(2)] public Easing Ease { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class EaseColorValue -{ - [FlatBufferItem(0)] public float Time { get; set; } - [FlatBufferItem(1)] public EaseColor Value { get; set; } - [FlatBufferItem(2)] public Easing Ease { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DashParameter -{ - [FlatBufferItem(0)] public float SpeedMax { get; set; } - [FlatBufferItem(1)] public float AccelTime { get; set; } - [FlatBufferItem(2)] public float AccelRate { get; set; } - [FlatBufferItem(3)] public float AccelAnimationRate { get; set; } - [FlatBufferItem(4)] public float SwimSpeedMax { get; set; } - [FlatBufferItem(5)] public float SwimAccelTime { get; set; } - [FlatBufferItem(6)] public float SwimAccelRate { get; set; } - [FlatBufferItem(7)] public float SwimAccelAnimationRate { get; set; } - [FlatBufferItem(8)] public float GripFactor { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class EaseColor -{ - [FlatBufferItem(0)] public float Red { get; set; } - [FlatBufferItem(1)] public float Green { get; set; } - [FlatBufferItem(2)] public float Blue { get; set; } - [FlatBufferItem(3)] public float Alpha { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class ClimbParameter -{ - [FlatBufferItem(00)] public float BackJumpInitialVelocity { get; set; } - [FlatBufferItem(01)] public float UpStickAngle { get; set; } - [FlatBufferItem(02)] public float SideUpperStickAngle { get; set; } - [FlatBufferItem(03)] public float SideLowerStickAngle { get; set; } - [FlatBufferItem(04)] public float MoveSpeed { get; set; } - [FlatBufferItem(05)] public float PositionMergeFactor { get; set; } - [FlatBufferItem(06)] public float VertUpMergeFactor { get; set; } - [FlatBufferItem(07)] public float HorzUpMergeFactor { get; set; } - [FlatBufferItem(08)] public float Radius { get; set; } - [FlatBufferItem(09)] public float DownAccel { get; set; } - [FlatBufferItem(10)] public float ReverseAngle { get; set; } - [FlatBufferItem(11)] public float FlipEndCheckOffset { get; set; } - [FlatBufferItem(12)] public float FlipEndCheckLength { get; set; } - [FlatBufferItem(13)] public float JumpChargeExponent { get; set; } - [FlatBufferItem(14)] public float GroundDistanceTolerance { get; set; } - [FlatBufferItem(15)] public float WallHitLength { get; set; } - [FlatBufferItem(16)] public float WallHitOffset { get; set; } - [FlatBufferItem(17)] public float OppositeAngle { get; set; } - [FlatBufferItem(18)] public float AutoStartToleranceFactor { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class ChangeOffsetSet -{ - [FlatBufferItem(0)] public ChangeOffset Stand { get; set; } - [FlatBufferItem(1)] public ChangeOffset Run { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class ChangeOffset -{ - [FlatBufferItem(0)] public OffsetVector Trans { get; set; } - [FlatBufferItem(1)] public OffsetVector Rot { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class AerialKinesisParameter -{ - [FlatBufferItem(0)] public float Accel { get; set; } - [FlatBufferItem(1)] public float Friction { get; set; } - [FlatBufferItem(2)] public float SelfSpeedMax { get; set; } - [FlatBufferItem(3)] public float BackwardAngle { get; set; } - [FlatBufferItem(4)] public float GripAngle { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum Easing -{ - InSine = 0, - OutSine = 1, - InOutSin = 2, - InQuad = 3, - OutQuad = 4, - InOutQuad = 5, - InCubic = 6, - OutCubic = 7, - InOutCubic = 8, - InQuart = 9, - OutQuart = 10, - InOutQuart = 11, - InQuint = 12, - OutQuint = 13, - InOutQuint = 14, - InExpo = 15, - OutExpo = 16, - InOutExpo = 17, - InCirc = 18, - OutCirc = 19, - InOutCirc = 20, - InBack = 21, - OutBack = 22, - InOutBack = 23, - InElastic = 24, - OutElastic = 25, - InOutElastic = 26, - InBounce = 27, - OutBounce = 28, - InOutBounce = 29, - Linear = 30, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolLotteryTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolLotteryTableArray.cs deleted file mode 100644 index 2e82fef2..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolLotteryTableArray.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemSymbolLotteryTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public GemSymbolLotteryTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemSymbolLotteryTable -{ - [FlatBufferItem(00)] public string LotteryKey { get; set; } - [FlatBufferItem(01)] public MoveType GemMoveType { get; set; } - [FlatBufferItem(02)] public string TableKey0 { get; set; } - [FlatBufferItem(03)] public string TableKey1 { get; set; } - [FlatBufferItem(04)] public string TableKey2 { get; set; } - [FlatBufferItem(05)] public string TableKey3 { get; set; } - [FlatBufferItem(06)] public string TableKey4 { get; set; } - [FlatBufferItem(07)] public string TableKey5 { get; set; } - [FlatBufferItem(08)] public string TableKey6 { get; set; } - [FlatBufferItem(09)] public string TableKey7 { get; set; } - [FlatBufferItem(10)] public string TableKey8 { get; set; } - [FlatBufferItem(11)] public string TableKey9 { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolSetting.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolSetting.cs deleted file mode 100644 index b04a5638..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/GemSymbolSetting.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GemSymbolSetting -{ - [FlatBufferItem(0)] public short MinScale { get; set; } - [FlatBufferItem(1)] public sbyte RepopPercent { get; set; } - [FlatBufferItem(2)] public sbyte AddItemNum { get; set; } - [FlatBufferItem(3)] public sbyte AddItemPercent { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/Field/MapChangeParametersArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/Field/MapChangeParametersArray.cs deleted file mode 100644 index abda4677..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/Field/MapChangeParametersArray.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MapChangeParametersArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public MapChangeParameters[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MapChangeParameters -{ - [FlatBufferItem(0)] public float LhLadderWait { get; set; } - [FlatBufferItem(1)] public float LhLadderFadeDuration { get; set; } - [FlatBufferItem(2)] public float MapChangeSingleDoorAngle { get; set; } - [FlatBufferItem(3)] public float MapChangeDoubleDoorAngle { get; set; } - [FlatBufferItem(4)] public float MapChangeAutoDoorAngle { get; set; } - [FlatBufferItem(5)] public float MapChangePosAngle { get; set; } - [FlatBufferItem(6)] public float MapChangeCampusDoorAngle { get; set; } - [FlatBufferItem(7)] public float MapChangeAtlantisDoorAngle { get; set; } - [FlatBufferItem(8)] public float MapChangeStickAngle { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolAI.cs b/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolAI.cs deleted file mode 100644 index 5e5762b1..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolAI.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixedSymbolAI -{ - [FlatBufferItem(0)] public PokemonActionID ActionId { get; set; } - [FlatBufferItem(1)] public float Hunger { get; set; } - [FlatBufferItem(2)] public float Fatigue { get; set; } - [FlatBufferItem(3)] public float Sleepiness { get; set; } - [FlatBufferItem(4)] public int Priority { get; set; } - [FlatBufferItem(5)] public PokemonActionID TriggerActionId { get; set; } - [FlatBufferItem(6)] public BehaviorFrequency OverrideFrequency { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolArray.cs deleted file mode 100644 index b00d6c8c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -#nullable disable -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixedSymbolTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public FixedSymbolTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixedSymbolTable -{ - [FlatBufferItem(0)] public string TableKey { get; set; } - [FlatBufferItem(1)] public PokeDataSymbol PokeDataSymbol { get; set; } - [FlatBufferItem(2)] public FixedSymbolAI PokeAI { get; set; } - [FlatBufferItem(3)] public FixedSymbolGeneration PokeGeneration { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolGeneration.cs b/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolGeneration.cs deleted file mode 100644 index 0136c7be..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolGeneration.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixedSymbolGeneration -{ - [FlatBufferItem(0)] public float MinCreateDistance { get; set; } - [FlatBufferItem(1)] public float MaxCreateDistance { get; set; } - [FlatBufferItem(2)] public float MinDestroyDistance { get; set; } - [FlatBufferItem(3)] public float MaxDestroyDistance { get; set; } - [FlatBufferItem(4)] public GenerationPattern GenerationPattern { get; set; } - [FlatBufferItem(5)] public bool FirstGenerate { get; set; } - [FlatBufferItem(6)] public int RepopProbability { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolManager.cs b/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolManager.cs deleted file mode 100644 index fe7db68e..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/FixedSymbolManager.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FixedSymbolManager -{ - [FlatBufferItem(0)] public float PointFetchRange { get; set; } - [FlatBufferItem(1)] public float PointReleaseRange { get; set; } - [FlatBufferItem(2)] public float PointFetchRangeGem { get; set; } - [FlatBufferItem(3)] public float PointReleaseRangeGem { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/GenerationPattern.cs b/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/GenerationPattern.cs deleted file mode 100644 index 3592b834..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/FixedSymbol/GenerationPattern.cs +++ /dev/null @@ -1,11 +0,0 @@ -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferEnum(typeof(int))] -public enum GenerationPattern -{ - Encount = 0, - Watch = 1, -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/PointDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/World/PointDataArray.cs deleted file mode 100644 index d66e9d9a..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/PointDataArray.cs +++ /dev/null @@ -1,24 +0,0 @@ -using FlatSharp.Attributes; -using System.ComponentModel; -#nullable disable -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class PointDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public PointData[] Table { get; set; } -} - -[FlatBufferStruct, TypeConverter(typeof(ExpandableObjectConverter))] -public class PointData -{ - [FlatBufferItem(0)] public PackedVec3f Position { get; set; } - [FlatBufferItem(1)] public PackedVec2f LevelRange { get; set; } - [FlatBufferItem(2)] public EncBiome Biome { get; set; } - [FlatBufferItem(3)] public EncAttr Substance { get; set; } - [FlatBufferItem(4)] public sbyte AreaNo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/SettingData.cs b/pkNX.Structures.FlatBuffers/Gen9/World/SettingData.cs deleted file mode 100644 index 2df2b392..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/SettingData.cs +++ /dev/null @@ -1,14 +0,0 @@ -using FlatSharp.Attributes; -using System.ComponentModel; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SettingData -{ - [FlatBufferItem(0)] public float SpawnTime { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/TimeTable.cs b/pkNX.Structures.FlatBuffers/Gen9/World/TimeTable.cs deleted file mode 100644 index c5713818..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/TimeTable.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class TimeTable -{ - [FlatBufferItem(0)] public bool Morning { get; set; } - [FlatBufferItem(1)] public bool Noon { get; set; } - [FlatBufferItem(2)] public bool Evening { get; set; } - [FlatBufferItem(3)] public bool Night { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/World/VersionTable.cs b/pkNX.Structures.FlatBuffers/Gen9/World/VersionTable.cs deleted file mode 100644 index c3d7c34c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/World/VersionTable.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class VersionTable -{ - [FlatBufferItem(0)] public bool A { get; set; } - [FlatBufferItem(1)] public bool B { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Zukan/BlacklistArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Zukan/BlacklistArray.cs deleted file mode 100644 index 3d9790e8..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Zukan/BlacklistArray.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class BlacklistArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public Blacklist[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Blacklist -{ - [FlatBufferItem(0)] public int DevNo { get; set; } - [FlatBufferItem(1)] public int FormNo { get; set; } -} - diff --git a/pkNX.Structures.FlatBuffers/Gen9/Zukan/DistributionRootArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Zukan/DistributionRootArray.cs deleted file mode 100644 index 07cff2dd..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Zukan/DistributionRootArray.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class GridParam -{ - [FlatBufferItem(0)] public int X { get; set; } - [FlatBufferItem(1)] public int Y { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DistributionRootArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DistributionRoot[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DistributionRoot : IFlatBufferArchive -{ - [FlatBufferItem(0)] public DistributionData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class DistributionData -{ - [FlatBufferItem(0)] public int DevNo { get; set; } - [FlatBufferItem(1)] public int FormNo { get; set; } - [FlatBufferItem(2)] public bool VersionA { get; set; } - [FlatBufferItem(3)] public bool VersionB { get; set; } - [FlatBufferItem(4)] public GridParam GridParam { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Zukan/MemoPokeTableArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Zukan/MemoPokeTableArray.cs deleted file mode 100644 index 92e6a4af..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Zukan/MemoPokeTableArray.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MemoPokeTableArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public MemoPokeTable[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class MemoPokeTable -{ - [FlatBufferItem(0)] public DevID DevNo { get; set; } - [FlatBufferItem(1)] public Sex Sex { get; set; } - [FlatBufferItem(2)] public int FormNo { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Gen9/Zukan/RewardDataArray.cs b/pkNX.Structures.FlatBuffers/Gen9/Zukan/RewardDataArray.cs deleted file mode 100644 index 1068640c..00000000 --- a/pkNX.Structures.FlatBuffers/Gen9/Zukan/RewardDataArray.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.ComponentModel; -using FlatSharp.Attributes; -// ReSharper disable UnusedMember.Global -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable UnusedType.Global -#nullable disable - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RewardDataArray : IFlatBufferArchive -{ - [FlatBufferItem(0)] public RewardData[] Table { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RewardData -{ - [FlatBufferItem(0)] public PokedexType PokedexType { get; set; } - [FlatBufferItem(1)] public int CaptureNum { get; set; } - [FlatBufferItem(2)] public ItemID ItemId { get; set; } - [FlatBufferItem(3)] public int ItemNum { get; set; } -} - -[FlatBufferEnum(typeof(int))] -public enum PokedexType -{ - TITAN = 0, -} diff --git a/pkNX.Structures.FlatBuffers/IFlatBufferArchive.cs b/pkNX.Structures.FlatBuffers/IFlatBufferArchive.cs deleted file mode 100644 index ddc9090e..00000000 --- a/pkNX.Structures.FlatBuffers/IFlatBufferArchive.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace pkNX.Structures.FlatBuffers; - -public interface IFlatBufferArchive where T : class -{ - T[] Table { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/Util/FlatDummyObject.cs b/pkNX.Structures.FlatBuffers/Util/FlatDummyObject.cs deleted file mode 100644 index b4ef276c..00000000 --- a/pkNX.Structures.FlatBuffers/Util/FlatDummyObject.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.ComponentModel; -using System.Diagnostics; -using FlatSharp.Attributes; -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable once UnusedMember.Global - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FlatDummyObject -{ - // Throw on first (fake) field set action to ensure the deserialized data has no fields. - [FlatBufferItem(0), Browsable(false), DebuggerBrowsable(DebuggerBrowsableState.Never)] - public byte Field_00 - { - get => 0; - set - { - if (value != 0) - throw new ArgumentException("This should always be an empty object, and not have a valid vTable."); - } - } - - public override string ToString() => "UNUSED OBJECT: NO FIELD DATA"; - - public FlatDummyObject Clone() => this; -} diff --git a/pkNX.Structures.FlatBuffers/Util/FlatDumper.cs b/pkNX.Structures.FlatBuffers/Util/FlatDumper.cs index 189afcf3..2310f84c 100644 --- a/pkNX.Structures.FlatBuffers/Util/FlatDumper.cs +++ b/pkNX.Structures.FlatBuffers/Util/FlatDumper.cs @@ -1,19 +1,22 @@ +using System; +using System.Collections.Generic; using System.IO; +using FlatSharp; namespace pkNX.Structures.FlatBuffers; public static class FlatDumper { - public static string GetTable(string path) where T1 : class, IFlatBufferArchive where T2 : class + public static string GetTable(string path, Func> sel) where T1 : class, IFlatBufferSerializable where T2 : notnull { var data = File.ReadAllBytes(path); - return GetTable(data); + return GetTable(data, sel); } - public static string GetTable(byte[] data) where T1 : class, IFlatBufferArchive where T2 : class + public static string GetTable(byte[] data, Func> sel) where T1 : class, IFlatBufferSerializable where T2 : notnull { var obj = FlatBufferConverter.DeserializeFrom(data); - var table = obj.Table; + var table = sel(obj); return TableUtil.GetTable(table); } diff --git a/pkNX.Structures.FlatBuffers/Util/ReflectionDumper.cs b/pkNX.Structures.FlatBuffers/Util/ReflectionDumper.cs deleted file mode 100644 index 368eb64a..00000000 --- a/pkNX.Structures.FlatBuffers/Util/ReflectionDumper.cs +++ /dev/null @@ -1,201 +0,0 @@ -using System; -using System.IO; -using System.Linq; - -namespace pkNX.Structures.FlatBuffers; - -public static class ReflectionDumper -{ - public static void DumpSchema(ReflectionSchema schema, TextWriter writer, bool stripNamespace = true, string fileNameSpace = "pkNX.Structures.FlatBuffers") - { - writer.WriteLine("using System.Collections.Generic;"); - writer.WriteLine("using System.ComponentModel;"); - writer.WriteLine("using FlatSharp.Attributes;"); - writer.WriteLine("// ReSharper disable UnusedMember.Global"); - writer.WriteLine("// ReSharper disable ClassNeverInstantiated.Global"); - writer.WriteLine("// ReSharper disable UnusedType.Global"); - writer.WriteLine("#nullable disable"); - writer.WriteLine(); - writer.WriteLine($"namespace {fileNameSpace};"); - writer.WriteLine(); - writer.WriteLine("// Generated by FlatSharp"); - writer.WriteLine($"// FileIdentifier: {schema.FileIdentifier}"); - writer.WriteLine($"// FileExtension: {schema.FileExtension}"); - writer.WriteLine($"// Object Count: {schema.Objects.Count}"); - writer.WriteLine($"// Enum Count: {schema.Enums.Count}"); - writer.WriteLine($"// Root Type: {schema.RootTable?.Name ?? "None Specified"}"); - - DumpObjects(schema, writer, stripNamespace); - DumpEnums(schema, writer, stripNamespace); - } - - private static ReadOnlySpan GetName(ReadOnlySpan defName, bool stripNamespace, bool forcePascalCase = true) - { - if (forcePascalCase) - defName = defName.ToPascalCase(); - if (!stripNamespace) - return defName; - var idx = defName.LastIndexOf('.'); - return idx < 0 ? defName : defName[(idx + 1)..]; - } - - private static string ToPascalCase(this ReadOnlySpan str) - { - if (str.IsEmpty) - return string.Empty; - Span result = stackalloc char[str.Length]; - var upper = true; - int p = 0; - foreach (char c in str) - { - if (c == '_') - { - upper = true; - continue; - } - result[p++] = upper ? char.ToUpperInvariant(c) : c; - upper = false; - } - return new string(result[..p]); - } - - private static void DumpObjects(ReflectionSchema schema, TextWriter writer, bool stripNamespace) - { - var list = schema.Objects; - for (var i = list.Count - 1; i >= 0; i--) - { - writer.WriteLine(); - //writer.WriteLine($"// Object {i}"); - var def = list[i]; - - writer.WriteLine($"[{(def.IsStruct ? "FlatBufferStruct" : "FlatBufferTable")}, TypeConverter(typeof(ExpandableObjectConverter))]"); - writer.WriteLine($"public class {GetName(def.Name, stripNamespace)}"); - writer.WriteLine("{"); - { - int maxFieldId = def.Fields.Max(z => z.Value.Id); - var digits = maxFieldId.ToString().Length; - var format = new string('0', digits); - foreach (var field in def.Fields.OrderBy(z => z.Value.Id)) - { - var prop = field.Value; - var required = prop.Required ? ", Required = true" : string.Empty; - var key = prop.Key ? ", Key = true" : string.Empty; - const string split = " "; - (string name, bool isPrimitive) = schema.ToClr(prop.Type); - var type = GetName(name, stripNamespace, !isPrimitive); - var propName = GetName(prop.Name, stripNamespace); - var attribute = $"FlatBufferItem({field.Value.Id.ToString(format)}{required}{key})"; - writer.WriteLine($" [{attribute}]{split}public {type} {propName} {{ get; set; }}"); - } - } - writer.WriteLine("}"); - } - } - - private static void DumpEnums(ReflectionSchema schema, TextWriter writer, bool stripNamespace) - { - var list = schema.Enums; - foreach (var def in list) - { - writer.WriteLine(); - (string typeName, _) = schema.ToClr(def.UnderlyingType, true); - writer.WriteLine("[FlatBufferEnum(typeof({0}))]", typeName); - - // C# enums impl int by default, don't be too explicit. - var implType = typeName == "int" ? string.Empty : $" : {typeName}"; - var defName = GetName(def.Name, stripNamespace); - writer.WriteLine($"public enum {defName}{implType}"); - writer.WriteLine("{"); - { - foreach (var value in def.Values.OrderBy(z => z.Value.Value)) - { - var kvp = value.Value; - writer.WriteLine($" {kvp.Key} = {kvp.Value},"); - } - } - writer.WriteLine("}"); - } - } - - public static (string Name, bool IsPrimitive) ToClr(this FlatBufferType type, ReflectionSchema schema, bool force = false) - { - var index = type.Index; - if (index != -1) - { - if (type.BaseType == BaseType.Array) - { - var child = type.ElementType; - var idx = type.Index; - if (idx == -1) - { - (string name, bool isPrimitive) = child.ToClr(); - return ($"{name}[]", IsPrimitive: isPrimitive); - } - if (child is BaseType.Obj) - return ($"{schema.Objects[idx].Name}[]", false); - return ($"{schema.Enums[idx].Name}[]", false); - } - if (type.BaseType == BaseType.Vector) - { - var child = type.ElementType; - var idx = type.Index; - if (idx == -1) - { - (string name, bool isPrimitive) = child.ToClr(); - return ($"IList<{name}>", IsPrimitive: isPrimitive); - } - if (child is BaseType.Obj) - return ($"IList<{schema.Objects[idx].Name}>", false); - return ($"IList<{schema.Enums[idx].Name}>", false); - } - if (type.BaseType == BaseType.Obj) - { - var idx = type.Index; - return ($"{schema.Objects[idx].Name}", false); - } - if (!force) - { - var idx = type.Index; - return ($"{schema.Enums[idx].Name}", false); - } - } - - var baseType = type.BaseType; - if (baseType is BaseType.Array) - { - var child = type.ElementType; - (string name, bool isPrimitive) = child.ToClr(); - return ($"{name}[]", IsPrimitive: isPrimitive); - } - if (baseType is BaseType.Vector) - { - var child = type.ElementType; - (string name, bool isPrimitive) = child.ToClr(); - return ($"IList<{name}>", IsPrimitive: isPrimitive); - } - - var x = baseType.ToClr(); - if (type.ElementType != BaseType.None) - return ($"{x.Name}[]", x.IsPrimitive); - return x; - } - - public static (string Name, bool IsPrimitive) ToClr(this BaseType type) => type switch - { - BaseType.Bool => ("bool", true), - BaseType.UByte => ("byte", true), - BaseType.Byte => ("sbyte", true), - BaseType.UShort => ("ushort", true), - BaseType.Short => ("short", true), - BaseType.UInt => ("uint", true), - BaseType.Int => ("int", true), - BaseType.ULong => ("ulong", true), - BaseType.Long => ("long", true), - BaseType.Float => ("float", true), - BaseType.Double => ("double", true), - BaseType.String => ("string", true), - BaseType.Vector => ("object", false), - BaseType.Union => ("FlatBufferObject", false), - _ => throw new ArgumentOutOfRangeException(nameof(type), type, null) - }; -} diff --git a/pkNX.Structures.FlatBuffers/Util/ReflectionSchema.cs b/pkNX.Structures.FlatBuffers/Util/ReflectionSchema.cs deleted file mode 100644 index 194aeb4e..00000000 --- a/pkNX.Structures.FlatBuffers/Util/ReflectionSchema.cs +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright 2021 James Courtney - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -// FlatSharp attribute port of the reflection.fbs schema - -using System; -using System.Collections.Generic; -using System.ComponentModel; -using FlatSharp; -using FlatSharp.Attributes; -// ReSharper disable ClassNeverInstantiated.Global -// ReSharper disable ClassWithVirtualMembersNeverInherited.Global -// ReSharper disable UnusedType.Global -#nullable disable -#pragma warning disable CS8632 - -namespace pkNX.Structures.FlatBuffers; - -[FlatBufferTable(FileIdentifier = "BFBS"), TypeConverter(typeof(ExpandableObjectConverter))] -public class ReflectionSchema -{ - [FlatBufferItem(0, Required = true, SortedVector = true)] - public virtual IList Objects { get; set; } = new List(); - - [FlatBufferItem(1, Required = true, SortedVector = true)] - public virtual IList Enums { get; set; } = new List(); - - [FlatBufferItem(2)] - public virtual string? FileIdentifier { get; set; } - - [FlatBufferItem(3)] - public virtual string? FileExtension { get; set; } - - [FlatBufferItem(4)] - public virtual FlatBufferObject? RootTable { get; set; } - - [FlatBufferItem(5)] - public virtual IList? Services { get; set; } - - [FlatBufferItem(6)] - public virtual AdvancedFeatures AdvancedFeatures { get; set; } - - [FlatBufferItem(7)] - public virtual IIndexedVector? FbsFiles { get; set; } - - public (string Name, bool IsPrimitive) ToClr(FlatBufferType type, bool force = false) => type.ToClr(this, force); -} - -[FlatBufferEnum(typeof(byte))] -public enum BaseType : byte -{ - None, - UType, - Bool, - Byte, - UByte, - Short, - UShort, - Int, - UInt, - Long, - ULong, - Float, - Double, - String, - Vector, - Obj, // Used for tables & structs. - Union, - Array, - - // Add any new type above this value. - MaxBaseType, -} - -#nullable disable -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FlatBufferType -{ - [FlatBufferItem(0)] - public virtual BaseType BaseType { get; set; } - - /// - /// Only set if BaseType == Array or Vector. - /// - [FlatBufferItem(1, DefaultValue = BaseType.None)] - public virtual BaseType ElementType { get; set; } = BaseType.None; - - [FlatBufferItem(2, DefaultValue = -1)] - public virtual int Index { get; set; } = -1; - - [FlatBufferItem(3)] - public virtual ushort FixedLength { get; set; } - - [FlatBufferItem(4, DefaultValue = 4u)] - public uint BaseSize { get; set; } = 4; - - [FlatBufferItem(5, DefaultValue = 0u)] - public uint ElementSize { get; set; } = 0; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class KeyValue -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string Key { get; set; } = string.Empty; - - [FlatBufferItem(1)] - public virtual string? Value { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class EnumVal -{ - [FlatBufferItem(0, Required = true)] - public virtual string Key { get; set; } = string.Empty; - - [FlatBufferItem(1, Key = true)] - public virtual long Value { get; set; } - - [FlatBufferItem(2, Deprecated = true)] - public bool Object { get; set; } - - [FlatBufferItem(3)] - public virtual FlatBufferType? UnionType { get; set; } - - [FlatBufferItem(4)] - public virtual IList? Documentation { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class FlatBufferEnum -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string Name { get; set; } = string.Empty; - - [FlatBufferItem(1, Required = true)] - public virtual IIndexedVector Values { get; set; } = new IndexedVector(); - - [FlatBufferItem(2)] - public virtual bool IsUnion { get; set; } - - [FlatBufferItem(3, Required = true)] - public virtual FlatBufferType UnderlyingType { get; set; } = new(); - - [FlatBufferItem(4)] - public virtual IIndexedVector? Attributes { get; set; } - - [FlatBufferItem(5)] - public virtual IList? Documentation { get; set; } - - [FlatBufferItem(6)] - public virtual string DeclarationFile { get; set; } = string.Empty; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class Field -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string Name { get; set; } = string.Empty; - - [FlatBufferItem(1, Required = true)] - public virtual FlatBufferType Type { get; set; } = new(); - - [FlatBufferItem(2)] - public virtual ushort Id { get; set; } - - // Offset into the vtable for tables, or into the struct. - [FlatBufferItem(3)] - public virtual ushort Offset { get; set; } - - [FlatBufferItem(4)] - public virtual long DefaultInteger { get; set; } - - [FlatBufferItem(5)] - public virtual double DefaultDouble { get; set; } - - [FlatBufferItem(6, DefaultValue = false)] - public bool Deprecated { get; set; } = false; - - [FlatBufferItem(7, DefaultValue = false)] - public virtual bool Required { get; set; } = false; - - [FlatBufferItem(8, DefaultValue = false)] - public virtual bool Key { get; set; } = false; - - [FlatBufferItem(9)] - public virtual IIndexedVector? Attributes { get; set; } - - [FlatBufferItem(10)] - public virtual IList? Documentation { get; set; } -} - -[FlatBufferTable] -public class FlatBufferObject -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string Name { get; set; } = string.Empty; - - [FlatBufferItem(1, Required = true)] - public virtual IIndexedVector Fields { get; set; } = new IndexedVector(); - - [FlatBufferItem(2)] - public virtual bool IsStruct { get; set; } - - [FlatBufferItem(3)] - public virtual int MinAlign { get; set; } - - // For structs, the size. - [FlatBufferItem(4)] - public virtual int ByteSize { get; set; } - - [FlatBufferItem(5)] - public virtual IIndexedVector? Attributes { get; set; } - - [FlatBufferItem(6)] - public virtual IList? Documentation { get; set; } - - [FlatBufferItem(7)] - public virtual string? DeclarationFile { get; set; } = string.Empty; -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RpcCall -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string Name { get; set; } = string.Empty; - - // Must be a table. - [FlatBufferItem(1, Required = true)] - public virtual FlatBufferObject Request { get; set; } = new(); - - // Must be a table. - [FlatBufferItem(2, Required = true)] - public virtual FlatBufferObject Response { get; set; } = new(); - - [FlatBufferItem(3)] - public virtual IIndexedVector? Attributes { get; set; } - - [FlatBufferItem(4)] - public virtual IList? Documentation { get; set; } -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class RpcService -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string Name { get; set; } = string.Empty; - - // Must be a table. - [FlatBufferItem(1)] - public virtual IList? Calls { get; set; } - - [FlatBufferItem(2)] - public virtual IIndexedVector? Attributes { get; set; } - - [FlatBufferItem(3)] - public virtual IList? Documentation { get; set; } - - [FlatBufferItem(4, Required = true)] - public virtual string DeclaringFile { get; set; } = string.Empty; -} - -[FlatBufferEnum(typeof(ulong)), Flags] -public enum AdvancedFeatures : ulong -{ - None = 0, - - AdvancedArrayFeatures = 1, - AdvancedUnionFeatures = 2, - OptionalScalars = 4, - DefaultVectorsAndStrings = 8, - - All = AdvancedArrayFeatures - | AdvancedUnionFeatures - | OptionalScalars - | DefaultVectorsAndStrings, -} - -[FlatBufferTable, TypeConverter(typeof(ExpandableObjectConverter))] -public class SchemaFile -{ - [FlatBufferItem(0, Required = true, Key = true)] - public virtual string FileName { get; set; } = string.Empty; - - // Must be a table. - [FlatBufferItem(1)] - public virtual IList? IncludedFileNames { get; set; } -} diff --git a/pkNX.Structures.FlatBuffers/pkNX.Structures.FlatBuffers.csproj b/pkNX.Structures.FlatBuffers/pkNX.Structures.FlatBuffers.csproj index 30350fa0..f800818e 100644 --- a/pkNX.Structures.FlatBuffers/pkNX.Structures.FlatBuffers.csproj +++ b/pkNX.Structures.FlatBuffers/pkNX.Structures.FlatBuffers.csproj @@ -1,4 +1,4 @@ - + net7.0 @@ -6,10 +6,7 @@ - - - - + diff --git a/pkNX.Structures/Havok/HavokCollision.cs b/pkNX.Structures/Havok/HavokCollision.cs index 147b00b7..f5693f2f 100644 --- a/pkNX.Structures/Havok/HavokCollision.cs +++ b/pkNX.Structures/Havok/HavokCollision.cs @@ -462,7 +462,6 @@ public AABBTree(List nodes) _leafRectangles[n++] = new RectangleF(node.lx[i], node.lz[i], node.hx[i] - node.lx[i], node.hz[i] - node.lz[i]); } } - } public int NumBoundingBoxes => _numLeafRects; diff --git a/pkNX.Structures/TableUtil.cs b/pkNX.Structures/TableUtil.cs index 52553f58..cd184d42 100644 --- a/pkNX.Structures/TableUtil.cs +++ b/pkNX.Structures/TableUtil.cs @@ -13,15 +13,15 @@ public static class TableUtil /// Object Type /// Array of type T /// 2 dimensional sheet of cells - public static string GetTable(IEnumerable arr) where T : class => string.Join(Environment.NewLine, GetTableRaw(arr)); + public static string GetTable(IEnumerable arr) where T : notnull => string.Join(Environment.NewLine, GetTableRaw(arr)); private const char sep = '\t'; - private static IEnumerable GetTableRaw(IEnumerable arr) where T : class + private static IEnumerable GetTableRaw(IEnumerable arr) where T : notnull => Table(arr).Select(row => string.Join(sep, row)); - private static IEnumerable GetTableRaw(IEnumerable arr, Type t) where T : class + private static IEnumerable GetTableRaw(IEnumerable arr, Type t) where T : notnull => Table(arr, t).Select(row => string.Join(sep, row)); - public static string GetNamedTable(IEnumerable arr, IList names, string? name = null) where T : class + public static string GetNamedTable(IEnumerable arr, IList names, string? name = null) where T : notnull { var list = GetTableRaw(arr).ToArray(); @@ -35,7 +35,7 @@ public static class TableUtil return string.Join(Environment.NewLine, list); } - public static string GetNamedTypeTable(IList arr, IList names, string? name = null) where T : class + public static string GetNamedTypeTable(IList arr, IList names, string? name = null) where T : notnull { var t = arr[0].GetType(); if (t.Name.StartsWith("tableReader_")) // FlatBuffer generated wrapper @@ -55,7 +55,7 @@ public static class TableUtil return string.Join(Environment.NewLine, list); } - private static IEnumerable> Table(IEnumerable arr) where T : class + private static IEnumerable> Table(IEnumerable arr) where T : notnull { var type = typeof(T); yield return GetNames(type); @@ -63,7 +63,7 @@ public static class TableUtil yield return GetValues(z, type); } - private static IEnumerable> Table(IEnumerable arr, Type type) where T : class + private static IEnumerable> Table(IEnumerable arr, Type type) where T : notnull { yield return GetNames(type); foreach (var z in arr) @@ -103,8 +103,9 @@ private static string GetFormattedString(object? obj) if (mi.DeclaringType == objType) return obj.ToString() ?? string.Empty; - var props = objType.GetProperties(); - return string.Join('|', props.Select(z => GetFormattedString(z.GetValue(obj)))); + var props = objType.GetProperties().Select(z => GetFormattedString(z.GetValue(obj))); + var fields = objType.GetFields().Select(z => GetFormattedString(z.GetValue(obj))); + return string.Join('|', props.Concat(fields)); } private static IEnumerable JoinEnumerator(IEnumerator x) diff --git a/pkNX.WinForms/Controls/EncounterList.cs b/pkNX.WinForms/Controls/EncounterList.cs index 8ffb8c08..0a69b274 100644 --- a/pkNX.WinForms/Controls/EncounterList.cs +++ b/pkNX.WinForms/Controls/EncounterList.cs @@ -1,6 +1,7 @@ using System; +using System.Collections.Generic; using System.Windows.Forms; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.LGPE; using PKHeX.Drawing.PokeSprite; namespace pkNX.WinForms; @@ -91,17 +92,17 @@ private void UpdateRowImage(int row) cells[0].Value = SpriteUtil.GetSprite((ushort)sp, (byte)form, 0, 0, 0, false, PKHeX.Core.Shiny.Never); } - private EncounterSlot7b[]? Slots; - public static string[] SpeciesNames { private get; set; }= Array.Empty(); + private IList? Slots; + public static string[] SpeciesNames { private get; set; } = Array.Empty(); - public void LoadSlots(EncounterSlot7b[] slots) + public void LoadSlots(IList slots) { Slots = slots; dgv.Rows.Clear(); - dgv.Rows.Add(slots.Length); + dgv.Rows.Add(slots.Count); // Fill Entries - for (int i = 0; i < slots.Length; i++) + for (int i = 0; i < slots.Count; i++) { var row = dgv.Rows[i]; row.Cells[1].Value = SpeciesNames[slots[i].Species]; @@ -117,13 +118,13 @@ public void SaveCurrent() { if (Slots == null) return; - for (int i = 0; i < Slots.Length; i++) + for (int i = 0; i < Slots.Count; i++) { SaveRow(i, Slots[i]); } } - private void SaveRow(int row, EncounterSlot7b s) + private void SaveRow(int row, EncounterSlot s) { var cells = dgv.Rows[row].Cells; int sp = Array.IndexOf(SpeciesNames, cells[1].Value ?? SpeciesNames[0]); diff --git a/pkNX.WinForms/Controls/EncounterList8.cs b/pkNX.WinForms/Controls/EncounterList8.cs index fd6b1a76..498cfa7e 100644 --- a/pkNX.WinForms/Controls/EncounterList8.cs +++ b/pkNX.WinForms/Controls/EncounterList8.cs @@ -1,13 +1,14 @@ using System; +using System.Collections.Generic; using System.Windows.Forms; -using pkNX.Structures.FlatBuffers; using PKHeX.Drawing.PokeSprite; +using pkNX.Structures.FlatBuffers.SWSH; namespace pkNX.WinForms; public partial class EncounterList8 : UserControl { - private EncounterSlot8[]? Slots; + private IList? Slots; public static string[] SpeciesNames { private get; set; } = Array.Empty(); private const string FormColumn = nameof(FormColumn); @@ -79,14 +80,14 @@ private void UpdateRowImage(int row) cells[0].Value = SpriteUtil.GetSprite((ushort)sp, (byte)form, 0, 0, 0, false, PKHeX.Core.Shiny.Never); } - public void LoadSlots(EncounterSlot8[] slots) + public void LoadSlots(IList slots) { Slots = slots; dgv.Rows.Clear(); - dgv.Rows.Add(slots.Length); + dgv.Rows.Add(slots.Count); // Fill Entries - for (int i = 0; i < slots.Length; i++) + for (int i = 0; i < slots.Count; i++) { var row = dgv.Rows[i]; var cells = row.Cells; @@ -104,13 +105,13 @@ public void SaveCurrent() { if (Slots == null) return; - for (int i = 0; i < Slots.Length; i++) + for (int i = 0; i < Slots.Count; i++) { SaveRow(i, Slots[i]); } } - private void SaveRow(int row, EncounterSlot8 s) + private void SaveRow(int row, EncounterSlot s) { var cells = dgv.Rows[row].Cells; int sp = Array.IndexOf(SpeciesNames, cells[1].Value ?? SpeciesNames[0]); diff --git a/pkNX.WinForms/Controls/EncounterTableEditor8a.cs b/pkNX.WinForms/Controls/EncounterTableEditor8a.cs index 86ff8254..a578dfec 100644 --- a/pkNX.WinForms/Controls/EncounterTableEditor8a.cs +++ b/pkNX.WinForms/Controls/EncounterTableEditor8a.cs @@ -1,20 +1,21 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Windows.Forms; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; namespace pkNX.WinForms.Controls; public partial class EncounterTableEditor8a : UserControl { - public EncounterTable8a[] Tables = Array.Empty(); + public IList Tables = Array.Empty(); public EncounterTableEditor8a() => InitializeComponent(); - public void LoadTable(EncounterTable8a[] table, string path) + public void LoadTable(IList table, string path) { Tables = table; - if (table.Length == 0) + if (table.Count == 0) { Visible = false; return; @@ -33,19 +34,19 @@ public void LoadTable(EncounterTable8a[] table, string path) private class ComboItem { - public ComboItem(string text, EncounterTable8a value) + public ComboItem(string text, EncounterTable value) { Text = text; Value = value; } public string Text { get; } - public EncounterTable8a Value { get; } + public EncounterTable Value { get; } } private void CB_Encounters_SelectedIndexChanged(object sender, EventArgs e) { - if (CB_Encounters.SelectedValue is not EncounterTable8a enc) + if (CB_Encounters.SelectedValue is not EncounterTable enc) throw new ArgumentException(nameof(CB_Encounters.SelectedValue)); PG_Encounters.SelectedObject = enc; } @@ -57,9 +58,9 @@ private void B_NoShinyLocks_Click(object sender, EventArgs e) { foreach (var slot in table.Table) { - if (slot.ShinyLock != ShinyType8a.Never) + if (slot.ShinyLock != ShinyType.Never) continue; - slot.ShinyLock = ShinyType8a.Random; + slot.ShinyLock = ShinyType.Random; ctr++; } } @@ -73,7 +74,7 @@ private void PG_Encounters_SelectedGridItemChanged(object sender, SelectedGridIt if (e.NewSelection == null) return; var obj = e.NewSelection.Value; - bool enable = obj is EncounterSlot8a; + bool enable = obj is EncounterSlot; B_CloneTableEntry.Enabled = enable; B_ConfigureAsAlpha.Enabled = enable; B_RemoveCondition.Enabled = enable; @@ -82,23 +83,23 @@ private void PG_Encounters_SelectedGridItemChanged(object sender, SelectedGridIt private void B_CloneTableEntry_Click(object sender, EventArgs e) { var obj = PG_Encounters.SelectedGridItem.Value; - if (obj is not EncounterSlot8a slotToClone) + if (obj is not EncounterSlot slotToClone) return; - var encounterTable = (EncounterTable8a)PG_Encounters.SelectedObject; - encounterTable.Table = encounterTable.Table.Concat(new[] { (EncounterSlot8a)slotToClone.Clone() }).ToArray(); + var encounterTable = (EncounterTable)PG_Encounters.SelectedObject; + encounterTable.Table = encounterTable.Table.Concat(new[] { new EncounterSlot(slotToClone) }).ToArray(); PG_Encounters.Refresh(); } private void B_ConfigureAsAlpha_Click(object sender, EventArgs e) { var obj = PG_Encounters.SelectedGridItem.Value; - if (obj is EncounterSlot8a slotToEdit) + if (obj is EncounterSlot slotToEdit) { slotToEdit.BaseProbability = 1; - slotToEdit.Field_09 = true; - slotToEdit.Field_10 = true; - slotToEdit.Oybn.Field_02 = true; - slotToEdit.Oybn.Field_03 = true; + slotToEdit.Field09 = true; + slotToEdit.Field10 = true; + slotToEdit.Oybn.Field02 = true; + slotToEdit.Oybn.Field03 = true; slotToEdit.Oybn.Oybn1 = true; slotToEdit.NumPerfectIvs = 3; @@ -109,10 +110,10 @@ private void B_ConfigureAsAlpha_Click(object sender, EventArgs e) private void B_RemoveCondition_Click(object sender, EventArgs e) { var obj = PG_Encounters.SelectedGridItem.Value; - if (obj is EncounterSlot8a slotToEdit) + if (obj is EncounterSlot slotToEdit) { - slotToEdit.Eligibility.ConditionID = Condition8a.None; - slotToEdit.Eligibility.ConditionTypeID = ConditionType8a.None; + slotToEdit.Eligibility.ConditionID = Condition.None; + slotToEdit.Eligibility.ConditionTypeID = ConditionType.None; PG_Encounters.Refresh(); } diff --git a/pkNX.WinForms/Controls/EvolutionRow8a.cs b/pkNX.WinForms/Controls/EvolutionRow8a.cs index 4c448342..847c84d3 100644 --- a/pkNX.WinForms/Controls/EvolutionRow8a.cs +++ b/pkNX.WinForms/Controls/EvolutionRow8a.cs @@ -2,8 +2,8 @@ using System.Linq; using System.Windows.Forms; using pkNX.Structures; -using pkNX.Structures.FlatBuffers; using PKHeX.Drawing.PokeSprite; +using pkNX.Structures.FlatBuffers.Arceus; namespace pkNX.WinForms; @@ -19,7 +19,7 @@ public partial class EvolutionRow8a : UserControl private static readonly string[] Stats = Enumerable.Range(0, 255 + 1).Select(z => z.ToString()).ToArray(); private static readonly string[] None = { "" }; - private EvolutionEntry8a? current; + private EvolutionEntry? current; private EvolutionTypeArgumentType oldMethod; public EvolutionRow8a() @@ -56,7 +56,7 @@ public EvolutionRow8a() private void ChangeSpecies(int spec, int form) => PB_Preview.Image = SpriteUtil.GetSprite((ushort)spec, (byte)form, 0, 0, 0, false, PKHeX.Core.Shiny.Never); - public void LoadEvolution(EvolutionEntry8a s) + public void LoadEvolution(EvolutionEntry s) { var evo = current = s; CB_Species.SelectedIndex = evo.Species; diff --git a/pkNX.WinForms/Controls/LandmarkEditor8a.cs b/pkNX.WinForms/Controls/LandmarkEditor8a.cs index 12959e1b..9eb8da97 100644 --- a/pkNX.WinForms/Controls/LandmarkEditor8a.cs +++ b/pkNX.WinForms/Controls/LandmarkEditor8a.cs @@ -1,20 +1,21 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Windows.Forms; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; namespace pkNX.WinForms.Controls; public partial class LandmarkEditor8a : UserControl { - public LandmarkItemSpawn8a[] Spawners = Array.Empty(); + public IList Spawners = Array.Empty(); public LandmarkEditor8a() => InitializeComponent(); - public void LoadTable(LandmarkItemSpawn8a[] table, string path) + public void LoadTable(IList table, string path) { Spawners = table; - if (table.Length == 0) + if (table.Count == 0) { Visible = false; return; @@ -33,19 +34,19 @@ public void LoadTable(LandmarkItemSpawn8a[] table, string path) private class ComboItem { - public ComboItem(string text, LandmarkItemSpawn8a value) + public ComboItem(string text, LandmarkItemSpawn value) { Text = text; Value = value; } public string Text { get; } - public LandmarkItemSpawn8a Value { get; } + public LandmarkItemSpawn Value { get; } } private void CB_Encounters_SelectedIndexChanged(object sender, EventArgs e) { - if (CB_Encounters.SelectedValue is not LandmarkItemSpawn8a spawner) + if (CB_Encounters.SelectedValue is not LandmarkItemSpawn spawner) throw new ArgumentException(nameof(CB_Encounters.SelectedValue)); PG_Encounters.SelectedObject = spawner; } diff --git a/pkNX.WinForms/Controls/PlacementSpawnerEditor8a.cs b/pkNX.WinForms/Controls/PlacementSpawnerEditor8a.cs index 03c9b0de..c01f7a25 100644 --- a/pkNX.WinForms/Controls/PlacementSpawnerEditor8a.cs +++ b/pkNX.WinForms/Controls/PlacementSpawnerEditor8a.cs @@ -1,20 +1,21 @@ using System; +using System.Collections.Generic; using System.Linq; using System.Windows.Forms; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; namespace pkNX.WinForms.Controls; public partial class PlacementSpawnerEditor8a : UserControl { - public PlacementSpawner8a[] Spawners = Array.Empty(); + public IList Spawners = Array.Empty(); public PlacementSpawnerEditor8a() => InitializeComponent(); - public void LoadTable(PlacementSpawner8a[] table, string path) + public void LoadTable(IList table, string path) { Spawners = table; - if (table.Length == 0) + if (table.Count == 0) { Visible = false; return; @@ -23,9 +24,9 @@ public void LoadTable(PlacementSpawner8a[] table, string path) Visible = true; L_ConfigName.Text = path; - var items = table.Select(z => new ComboItem(z.NameSummary.Replace("\"", ""), z)).ToArray(); - CB_Encounters.DisplayMember = nameof(ComboItem.Text); - CB_Encounters.ValueMember = nameof(ComboItem.Value); + var items = table.Select(z => new ComboItem(z.NameSummary.Replace("\"", ""), z)).ToArray(); + CB_Encounters.DisplayMember = nameof(ComboItem.Text); + CB_Encounters.ValueMember = nameof(ComboItem.Value); CB_Encounters.DataSource = new BindingSource(items, null); CB_Encounters.SelectedIndex = 0; @@ -45,7 +46,7 @@ public ComboItem(string text, T value) private void CB_Encounters_SelectedIndexChanged(object sender, EventArgs e) { - if (CB_Encounters.SelectedValue is not PlacementSpawner8a spawner) + if (CB_Encounters.SelectedValue is not PlacementSpawner spawner) throw new ArgumentException(nameof(CB_Encounters.SelectedValue)); PG_Spawner.SelectedObject = spawner; } diff --git a/pkNX.WinForms/Dumping/GameDumperPLA.cs b/pkNX.WinForms/Dumping/GameDumperPLA.cs index 0fd3b2c2..1d51b012 100644 --- a/pkNX.WinForms/Dumping/GameDumperPLA.cs +++ b/pkNX.WinForms/Dumping/GameDumperPLA.cs @@ -6,6 +6,15 @@ using pkNX.Game; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; +using FnvHash = pkNX.Containers.FnvHash; + +using Legal = pkNX.Structures.Legal; +using IPersonalTable = pkNX.Structures.IPersonalTable; +using Learnset = pkNX.Structures.FlatBuffers.Arceus.Learnset; +using PersonalInfo = pkNX.Structures.FlatBuffers.Arceus.PersonalInfo; +using PersonalTable = pkNX.Structures.FlatBuffers.Arceus.PersonalTable; +using Species = pkNX.Structures.Species; namespace pkNX.WinForms; @@ -55,7 +64,8 @@ public void DumpPersonal() File.WriteAllBytes(path, test);*/ var csv = GetPath("personal.csv"); - File.WriteAllText(csv, FlatDumper.GetTable(data)); + var dump = FlatDumper.GetTable(data, z => z.Table); + File.WriteAllText(csv, dump); } public void DumpPokeInfo() @@ -63,9 +73,9 @@ public void DumpPokeInfo() var s = ROM.GetStrings(TextName.SpeciesNames); var lrd = ROM.GetFile(GameFile.Learnsets)[0]; - var lr = FlatBufferConverter.DeserializeFrom(lrd); + var lr = FlatBufferConverter.DeserializeFrom(lrd); var evd = ROM.GetFile(GameFile.Evolutions)[0]; - var ev = FlatBufferConverter.DeserializeFrom(evd); + var ev = FlatBufferConverter.DeserializeFrom(evd); var pt = new PersonalTable8LA(ROM.GetFile(GameFile.PersonalStats)); var altForms = pt.GetFormList(s); var entryNames = pt.GetPersonalEntryList(altForms, s, out _, out _); @@ -103,7 +113,7 @@ public void DumpPokeInfo() DumpMoveUsers(pt, lr); } - private void DumpMoveUsers(IPersonalTable pt, Learnset8a lr) + private void DumpMoveUsers(IPersonalTable pt, Learnset lr) { List Users = new(); var moves = ROM.GetStrings(TextName.MoveNames); @@ -135,9 +145,9 @@ private void DumpMoveUsers(IPersonalTable pt, Learnset8a lr) File.WriteAllLines(outname, Users); } - private static string GetSpeciesMove(string[] spec, Learnset8aMeta x, int move) + private static string GetSpeciesMove(string[] spec, LearnsetMeta x, int move) { - var learnset = Array.Find(x.Arceus, w => w.Move == move); + var learnset = x.Arceus.FirstOrDefault(w => w.Move == move); var level = learnset is null ? "INVALID" : learnset.Level.ToString(); return $"{spec[x.Species]}{(x.Form == 0 ? "" : $"-{x.Form}")} @ {level}"; } @@ -224,11 +234,11 @@ public void DumpDrops() { var names = ROM.GetStrings(TextName.ItemNames); var field = Path.Combine(ROM.PathRomFS, "bin", "pokemon", "data", "poke_drop_item.bin"); - var fieldItems = FlatBufferConverter.DeserializeFrom(field).Table.Select(z => z.Dump(names)); + var fieldItems = FlatBufferConverter.DeserializeFrom(field).Table.Select(z => z.Dump(names)); File.WriteAllLines(GetPath("DropItems.txt"), fieldItems); var battle = Path.Combine(ROM.PathRomFS, "bin", "pokemon", "data", "poke_drop_item_battle.bin"); - var battleItems = FlatBufferConverter.DeserializeFrom(battle).Table.Select(z => z.Dump(names)); + var battleItems = FlatBufferConverter.DeserializeFrom(battle).Table.Select(z => z.Dump(names)); File.WriteAllLines(GetPath("BattleDropItems.txt"), battleItems); } @@ -258,13 +268,13 @@ public void DumpMoves() { var dir = Path.Combine(ROM.PathRomFS, "bin", "pml", "waza"); var files = Directory.GetFiles(dir); - var moves = FlatBufferConverter.DeserializeFrom(files); + var moves = FlatBufferConverter.DeserializeFrom(files); var names = ROM.GetStrings(TextName.MoveNames); var lines = TableUtil.GetNamedTypeTable(moves, names, "Moves"); var table = GetPath("MoveData.txt"); File.WriteAllText(table, lines); - var pp = moves.Select(z => z.FPP); + var pp = moves.Select(z => z.PP); var str = string.Join(", ", pp.Select(z => $"{z:00}")); var pppath = GetPath("MovePP.txt"); File.WriteAllText(pppath, str); @@ -289,7 +299,7 @@ public void DumpMoves() public void DumpLearnsetBinary() { var data = ROM.GetFile(GameFile.Learnsets)[0]; - var obj = FlatBufferConverter.DeserializeFrom(data); + var obj = FlatBufferConverter.DeserializeFrom(data); var pt = new PersonalTable8LA(ROM.GetFile(GameFile.PersonalStats)); var result = new byte[pt.Table.Length][]; var mastery = new byte[pt.Table.Length][]; @@ -299,7 +309,7 @@ public void DumpLearnsetBinary() var Dupes = new List<(int Species, int Form)>(); foreach (var e in obj.Table) { - if (e.Arceus.Length == 0) + if (e.Arceus.Count == 0) continue; var index = pt.GetFormIndex(e.Species, (byte)e.Form); var entry = (IPersonalInfoPLA)pt[index]; @@ -308,7 +318,7 @@ public void DumpLearnsetBinary() result[index] = e.WriteLearnsetAsLearn6(); mastery[index] = e.WriteMasteryAsLearn6(); - if (e.Arceus.Select(z => z.Level).Distinct().Count() != e.Arceus.Length) + if (e.Arceus.Select(z => z.Level).Distinct().Count() != e.Arceus.Count) Dupes.Add(new(e.Species, e.Form)); } @@ -335,7 +345,7 @@ public void DumpEvolutionBinary() { // format matches past gen and PKHeX's expected format var data = ROM.GetFilteredFolder(GameFile.Evolutions)[0]; - var obj = FlatBufferConverter.DeserializeFrom(data); + var obj = FlatBufferConverter.DeserializeFrom(data); var pt = new PersonalTable8LA(ROM.GetFile(GameFile.PersonalStats)); var result = new byte[pt.Table.Length][]; for (int i = 0; i < result.Length; i++) @@ -343,7 +353,7 @@ public void DumpEvolutionBinary() foreach (var e in obj.Table) { - if (e.Table?.Length is not > 0) + if (e.Table?.Count is not > 0) continue; var index = pt.GetFormIndex(e.Species, (byte)e.Form); var entry = (IPersonalInfoPLA)pt[index]; @@ -361,7 +371,7 @@ public void DumpGifts() { var speciesNames = ROM.GetStrings(TextName.SpeciesNames); var data = ROM.GetFile(GameFile.EncounterTableGift)[0]; - var gifts = FlatBufferConverter.DeserializeFrom(data); + var gifts = FlatBufferConverter.DeserializeFrom(data); var table = TableUtil.GetTable(gifts.Table); var fn = GetPath("Gifts.txt"); File.WriteAllText(fn, table); @@ -374,7 +384,7 @@ public void DumpStatic() { var speciesNames = ROM.GetStrings(TextName.SpeciesNames); var data = ROM.GetFile(GameFile.EncounterTableStatic)[0]; - var statics = FlatBufferConverter.DeserializeFrom(data); + var statics = FlatBufferConverter.DeserializeFrom(data); var lines = new List(); @@ -401,18 +411,18 @@ public void DumpWilds() Dictionary map = GetPlaceNameMap(); var multdata = ROM.GetFile(GameFile.EncounterRateTable)[0]; - var multipliers = FlatBufferConverter.DeserializeFrom(multdata); + var multipliers = FlatBufferConverter.DeserializeFrom(multdata); var miscdata = ROM.GetFile(GameFile.PokeMisc)[0]; - var misc = FlatBufferConverter.DeserializeFrom(miscdata); + var misc = FlatBufferConverter.DeserializeFrom(miscdata); var nhoGroup_b = ROM.GetFile(GameFile.NewHugeGroup)[0]; - var nhoGroup = FlatBufferConverter.DeserializeFrom(nhoGroup_b); + var nhoGroup = FlatBufferConverter.DeserializeFrom(nhoGroup_b); var nhoGroupL_b = ROM.GetFile(GameFile.NewHugeGroupLottery)[0]; - var nhoGroupL = FlatBufferConverter.DeserializeFrom(nhoGroupL_b); + var nhoGroupL = FlatBufferConverter.DeserializeFrom(nhoGroupL_b); var resident = (GFPack)ROM.GetFile(GameFile.Resident); var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin"); - var settings = FlatBufferConverter.DeserializeFrom(bin_settings); + var settings = FlatBufferConverter.DeserializeFrom(bin_settings); const string wild = "wild"; Directory.CreateDirectory(GetPath(wild)); @@ -423,29 +433,29 @@ public void DumpWilds() const float bias = 20; var hexBin = new List(); - var allSlots = new List(); - var allSpawners = new List(); - var allWormholes = new List(); - var allLocations = new List(); - var allLandItems = new List(); - var allLandMarks = new List(); + var allSlots = new List(); + var allSpawners = new List(); + var allWormholes = new List(); + var allLocations = new List(); + var allLandItems = new List(); + var allLandMarks = new List(); var allUnown = new List(); var allMkrg = new List(); var allSearchItem = new List(); foreach (var areaNameList in ResidentAreaSet.AreaNames) { - var instance = AreaInstance8a.Create(resident, areaNameList, settings); - var lines = EncounterTable8aUtil.GetLines(multipliers, misc, speciesName, instance, nhoGroup, nhoGroupL, map).ToList(); + var instance = AreaInstance.Create(resident, areaNameList, settings); + var lines = EncounterTableUtil.GetLines(multipliers, misc, speciesName, instance, nhoGroup, nhoGroupL, map).ToList(); File.WriteAllLines(GetPath(wild, $"Encounters_{instance.AreaName}.txt"), lines); - var unown = EncounterTable8aUtil.GetUnownLines(instance, map).Distinct().ToList(); + var unown = EncounterTableUtil.GetUnownLines(instance, map).Distinct().ToList(); File.WriteAllLines(GetPath(wild, $"unown_0_{instance.AreaName}.txt"), unown); - var unownBias = EncounterTable8aUtil.GetUnownLinesBias(instance, map, bias).Distinct().ToList(); + var unownBias = EncounterTableUtil.GetUnownLinesBias(instance, map, bias).Distinct().ToList(); File.WriteAllLines(GetPath(wild, $"unown_{bias:0}_{instance.AreaName}.txt"), unownBias); allUnownLines.AddRange(unown); allUnownLinesBias.AddRange(unownBias); - var slices = EncounterTable8aUtil.GetEncounterDump(instance, map, misc, nhoGroup, nhoGroupL); + var slices = EncounterTableUtil.GetEncounterDump(instance, map, misc, nhoGroup, nhoGroupL); foreach (var s in slices) { if (!hexBin.Any(z => z.SequenceEqual(s))) @@ -502,9 +512,9 @@ public void DumpResident() { var resident = (GFPack)ROM.GetFile(GameFile.Resident); var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin"); - var settings = FlatBufferConverter.DeserializeFrom(bin_settings); + var settings = FlatBufferConverter.DeserializeFrom(bin_settings); var dir = GetPath("Resident"); - var props = typeof(AreaSettings8a).GetProperties(); + var props = typeof(AreaSettings).GetProperties(); foreach (var x in settings.Table) { foreach (var p in props) @@ -544,7 +554,7 @@ public void DumpPlacement() { var resident = (GFPack)ROM.GetFile(GameFile.Resident); var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin"); - var settings = FlatBufferConverter.DeserializeFrom(bin_settings); + var settings = FlatBufferConverter.DeserializeFrom(bin_settings); Dictionary map = GetPlaceNameMap(); @@ -557,11 +567,11 @@ public void DumpPlacement() foreach (var areaNameList in ResidentAreaSet.AreaNames) { - var area = AreaInstance8a.Create(resident, areaNameList, settings); + var area = AreaInstance.Create(resident, areaNameList, settings); foreach (var subArea in new[] { area }.Concat(area.SubAreas)) { var areaName = subArea.AreaName; - if (subArea.Locations.Length != 0) + if (subArea.Locations.Count != 0) { var loc_lines = GetLocationBoundLines(areaName, map, subArea.Locations); @@ -569,7 +579,7 @@ public void DumpPlacement() location_all.Add(string.Empty); File.WriteAllLines(GetPath(placement, $"Location_{areaName}.txt"), loc_lines); } - if (subArea.Spawners.Length != 0) + if (subArea.Spawners.Count != 0) { var spwn_lines = GetSpawnLines(areaName, map, subArea.Spawners, subArea.Locations); @@ -577,7 +587,7 @@ public void DumpPlacement() spawner_all.Add(string.Empty); File.WriteAllLines(GetPath(placement, $"Spawner_{areaName}.txt"), spwn_lines); } - if (subArea.Wormholes.Length != 0) + if (subArea.Wormholes.Count != 0) { var spwn_lines = GetSpawnLines(areaName, map, subArea.Wormholes, subArea.Locations); @@ -585,7 +595,7 @@ public void DumpPlacement() wh_spawner_all.Add(string.Empty); File.WriteAllLines(GetPath(placement, $"WhSpawner_{areaName}.txt"), spwn_lines); } - if (subArea.Mikaruge.Length != 0) + if (subArea.Mikaruge.Count != 0) { var mkrg_lines = GetMikarugeLines(areaName, map, subArea.Mikaruge, subArea.Locations); @@ -593,7 +603,7 @@ public void DumpPlacement() mkrg_all.Add(string.Empty); File.WriteAllLines(GetPath(placement, $"Mikaruge_{areaName}.txt"), mkrg_lines); } - if (subArea.SearchItem.Length != 0) + if (subArea.SearchItem.Count != 0) { var mkrg_lines = GetSearchItemLines(areaName, map, subArea.SearchItem, subArea.Locations); @@ -631,7 +641,7 @@ public void DumpPlacement() private static IReadOnlyList GetLocationBoundLines(string areaName, IReadOnlyDictionary map, - IEnumerable locations) + IEnumerable locations) { var result = new List { $"Area: {areaName}" }; foreach (var location in locations) @@ -649,8 +659,8 @@ public void DumpPlacement() private static IReadOnlyList GetSpawnLines(string areaName, IReadOnlyDictionary map, - IEnumerable spawners, - IReadOnlyList locations) + IEnumerable spawners, + IList locations) { var result = new List { $"Area: {areaName}" }; foreach (var spawner in spawners) @@ -664,7 +674,7 @@ public void DumpPlacement() private static IReadOnlyList GetMikarugeLines(string areaName, IReadOnlyDictionary map, IEnumerable mkrgs, - IReadOnlyList locations) + IList locations) { var result = new List { $"Area: {areaName}" }; foreach (var mkrg in mkrgs) @@ -678,7 +688,7 @@ public void DumpPlacement() private static IReadOnlyList GetSearchItemLines(string areaName, IReadOnlyDictionary map, IEnumerable mkrgs, - IReadOnlyList locations) + IList locations) { var result = new List { $"Area: {areaName}" }; foreach (var psi in mkrgs) @@ -689,8 +699,8 @@ public void DumpPlacement() return result; } - private static string GetNearbyLocationNames(PlacementSpawner8a spawner, - IReadOnlyList locations, + private static string GetNearbyLocationNames(PlacementSpawner spawner, + IList locations, IReadOnlyDictionary map) { var containedBy = spawner.GetContainingLocations(locations); @@ -700,7 +710,7 @@ public void DumpPlacement() } private static string GetNearbyLocationNames(PlacementSearchItem mkrg, - IReadOnlyList locations, + IList locations, IReadOnlyDictionary map) { var containedBy = mkrg.GetContainingLocations(locations); @@ -710,7 +720,7 @@ public void DumpPlacement() } private static string GetNearbyLocationNames(PlacementMkrgEntry mkrg, - IReadOnlyList locations, + IList locations, IReadOnlyDictionary map) { var containedBy = mkrg.GetContainingLocations(locations); @@ -719,7 +729,7 @@ public void DumpPlacement() return string.Join(", ", localized); } - private void DumpVisualizationData(AreaInstance8a area) + private void DumpVisualizationData(AreaInstance area) { var vis_lines = new List { "LOCS = [" }; @@ -759,13 +769,13 @@ private void DumpVisualizationData(AreaInstance8a area) public void DumpOutbreak() { var file = ROM.GetFile(GameFile.Outbreak).FilePath; - var result = FlatDumper.GetTable(file!); + var result = FlatDumper.GetTable(file!, z=>z.Table); File.WriteAllText(GetPath("massOutbreak.txt"), result); - var arr = FlatBufferConverter.DeserializeFrom(file!).Table; - var cache = new DataCache(arr); + var arr = FlatBufferConverter.DeserializeFrom(file!).Table; + var cache = new DataCache(arr); var names = Enumerable.Range(0, cache.Length).Select(z => $"{z}").ToArray(); - var form = new GenericEditor(cache, names, "Outbreak"); + var form = new GenericEditor(cache, names, "Outbreak"); form.ShowDialog(); } @@ -807,8 +817,8 @@ ushort GetDexIndex(ushort species) for (ushort species = 0; species <= 980; species++) { - var entries = Array.FindAll(dexResearch.Table, z => z.Species == species); - if (entries.Length == 0) + var entries = dexResearch.Table.Where(z => z.Species == species).ToList(); + if (entries.Count == 0) continue; var dexInd = GetDexIndex(species); @@ -878,9 +888,9 @@ ushort GetDexIndex(ushort species) br.Write((ushort)task.Move); br.Write((byte)type); br.Write((byte)timeOfDay); - br.Write(task.Hash_06); - br.Write(task.Hash_07); - br.Write(task.Hash_08); + br.Write(task.Hash06); + br.Write(task.Hash07); + br.Write(task.Hash08); br.Write((byte)thresholds.Length); for (var i = 0; i < 5; i++) @@ -1027,7 +1037,7 @@ void DumpStringSet(TextName t, string file) public void DumpScriptID() { var file = Path.Combine(ROM.PathRomFS, "bin", "event", "script_id_record_release.bin"); - var text = FlatDumper.GetTable(file); + var text = FlatDumper.GetTable(file, z=> z.Table); var path = GetPath("scriptCommands.txt"); File.WriteAllText(path, text); } @@ -1051,35 +1061,17 @@ public void DumpEventTriggers() if (Path.GetFileName(f) == "trigger_preset.bin") continue; - var table = FlatBufferConverter.DeserializeFrom(f); + var table = FlatBufferConverter.DeserializeFrom(f); var curLines = new List { $"File: {Path.GetFileName(f)}" }; - foreach (var line in Trigger8aUtil.GetTriggerTableSummary(table)) + foreach (var line in TriggerUtil.GetTriggerTableSummary(table)) curLines.Add($"\t{line}"); File.WriteAllLines(GetPath(outFolder, $"trigger_{Path.GetFileNameWithoutExtension(f).Replace("trigger_", string.Empty)}.txt"), curLines); allLines.AddRange(curLines); allLines.Add(string.Empty); - - foreach (var trg in table.Table) - { - if (!Enum.IsDefined(typeof(TriggerType8a), trg.Meta.TriggerTypeID) && !unknownTriggers.Contains((ulong)trg.Meta.TriggerTypeID)) - unknownTriggers.Add((ulong)trg.Meta.TriggerTypeID); - - foreach (var cond in trg.Conditions) - { - if (!Enum.IsDefined(typeof(ConditionType8a), cond.ConditionTypeID) && !unknownConditions.Contains((ulong)cond.ConditionTypeID)) - unknownConditions.Add((ulong)cond.ConditionTypeID); - } - - foreach (var cmd in trg.Commands) - { - if (!Enum.IsDefined(typeof(TriggerCommandType8a), cmd.CommandTypeID) && !unknownCommands.Contains((ulong)cmd.CommandTypeID)) - unknownCommands.Add((ulong)cmd.CommandTypeID); - } - } } File.WriteAllLines(GetPath(outFolder, "triggerAll.txt"), allLines); @@ -1092,7 +1084,7 @@ public void DumpEventTriggers() public void DumpMoveShop() { var file = ROM.GetFile(GameFile.MoveShop).FilePath; - var result = FlatDumper.GetTable(file!); + var result = FlatDumper.GetTable(file!, z=>z.Table); File.WriteAllText(GetPath("MoveShop.csv"), result); } } diff --git a/pkNX.WinForms/Dumping/GameDumperSV.cs b/pkNX.WinForms/Dumping/GameDumperSV.cs index a8705a4f..d0a7091a 100644 --- a/pkNX.WinForms/Dumping/GameDumperSV.cs +++ b/pkNX.WinForms/Dumping/GameDumperSV.cs @@ -3,10 +3,13 @@ using System.Diagnostics; using System.IO; using System.Linq; +using FlatSharp; using pkNX.Containers; using pkNX.Game; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV; +using Schema = pkNX.Structures.FlatBuffers.Reflection; // ReSharper disable StringLiteralTypo @@ -20,9 +23,7 @@ public string DumpFolder { get { - var parent = Directory.GetParent(ROM.PathRomFS); - if (parent is null) - throw new DirectoryNotFoundException($"Unable to find parent directory of {ROM.PathRomFS}"); + var parent = Directory.GetParent(ROM.PathRomFS) ?? throw new DirectoryNotFoundException($"Unable to find parent directory of {ROM.PathRomFS}"); return Path.Combine(parent.FullName, "Dump"); } } @@ -63,9 +64,7 @@ private string GetPath(string path) { Directory.CreateDirectory(DumpFolder); var result = Path.Combine(DumpFolder, path); - var parent = Directory.GetParent(result); - if (parent is null) - throw new DirectoryNotFoundException($"Unable to get parent directory of {result}"); + var parent = Directory.GetParent(result) ?? throw new DirectoryNotFoundException($"Unable to get parent directory of {result}"); Directory.CreateDirectory(parent.FullName); // double check :( return result; } @@ -74,9 +73,7 @@ private string GetPath(string parent, string path) { Directory.CreateDirectory(DumpFolder); var result = Path.Combine(DumpFolder, parent, path); - var parent2 = Directory.GetParent(result); - if (parent2 is null) - throw new DirectoryNotFoundException($"Unable to get parent directory of {result}"); + var parent2 = Directory.GetParent(result) ?? throw new DirectoryNotFoundException($"Unable to get parent directory of {result}"); Directory.CreateDirectory(parent2.FullName); // double check :( return result; } @@ -233,7 +230,7 @@ static void WriteFileHeader(string file, TextWriter s) public void DumpPersonal() { const string personalPath = "avalon/data/personal_array.bin"; - Dump(personalPath); + Dump(personalPath, z => z.Table); var perbin = ROM.GetPackedFile(personalPath); var pt = new PersonalTable9SV(new FakeContainer(new[] { perbin })); @@ -325,7 +322,7 @@ private void RipPersonal(PersonalTable9SV pt, string lang) File.WriteAllText(GetPath(lang, "tm.txt"), string.Join(Environment.NewLine, TMNames)); } - private static byte[][] SerializeU16Pickle(PersonalTable9SV pt, Func sel) + private static byte[][] SerializeU16Pickle(PersonalTable9SV pt, Func> sel) { var t = pt.Table; var result = new byte[t.Length][]; @@ -339,7 +336,7 @@ private static byte[][] SerializeU16Pickle(PersonalTable9SV pt, Func moves) { using var ms = new MemoryStream(); using var bw = new BinaryWriter(ms); @@ -364,7 +361,7 @@ static byte[] GetPickle(PersonalInfo9SV e) return Write(e.FB.Info.SpeciesNational, e.FB.Evolutions); } - static byte[] Write(int species, PersonalInfo9SVEvolutions[] evos) + static byte[] Write(int species, IEnumerable evos) { using var ms = new MemoryStream(); using var bw = new BinaryWriter(ms); @@ -408,7 +405,7 @@ private static byte[][] SerializeLearnsetPickle(PersonalTable9SV pt) result[i] = Write(t[i].FB.Learnset); return result; - static byte[] Write(IEnumerable fbLearnset) + static byte[] Write(IEnumerable fbLearnset) { using var ms = new MemoryStream(); using var bw = new BinaryWriter(ms); @@ -509,33 +506,33 @@ private void DumpGrow() private void DumpGymRewards() { - Dump("world/data/gym/gym_denki_popup_fix/gym_denki_popup_fix_array.bfbs"); - Dump("world/data/gym/gym_denki_popup_pos/gym_denki_popup_pos_array.bfbs"); - //Dump("world/data/gym/gym_esper_reward_endless/gym_esper_reward_endless_array.bfbs"); - //Dump("world/data/gym/gym_esper_reward_exercise/gym_esper_reward_exercise_array.bfbs"); - Dump("world/data/gym/gym_koori_course/gym_koori_course_array.bfbs"); + Dump("world/data/gym/gym_denki_popup_fix/gym_denki_popup_fix_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_denki_popup_pos/gym_denki_popup_pos_array.bfbs", z => z.Table); + //Dump("world/data/gym/gym_esper_reward_endless/gym_esper_reward_endless_array.bfbs", z => z.Table); + //Dump("world/data/gym/gym_esper_reward_exercise/gym_esper_reward_exercise_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_koori_course/gym_koori_course_array.bfbs", z => z.Table); DumpJson("world/data/gym/gym_koori_course_pokemon/gym_koori_course_pokemon_base.bfbs"); - Dump("world/data/gym/gym_kusa_poke/gym_kusa_poke_array.bfbs"); - Dump("world/data/gym/gym_kusa_reward/gym_kusa_reward_array.bfbs"); - Dump("world/data/gym/gym_mizu_seri_fix/gym_mizu_seri_fix_array.bfbs"); - Dump("world/data/gym/gym_mizu_seri_item/gym_mizu_seri_item_array.bfbs"); - Dump("world/data/gym/gym_mizu_seri_npc/gym_mizu_seri_npc_array.bfbs"); - Dump("world/data/gym/gym_mizu_seri_venue/gym_mizu_seri_venue_array.bfbs"); + Dump("world/data/gym/gym_kusa_poke/gym_kusa_poke_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_kusa_reward/gym_kusa_reward_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_mizu_seri_fix/gym_mizu_seri_fix_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_mizu_seri_item/gym_mizu_seri_item_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_mizu_seri_npc/gym_mizu_seri_npc_array.bfbs", z => z.Table); + Dump("world/data/gym/gym_mizu_seri_venue/gym_mizu_seri_venue_array.bfbs", z => z.Table); DumpJson("world/data/gym/gym_mushi_data/gym_mushi_data.bfbs"); - Dump("world/data/gym/gym_mushi_reward/gym_mushi_reward_array.bfbs"); + Dump("world/data/gym/gym_mushi_reward/gym_mushi_reward_array.bfbs", z => z.Table); } private void DumpShopDress() { - Dump("world/data/ui/dressup_preset/dressup_preset_data/dressup_preset_data_array.bfbs"); - Dump("world/data/ui/dressup_style/dressup_style_data/dressup_style_data_array.bfbs"); - Dump("world/data/ui/shop/dressup_shop/dressup_category_data/dressup_category_data_array.bfbs"); - Dump("world/data/ui/shop/dressup_shop/dressup_item_data/dressup_item_data_array.bfbs"); - Dump("world/data/ui/shop/dressup_shop/dressup_shop_data/dressup_shop_data_array.bfbs"); - Dump("world/data/ui/shop/shop_restaurant/restaurant_bufdata/restaurant_bufdata_array.bfbs"); - Dump("world/data/ui/shop/shop_restaurant/restaurant_menudata/restaurant_menudata_array.bfbs"); - Dump("world/data/ui/shop/shop_restaurant/restaurant_shopdata/restaurant_shopdata_array.bfbs"); - Dump("world/data/ui/shop/shop_wazamachine/shop_wazamachine_data/shop_wazamachine_data_array.bfbs"); + Dump("world/data/ui/dressup_preset/dressup_preset_data/dressup_preset_data_array.bfbs", z => z.Table); + Dump("world/data/ui/dressup_style/dressup_style_data/dressup_style_data_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/dressup_shop/dressup_category_data/dressup_category_data_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/dressup_shop/dressup_item_data/dressup_item_data_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/dressup_shop/dressup_shop_data/dressup_shop_data_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/shop_restaurant/restaurant_bufdata/restaurant_bufdata_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/shop_restaurant/restaurant_menudata/restaurant_menudata_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/shop_restaurant/restaurant_shopdata/restaurant_shopdata_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/shop_wazamachine/shop_wazamachine_data/shop_wazamachine_data_array.bfbs", z => z.Table); } private void DumpField() @@ -544,13 +541,13 @@ private void DumpField() DumpJson("world/data/field/fixed_symbol/gem_symbol_setting/data.bfbs"); DumpJson("world/data/field/fixed_symbol/fixed_symbol_manager/fixed_symbol_manager_data.bfbs"); - Dump("world/data/field/fixed_symbol/gem_symbol_lottery_table/gem_symbol_lottery_table_array.bfbs"); - Dump("world/data/field/fixed_symbol/fixed_symbol_table/fixed_symbol_table_array.bfbs"); + Dump("world/data/field/fixed_symbol/gem_symbol_lottery_table/gem_symbol_lottery_table_array.bfbs", z => z.Table); + Dump("world/data/field/fixed_symbol/fixed_symbol_table/fixed_symbol_table_array.bfbs", z => z.Table); - Dump("world/data/field/exclusion_area/exclusion_group_table/exclusion_group_table_array.bfbs"); + Dump("world/data/field/exclusion_area/exclusion_group_table/exclusion_group_table_array.bfbs", z => z.Table); DumpSel("world/data/field/fixed_symbol/fixed_symbol_table/fixed_symbol_table_array.bfbs", - z => z.Table.Select(x => x.PokeDataSymbol), "sym"); + z => z.Table.Select(x => x.Symbol), "sym"); DumpSel("world/data/field/fixed_symbol/fixed_symbol_table/fixed_symbol_table_array.bfbs", z => z.Table.Select(x => x.PokeAI), "ai"); DumpSel("world/data/field/fixed_symbol/fixed_symbol_table/fixed_symbol_table_array.bfbs", @@ -559,40 +556,40 @@ private void DumpField() private void DumpAjito() { - Dump("world/data/ajito/AjitoCommonLevel/AjitoCommonLevel_array.bfbs"); - Dump("world/data/ajito/AjitoPokemon/AjitoPokemon_array.bfbs"); - Dump("world/data/ajito/AjitoUnit/AjitoUnit_array.bfbs"); + Dump("world/data/ajito/AjitoCommonLevel/AjitoCommonLevel_array.bfbs", z => z.Table); + Dump("world/data/ajito/AjitoPokemon/AjitoPokemon_array.bfbs", z => z.Table); + Dump("world/data/ajito/AjitoUnit/AjitoUnit_array.bfbs", z => z.Table); } private void DumpEncount() { - Dump("world/data/event/treeshake/treeshake_pokemon/treeshake_pokemon_array.bfbs"); - Dump("world/data/encount/point_data/point_data/encount_data_atlantis.bfbs"); - Dump("world/data/encount/point_data/point_data/encount_data_100000.bfbs"); - Dump("world/data/encount/pokedata/pokedata/pokedata_array.bfbs"); + Dump("world/data/event/treeshake/treeshake_pokemon/treeshake_pokemon_array.bfbs", z => z.Table); + Dump("world/data/encount/point_data/point_data/encount_data_atlantis.bfbs", z => z.Table); + Dump("world/data/encount/point_data/point_data/encount_data_100000.bfbs", z => z.Table); + Dump("world/data/encount/pokedata/pokedata/pokedata_array.bfbs", z => z.Table); DumpJson("world/data/encount/setting/setting/data.bfbs"); - Dump("world/data/encount/setting/raid_difficulty_lottery/raid_difficulty_lottery_array.bfbs"); + Dump("world/data/encount/setting/raid_difficulty_lottery/raid_difficulty_lottery_array.bfbs", z => z.Table); DumpJson("world/data/encount/setting/raid_gem_setting/raid_gem_setting.bfbs"); - Dump("world/data/field/area/field_dungeon_area/field_dungeon_area_array.bfbs"); - Dump("world/data/field/area/field_inside_area/field_inside_area_array.bfbs"); - Dump("world/data/field/area/field_location/field_location_array.bfbs"); - Dump("world/data/field/area/field_main_area/field_main_area_array.bfbs"); - Dump("world/data/field/area/field_sub_area/field_sub_area_array.bfbs"); + Dump("world/data/field/area/field_dungeon_area/field_dungeon_area_array.bfbs", z => z.Table); + Dump("world/data/field/area/field_inside_area/field_inside_area_array.bfbs", z => z.Table); + Dump("world/data/field/area/field_location/field_location_array.bfbs", z => z.Table); + Dump("world/data/field/area/field_main_area/field_main_area_array.bfbs", z => z.Table); + Dump("world/data/field/area/field_sub_area/field_sub_area_array.bfbs", z => z.Table); const string gifts = "world/data/event/event_add_pokemon/eventAddPokemon/eventAddPokemon_array.bfbs"; - Dump(gifts); + Dump(gifts, z => z.Table); DumpSel(gifts, z => z.Table.Select(x => x.PokeData)); } private void DumpDLC() { - Dump("world/data/ui/dlc_item_data/dlc_item_group/dlc_item_group_array.bfbs"); + Dump("world/data/ui/dlc_item_data/dlc_item_group/dlc_item_group_array.bfbs", z=>z.Table); } private void DumpJunk() { - Dump("world/data/field/map_change_common/map_change_common_array.bfbs"); - Dump("world/data/event/sub_012/sub_012_reward/sub_012_reward_array.bfbs"); + Dump("world/data/field/map_change_common/map_change_common_array.bfbs", z => z.Table); + Dump("world/data/event/sub_012/sub_012_reward/sub_012_reward_array.bfbs", z => z.Table); DumpJson("world/data/field/playables/field_camera/battleData.bfbs"); DumpJson("world/data/field/playables/field_camera/data.bfbs"); DumpJson("world/data/field/playables/field_interior_camera/cam_t01_i01_01.bfbs"); @@ -604,24 +601,24 @@ private void DumpJunk() DumpJson("world/data/field/playables/field_interior_camera/sample.bfbs"); DumpJson("world/data/field/playables/field_player/data.bfbs"); DumpJson("world/data/field/playables/field_ride/data.bfbs"); - Dump("world/data/field/fly_area/area_fly_flag/area_fly_flag_array.bfbs"); - Dump("world/data/ui/map_icon_data/ui_map_icon_data/ui_map_icon_data_array.bfbs"); - Dump("world/data/event/npc_traffic_generate/npc_traffic_generate_array.bfbs"); - Dump("world/data/event/field_popup/event_field_popup/event_field_popup_array.bfbs"); + Dump("world/data/field/fly_area/area_fly_flag/area_fly_flag_array.bfbs", z => z.Table); + Dump("world/data/ui/map_icon_data/ui_map_icon_data/ui_map_icon_data_array.bfbs", z => z.Table); + Dump("world/data/event/npc_traffic_generate/npc_traffic_generate_array.bfbs", z => z.Table); + Dump("world/data/event/field_popup/event_field_popup/event_field_popup_array.bfbs", z => z.Table); DumpJson("world/data/picnic/picnic_system/default_system_data.bfbs"); DumpJson("world/data/picnic/picnic_tableset_data/common.bfbs"); DumpJson("world/data/picnic/picnic_wagon_data/common.bfbs"); DumpJson("world/data/picnic/pokemon/picnic_pokemon/RIDE.bfbs"); - Dump("world/data/system/object_generation_range/object_generation_range_array.bfbs"); - Dump("world/data/ui/battle_bgm_select/battle_bgm_select_data/battle_bgm_select_data_array.bfbs"); - Dump("world/data/ui/quest_clear/dan_quest_clear/dan_quest_clear_array.bfbs"); - Dump("world/data/ui/quest_clear/gym_quest_clear/gym_quest_clear_array.bfbs"); - Dump("world/data/ui/quest_clear/nushi_quest_clear/nushi_quest_clear_array.bfbs"); - Dump("world/data/ui/system_bg/system_bg/system_bg_array.bfbs"); - Dump("world/data/ui/tips/tips_data/tips_data_array.bfbs"); - Dump("world/data/ui/ymap/yamp_npc_navigation_data/yamp_npc_navigation_data_array.bfbs"); - Dump("world/data/ui/ymap/ymap_destination_data/ymap_destination_data_array.bfbs"); - Dump("world/data/ui/ymap/ymap_place_name_data/ymap_place_name_data_array.bfbs"); + Dump("world/data/system/object_generation_range/object_generation_range_array.bfbs", z => z.Table); + Dump("world/data/ui/battle_bgm_select/battle_bgm_select_data/battle_bgm_select_data_array.bfbs", z => z.Table); + Dump("world/data/ui/quest_clear/dan_quest_clear/dan_quest_clear_array.bfbs", z => z.Table); + Dump("world/data/ui/quest_clear/gym_quest_clear/gym_quest_clear_array.bfbs", z => z.Table); + Dump("world/data/ui/quest_clear/nushi_quest_clear/nushi_quest_clear_array.bfbs", z => z.Table); + Dump("world/data/ui/system_bg/system_bg/system_bg_array.bfbs", z => z.Table); + Dump("world/data/ui/tips/tips_data/tips_data_array.bfbs", z => z.Table); + Dump("world/data/ui/ymap/yamp_npc_navigation_data/yamp_npc_navigation_data_array.bfbs", z => z.Table); + Dump("world/data/ui/ymap/ymap_destination_data/ymap_destination_data_array.bfbs", z => z.Table); + Dump("world/data/ui/ymap/ymap_place_name_data/ymap_place_name_data_array.bfbs", z => z.Table); } public void DumpEncounters() @@ -639,17 +636,17 @@ public void DumpEncounters() public void DumpRaid() { - Dump("world/data/raid/delivery_fixed_reward_item/delivery_fixed_reward_item_array.bfbs"); - Dump("world/data/raid/delivery_lottery_reward_item/delivery_lottery_reward_item_array.bfbs"); - Dump("world/data/raid/delivery_raid_enemy/delivery_raid_enemy_array.bfbs"); - Dump("world/data/raid/delivery_raid_priority/delivery_raid_priority_array.bfbs"); - Dump("world/data/raid/raid_fixed_reward_item/raid_fixed_reward_item_array.bfbs"); - Dump("world/data/raid/raid_lottery_reward_item/raid_lottery_reward_item_array.bfbs"); - Dump("world/data/raid/raid_lottery_reward_slot/raid_lottery_reward_slot_array.bfbs"); - Dump("world/data/raid/raid_poke_scale/raid_poke_scale_array.bfbs"); - Dump("world/data/raid/raid_trainer_01/raid_trainer_01_array.bfbs"); - Dump("world/data/raid/raid_trainer_02/raid_trainer_02_array.bfbs"); - Dump("world/data/raid/raid_trainer_03/raid_trainer_03_array.bfbs"); + Dump("world/data/raid/delivery_fixed_reward_item/delivery_fixed_reward_item_array.bfbs", z => z.Table); + Dump("world/data/raid/delivery_lottery_reward_item/delivery_lottery_reward_item_array.bfbs", z => z.Table); + Dump("world/data/raid/delivery_raid_enemy/delivery_raid_enemy_array.bfbs", z => z.Table); + Dump("world/data/raid/delivery_raid_priority/delivery_raid_priority_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_fixed_reward_item/raid_fixed_reward_item_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_lottery_reward_item/raid_lottery_reward_item_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_lottery_reward_slot/raid_lottery_reward_slot_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_poke_scale/raid_poke_scale_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_trainer_01/raid_trainer_01_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_trainer_02/raid_trainer_02_array.bfbs", z => z.Table); + Dump("world/data/raid/raid_trainer_03/raid_trainer_03_array.bfbs", z => z.Table); var allRaids = new[] { @@ -663,8 +660,8 @@ public void DumpRaid() foreach (var f in allRaids) { - Dump(f); - static IEnumerable sel(RaidEnemyTableArray z) => z.Table.Select(x => x.RaidEnemyInfo.BossPokePara); + Dump(f, z => z.Table); + static IEnumerable sel(RaidEnemyTableArray z) => z.Table.Select(x => x.Info.BossPokePara); DumpSel(f, sel); } @@ -675,8 +672,8 @@ public void DumpRaid() public void DumpMoves() { const string wazaPath = "avalon/data/waza_array.bin"; - Dump(wazaPath); - var table = Get(wazaPath); + Dump(wazaPath, z => z.Table); + var table = Get(wazaPath); var outPath = GetPath("pkhex"); var pp = table.Table.Select(z => z.PP).Select(z => $"{z:00}"); @@ -688,51 +685,51 @@ public void DumpMoves() private void DumpItems() { - Dump("world/data/item/rummagingItemDataTable/rummagingItemDataTable_array.bfbs"); - Dump("world/data/item/itemPointTypeBiomeTable/itemPointTypeBiomeTable_array.bfbs"); - Dump("world/data/item/hiddenItemBiomeTable/hiddenItemBiomeTable_array.bfbs"); - Dump("world/data/item/dropitemdata/dropitemdata_array.bfbs"); - Dump("world/data/item/itemdata/itemdata_array.bfbs"); - Dump("world/data/item/hiddenItemDataTable/hiddenItemDataTable_array.bfbs"); - Dump("world/data/item/monohiroiItemData/monohiroiItemData_array.bfbs"); + Dump("world/data/item/rummagingItemDataTable/rummagingItemDataTable_array.bfbs", z => z.Table); + Dump("world/data/item/itemPointTypeBiomeTable/itemPointTypeBiomeTable_array.bfbs", z => z.Table); + Dump("world/data/item/hiddenItemBiomeTable/hiddenItemBiomeTable_array.bfbs", z => z.Table); + Dump("world/data/item/dropitemdata/dropitemdata_array.bfbs", z => z.Table); + Dump("world/data/item/itemdata/itemdata_array.bfbs", z => z.Table); + Dump("world/data/item/hiddenItemDataTable/hiddenItemDataTable_array.bfbs", z => z.Table); + Dump("world/data/item/monohiroiItemData/monohiroiItemData_array.bfbs", z => z.Table); } private void DumpAudio() { DumpJson("audio/fb/env_poke_voice/env_poke_voice_lottery_settings/env_poke_voice_lottery_settings_data.bfbs"); - Dump("audio/fb/bgm/bgm_event/bgm_event_array.bfbs"); + Dump("audio/fb/bgm/bgm_event/bgm_event_array.bfbs", z => z.Table); } private void DumpUniquePath() { - Dump("world/data/pokemon/ai_action/trigger/condition_simple_auto_battle_heckler_area/condition_simple_auto_battle_heckler_area_array.bfbs"); + Dump("world/data/pokemon/ai_action/trigger/condition_simple_auto_battle_heckler_area/condition_simple_auto_battle_heckler_area_array.bfbs", z => z.Table); DumpJson("world/data/pokemon/pokemon_unique_path_data/wild_pokemon_single_data.bfbs"); DumpJson("world/data/pokemon/pokemon_unique_path_data/wild_pokemon_special_data.bfbs"); DumpJson("world/data/pokemon/pokemon_unique_path_data/pokemon_stain_unique_data.bfbs"); DumpJson("world/data/pokemon/pokemon_unique_path_data/pokemon_common_data.bfbs"); DumpJson("world/data/pokemon/pokemon_unique_path_data/pokemon_species_table.bfbs"); - Dump("world/data/pokeobj/pokeobj_param/pokeobj_param_array.bfbs"); + Dump("world/data/pokeobj/pokeobj_param/pokeobj_param_array.bfbs", z => z.Table); } private void DumpFieldReturn() { - Dump("world/data/field/area_range/field_auto_return_data/field_auto_return_data_array.bfbs"); - Dump("world/data/field/area_range/field_auto_return_pos/field_auto_return_pos_array.bfbs"); - Dump("world/data/field/area_range/field_out_of_range_data/field_out_of_range_data_array.bfbs"); + Dump("world/data/field/area_range/field_auto_return_data/field_auto_return_data_array.bfbs", z => z.Table); + Dump("world/data/field/area_range/field_auto_return_pos/field_auto_return_pos_array.bfbs", z => z.Table); + Dump("world/data/field/area_range/field_out_of_range_data/field_out_of_range_data_array.bfbs", z => z.Table); } private void DumpGem() { - Dump("world/data/gem/gem/gem_array.bfbs"); + Dump("world/data/gem/gem/gem_array.bfbs", z => z.Table); } private void DumpBattle() { - Dump("world/data/battle/plib_item_conversion/plib_item_conversion_array.bfbs"); - Dump("world/data/battle/pokeExceptionTable/pokeExceptionTable_array.bfbs"); + Dump("world/data/battle/plib_item_conversion/plib_item_conversion_array.bfbs", z => z.Table); + Dump("world/data/battle/pokeExceptionTable/pokeExceptionTable_array.bfbs", z => z.Table); DumpJson("world/data/battle/battleconfig/battleconfig.bfbs"); - Dump("world/data/battle/eventBattlePokemon/eventBattlePokemon_array.bfbs"); - Dump("world/data/battle/battleeffecttable/battleeffecttable_array.bfbs"); + Dump("world/data/battle/eventBattlePokemon/eventBattlePokemon_array.bfbs", z => z.Table); + Dump("world/data/battle/battleeffecttable/battleeffecttable_array.bfbs", z => z.Table); DumpSel("world/data/battle/eventBattlePokemon/eventBattlePokemon_array.bfbs", z => z.Table.Select(x => x.PokeData)); @@ -740,35 +737,35 @@ private void DumpBattle() private void DumpPokeDex() { - Dump("world/data/ui/pokedex/blacklist/blacklist_array.bfbs"); - Dump("world/data/ui/pokedex/memo_poke_data/memo_poke_data_array.bfbs"); - Dump("world/data/ui/pokedex/reward_data/reward_data_array.bfbs"); + Dump("world/data/ui/pokedex/blacklist/blacklist_array.bfbs", z => z.Table); + Dump("world/data/ui/pokedex/memo_poke_data/memo_poke_data_array.bfbs", z => z.Table); + Dump("world/data/ui/pokedex/reward_data/reward_data_array.bfbs", z => z.Table); - DumpX("world/data/ui/pokedex/distribution_data/distribution_data_array.bfbs"); + DumpX("world/data/ui/pokedex/distribution_data/distribution_data_array.bfbs", z => z.Table, z => z.Table); } private void DumpUI() { - Dump("world/data/ui/shop/shop_data/shop_data_array.bfbs"); - Dump("world/data/ui/status/ribbon/ribbon_array.bfbs"); + Dump("world/data/ui/shop/shop_data/shop_data_array.bfbs", z => z.Table); + Dump("world/data/ui/status/ribbon/ribbon_array.bfbs", z => z.Table); - Dump("world/data/ui/shop/friendlyshop/friendlyshop_data/friendlyshop_data_array.bfbs"); - Dump("world/data/ui/shop/friendlyshop/friendlyshop_lineup_data/friendlyshop_lineup_data_array.bfbs"); - Dump("world/data/ui/schoolmap/schoolmap_data/schoolmap_data_array.bfbs"); + Dump("world/data/ui/shop/friendlyshop/friendlyshop_data/friendlyshop_data_array.bfbs", z => z.Table); + Dump("world/data/ui/shop/friendlyshop/friendlyshop_lineup_data/friendlyshop_lineup_data_array.bfbs", z => z.Table); + Dump("world/data/ui/schoolmap/schoolmap_data/schoolmap_data_array.bfbs", z => z.Table); } private void DumpNetBattle() { - Dump("world/data/ui/net_battle/net_battle_rule_data/net_battle_rule_data_array.bfbs"); - Dump("world/data/ui/net_battle/net_battle_rule_param/net_battle_rule_param_array.bfbs"); + Dump("world/data/ui/net_battle/net_battle_rule_data/net_battle_rule_data_array.bfbs", z => z.Table); + Dump("world/data/ui/net_battle/net_battle_rule_param/net_battle_rule_param_array.bfbs", z => z.Table); } public void DumpTrainers() { - Dump("world/data/trainer/trdata/trdata_array.bfbs"); - Dump("world/data/trainer/trenv/trenv_array.bfbs"); - Dump("world/data/trainer/trtype/trtype_array.bfbs"); - DumpX("world/data/trainer/trdata/trdata_array.bfbs"); + Dump("world/data/trainer/trdata/trdata_array.bfbs", z => z.Table); + Dump("world/data/trainer/trenv/trenv_array.bfbs", z => z.Table); + Dump("world/data/trainer/trtype/trtype_array.bfbs", z => z.Table); + DumpX("world/data/trainer/trdata/trdata_array.bfbs", z => z.Table, z => new[] { z.Poke1, z.Poke2, z.Poke3, z.Poke4, z.Poke5, z.Poke6 }); } public void DumpCooking() @@ -776,12 +773,12 @@ public void DumpCooking() const string fpc = "world/data/cooking/FoodPowerCombo/FoodPowerCombo_array.bfbs"; const string ipc = "world/data/cooking/Ingredient/IngredientData/IngredientData_array.bfbs"; DumpJson("world/data/cooking/CookingCommonData/cooking_common_data.bfbs"); - Dump(fpc); - Dump(ipc); - Dump("world/data/cooking/Ingredient/IngredientDishData/IngredientDishData_array.bfbs"); - Dump("world/data/cooking/Recipe/RecipeData/RecipeData_array.bfbs"); - Dump("world/data/cooking/Seasoning/SeasoningData/SeasoningData_array.bfbs"); - Dump("world/data/cooking/TakaraSpicePowerTable/TakaraSpicePowerTable_array.bfbs"); + Dump(fpc, z => z.Table); + Dump(ipc, z => z.Table); + Dump("world/data/cooking/Ingredient/IngredientDishData/IngredientDishData_array.bfbs", z => z.Table); + Dump("world/data/cooking/Recipe/RecipeData/RecipeData_array.bfbs", z => z.Table); + Dump("world/data/cooking/Seasoning/SeasoningData/SeasoningData_array.bfbs", z => z.Table); + Dump("world/data/cooking/TakaraSpicePowerTable/TakaraSpicePowerTable_array.bfbs", z => z.Table); DumpSel(fpc, z => z.Table.Select(x => x.Param)); DumpSel (fpc, z => z.Table.Select(x => x.Param.FoodPower), "effect"); @@ -811,18 +808,18 @@ public void DumpCooking() { var param = entry.Param; // Write the ingredients in a single line. - if (param.Ingredient0 != IngredientType.NONE) ts.Write($"{param.Ingredient0}, "); - if (param.Ingredient1 != IngredientType.NONE) ts.Write($"{param.Ingredient1}, "); - if (param.Ingredient2 != IngredientType.NONE) ts.Write($"{param.Ingredient2}, "); - if (param.Ingredient3 != IngredientType.NONE) ts.Write($"{param.Ingredient3}, "); - if (param.Ingredient4 != IngredientType.NONE) ts.Write($"{param.Ingredient4}, "); - if (param.Ingredient5 != IngredientType.NONE) ts.Write($"{param.Ingredient5}, "); + if (param.Ingredient(0) != IngredientType.NONE) ts.Write($"{param.Ingredient(0)}, "); + if (param.Ingredient(1) != IngredientType.NONE) ts.Write($"{param.Ingredient(1)}, "); + if (param.Ingredient(2) != IngredientType.NONE) ts.Write($"{param.Ingredient(2)}, "); + if (param.Ingredient(3) != IngredientType.NONE) ts.Write($"{param.Ingredient(3)}, "); + if (param.Ingredient(4) != IngredientType.NONE) ts.Write($"{param.Ingredient(4)}, "); + if (param.Ingredient(5) != IngredientType.NONE) ts.Write($"{param.Ingredient(5)}, "); ts.WriteLine(); // Write the seasonings in a single line. - if (param.Seasoning0 != SeasoningType.NONE) ts.Write($"{param.Seasoning0}, "); - if (param.Seasoning1 != SeasoningType.NONE) ts.Write($"{param.Seasoning1}, "); - if (param.Seasoning2 != SeasoningType.NONE) ts.Write($"{param.Seasoning2}, "); - if (param.Seasoning3 != SeasoningType.NONE) ts.Write($"{param.Seasoning3}, "); + if (param.Seasoning(0) != SeasoningType.NONE) ts.Write($"{param.Seasoning(0)}, "); + if (param.Seasoning(1) != SeasoningType.NONE) ts.Write($"{param.Seasoning(1)}, "); + if (param.Seasoning(2) != SeasoningType.NONE) ts.Write($"{param.Seasoning(2)}, "); + if (param.Seasoning(3) != SeasoningType.NONE) ts.Write($"{param.Seasoning(3)}, "); ts.WriteLine(); var boost = param.FoodPower; @@ -853,37 +850,36 @@ public void DumpCooking() private void DumpTrades() { - Dump("world/data/event/eventTradeList/eventTradeList_array.bfbs"); - Dump("world/data/event/eventTradePokemon/eventTradePokemon_array.bfbs"); + Dump("world/data/event/eventTradeList/eventTradeList_array.bfbs", z => z.Table); + Dump("world/data/event/eventTradePokemon/eventTradePokemon_array.bfbs", z => z.Table); DumpSel("world/data/event/eventTradePokemon/eventTradePokemon_array.bfbs", z => z.Table.Select(x => x.PokeData)); } - private void Dump(string f) - where TTable : class, IFlatBufferArchive - where TEntry : class + private void Dump(string f, Func> sel) + where TTable : class, IFlatBufferSerializable + where TEntry : notnull { - var flat = Get(f); + var flat = Get(f); var path = GetPath("raw", f.Replace('/', Path.DirectorySeparatorChar)); DumpJson(flat, path); - var table = flat.Table; + var table = sel(flat); var dump = TableUtil.GetTable(table); var fileName = Path.ChangeExtension(path, ".txt"); File.WriteAllText(fileName, dump); } - private TTable Get(string f) - where TTable : class, IFlatBufferArchive - where TEntry : class + private TTable Get(string f) + where TTable : class, IFlatBufferSerializable { var bin = ROM.GetPackedFile(f.Replace("bfbs", "bin")); return FlatBufferConverter.DeserializeFrom(bin); } private void DumpSel(string f, Func> sel, string prefix = "sel") - where TTable : class - where TEntry : class + where TTable : class, IFlatBufferSerializable + where TEntry : notnull { var bin = ROM.GetPackedFile(f.Replace("bfbs", "bin")); var flat = FlatBufferConverter.DeserializeFrom(bin); @@ -895,10 +891,10 @@ private void DumpTrades() File.WriteAllText(fileName, dump); } - private void DumpX(string f) - where TTable : class, IFlatBufferArchive - where TEntry : class, IFlatBufferArchive - where TSub : class + private void DumpX(string f, Func> sel, Func> sel2) + where TTable : class, IFlatBufferSerializable + where TEntry : class + where TSub : notnull { var bin = ROM.GetPackedFile(f.Replace("bfbs", "bin")); var flat = FlatBufferConverter.DeserializeFrom(bin); @@ -906,9 +902,10 @@ private void DumpTrades() var path = GetPath("raw", f.Replace('/', Path.DirectorySeparatorChar)); DumpJson(flat, path); - for (int i = 0; i < flat.Table.Length; i++) + var arr = sel(flat); + for (int i = 0; i < arr.Count; i++) { - var entry = flat.Table[i].Table; + var entry = sel2(arr[i]); var dump = TableUtil.GetTable(entry); var folder = Path.GetDirectoryName(path); @@ -917,7 +914,7 @@ private void DumpTrades() } } - private void DumpJson(string f) where T : class + private void DumpJson(string f) where T : class, IFlatBufferSerializable { var bin = ROM.GetPackedFile(f.Replace("bfbs", "bin")); var flat = FlatBufferConverter.DeserializeFrom(bin); @@ -928,7 +925,7 @@ private void DumpTrades() private static void DumpJson(T flat, string filePath) where T : class { - var opt = new System.Text.Json.JsonSerializerOptions { WriteIndented = true }; + var opt = new System.Text.Json.JsonSerializerOptions { WriteIndented = true, IncludeFields = true }; var json = System.Text.Json.JsonSerializer.Serialize(flat, opt); var fileName = Path.ChangeExtension(filePath, ".json"); @@ -1135,7 +1132,11 @@ private void DumpPackedFile(string f) var ext = Path.GetExtension(f); if (ext == ".bfbs") - HandleReflection(data, path, dir); + { + var settings = new Schema.SchemaDumpSettings(); + var schema = Schema.SchemaDump.HandleReflection(data, path, dir, settings); + DumpJson(schema, Path.ChangeExtension(path, ".schema.json")); + } } public void DumpHashReflectionBFBS() @@ -1166,7 +1167,9 @@ public void DumpHashReflectionBFBS() File.WriteAllBytes(path, data); try { - HandleReflection(data, path, dir); + var settings = new Schema.SchemaDumpSettings(); + var schema = Schema.SchemaDump.HandleReflection(data, path, dir, settings); + DumpJson(schema, Path.ChangeExtension(path, ".schema.json")); } catch { @@ -1174,17 +1177,6 @@ public void DumpHashReflectionBFBS() } } - private static void HandleReflection(byte[] data, string filePath, string dir) - { - var schema = FlatBufferConverter.DeserializeFrom(data); - var rootName = schema.RootTable?.Name ?? Path.GetFileNameWithoutExtension(filePath); - var fileName = Path.Combine(dir, $"{rootName}.cs"); - using var fs = File.Create(fileName); - using var text = new StreamWriter(fs); - ReflectionDumper.DumpSchema(schema, text); - DumpJson(schema, filePath + ".json"); - } - public void DumpArchives() { TrinityPakExtractor.DumpArchives(ROM.PathRomFS, GetPath(DumpArchive)); diff --git a/pkNX.WinForms/Dumping/GameDumperSWSH.cs b/pkNX.WinForms/Dumping/GameDumperSWSH.cs index b047e3eb..df12fa07 100644 --- a/pkNX.WinForms/Dumping/GameDumperSWSH.cs +++ b/pkNX.WinForms/Dumping/GameDumperSWSH.cs @@ -6,6 +6,7 @@ using pkNX.Game; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SWSH; // ReSharper disable StringLiteralTypo @@ -257,11 +258,11 @@ public void DumpBattleTower() { var pk_table_path = ROM.GetFile(GameFile.FacilityPokeNormal)[0]; var tr_table_path = ROM.GetFile(GameFile.FacilityTrainerNormal)[0]; - var pokes = FlatBufferConverter.DeserializeFrom(pk_table_path); - var trainers = FlatBufferConverter.DeserializeFrom(tr_table_path); + var pokes = FlatBufferConverter.DeserializeFrom(pk_table_path); + var trainers = FlatBufferConverter.DeserializeFrom(tr_table_path); var pk = TableUtil.GetTable(pokes.Table); - var tr = TableUtil.GetTable(trainers.Entries); + var tr = TableUtil.GetTable(trainers.Table); File.WriteAllText(GetPath("towerPoke.txt"), pk); File.WriteAllText(GetPath("towerTrainer.txt"), tr); @@ -293,7 +294,7 @@ public void DumpMoves() { var dir = Path.Combine(ROM.PathRomFS, "bin", "pml", "waza"); var files = Directory.GetFiles(dir); - var moves = FlatBufferConverter.DeserializeFrom(files); + var moves = FlatBufferConverter.DeserializeFrom(files); var names = ROM.GetStrings(TextName.MoveNames); var lines = TableUtil.GetNamedTypeTable(moves, names, "Moves"); var table = GetPath("MoveData.txt"); @@ -331,7 +332,7 @@ public void DumpGifts() { var speciesNames = ROM.GetStrings(TextName.SpeciesNames); var data = ROM.GetFile(GameFile.EncounterTableGift)[0]; - var gifts = FlatBufferConverter.DeserializeFrom(data); + var gifts = FlatBufferConverter.DeserializeFrom(data); var table = TableUtil.GetTable(gifts.Table); var fn = GetPath("Gifts.txt"); File.WriteAllText(fn, table); @@ -344,7 +345,7 @@ public void DumpStatic() { var speciesNames = ROM.GetStrings(TextName.SpeciesNames); var data = ROM.GetFile(GameFile.EncounterTableStatic)[0]; - var statics = FlatBufferConverter.DeserializeFrom(data); + var statics = FlatBufferConverter.DeserializeFrom(data); var table = TableUtil.GetTable(statics.Table); var fn = GetPath("StaticEncounters.txt"); File.WriteAllText(fn, table); @@ -357,10 +358,10 @@ public void DumpWilds() { var wildpak = ROM.GetFile(GameFile.NestData)[0]; var data_table = new GFPack(wildpak); - var encount_sw = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_k.bin")); - var encount_symbol_sw = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_symbol_k.bin")); - var encount_sh = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_t.bin")); - var encount_symbol_sh = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_symbol_t.bin")); + var encount_sw = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_k.bin")); + var encount_symbol_sw = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_symbol_k.bin")); + var encount_sh = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_t.bin")); + var encount_symbol_sh = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("encount_symbol_t.bin")); var species = ROM.GetStrings(TextName.SpeciesNames); var zones = SWSHInfo.Zones; @@ -379,7 +380,7 @@ public void DumpWilds() public void DumpPlacement() { - var statics = FlatBufferConverter.DeserializeFrom(ROM.GetFile(GameFile.EncounterTableStatic)[0]); + var statics = FlatBufferConverter.DeserializeFrom(ROM.GetFile(GameFile.EncounterTableStatic)[0]); var placement = new GFPack(ROM.GetFile(GameFile.Placement)[0]); var species_names = ROM.GetStrings(TextName.SpeciesNames); var weathers = Enum.GetNames(typeof(SWSHEncounterType)).Select(z => z.Replace("_", " ")).ToArray(); @@ -389,9 +390,9 @@ public void DumpPlacement() var obj_names = new AHTB(placement.GetDataFileName("ObjectNameHashTable.tbl")).ToDictionary(); //var vanish_flags = new AHTB(placement.GetDataFileName("VanishFlagAutoTable.tbl")).ToDictionary(); //var x = placement.GetDataFileName("template_data.bin"); // FlatBuffer skybox - var wild_area = FlatBufferConverter.DeserializeFrom(placement.GetDataFileName("a_wr0101.bin")); - var isle_of_armor = FlatBufferConverter.DeserializeFrom(placement.GetDataFileName("a_wr0201.bin")); - var crown_tundra = FlatBufferConverter.DeserializeFrom(placement.GetDataFileName("a_wr0301.bin")); + var wild_area = FlatBufferConverter.DeserializeFrom(placement.GetDataFileName("a_wr0101.bin")); + var isle_of_armor = FlatBufferConverter.DeserializeFrom(placement.GetDataFileName("a_wr0201.bin")); + var crown_tundra = FlatBufferConverter.DeserializeFrom(placement.GetDataFileName("a_wr0301.bin")); File.WriteAllLines(GetPath("Placement_WildArea.txt"), wild_area.Table.SelectMany(z => z.GetSummary(statics.Table, species_names, zone_names, zone_descs, obj_names, weathers))); File.WriteAllLines(GetPath("Placement_IsleOfArmor.txt"), isle_of_armor.Table.SelectMany(z => z.GetSummary(statics.Table, species_names, zone_names, zone_descs, obj_names, weathers))); @@ -411,7 +412,7 @@ public void DumpPlacement() placement_all.Add(string.Empty); var bin = placement.GetDataFileName(fileName); - var data = FlatBufferConverter.DeserializeFrom(bin); + var data = FlatBufferConverter.DeserializeFrom(bin); placement_all.AddRange(data.Table.SelectMany(z => z.GetSummary(statics.Table, species_names, zone_names, zone_descs, obj_names, weathers))); placement_all.Add(string.Empty); @@ -428,10 +429,10 @@ public void DumpNestEntries() var moveNames = ROM.GetStrings(TextName.MoveNames); var wildpak = ROM.GetFile(GameFile.NestData)[0]; var data_table = new GFPack(wildpak); - var nest_encounts = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_encount.bin")); + var nest_encounts = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_encount.bin")); // var nest_levels = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_level.bin")); - var nest_drops = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_drop_rewards.bin")); - var nest_bonus = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_bonus_rewards.bin")); + var nest_drops = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_drop_rewards.bin")); + var nest_bonus = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_bonus_rewards.bin")); string[][] nestHex = new string[2][]; foreach (var game in new[] { 1, 2 }) @@ -552,7 +553,7 @@ public void DumpEggEntries() public void DumpMaxDens() { var file = ROM.GetFile(GameFile.DynamaxDens)[0]; - var encounters = FlatBufferConverter.DeserializeFrom(file); + var encounters = FlatBufferConverter.DeserializeFrom(file); var lines = TableUtil.GetTable(encounters.Table); var table = GetPath("MaxDens.txt"); File.WriteAllText(table, lines); @@ -586,15 +587,15 @@ public void DumpDistributionNestEntries(string path) var moveNames = ROM.GetStrings(TextName.MoveNames); var wildpak = ROM.GetFile(GameFile.NestData)[0]; var data_table = new GFPack(wildpak); - var nest_drops = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_drop_rewards.bin")); - var nest_bonus = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_bonus_rewards.bin")); + var nest_drops = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_drop_rewards.bin")); + var nest_bonus = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName("nest_hole_bonus_rewards.bin")); var dai_data = GetDistributionContents(Path.Combine(path, "dai_encount"), out int dai_index); var drop_data = GetDistributionContents(Path.Combine(path, "drop_rewards"), out int drop_index); var bonus_data = GetDistributionContents(Path.Combine(path, "bonus_rewards"), out int bonus_index); - var dist_drops = FlatBufferConverter.DeserializeFrom(drop_data); - var dist_bonus = FlatBufferConverter.DeserializeFrom(bonus_data); - var dai_encounts = FlatBufferConverter.DeserializeFrom(dai_data); + var dist_drops = FlatBufferConverter.DeserializeFrom(drop_data); + var dist_bonus = FlatBufferConverter.DeserializeFrom(bonus_data); + var dai_encounts = FlatBufferConverter.DeserializeFrom(dai_data); // BCAT Indexes can be reused by mixing and matching old files when reverting temporary distributions back to prior long-running distributions. // They don't have to match, but just note if they do. @@ -611,7 +612,7 @@ void DumpDistIfExists(string filePath, string dest) return; var data = GetDistributionContents(p, out int index); - var encounts = FlatBufferConverter.DeserializeFrom(data); + var encounts = FlatBufferConverter.DeserializeFrom(data); var pretty_sw = encounts.Table.Where(z => z.GameVersion == 1).SelectMany((z, x) => z.GetPrettySummary(speciesNames, itemNames, moveNames, Legal.TMHM_SWSH, nest_drops.Table, nest_bonus.Table, dist_drops.Table, dist_bonus.Table, x)); var pretty_sh = encounts.Table.Where(z => z.GameVersion == 2).SelectMany((z, x) => @@ -665,7 +666,7 @@ void DumpDistIfExists(string filePath, string dest) DumpHexCrystal(dai_encounts, speciesNames, itemNames); } - private void DumpHexCrystal(NestHoleCrystalEncounter8Archive dai_encounts, string[] speciesNames, string[] itemNames) + private void DumpHexCrystal(NestHoleCrystalEncounterArchive dai_encounts, string[] speciesNames, string[] itemNames) { string[][] nestHex = new string[2][]; foreach (var game in new[] { 1, 2 }) @@ -864,7 +865,7 @@ public void DumpTrades() { var speciesNames = ROM.GetStrings(TextName.SpeciesNames); var data = ROM.GetFile(GameFile.EncounterTableTrade)[0]; - var trades = FlatBufferConverter.DeserializeFrom(data); + var trades = FlatBufferConverter.DeserializeFrom(data); var table = TableUtil.GetTable(trades.Table); var fn = GetPath("Trades.txt"); File.WriteAllText(fn, table); diff --git a/pkNX.WinForms/Dumping/SV/BoxCollision9.cs b/pkNX.WinForms/Dumping/SV/BoxCollision9.cs index 84c7e3b5..f70baf94 100644 --- a/pkNX.WinForms/Dumping/SV/BoxCollision9.cs +++ b/pkNX.WinForms/Dumping/SV/BoxCollision9.cs @@ -1,4 +1,6 @@ -namespace pkNX.Structures.FlatBuffers; + +using pkNX.Structures; +using pkNX.Structures.FlatBuffers.SV; public class BoxCollision9 : IContainsV3f { diff --git a/pkNX.WinForms/Dumping/SV/EncounterDumperSV.cs b/pkNX.WinForms/Dumping/SV/EncounterDumperSV.cs index 2a43f754..e6af37af 100644 --- a/pkNX.WinForms/Dumping/SV/EncounterDumperSV.cs +++ b/pkNX.WinForms/Dumping/SV/EncounterDumperSV.cs @@ -6,6 +6,7 @@ using PKHeX.Core; using pkNX.Containers; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.WinForms; @@ -164,7 +165,7 @@ public class EncounterDumperSV foreach (var (game, gamePoints) in new[] { ("sl", fsym.scarletPoints), ("vl", fsym.violetPoints)}) { using var gw = File.CreateText(Path.Combine(path, $"titan_fixed_{game}.txt")); - for (var i = 0; i < fsymData.Table.Length; i++) + for (var i = 0; i < fsymData.Table.Count; i++) { var entry = fsymData.Table[i]; var tableKey = entry.TableKey; @@ -205,7 +206,7 @@ public class EncounterDumperSV gw.WriteLine(entry.TableKey); gw.WriteLine("==="); gw.WriteLine(" PokeData:"); - var pd = entry.PokeDataSymbol; + var pd = entry.Symbol; gw.WriteLine($" Species: {specNamesInternal[(int)pd.DevId]}"); gw.WriteLine($" Form: {pd.FormId}"); gw.WriteLine($" Level: {pd.Level}"); @@ -319,7 +320,7 @@ public class EncounterDumperSV { cw.WriteLine($" Box Label: {entry.BoxLabel}"); cw.WriteLine(" PokeData:"); - var pd = Array.Find(eventBattle.Table, e => e.Label == entry.BoxLabel)!.PokeData; + var pd = eventBattle.Table.First(e => e.Label == entry.BoxLabel).PokeData; cw.WriteLine($" Species: {specNamesInternal[(int)pd.DevId]}"); cw.WriteLine($" Form: {pd.FormId}"); @@ -382,15 +383,15 @@ public class EncounterDumperSV private static LocationPointDetail[] ReformatPoints(PointDataArray all) { var arr = all.Table; - var result = new LocationPointDetail[arr.Length]; - for (int i = 0; i < arr.Length; i++) + var result = new LocationPointDetail[arr.Count]; + for (int i = 0; i < arr.Count; i++) result[i] = new LocationPointDetail(arr[i]); return result; } private static void WriteFixedSymbol(ICollection exist, FixedSymbolTable entry, IReadOnlyList locs) { - var enc = entry.PokeDataSymbol; + var enc = entry.Symbol; using var ms = new MemoryStream(); using var bw = new BinaryWriter(ms); diff --git a/pkNX.WinForms/Dumping/SV/LocationDatabase.cs b/pkNX.WinForms/Dumping/SV/LocationDatabase.cs index 5f98324c..baa456da 100644 --- a/pkNX.WinForms/Dumping/SV/LocationDatabase.cs +++ b/pkNX.WinForms/Dumping/SV/LocationDatabase.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.Structures.FlatBuffers; diff --git a/pkNX.WinForms/Dumping/SV/LocationPointDetail.cs b/pkNX.WinForms/Dumping/SV/LocationPointDetail.cs index 3b060ea2..7677a297 100644 --- a/pkNX.WinForms/Dumping/SV/LocationPointDetail.cs +++ b/pkNX.WinForms/Dumping/SV/LocationPointDetail.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.Structures.FlatBuffers; diff --git a/pkNX.WinForms/Dumping/SV/LocationStorage.cs b/pkNX.WinForms/Dumping/SV/LocationStorage.cs index fd22bbfb..eb496ae9 100644 --- a/pkNX.WinForms/Dumping/SV/LocationStorage.cs +++ b/pkNX.WinForms/Dumping/SV/LocationStorage.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.Structures.FlatBuffers; @@ -127,7 +128,7 @@ private static LocationPointDetail GetCompositePoint(PointData ep, int areaMin, var newPoint = new PointData { Position = ep.Position, - LevelRange = new PackedVec2f { X = newX, Y = newY }, + LevelRange = new SV.PackedVec2f { X = newX, Y = newY }, Biome = ep.Biome, Substance = ep.Substance, AreaNo = ep.AreaNo, diff --git a/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolModel.cs b/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolModel.cs index 2d551d88..5ed8d366 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolModel.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolModel.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using pkNX.Containers; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV.Trinity; namespace pkNX.WinForms; @@ -16,12 +17,12 @@ public PaldeaCoinSymbolModel(IFileInternal ROM) var cData = ROM.GetPackedFile("world/scene/parts/field/streaming_event/world_coin_placement_symbol_/world_coin_placement_symbol_0.trscn"); // NOTE: Fine to only use Scarlet, Violet data is identical. - var c = FlatBufferConverter.DeserializeFrom(cData); + var c = FlatBufferConverter.DeserializeFrom(cData); Points.AddRange(GetObjectTemplateSymbolPoints(c)); } - private IEnumerable GetObjectTemplateSymbolPoints(TrinitySceneObjectTemplateSV template) + private static IEnumerable GetObjectTemplateSymbolPoints(TrinitySceneObjectTemplate template) { foreach (var obj in template.Objects) { @@ -29,15 +30,15 @@ private IEnumerable GetObjectTemplateSymbolPoints(Trinity { case "trinity_ScenePoint": { - var scenePoint = FlatBufferConverter.DeserializeFrom(obj.Data); + var scenePoint = FlatBufferConverter.DeserializeFrom(obj.Data); - if (obj.SubObjects.Length != 1) - throw new ArgumentException($"Unexpected CoinSymbolPoint SubObject Count {obj.SubObjects.Length}"); + if (obj.SubObjects.Count != 1) + throw new ArgumentException($"Unexpected CoinSymbolPoint SubObject Count {obj.SubObjects.Count}"); if (obj.SubObjects[0].Type != "trinity_PropertySheet") throw new ArgumentException($"Unexpected CoinSymbolPoint SubObject ({obj.SubObjects[0].Type})"); - var propSheet = FlatBufferConverter.DeserializeFrom(obj.SubObjects[0].Data); + var propSheet = FlatBufferConverter.DeserializeFrom(obj.SubObjects[0].Data); yield return ParseCoinSymbolPoint(scenePoint, propSheet); break; @@ -48,7 +49,7 @@ private IEnumerable GetObjectTemplateSymbolPoints(Trinity } } - private PaldeaCoinSymbolPoint ParseCoinSymbolPoint(TrinityScenePointSV sp, TrinityPropertySheetSV ps) + private static PaldeaCoinSymbolPoint ParseCoinSymbolPoint(TrinityScenePoint sp, TrinityPropertySheet ps) { switch (ps.Name) { @@ -61,23 +62,23 @@ private PaldeaCoinSymbolPoint ParseCoinSymbolPoint(TrinityScenePointSV sp, Trini } } - private ulong GetFirstNum(TrinityPropertySheetSV ps) + private static ulong GetFirstNum(TrinityPropertySheet ps) { if (ps.Properties[0].Fields[0].Name != "firstNum") throw new ArgumentException("Invalid PropertySheet field layout"); - if (!ps.Properties[0].Fields[0].Data.TryGet(out TrinityPropertySheetField1SV? sv)) + if (ps.Properties[0].Fields[0].Data.Item1 is not { } sv) throw new ArgumentException("Could not get PropertySheet Table Key"); return sv.Value; } - private string GetBoxLabel(TrinityPropertySheetSV ps) + private static string GetBoxLabel(TrinityPropertySheet ps) { if (ps.Properties[0].Fields[1].Name != "label") throw new ArgumentException("Invalid PropertySheet field layout"); - if (!ps.Properties[0].Fields[1].Data.TryGet(out TrinityPropertySheetFieldStringValueSV? sv)) + if (ps.Properties[0].Fields[1].Data.Item3 is not { } sv) throw new ArgumentException("Could not get PropertySheet Table Key"); return sv.Value; diff --git a/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolPoint.cs b/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolPoint.cs index 578837e0..63653f4e 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolPoint.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaCoinSymbolPoint.cs @@ -1,4 +1,4 @@ -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.WinForms; diff --git a/pkNX.WinForms/Dumping/SV/PaldeaEncounter.cs b/pkNX.WinForms/Dumping/SV/PaldeaEncounter.cs index ac3d31bb..39da875e 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaEncounter.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaEncounter.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.Structures.FlatBuffers; @@ -21,7 +22,7 @@ public record PaldeaEncounter(ushort Species, byte Form, byte Sex, byte MinLevel public static PaldeaEncounter GetNew(EncountPokeData pd, PointData ep) { // Combine the 4 bools into a single byte - var time = GetTimeBits(pd.TimeTable); + var time = GetTimeBits(pd.Time); var min = (byte)Math.Max(ep.LevelRange.X, pd.MinLevel); var max = (byte)Math.Min(ep.LevelRange.Y, pd.MaxLevel); return new(SpeciesConverterSV.GetNational9((ushort)pd.DevId), (byte)pd.Form, (byte)pd.Sex, min, max, time); @@ -30,7 +31,7 @@ public static PaldeaEncounter GetNew(EncountPokeData pd, PointData ep) public static PaldeaEncounter GetBand(EncountPokeData pd, PointData ep) { // Combine the 4 bools into a single byte - var time = GetTimeBits(pd.TimeTable); + var time = GetTimeBits(pd.Time); var min = (byte)Math.Max(ep.LevelRange.X, pd.MinLevel); var max = (byte)Math.Min(ep.LevelRange.Y, pd.MaxLevel); return new(SpeciesConverterSV.GetNational9((ushort)pd.BandPoke), (byte)pd.BandForm, (byte)pd.BandSex, min, max, time); diff --git a/pkNX.WinForms/Dumping/SV/PaldeaFieldModel.cs b/pkNX.WinForms/Dumping/SV/PaldeaFieldModel.cs index fad4236b..241ddccb 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaFieldModel.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaFieldModel.cs @@ -1,15 +1,17 @@ using System; +using System.Collections.Generic; using pkNX.Containers; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.Structures.FlatBuffers; public class PaldeaFieldModel { - private readonly FieldMainArea[] mainAreas; - private readonly FieldSubArea[] subAreas; - private readonly FieldInsideArea[] insideAreas; - private readonly FieldDungeonArea[] dungeonAreas; - private readonly FieldLocation[] fieldLocations; + private readonly IList mainAreas; + private readonly IList subAreas; + private readonly IList insideAreas; + private readonly IList dungeonAreas; + private readonly IList fieldLocations; public PaldeaFieldModel(IFileInternal ROM) { @@ -25,27 +27,27 @@ public AreaInfo FindAreaInfo(string name) foreach (var area in mainAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in subAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in insideAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in dungeonAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in fieldLocations) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } throw new ArgumentException($"Unknown area {name}"); } diff --git a/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolModel.cs b/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolModel.cs index 8cdb19b0..ae97396c 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolModel.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolModel.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using pkNX.Containers; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV.Trinity; namespace pkNX.WinForms; @@ -18,14 +19,14 @@ public PaldeaFixedSymbolModel(IFileInternal ROM) var p0Data = ROM.GetPackedFile("world/scene/parts/field/streaming_event/world_fixed_placement_symbol_/world_fixed_placement_symbol_0.trscn"); var p1Data = ROM.GetPackedFile("world/scene/parts/field/streaming_event/world_fixed_placement_symbol_/world_fixed_placement_symbol_1.trscn"); - var p0 = FlatBufferConverter.DeserializeFrom(p0Data); - var p1 = FlatBufferConverter.DeserializeFrom(p1Data); + var p0 = FlatBufferConverter.DeserializeFrom(p0Data); + var p1 = FlatBufferConverter.DeserializeFrom(p1Data); scarletPoints.AddRange(GetObjectTemplateSymbolPoints(p0)); violetPoints.AddRange(GetObjectTemplateSymbolPoints(p1)); } - private IEnumerable GetObjectTemplateSymbolPoints(TrinitySceneObjectTemplateSV template) + private IEnumerable GetObjectTemplateSymbolPoints(TrinitySceneObjectTemplate template) { foreach (var obj in template.Objects) { @@ -33,10 +34,10 @@ private IEnumerable GetObjectTemplateSymbolPoints(Trinit { case "trinity_ObjectTemplate": { - var sObj = FlatBufferConverter.DeserializeFrom(obj.Data); + var sObj = FlatBufferConverter.DeserializeFrom(obj.Data); if (sObj.Type != "trinity_ScenePoint") continue; - var scenePoint = FlatBufferConverter.DeserializeFrom(sObj.Data); + var scenePoint = FlatBufferConverter.DeserializeFrom(sObj.Data); foreach (var f in GetScenePointSymbolPoints(scenePoint, obj.SubObjects)) yield return f; @@ -44,7 +45,7 @@ private IEnumerable GetObjectTemplateSymbolPoints(Trinit } case "trinity_ScenePoint": { - var scenePoint = FlatBufferConverter.DeserializeFrom(obj.Data); + var scenePoint = FlatBufferConverter.DeserializeFrom(obj.Data); foreach (var f in GetScenePointSymbolPoints(scenePoint, obj.SubObjects)) yield return f; @@ -54,17 +55,17 @@ private IEnumerable GetObjectTemplateSymbolPoints(Trinit } } - private IEnumerable GetScenePointSymbolPoints(TrinityScenePointSV scenePoint, TrinitySceneObjectTemplateEntrySV[] subObjects) + private static IEnumerable GetScenePointSymbolPoints(TrinityScenePoint scenePoint, IList subObjects) { // Handle SubObjects - for (var i = 0; i < subObjects.Length; i++) + for (var i = 0; i < subObjects.Count; i++) { var sobj = subObjects[i]; switch (sobj.Type) { case "trinity_PropertySheet": { - var propSheet = FlatBufferConverter.DeserializeFrom(sobj.Data); + var propSheet = FlatBufferConverter.DeserializeFrom(sobj.Data); if (propSheet.Name == "fixed_symbol_point") { var tableKey = GetTableKey(propSheet); @@ -77,7 +78,7 @@ private IEnumerable GetScenePointSymbolPoints(TrinitySce } case "trinity_ScenePoint": { - var subScenePoint = FlatBufferConverter.DeserializeFrom(sobj.Data); + var subScenePoint = FlatBufferConverter.DeserializeFrom(sobj.Data); foreach (var f in GetScenePointSymbolPoints(subScenePoint, sobj.SubObjects)) yield return f; break; @@ -88,7 +89,7 @@ private IEnumerable GetScenePointSymbolPoints(TrinitySce } } - public static string GetTableKey(TrinityPropertySheetSV propSheet) + public static string GetTableKey(TrinityPropertySheet propSheet) { if (propSheet.Name != "fixed_symbol_point") throw new ArgumentException($"Invalid PropertySheet {propSheet.Name}"); @@ -96,7 +97,7 @@ public static string GetTableKey(TrinityPropertySheetSV propSheet) if (propSheet.Properties[0].Fields[1].Name != "tableKey") throw new ArgumentException("Invalid PropertySheet field layout"); - if (!propSheet.Properties[0].Fields[1].Data.TryGet(out TrinityPropertySheetFieldStringValueSV? sv)) + if (propSheet.Properties[0].Fields[1].Data.Item3 is not { } sv) throw new ArgumentException("Could not get PropertySheet Table Key"); return sv.Value; diff --git a/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolPoint.cs b/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolPoint.cs index 6f4501f5..d1d481e2 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolPoint.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaFixedSymbolPoint.cs @@ -1,4 +1,4 @@ -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.WinForms; diff --git a/pkNX.WinForms/Dumping/SV/PaldeaSceneModel.cs b/pkNX.WinForms/Dumping/SV/PaldeaSceneModel.cs index 263dd49e..20c179c6 100644 --- a/pkNX.WinForms/Dumping/SV/PaldeaSceneModel.cs +++ b/pkNX.WinForms/Dumping/SV/PaldeaSceneModel.cs @@ -3,85 +3,93 @@ using System.Diagnostics.CodeAnalysis; using System.Linq; using pkNX.Containers; +using pkNX.Structures.FlatBuffers.SV; +using pkNX.Structures.FlatBuffers.SV.Trinity; namespace pkNX.Structures.FlatBuffers; public class PaldeaSceneModel { - public readonly List areaNames; - public readonly Dictionary AreaInfos; - public readonly Dictionary areaColTrees; - public readonly Dictionary areaColBoxes; - public readonly Dictionary isAtlantis; + public readonly List areaNames = new(); + public readonly Dictionary AreaInfos = new(); + public readonly Dictionary areaColTrees = new(); + public readonly Dictionary areaColBoxes = new(); + public readonly Dictionary isAtlantis = new(); public PaldeaSceneModel(IFileInternal ROM, PaldeaFieldModel field) { // NOTE: Safe to only use _0 because _1 is identical. - var area_management = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile("world/scene/parts/field/field_system/area_management_/area_management_0.trscn")); + var area_management = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile("world/scene/parts/field/field_system/area_management_/area_management_0.trscn")); Debug.Assert(area_management.ObjectTemplateName == "area_management"); // NOTE: Safe to only use _0 because _1 is identical. - var a_w23_field_area_col = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile("world/scene/parts/field/room/a_w23_field/a_w23_field_area_col_/a_w23_field_area_col_0.trscn")); + var a_w23_field_area_col = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile("world/scene/parts/field/room/a_w23_field/a_w23_field_area_col_/a_w23_field_area_col_0.trscn")); Debug.Assert(a_w23_field_area_col.ObjectTemplateName == "a_w23_field_area_col"); - areaNames = new List(); - AreaInfos = new Dictionary(); - areaColTrees = new Dictionary(); - areaColBoxes = new Dictionary(); - isAtlantis = new Dictionary(); + foreach (var obj in area_management.Objects.Concat(a_w23_field_area_col.Objects)) + AddIfAppropriate(ROM, field, a_w23_field_area_col, obj); + } - void AddSceneObject(string name, TrinitySceneObjectSV sceneObject, TrinityCollisionComponent1SV collisionComponent) + private void AddIfAppropriate(IFileInternal ROM, PaldeaFieldModel field, TrinitySceneObjectTemplate w23, TrinitySceneObjectTemplateEntry obj) + { + if (!(obj.SubObjects.Count > 0 && obj.SubObjects[0].Type == "trinity_CollisionComponent")) + return; + + var inner = obj.SubObjects[0].Data; + var tcom = FlatBufferConverter.DeserializeFrom(inner); + var collision = tcom.Component.CollisionComponent.Shape; + + var isAtlantisObj = w23.Objects.Contains(obj); + switch (obj.Type) { - areaNames.Add(name); - AreaInfos[name] = field.FindAreaInfo(name); - - Debug.Assert(collisionComponent.CollisionShape.Discriminator is 2 or 4); - - if (collisionComponent.CollisionShape.TryGet(out TrinityCollisionShapeBoxSV? box)) + case "trinity_ObjectTemplate": { - // Box collision, obj.ObjectPosition.Field_02 is pos, box.Field_01 is size of box - areaColBoxes[name] = new BoxCollision9 - { - Position = sceneObject.ObjectPosition.Field_02, - Size = box.Field_01, - }; + var sObj = FlatBufferConverter.DeserializeFrom(obj.Data); + if (sObj.Type != "trinity_SceneObject") + return; + var sceneObject = FlatBufferConverter.DeserializeFrom(sObj.Data); + Debug.Assert(sceneObject.ObjectName == sObj.ObjectTemplateExtra); + + AddSceneObject(sObj.ObjectTemplateName, sceneObject, collision, field, ROM); + isAtlantis[sObj.ObjectTemplateName] = isAtlantisObj; + break; } - else if (collisionComponent.CollisionShape.TryGet(out TrinityCollisionShapeHavokSV? havok)) + case "trinity_SceneObject": { - var havokData = ROM.GetPackedFile(havok.TrcolFilePath); - areaColTrees[name] = HavokCollision.ParseAABBTree(havokData); + var sceneObject = FlatBufferConverter.DeserializeFrom(obj.Data); + AddSceneObject(sceneObject.ObjectName, sceneObject, collision, field, ROM); + isAtlantis[sceneObject.ObjectName] = isAtlantisObj; + break; + } + // ReSharper disable once RedundantEmptySwitchSection + default: + { + // Ignored. + break; } } + } - foreach (var obj in area_management.Objects.Concat(a_w23_field_area_col.Objects)) + private void AddSceneObject(string name, TrinitySceneObject sceneObject, CollisionUnion shape, PaldeaFieldModel field, IFileInternal ROM) + { + areaNames.Add(name); + AreaInfos[name] = field.FindAreaInfo(name); + + Debug.Assert(shape.Discriminator is 2 or 4); + + if (shape.TryGet(out Box? box)) { - var isAtlantisObj = a_w23_field_area_col.Objects.Contains(obj); - if (!(obj.SubObjects.Length > 0 && obj.SubObjects[0].Type == "trinity_CollisionComponent")) - continue; - var collisionComponent = FlatBufferConverter.DeserializeFrom(obj.SubObjects[0].Data).Component.Item1; - - switch (obj.Type) + // Box collision, obj.ObjectPosition.Field_02 is pos, box.Field_01 is size of box + areaColBoxes[name] = new BoxCollision9 { - case "trinity_ObjectTemplate": - { - var sObj = FlatBufferConverter.DeserializeFrom(obj.Data); - if (sObj.Type != "trinity_SceneObject") - continue; - var sceneObject = FlatBufferConverter.DeserializeFrom(sObj.Data); - Debug.Assert(sceneObject.ObjectName == sObj.ObjectTemplateExtra); - - AddSceneObject(sObj.ObjectTemplateName, sceneObject, collisionComponent); - isAtlantis[sObj.ObjectTemplateName] = isAtlantisObj; - break; - } - case "trinity_SceneObject": - { - var sceneObject = FlatBufferConverter.DeserializeFrom(obj.Data); - AddSceneObject(sceneObject.ObjectName, sceneObject, collisionComponent); - isAtlantis[sceneObject.ObjectName] = isAtlantisObj; - break; - } - } + Position = sceneObject.ObjectPosition.Field02, + Size = box.Field01, + }; + } + else if (shape.TryGet(out Havok? havok)) + { + var havokData = ROM.GetPackedFile(havok.TrcolFilePath); + areaColTrees[name] = HavokCollision.ParseAABBTree(havokData); } } diff --git a/pkNX.WinForms/Dumping/TeraRaidRipper.cs b/pkNX.WinForms/Dumping/TeraRaidRipper.cs index 1d607d23..643003df 100644 --- a/pkNX.WinForms/Dumping/TeraRaidRipper.cs +++ b/pkNX.WinForms/Dumping/TeraRaidRipper.cs @@ -7,6 +7,7 @@ using pkNX.Containers; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV; namespace pkNX.WinForms; @@ -29,16 +30,16 @@ public static void DumpRaids(IFileInternal ROM, IReadOnlyList internalRa foreach (var enc in table) { var wrap = new RaidStorage(enc, i); - if (enc.RaidEnemyInfo.RomVer != RaidRomType.TYPE_B) + if (enc.Info.RomVer != RaidRomType.TYPE_B) { wrap.RandRateStartScarlet = totalRateScarlet; - totalRateScarlet += enc.RaidEnemyInfo.Rate; + totalRateScarlet += enc.Info.Rate; } - if (enc.RaidEnemyInfo.RomVer != RaidRomType.TYPE_A) + if (enc.Info.RomVer != RaidRomType.TYPE_A) { wrap.RandRateStartViolet = totalRateViolet; - totalRateViolet += enc.RaidEnemyInfo.Rate; + totalRateViolet += enc.Info.Rate; } list.Add(wrap); } @@ -57,8 +58,8 @@ public static void DumpRaids(IFileInternal ROM, IReadOnlyList internalRa WritePickle(outPath, all, "encounter_gem_paldea.pkl"); // Raids can be shared, and show up with the same met location regardless of shared vs not. // No need to differentiate. - // var scarlet = all.Where(z => z.Enemy.RaidEnemyInfo.RomVer != RaidRomType.TYPE_B); - // var violet = all.Where(z => z.Enemy.RaidEnemyInfo.RomVer != RaidRomType.TYPE_A); + // var scarlet = all.Where(z => z.Enemy.Info.RomVer != RaidRomType.TYPE_B); + // var violet = all.Where(z => z.Enemy.Info.RomVer != RaidRomType.TYPE_A); // WritePickle(outPath, scarlet, "encounter_gem_sl.pkl"); // WritePickle(outPath, violet, "encounter_gem_vl.pkl"); // However, the RNG pattern is different for the version of the host. Need to account for those. @@ -72,7 +73,7 @@ static void WritePickle(string outPath, IEnumerable list, string fi { var rmS = enc.GetScarletRandMinScarlet(); var rmV = enc.GetVioletRandMinViolet(); - enc.Enemy.RaidEnemyInfo.SerializePKHeX(bw, (byte)enc.Stars, enc.Rate, RaidSerializationFormat.BaseROM); + enc.Enemy.Info.SerializePKHeX(bw, (byte)enc.Stars, enc.Rate, RaidSerializationFormat.BaseROM); bw.Write(rmS); bw.Write(rmV); } @@ -81,27 +82,27 @@ static void WritePickle(string outPath, IEnumerable list, string fi private record RaidStorage(RaidEnemyTable Enemy, int File) { - private PokeDataBattle Poke => Enemy.RaidEnemyInfo.BossPokePara; + private PokeDataBattle Poke => Enemy.Info.BossPokePara; - public int Stars => Enemy.RaidEnemyInfo.Difficulty == 0 ? File + 1 : Enemy.RaidEnemyInfo.Difficulty; + public int Stars => Enemy.Info.Difficulty == 0 ? File + 1 : Enemy.Info.Difficulty; public DevID Species => Poke.DevId; public short Form => Poke.FormId; - public int Delivery => Enemy.RaidEnemyInfo.DeliveryGroupID; - public sbyte Rate => Enemy.RaidEnemyInfo.Rate; + public int Delivery => Enemy.Info.DeliveryGroupID; + public sbyte Rate => Enemy.Info.Rate; public int RandRateStartScarlet { get; set; } public int RandRateStartViolet { get; set; } public short GetScarletRandMinScarlet() { - if (Enemy.RaidEnemyInfo.RomVer == RaidRomType.TYPE_B) + if (Enemy.Info.RomVer == RaidRomType.TYPE_B) return -1; return (short)RandRateStartScarlet; } public short GetVioletRandMinViolet() { - if (Enemy.RaidEnemyInfo.RomVer == RaidRomType.TYPE_A) + if (Enemy.Info.RomVer == RaidRomType.TYPE_A) return -1; return (short)RandRateStartViolet; } @@ -161,8 +162,8 @@ private static void DumpDistributionRaids(IFileInternal ROM, string path, List(priority); var byGroupID = tableEncounters.Table - .Where(z => z.RaidEnemyInfo.Rate != 0) - .GroupBy(z => z.RaidEnemyInfo.DeliveryGroupID); + .Where(z => z.Info.Rate != 0) + .GroupBy(z => z.Info.DeliveryGroupID); var seven = DistroGroupSet.None; var other = DistroGroupSet.None; @@ -172,13 +173,13 @@ private static void DumpDistributionRaids(IFileInternal ROM, string path, List z.RaidEnemyInfo.Difficulty > 7)) - throw new Exception($"Undocumented difficulty {items.First(z => z.RaidEnemyInfo.Difficulty > 7).RaidEnemyInfo.Difficulty}"); + if (items.Any(z => z.Info.Difficulty > 7)) + throw new Exception($"Undocumented difficulty {items.First(z => z.Info.Difficulty > 7).Info.Difficulty}"); - if (items.All(z => z.RaidEnemyInfo.Difficulty == 7)) + if (items.All(z => z.Info.Difficulty == 7)) { - if (items.Any(z => z.RaidEnemyInfo.CaptureRate != 2)) - throw new Exception($"Undocumented 7 star capture rate {items.First(z => z.RaidEnemyInfo.CaptureRate != 2).RaidEnemyInfo.CaptureRate}"); + if (items.Any(z => z.Info.CaptureRate != 2)) + throw new Exception($"Undocumented 7 star capture rate {items.First(z => z.Info.CaptureRate != 2).Info.CaptureRate}"); if (!TryAdd(ref seven, groupSet)) Console.WriteLine("Already saw a 7-star group. How do we differentiate this slot determination from prior?"); @@ -186,8 +187,8 @@ private static void DumpDistributionRaids(IFileInternal ROM, string path, List z.RaidEnemyInfo.Difficulty == 7)) - throw new Exception($"Mixed difficulty {items.First(z => z.RaidEnemyInfo.Difficulty >= 7).RaidEnemyInfo.Difficulty}"); + if (items.Any(z => z.Info.Difficulty == 7)) + throw new Exception($"Mixed difficulty {items.First(z => z.Info.Difficulty >= 7).Info.Difficulty}"); if (!TryAdd(ref other, groupSet)) Console.WriteLine("Already saw a not-7-star group. How do we differentiate this slot determination from prior?"); @@ -217,7 +218,7 @@ private enum DistroGroupSet private static DistroGroupSet Evaluate(DeliveryRaidEnemyTable[] items) { - var versions = items.Select(z => z.RaidEnemyInfo.RomVer).Distinct().ToArray(); + var versions = items.Select(z => z.Info.RomVer).Distinct().ToArray(); if (versions.Length == 2 && versions.Contains(RaidRomType.TYPE_A) && versions.Contains(RaidRomType.TYPE_B)) return DistroGroupSet.Both; if (versions.Length == 1) @@ -240,7 +241,7 @@ private static void AddToList(IReadOnlyCollection table, Span weightTotalV = stackalloc ushort[StageStars.Length]; foreach (var enc in table) { - var info = enc.RaidEnemyInfo; + var info = enc.Info; if (info.Rate == 0) continue; var difficulty = info.Difficulty; @@ -259,7 +260,7 @@ private static void AddToList(IReadOnlyCollection table, Span weightMinV = stackalloc ushort[StageStars.Length]; foreach (var enc in table) { - var info = enc.RaidEnemyInfo; + var info = enc.Info; if (info.Rate == 0) continue; var difficulty = info.Difficulty; @@ -310,13 +311,13 @@ private static void AddToList(IReadOnlyCollection table, DeliveryRaidPriorityArray tablePriority) { var dumpE = TableUtil.GetTable(tableEncounters.Table); - var dumpEnc = TableUtil.GetTable(tableEncounters.Table.Select(z => z.RaidEnemyInfo.BossPokePara)); - var dumpRate = TableUtil.GetTable(tableEncounters.Table.Select(z => z.RaidEnemyInfo)); - var dumpSize = TableUtil.GetTable(tableEncounters.Table.Select(z => z.RaidEnemyInfo.BossPokeSize)); + var dumpEnc = TableUtil.GetTable(tableEncounters.Table.Select(z => z.Info.BossPokePara)); + var dumpRate = TableUtil.GetTable(tableEncounters.Table.Select(z => z.Info)); + var dumpSize = TableUtil.GetTable(tableEncounters.Table.Select(z => z.Info.BossPokeSize)); var dumpD = TableUtil.GetTable(tableDrops.Table); var dumpB = TableUtil.GetTable(tableBonus.Table); var dumpP = TableUtil.GetTable(tablePriority.Table); - var dumpP_2 = TableUtil.GetTable(tablePriority.Table.Select(z => z.DeliveryGroupID)); + var dumpP_2 = TableUtil.GetTable(tablePriority.Table.Select(z => z.GroupID)); var dump = new[] { ("encounters", dumpE), @@ -381,15 +382,15 @@ private static void DumpPretty(IFileInternal ROM, DeliveryRaidEnemyTableArray ta foreach (var entry in tableEncounters.Table) { - var boss = entry.RaidEnemyInfo.BossPokePara; - var extra = entry.RaidEnemyInfo.BossDesc; - var nameDrop = entry.RaidEnemyInfo.DropTableFix; - var nameBonus = entry.RaidEnemyInfo.DropTableRandom; + var boss = entry.Info.BossPokePara; + var extra = entry.Info.BossDesc; + var nameDrop = entry.Info.DropTableFix; + var nameBonus = entry.Info.DropTableRandom; if (boss.DevId == DevID.DEV_NULL) continue; - var version = entry.RaidEnemyInfo.RomVer switch + var version = entry.Info.RomVer switch { RaidRomType.TYPE_A => "Scarlet", RaidRomType.TYPE_B => "Violet", @@ -422,17 +423,17 @@ private static void DumpPretty(IFileInternal ROM, DeliveryRaidEnemyTableArray ta var talent = boss.TalentValue; var iv = boss.TalentType switch { - TalentType.VALUE when talent.HP == 31 && talent.ATK == 31 && talent.DEF == 31 && talent.SPA == 31 && talent.SPD == 31 && talent.SPE == 31 => "6 Flawless", - TalentType.VALUE => $"{boss.TalentValue.HP}/{boss.TalentValue.ATK}/{boss.TalentValue.DEF}/{boss.TalentValue.SPA}/{boss.TalentValue.SPD}/{boss.TalentValue.SPE}", + TalentType.VALUE when talent is { HP: 31, ATK: 31, DEF: 31, SPA: 31, SPD: 31, SPE: 31 } => "6 Flawless", + TalentType.VALUE => talent.SlashSeparated(), _ => $"{boss.TalentVnum} Flawless", }; - var capture = entry.RaidEnemyInfo.CaptureRate switch + var capture = entry.Info.CaptureRate switch { // 0 never? // 1 always 2 => "Only Once", - _ => $"{entry.RaidEnemyInfo.CaptureRate}", + _ => $"{entry.Info.CaptureRate}", }; var size = boss.ScaleType switch @@ -448,12 +449,12 @@ private static void DumpPretty(IFileInternal ROM, DeliveryRaidEnemyTableArray ta var form = boss.FormId == 0 ? string.Empty : $"-{(int)boss.FormId}"; - lines.Add($"{entry.RaidEnemyInfo.Difficulty}-Star {species[(int)boss.DevId]}{form}"); - if (entry.RaidEnemyInfo.RomVer != RaidRomType.BOTH) + lines.Add($"{entry.Info.Difficulty}-Star {species[(int)boss.DevId]}{form}"); + if (entry.Info.RomVer != RaidRomType.BOTH) lines.Add($"\tVersion: {version}"); lines.Add($"\tTera Type: {gem}"); - lines.Add($"\tCapture Level: {entry.RaidEnemyInfo.CaptureLv}"); + lines.Add($"\tCapture Level: {entry.Info.CaptureLv}"); lines.Add($"\tAbility: {ability}"); if (boss.Seikaku != SeikakuType.DEFAULT) @@ -461,16 +462,17 @@ private static void DumpPretty(IFileInternal ROM, DeliveryRaidEnemyTableArray ta lines.Add($"\tIVs: {iv}"); - if (boss.EffortValue.Stats.Any(z => z != 0)) + var evs = boss.EffortValue.ToArray(); + if (evs.Any(z => z != 0)) { string[] names = new[] { "HP", "Atk", "Def", "SpA", "SpD", "Spe" }; var spread = new List(); - for (int i = 0; i < boss.EffortValue.Stats.Length; i++) + for (int i = 0; i < evs.Length; i++) { - if (boss.EffortValue.Stats[i] == 0) + if (evs[i] == 0) continue; - spread.Add($"{boss.EffortValue.Stats[i]} {names[i]}"); + spread.Add($"{evs[i]} {names[i]}"); } lines.Add($"\tEVs: {string.Join(" / ", spread)}"); @@ -482,16 +484,16 @@ private static void DumpPretty(IFileInternal ROM, DeliveryRaidEnemyTableArray ta if (boss.ScaleType != SizeType.RANDOM) lines.Add($"\tScale: {size}"); - if (entry.RaidEnemyInfo.Difficulty == 7) + if (entry.Info.Difficulty == 7) { - float hp = entry.RaidEnemyInfo.BossDesc.HpCoef / 100f; + float hp = entry.Info.BossDesc.HpCoef / 100f; lines.Add($"\tHP Multiplier: {hp:0.0}x"); } if (boss.Item != ItemID.ITEMID_NONE) lines.Add($"\tHeld Item: {items[(int)boss.Item]}"); - if (entry.RaidEnemyInfo.CaptureRate != 1) + if (entry.Info.CaptureRate != 1) lines.Add($"\tCatchable: {capture}"); lines.Add($"\t\tMoves:"); diff --git a/pkNX.WinForms/MainEditor/EditorGG.cs b/pkNX.WinForms/MainEditor/EditorGG.cs index b0137697..14b0304a 100644 --- a/pkNX.WinForms/MainEditor/EditorGG.cs +++ b/pkNX.WinForms/MainEditor/EditorGG.cs @@ -7,6 +7,7 @@ using pkNX.Randomization; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.LGPE; namespace pkNX.WinForms.Controls; @@ -231,13 +232,13 @@ private void PopWildEdit(GameFile type) { var file = ROM.GetFile(type); var data = file[0]; - var obj = FlatBufferConverter.DeserializeFrom(data); + var obj = FlatBufferConverter.DeserializeFrom(data); using var form = new GGWE(ROM, obj); if (form.ShowDialog() != DialogResult.OK) return; - data = FlatBufferConverter.SerializeFrom(obj); + data = obj.SerializeFrom(); file[0] = data; } @@ -333,10 +334,10 @@ private void EditShop(bool shop2) var shop = FlatBufferConverter.DeserializeFrom(data); if (!shop2) { - var table = shop.Shop1; + var table = shop.Single; var names = table.Select((z, _) => $"{(z.LGPE.TryGetValue(z.Hash, out var shopName) ? shopName : z.Hash.ToString("X"))}").ToArray(); - var cache = new DirectCache(table); - using var form = new GenericEditor(cache, names, $"{nameof(Shop1)} Editor", Randomize); + var cache = new DirectCache(table); + using var form = new GenericEditor(cache, names, $"{nameof(SingleShop)} Editor", Randomize); form.ShowDialog(); if (!form.Modified) { @@ -346,21 +347,21 @@ private void EditShop(bool shop2) void Randomize() { - for (int s = 1; s < table.Length; s++) // skip first table with TMs (unobtainable otherwise) + for (int s = 1; s < table.Count; s++) // skip first table with TMs (unobtainable otherwise) { var shopDefinition = table[s]; - var items = shopDefinition.Inventory.Items; - for (int i = 0; i < items.Length; i++) + var items = shopDefinition.Inventories.Items; + for (int i = 0; i < items.Count; i++) items[i] = PossibleHeldItems[Randomization.Util.Random.Next(PossibleHeldItems.Length)]; } } } else { - var table = shop.Shop2; + var table = shop.Multi; var names = table.Select((z, _) => $"{(z.LGPE.TryGetValue(z.Hash, out var shopName) ? shopName : z.Hash.ToString("X"))}").ToArray(); - var cache = new DirectCache(table); - using var form = new GenericEditor(cache, names, $"{nameof(Shop2)} Editor", Randomize); + var cache = new DirectCache(table); + using var form = new GenericEditor(cache, names, $"{nameof(MultiShop)} Editor", Randomize); form.ShowDialog(); if (!form.Modified) { @@ -375,12 +376,12 @@ void Randomize() foreach (var inv in shopDefinition.Inventories) { var items = inv.Items; - for (int i = 0; i < items.Length; i++) + for (int i = 0; i < items.Count; i++) items[i] = PossibleHeldItems[Randomization.Util.Random.Next(PossibleHeldItems.Length)]; } } } } - arc[0] = FlatBufferConverter.SerializeFrom(shop); + arc[0] = shop.SerializeFrom(); } } diff --git a/pkNX.WinForms/MainEditor/EditorPLA.cs b/pkNX.WinForms/MainEditor/EditorPLA.cs index 63cd00a5..f8e4f10c 100644 --- a/pkNX.WinForms/MainEditor/EditorPLA.cs +++ b/pkNX.WinForms/MainEditor/EditorPLA.cs @@ -3,13 +3,20 @@ using System.IO; using System.Linq; using System.Windows.Forms; +using FlatSharp; using pkNX.Containers; using pkNX.Game; using pkNX.Randomization; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; using pkNX.WinForms.Subforms; using static pkNX.Structures.Species; +using EvolutionSet = pkNX.Structures.FlatBuffers.Arceus.EvolutionSet; +using Learnset = pkNX.Structures.FlatBuffers.Arceus.Learnset; +using TrainerData = pkNX.Structures.FlatBuffers.Arceus.TrainerData; +using Util = pkNX.Randomization.Util; + // ReSharper disable UnusedMember.Global namespace pkNX.WinForms.Controls; @@ -33,17 +40,19 @@ private static void CheckOodleDllPresence() WinFormsUtil.Alert($"{file} not found in the executable folder", "Some decompression functions may cause errors."); } - public void PopFlat(GameFile file, string title, Func getName, Action>? rand = null, Action? addEntryCallback = null, bool canSave = true) where T1 : class, IFlatBufferArchive where T2 : class + public void PopFlat(GameFile file, string title, Func> sel, Func getName, Action>? rand = null, Action? addEntryCallback = null, bool canSave = true) + where T1 : class, IFlatBufferSerializable + where T2 : class { var obj = ROM.GetFile(file); - var tableCache = new TableCache(obj); + var tableCache = new TableCache(obj, sel); DataCache loader(GenericEditor form) { if (form.Modified) tableCache.Save(); - tableCache = new TableCache(obj); + tableCache = new TableCache(obj, sel); return tableCache.Cache; } @@ -59,16 +68,16 @@ DataCache loader(GenericEditor form) } } - private static bool PopFlat(T2[] arr, string title, Func getName, Action>? rand = null, bool canSave = true) where T2 : class + private static bool PopFlat(IList arr, string title, Func getName, Action>? rand = null, bool canSave = true) where T2 : class { - using var form = new GenericEditor(_ => new DataCache(arr), getName, title, rand, null, canSave); + using var form = new GenericEditor(_ => new DataCache(arr!), getName, title, rand, null, canSave); form.ShowDialog(); return form.Modified; } public void PopFlatConfig(GameFile file, string title) { - PopFlat(file, title, (z, _) => z.Name); + PopFlat(file, title, z => z.Table, (z, _) => z.Name); } public int[] GetSpeciesBanlist() @@ -108,7 +117,7 @@ public int GetRandomForm(int spec) Growlithe or Arcanine or Voltorb or Electrode or Typhlosion or Qwilfish or Samurott or Lilligant or Zorua or Zoroark or Braviary or Sliggoo or Goodra or Avalugg or Decidueye => 1, Basculin => 2, Kleavor => 0, - _ => Randomization.Util.Random.Next(0, count), + _ => Util.Random.Next(0, count), }; } @@ -152,17 +161,17 @@ public void EditPokemon() var editor = new PokeEditor8a { Personal = Data.PersonalData, - PokeMisc = new(ROM.GetFile(GameFile.PokeMisc)), - SymbolBehave = new(ROM.GetFile(GameFile.SymbolBehave)), + PokeMisc = new(ROM.GetFile(GameFile.PokeMisc), z => z.Table), + SymbolBehave = new(ROM.GetFile(GameFile.SymbolBehave), z => z.Table), Evolve = Data.EvolutionData, Learn = Data.LevelUpData, FieldDropTables = Data.FieldDrops, BattleDropTabels = Data.BattleDrops, DexResearch = Data.DexResearch, - PokeResourceList = new(ROM.GetFile(GameFile.PokemonResourceList)), - PokeResourceTable = new(ROM.GetFile(GameFile.PokemonResourceTable)), - EncounterRateTable = new(ROM.GetFile(GameFile.EncounterRateTable)), - CaptureCollisionTable = new(ROM.GetFile(GameFile.PokeCaptureCollision)), + PokeResourceList = new(ROM.GetFile(GameFile.PokemonResourceList), z => z.Table), + PokeResourceTable = new(ROM.GetFile(GameFile.PokemonResourceTable), z => z.Table), + EncounterRateTable = new(ROM.GetFile(GameFile.EncounterRateTable), z => z.Table), + CaptureCollisionTable = new(ROM.GetFile(GameFile.PokeCaptureCollision), z => z.Table), }; using var form = new PokeDataUI8a(editor, ROM, Data); form.ShowDialog(); @@ -176,21 +185,21 @@ public void EditPokemon() public void EditMiscSpeciesInfo() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.PokeMisc, "Misc Species Info Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")} ~ {z.Value}"); + PopFlat(GameFile.PokeMisc, "Misc Species Info Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")} ~ {z.Value}"); } [EditorCallable(EditorCategory.Pokemon)] public void EditSymbolBehave() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.SymbolBehave, "Symbol Behavior Editor", (z, _) => $"{names[z.Species]}{(z.IsAlpha ? "*" : "")}{(z.Form != 0 ? $"-{z.Form}" : "")}"); + PopFlat(GameFile.SymbolBehave, "Symbol Behavior Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.IsAlpha ? "*" : "")}{(z.Form != 0 ? $"-{z.Form}" : "")}"); } [EditorCallable(EditorCategory.Pokemon)] public void EditEvolutions() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.Evolutions, "Evolution Editor", + PopFlat(GameFile.Evolutions, "Evolution Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form != 0 ? $"-{z.Form}" : "")}"); } @@ -201,23 +210,23 @@ public void EditEvolutions() public void EditLearnsetRaw() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.Learnsets, "Learnset Editor (Raw)", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); + PopFlat(GameFile.Learnsets, "Learnset Editor (Raw)", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); } [EditorCallable(EditorCategory.Pokemon)] public void EditPersonalRaw() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.PersonalStats, "Personal Info Editor (Raw)", (z, _) => $"{names[z.DexIndexNational]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); + PopFlat(GameFile.PersonalStats, "Personal Info Editor (Raw)", z => z.Table, (z, _) => $"{names[z.DexIndexNational]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); } [EditorCallable(EditorCategory.Pokemon)] public void EditGift() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.EncounterTableGift, "Gift Encounter Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")} @ Lv. {z.Level}", entries => Randomize(entries)); + PopFlat(GameFile.EncounterTableGift, "Gift Encounter Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")} @ Lv. {z.Level}", entries => Randomize(entries)); - void Randomize(IEnumerable arr) + void Randomize(IEnumerable arr) { var settings = EditUtil.Settings.Species; var rand = new SpeciesRandomizer(ROM.Info, Data.PersonalData); @@ -227,10 +236,10 @@ void Randomize(IEnumerable arr) { t.Species = rand.GetRandomSpecies(t.Species); t.Form = (byte)GetRandomForm(t.Species); - t.Nature = NatureType8a.Random; + t.Nature = NatureType.Random; t.Gender = (int)FixedGender.Random; - t.ShinyLock = ShinyType8a.Random; - t.Ball = Randomization.Util.Random.Next(27, 37); // [Strange, Origin] + t.ShinyLock = ShinyType.Random; + t.Ball = Util.Random.Next(27, 37); // [Strange, Origin] t.Move1 = t.Move2 = t.Move3 = t.Move4 = 0; t.Height = t.Weight = -1; } @@ -241,7 +250,7 @@ void Randomize(IEnumerable arr) public void EditPokeCaptureCollision() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.PokeCaptureCollision, "Pokemon Capture Collision Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); + PopFlat(GameFile.PokeCaptureCollision, "Pokemon Capture Collision Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); } [EditorCallable(EditorCategory.Pokemon)] public void EditEventRestrictionBattle() => PopFlatConfig(GameFile.EventRestrictionBattle, "Event Restriction Battle Editor"); @@ -276,28 +285,28 @@ public void EditAreaWeather() { var gfp = (GFPack)ROM.GetFile(GameFile.Resident); var data = gfp[2065]; - var obj = FlatBufferConverter.DeserializeFrom(data); + var obj = FlatBufferConverter.DeserializeFrom(data); var result = PopFlat(obj.Table, "Area Weather Editor", (z, _) => z.Hash.ToString("X16")); if (!result) return; - gfp[2065] = FlatBufferConverter.SerializeFrom(obj); + gfp[2065] = obj.SerializeFrom(); } [EditorCallable(EditorCategory.Field)] public void EditStaticEncounter() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.EncounterTableStatic, "Static Encounter Editor", (z, _) => $"{z.EncounterName} ({GetDetail(z, names)})", entries => Randomize(entries)); + PopFlat(GameFile.EncounterTableStatic, "Static Encounter Editor", z => z.Table, (z, _) => $"{z.EncounterName} ({GetDetail(z, names)})", entries => Randomize(entries)); - static string GetDetail(EventEncount8a z, string[] names) + static string GetDetail(EventEncount z, string[] names) { - if (z.Table is not { Length: not 0 } x) + if (z.Table is not { Count: not 0 } x) return "No Entries"; var s = x[0]; return $"{names[s.Species]}{(s.Form == 0 ? "" : $"-{s.Form}")} @ Lv. {s.Level}"; } - void Randomize(IEnumerable arr) + void Randomize(IEnumerable arr) { var settings = EditUtil.Settings.Species; var rand = new SpeciesRandomizer(ROM.Info, Data.PersonalData); @@ -305,7 +314,7 @@ void Randomize(IEnumerable arr) rand.Initialize(settings, GetSpeciesBanlist()); foreach (var entry in arr) { - if (entry.Table is not { Length: > 0 } x) + if (entry.Table is not { Count: > 0 } x) continue; foreach (var t in x) { @@ -317,13 +326,13 @@ void Randomize(IEnumerable arr) t.Species = rand.GetRandomSpecies(t.Species); t.Form = (byte)GetRandomForm(t.Species); - t.Nature = (int)Nature.Random; + t.Nature = (NatureType)Nature.Random; t.Gender = (int)FixedGender.Random; - t.ShinyLock = ShinyType8a.Random; + t.ShinyLock = ShinyType.Random; t.Move1 = t.Move2 = t.Move3 = t.Move4 = 0; t.Mastered1 = t.Mastered2 = t.Mastered3 = t.Mastered4 = true; - t.IV_HP = t.IV_ATK = t.IV_DEF = t.IV_SPA = t.IV_SPD = t.IV_SPE = 31; - t.GV_HP = t.GV_ATK = t.GV_DEF = t.GV_SPA = t.GV_SPD = t.GV_SPE = 10; + t.IVHP = t.IVATK = t.IVDEF = t.IVSPA = t.IVSPD = t.IVSPE = 31; + t.GVHP = t.GVATK = t.GVDEF = t.GVSPA = t.GVSPD = t.GVSPE = 10; t.Height = t.Weight = -1; } } @@ -334,7 +343,7 @@ void Randomize(IEnumerable arr) public void EditEncounterRate() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.EncounterRateTable, "Encounter Rate Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); + PopFlat(GameFile.EncounterRateTable, "Encounter Rate Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); } [EditorCallable(EditorCategory.Field)] @@ -363,23 +372,23 @@ public void EditAreas() [EditorCallable(EditorCategory.Field)] public void EditOutbreakDetail() - => PopFlat(GameFile.Outbreak, "Outbreak Proc Editor", (z, _) => z.WorkValueName); + => PopFlat(GameFile.Outbreak, "Outbreak Proc Editor", z => z.Table, (z, _) => z.WorkValueName); [EditorCallable(EditorCategory.Field)] public void EditNewOutbreakGroup() - => PopFlat(GameFile.NewHugeGroup, "New Outbreak Group Editor", (z, _) => z.Group.ToString("X16")); + => PopFlat(GameFile.NewHugeGroup, "New Outbreak Group Editor", z => z.Table, (z, _) => z.Group.ToString("X16")); [EditorCallable(EditorCategory.Field)] public void EditNewOutbreakGroupLottery() - => PopFlat(GameFile.NewHugeGroupLottery, "New Outbreak Group Lottery Editor", (z, _) => z.LotteryGroup.ToString("X16")); + => PopFlat(GameFile.NewHugeGroupLottery, "New Outbreak Group Lottery Editor", z => z.Table, (z, _) => z.LotteryGroup.ToString("X16")); [EditorCallable(EditorCategory.Field)] public void EditNewOutbreakLottery() - => PopFlat(GameFile.NewHugeLottery, "New Outbreak Lottery Editor", (z, _) => z.LotteryGroupString); + => PopFlat(GameFile.NewHugeLottery, "New Outbreak Lottery Editor", z => z.Table, (z, _) => z.LotteryGroupString); [EditorCallable(EditorCategory.Field)] public void EditNewOutbreakTimeLimit() - => PopFlat(GameFile.NewHugeTimeLimit, "New Outbreak Time Limit Editor", (z, _) => z.Duration.ToString()); + => PopFlat(GameFile.NewHugeTimeLimit, "New Outbreak Time Limit Editor", z => z.Table, (z, _) => z.Duration.ToString()); [EditorCallable(EditorCategory.Field)] public void EditFieldAttackConfig() => PopFlatConfig(GameFile.AIFieldWazaConfig, "AI Field Attack Config Editor"); @@ -414,34 +423,34 @@ public void EditTrainers() var folder = ROM.GetFilteredFolder(GameFile.TrainerSpecData); var names = folder.GetPaths().Select(Path.GetFileNameWithoutExtension).ToArray(); - var cache = new DataCache(folder) + var cache = new DataCache(folder) { - Create = FlatBufferConverter.DeserializeFrom, + Create = FlatBufferConverter.DeserializeFrom, Write = FlatBufferConverter.SerializeFrom, }; - using var form = new GenericEditor(_ => cache, (_, i) => names[i] ?? string.Empty, "Trainers", Randomize, canSave: true); + using var form = new GenericEditor(_ => cache, (_, i) => names[i] ?? string.Empty, "Trainers", Randomize, canSave: true); form.ShowDialog(); - void Randomize(IEnumerable arr) + void Randomize(IEnumerable arr) { var settings = EditUtil.Settings.Species; var rand = new SpeciesRandomizer(ROM.Info, Data.PersonalData); rand.Initialize(settings, GetSpeciesBanlist()); - for (int i = 0; i < arr.Count(); i++) + foreach (var t in arr) { - foreach (var t in arr.ElementAt(i).Team) + foreach (var pk in t.Team) { - t.Species = rand.GetRandomSpecies(t.Species); - t.Form = GetRandomForm(t.Species); - t.Gender = (int)FixedGender.Random; - t.Nature = NatureType8a.Random; - t.Move_01.Move = t.Move_02.Move = t.Move_03.Move = t.Move_04.Move = 0; - t.Move_01.Mastered = t.Move_02.Mastered = t.Move_03.Mastered = t.Move_04.Mastered = true; - t.Shiny = Randomization.Util.Random.Next(0, 100 + 1) < 3; - t.IsOybn = Randomization.Util.Random.Next(0, 100 + 1) < 3; + pk.Species = rand.GetRandomSpecies(pk.Species); + pk.Form = GetRandomForm(pk.Species); + pk.Gender = (int)FixedGender.Random; + pk.Nature = NatureType.Random; + pk.Move01.Move = pk.Move02.Move = pk.Move03.Move = pk.Move04.Move = 0; + pk.Move01.Mastered = pk.Move02.Mastered = pk.Move03.Mastered = pk.Move04.Mastered = true; + pk.Shiny = Util.Random.Next(0, 100 + 1) < 3; + pk.IsOybn = Util.Random.Next(0, 100 + 1) < 3; } } } @@ -456,13 +465,13 @@ void Randomize(IEnumerable arr) public void EditMoves() { var obj = ROM[GameFile.MoveStats]; // folder - var cache = new DataCache(obj) + var cache = new DataCache(obj) { - Create = FlatBufferConverter.DeserializeFrom, + Create = FlatBufferConverter.DeserializeFrom, Write = FlatBufferConverter.SerializeFrom, }; var names = ROM.GetStrings(TextName.MoveNames); - using var form = new GenericEditor(_ => cache, (_, i) => names[i], "Move Editor"); + using var form = new GenericEditor(_ => cache, (_, i) => names[i], "Move Editor"); form.ShowDialog(); if (!form.Modified) { @@ -489,22 +498,22 @@ public void EditMoves() public void EditMoveShop() { var names = ROM.GetStrings(TextName.MoveNames); - PopFlat(GameFile.MoveShop, "Move Shop Editor", (z, _) => names[z.Move]); + PopFlat(GameFile.MoveShop, "Move Shop Editor", z => z.Table, (z, _) => names[z.Move]); } [EditorCallable(EditorCategory.Shops)] public void EditHaShopData() { var names = ROM.GetStrings(TextName.ItemNames); - PopFlat(GameFile.HaShop, "ha_shop_data Editor", (z, _) => names[z.ItemID], Randomize); + PopFlat(GameFile.HaShop, "ha_shop_data Editor", z => z.Table, (z, _) => names[z.ItemID], Randomize); - static void Randomize(IEnumerable arr) + static void Randomize(IEnumerable arr) { foreach (var t in arr) { if (Legal.Pouch_Recipe_LA.Contains((ushort)t.ItemID)) // preserve recipes continue; - t.ItemID = Legal.Pouch_Items_LA[Randomization.Util.Random.Next(Legal.Pouch_Items_LA.Length)]; + t.ItemID = Legal.Pouch_Items_LA[Util.Random.Next(Legal.Pouch_Items_LA.Length)]; } } } @@ -519,11 +528,11 @@ public void EditNPCModelSet() var gfp = (GFPack)ROM.GetFile(GameFile.Resident); var index = gfp.GetIndexFull("bin/field/param/placement/common/npc_model_set.bin"); - var obj = FlatBufferConverter.DeserializeFrom(gfp[index]); + var obj = FlatBufferConverter.DeserializeFrom(gfp[index]); var result = PopFlat(obj.Table, "NPC Model Set Editor", (z, _) => z.NPCModelHash.ToString()); if (!result) return; - gfp[index] = FlatBufferConverter.SerializeFrom(obj); + gfp[index] = obj.SerializeFrom(); } [EditorCallable(EditorCategory.Graphics)] @@ -532,20 +541,20 @@ public void EditPokemonModelSet() var gfp = (GFPack)ROM.GetFile(GameFile.Resident); var index = gfp.GetIndexFull("bin/field/param/placement/common/pokemon_model_set.bin"); - var obj = FlatBufferConverter.DeserializeFrom(gfp[index]); + var obj = FlatBufferConverter.DeserializeFrom(gfp[index]); var names = ROM.GetStrings(TextName.SpeciesNames); var result = PopFlat(obj.Table, "Pokemon Model Set Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")} ({z.VariantDesc})"); if (!result) return; - gfp[index] = FlatBufferConverter.SerializeFrom(obj); + gfp[index] = obj.SerializeFrom(); } [EditorCallable(EditorCategory.Graphics)] public void EditPokeResourceTable() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.PokemonResourceTable, "Pokemon Resource Table", (z, _) => $"{names[z.Meta.Species]}{(z.Meta.Form == 0 ? "" : $"-{z.Meta.Form}")}{(z.Meta.Gender == 0 ? "" : $" ({z.Meta.Gender})")}"); + PopFlat(GameFile.PokemonResourceTable, "Pokemon Resource Table", z => z.Table, (z, _) => $"{names[z.Meta.Species]}{(z.Meta.Form == 0 ? "" : $"-{z.Meta.Form}")}{(z.Meta.Gender == 0 ? "" : $" ({z.Meta.Gender})")}"); } [EditorCallable(EditorCategory.Graphics)] @@ -553,14 +562,14 @@ public void EditPokemonResourceList() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.PokemonResourceList, "Pokemon Resource List", (z, _) => $"{names[z.Species]}"); + PopFlat(GameFile.PokemonResourceList, "Pokemon Resource List", z => z.Table, (z, _) => $"{names[z.Species]}"); } [EditorCallable(EditorCategory.Graphics)] public void EditPokeBodyParticle() { var names = ROM.GetStrings(TextName.SpeciesNames); - PopFlat(GameFile.PokeBodyParticle, "Pokemon Body Particle Editor", (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); + PopFlat(GameFile.PokeBodyParticle, "Pokemon Body Particle Editor", z => z.Table, (z, _) => $"{names[z.Species]}{(z.Form == 0 ? "" : $"-{z.Form}")}"); } [EditorCallable(EditorCategory.Graphics)] public void EditFieldAnimationFramerate() => PopFlatConfig(GameFile.FieldAnimationFramerateConfig, "Field Anime Framerate Config"); @@ -577,32 +586,32 @@ public void EditPokeBodyParticle() [EditorCallable(EditorCategory.Items)] public void EditThrowParam() { - PopFlat(GameFile.ThrowParam, "Throw Param Editor", (z, _) => z.ThrowParamType.ToString()); + PopFlat(GameFile.ThrowParam, "Throw Param Editor", z => z.Table, (z, _) => z.ThrowParamType.ToString()); } [EditorCallable(EditorCategory.Items)] public void EditThrowPermissionSetParam() { - PopFlat(GameFile.ThrowPermissionSet, "Throw Permission Editor", (z, _) => z.ThrowPermissionSet.ToString()); + PopFlat(GameFile.ThrowPermissionSet, "Throw Permission Editor", z => z.Table, (z, _) => z.ThrowPermissionSet.ToString()); } [EditorCallable(EditorCategory.Items)] public void EditThrowableParam() { var itemNames = ROM.GetStrings(TextName.ItemNames); - PopFlat(GameFile.ThrowableParam, "Throwable Param Editor", (z, _) => $"{itemNames[z.ItemID]} ({z.ItemID})", null, t => { t.AddEntry(0); }); + PopFlat(GameFile.ThrowableParam, "Throwable Param Editor", z => z.Table, (z, _) => $"{itemNames[z.ItemID]} ({z.ItemID})", null, t => { t.AddEntry(0); }); } [EditorCallable(EditorCategory.Items)] public void EditThrowResourceDictionary() { - PopFlat(GameFile.ThrowableResource, "Throwable Resource Dictionary Editor", (z, _) => z.Hash_00.ToString("X16")); + PopFlat(GameFile.ThrowableResource, "Throwable Resource Dictionary Editor", z => z.Table, (z, _) => z.Hash00.ToString("X16")); } [EditorCallable(EditorCategory.Items)] public void EditThrowResourceSetDictionary() { - PopFlat(GameFile.ThrowableResourceSet, "Throwable Resource Set Dictionary Editor", (z, _) => z.ItemType.ToString()); + PopFlat(GameFile.ThrowableResourceSet, "Throwable Resource Set Dictionary Editor", z => z.Table, (z, _) => z.ItemType.ToString()); } [EditorCallable(EditorCategory.Items)] @@ -650,8 +659,8 @@ public void EditItems() [EditorCallable(EditorCategory.Player)] public void EditPlayerConfig() => PopFlatConfig(GameFile.PlayerConfig, "Player Config Editor"); [EditorCallable(EditorCategory.Player)] public void EditPlayerControllerConfig() => PopFlatConfig(GameFile.PlayerControllerConfig, "Player Controller Config"); [EditorCallable(EditorCategory.Player)] public void EditPlayerFaceConfig() => PopFlatConfig(GameFile.PlayerFaceConfig, "Player Face Config"); - [EditorCallable(EditorCategory.Player)] public void EditPlayer1DressupTable() => PopFlat(GameFile.Player1DressupTable, "Player 1 DressUp Table", (z, _) => z.EntryName); - [EditorCallable(EditorCategory.Player)] public void EditPlayer2DressupTable() => PopFlat(GameFile.Player2DressupTable, "Player 2 DressUp Table", (z, _) => z.EntryName); + [EditorCallable(EditorCategory.Player)] public void EditPlayer1DressupTable() => PopFlat(GameFile.Player1DressupTable, "Player 1 DressUp Table", z => z.Table, (z, _) => z.EntryName); + [EditorCallable(EditorCategory.Player)] public void EditPlayer2DressupTable() => PopFlat(GameFile.Player2DressupTable, "Player 2 DressUp Table", z => z.Table, (z, _) => z.EntryName); #endregion @@ -686,7 +695,7 @@ public void EditItems() [EditorCallable(EditorCategory.Gameplay)] public void EditPokedexRankTable() { - PopFlat(GameFile.DexRank, "Pokedex Rank Table Editor", (z, _) => z.Rank.ToString()); + PopFlat(GameFile.DexRank, "Pokedex Rank Table Editor", z => z.Table, (z, _) => z.Rank.ToString()); } [EditorCallable(EditorCategory.Gameplay)] public void EditEventBalloonRunConfig() => PopFlatConfig(GameFile.EventBalloonrunConfig, "Event Balloon Run Config Editor"); @@ -703,58 +712,58 @@ public void EditPokedexRankTable() #region Misc Editors - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditPokeEatingHabits() { - PopFlat(GameFile.PokeEatingHabits, "Pokemon Eating Habits Editor", (z, _) => z.ID.ToString()); + PopFlat(GameFile.PokeEatingHabits, "Pokemon Eating Habits Editor", z => z.Table, (z, _) => z.ID.ToString()); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionLegend() { - PopFlat(GameFile.MoveObstructionLegend, "PokeFieldObstructionWazaNsLegendArchive8a Editor", (z, _) => $"error"); + PopFlat(GameFile.MoveObstructionLegend, "PokeFieldObstructionWazaNsLegendArchive Editor", z => z.Table, (z, _) => "error"); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionLegendEffect() { - PopFlat(GameFile.MoveObstructionLegendEffect, "PokeFieldObstructionWazaNsLegendEffectArchive8a Editor", (z, _) => $"error"); + PopFlat(GameFile.MoveObstructionLegendEffect, "PokeFieldObstructionWazaNsLegendEffectArchive Editor", z => z.Table, (z, _) => "error"); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionSE() { - PopFlat(GameFile.MoveObstructionSE, "PokeFieldObstructionWazaSeArchive8a Editor", (z, _) => $"error"); + PopFlat(GameFile.MoveObstructionSE, "PokeFieldObstructionWazaSeArchive Editor", z => z.Table, (z, _) => "error"); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionWild() { - PopFlat(GameFile.MoveObstructionWild, "Poke Field Obstruction Waza Wild Editor", (z, _) => z.Field_00); + PopFlat(GameFile.MoveObstructionWild, "Poke Field Obstruction Waza Wild Editor", z => z.Table, (z, _) => z.Field00); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionWildEffect() { - PopFlat(GameFile.MoveObstructionWildEffect, "PokeFieldObstructionWazaWildEffectArchive8a Editor", (z, _) => $"error"); + PopFlat(GameFile.MoveObstructionWildEffect, "PokeFieldObstructionWazaWildEffectArchive Editor", z => z.Table, (z, _) => "error"); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionWater() { - PopFlat(GameFile.MoveObstructionWater, "PokeFieldObstructionWazaWildWaterArchive8a Editor", (z, _) => z.Field_00); + PopFlat(GameFile.MoveObstructionWater, "PokeFieldObstructionWazaWildWaterArchive Editor", z => z.Table, (z, _) => z.Field00); } - [EditorCallable(EditorCategory.Misc)] + [EditorCallable()] public void EditMoveObstructionWaterEffect() { - PopFlat(GameFile.MoveObstructionWaterEffect, "PokeFieldObstructionWazaWildWaterEffectArchive8a Editor", (z, _) => $"error"); + PopFlat(GameFile.MoveObstructionWaterEffect, "PokeFieldObstructionWazaWildWaterEffectArchive Editor", z => z.Table, (z, _) => "error"); } [EditorCallable(EditorCategory.Misc, true)] public void EditAppConfigList() { - PopFlat(GameFile.AppConfigList, "App Config List", (z, _) => z.OriginalPath); + PopFlat(GameFile.AppConfigList, "App Config List", z => z.Table, (z, _) => z.OriginalPath); } [EditorCallable(EditorCategory.Misc, true)] @@ -766,7 +775,7 @@ public void EditArchiveContents() .Select(p => Path.GetRelativePath(ROM.PathRomFS, p).Replace('\\', '/')) .ToDictionary(p => FnvHash.HashFnv1a_64(p)); - PopFlat(GameFile.archive_contents, "Archive Contents Editor", + PopFlat(GameFile.archive_contents, "Archive Contents Editor", z => z.Table, (z, _) => paths.GetValueOrDefault(z.ArchivePathHash) ?? z.ArchivePathHash.ToString("X16"), addEntryCallback: x => x.AddEntry()); } @@ -780,12 +789,12 @@ public void EditPokedexFormStorage() [EditorCallable(EditorCategory.Misc, true)] public void EditPokeDefaultLocator() { - PopFlat(GameFile.PokeDefaultLocator, "Poke Default Locator Editor", (z, _) => z.Locator); + PopFlat(GameFile.PokeDefaultLocator, "Poke Default Locator Editor", z => z.Table, (z, _) => z.Locator); } - [EditorCallable(EditorCategory.Misc)] public void EditAppliStaffrollConfig() => PopFlatConfig(GameFile.AppliStaffrollConfig, "Appli Staffroll Config Editor"); + [EditorCallable()] public void EditAppliStaffrollConfig() => PopFlatConfig(GameFile.AppliStaffrollConfig, "Appli Staffroll Config Editor"); [EditorCallable(EditorCategory.Misc, true)] public void EditCommonGeneralConfig() => PopFlatConfig(GameFile.CommonGeneralConfig, "Common General Config Editor"); [EditorCallable(EditorCategory.Misc, true)] public void EditDemoConfig() => PopFlatConfig(GameFile.DemoConfig, "Demo Config Editor"); - [EditorCallable(EditorCategory.Misc)] public void EditEventWork() => PopFlatConfig(GameFile.EventWork, "Event Work Editor"); + [EditorCallable()] public void EditEventWork() => PopFlatConfig(GameFile.EventWork, "Event Work Editor"); #endregion } diff --git a/pkNX.WinForms/MainEditor/EditorSV.cs b/pkNX.WinForms/MainEditor/EditorSV.cs index 6c4b2abf..5721eb34 100644 --- a/pkNX.WinForms/MainEditor/EditorSV.cs +++ b/pkNX.WinForms/MainEditor/EditorSV.cs @@ -1,5 +1,4 @@ using System.IO; -using pkNX.Containers; using pkNX.Game; using pkNX.Structures; using pkNX.WinForms.Subforms; diff --git a/pkNX.WinForms/MainEditor/EditorSWSH.cs b/pkNX.WinForms/MainEditor/EditorSWSH.cs index 1c34463f..2e2b2a5e 100644 --- a/pkNX.WinForms/MainEditor/EditorSWSH.cs +++ b/pkNX.WinForms/MainEditor/EditorSWSH.cs @@ -3,11 +3,21 @@ using System.IO; using System.Linq; using System.Windows.Forms; +using PKHeX.Core; using pkNX.Containers; using pkNX.Game; using pkNX.Randomization; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SWSH; +using Ball = pkNX.Structures.Ball; +using FixedGender = pkNX.Structures.FixedGender; +using GameData = pkNX.Game.GameData; +using GameVersion = pkNX.Structures.GameVersion; +using Legal = pkNX.Structures.Legal; +using Nature = pkNX.Structures.Nature; +using Shiny = pkNX.Structures.Shiny; +using Species = pkNX.Structures.Species; namespace pkNX.WinForms.Controls; @@ -224,12 +234,12 @@ private void PopWildEdit(string file) var data_table = new GFPack(fp[0]); var sdo = data_table.GetDataFileName($"encount_symbol_{file}.bin"); var hdo = data_table.GetDataFileName($"encount_{file}.bin"); - var s = FlatBufferConverter.DeserializeFrom(sdo); - var h = FlatBufferConverter.DeserializeFrom(hdo); - while (s.EncounterTables[0].SubTables.Length != 9) + var s = FlatBufferConverter.DeserializeFrom(sdo); + var h = FlatBufferConverter.DeserializeFrom(hdo); + while (s.EncounterTables[0].SubTables.Count != 9) { - s = FlatBufferConverter.DeserializeFrom(sdo); - h = FlatBufferConverter.DeserializeFrom(hdo); + s = FlatBufferConverter.DeserializeFrom(sdo); + h = FlatBufferConverter.DeserializeFrom(hdo); } using var form = new SSWE(ROM, s, h); @@ -250,10 +260,10 @@ public void EditRaids() IFileContainer fp = ROM.GetFile(GameFile.NestData); var data_table = new GFPack(fp[0]); const string nest = "nest_hole_encount.bin"; - var nest_encounts = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName(nest)); + var nest_encounts = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName(nest)); var arr = nest_encounts.Table; - var cache = new DataCache(arr); + var cache = new DataCache(arr); var games = new[] { "Sword", "Shield" }; var names = arr.Select((z, i) => $"{games[z.GameVersion - 1]} - {i / 2}").ToArray(); @@ -281,11 +291,11 @@ void Randomize() } } - using var form = new GenericEditor(cache, names, "Max Raid Battles Editor", Randomize); + using var form = new GenericEditor(cache, names, "Max Raid Battles Editor", Randomize); form.ShowDialog(); if (!form.Modified) return; - var data = FlatBufferConverter.SerializeFrom(nest_encounts); + var data = nest_encounts.SerializeFrom(); data_table.SetDataFileName(nest, data); fp[0] = data_table.Write(); } @@ -296,10 +306,10 @@ public void EditRaidRewards() var data_table = new GFPack(fp[0]); const string nest = "nest_hole_drop_rewards.bin"; byte[] originalData = data_table.GetDataFileName(nest); - var nest_drops = FlatBufferConverter.DeserializeFrom(originalData); + var nest_drops = FlatBufferConverter.DeserializeFrom(originalData); var arr = nest_drops.Table; - var cache = new DataCache(arr); + var cache = new DataCache(arr); var names = arr.Select(z => $"{z.TableID}").ToArray(); void Randomize() @@ -312,11 +322,11 @@ void Randomize() } } - using var form = new GenericEditor(cache, names, "Raid Rewards Editor", Randomize); + using var form = new GenericEditor(cache, names, "Raid Rewards Editor", Randomize); form.ShowDialog(); if (!form.Modified) return; - var data = FlatBufferConverter.SerializeFrom(nest_drops); + var data = nest_drops.SerializeFrom(); data_table.SetDataFileName(nest, data); fp[0] = data_table.Write(); } @@ -326,10 +336,10 @@ public void EditRBonusRewards() IFileContainer fp = ROM.GetFile(GameFile.NestData); var data_table = new GFPack(fp[0]); const string nest = "nest_hole_bonus_rewards.bin"; - var nest_bonus = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName(nest)); + var nest_bonus = FlatBufferConverter.DeserializeFrom(data_table.GetDataFileName(nest)); var arr = nest_bonus.Table; - var cache = new DataCache(arr); + var cache = new DataCache(arr); var names = arr.Select(z => $"{z.TableID}").ToArray(); void Randomize() @@ -342,11 +352,11 @@ void Randomize() } } - using var form = new GenericEditor(cache, names, "Raid Bonus Rewards Editor", Randomize); + using var form = new GenericEditor(cache, names, "Raid Bonus Rewards Editor", Randomize); form.ShowDialog(); if (!form.Modified) return; - var data = FlatBufferConverter.SerializeFrom(nest_bonus); + var data = nest_bonus.SerializeFrom(); data_table.SetDataFileName(nest, data); fp[0] = data_table.Write(); } @@ -355,11 +365,11 @@ public void EditStatic() { var arc = ROM.GetFile(GameFile.EncounterTableStatic); var data = arc[0]; - var objs = FlatBufferConverter.DeserializeFrom(data); + var objs = FlatBufferConverter.DeserializeFrom(data); var encounters = objs.Table; - var names = Enumerable.Range(0, encounters.Length).Select(z => $"{z:000}").ToArray(); - var cache = new DirectCache(encounters); + var names = Enumerable.Range(0, encounters.Count).Select(z => $"{z:000}").ToArray(); + var cache = new DirectCache(encounters); void Randomize() { @@ -385,17 +395,17 @@ void Randomize() t.Gender = (int)FixedGender.Random; t.ShinyLock = (int)Shiny.Random; t.Moves = new[] { 0, 0, 0, 0 }; - if (t.IV_HP != -4 && t.IVs.Any(z => z != 31)) + if (t.IVHP != -4 && t.IVs.Any(z => z != 31)) t.IVs = new[] { -1, -1, -1, -1, -1, -1 }; } } - using var form = new GenericEditor(cache, names, "Static Encounter Editor", Randomize); + using var form = new GenericEditor(cache, names, "Static Encounter Editor", Randomize); form.ShowDialog(); if (!form.Modified) arc.CancelEdits(); else - arc[0] = FlatBufferConverter.SerializeFrom(objs); + arc[0] = objs.SerializeFrom(); } public void EditShop1() => EditShop(false); @@ -410,10 +420,10 @@ private void EditShop(bool shop2) var shop = FlatBufferConverter.DeserializeFrom(data); if (!shop2) { - var table = shop.Shop1; - var names = table.Select((z, _) => $"{(z.SWSH.TryGetValue(z.Hash, out var shopName) ? shopName : z.Hash.ToString("X"))}").ToArray(); - var cache = new DirectCache(table); - using var form = new GenericEditor(cache, names, $"{nameof(Shop1)} Editor", Randomize); + var table = shop.Single; + var names = table.Select((z, _) => $"{(ShopSWSH.TryGetValue(z.Hash, out var shopName) ? shopName : z.Hash.ToString("X"))}").ToArray(); + var cache = new DirectCache(table); + using var form = new GenericEditor(cache, names, $"{nameof(SingleShop)} Editor", Randomize); form.ShowDialog(); if (!form.Modified) { @@ -425,8 +435,8 @@ void Randomize() { foreach (var shopDefinition in table) { - var items = shopDefinition.Inventory.Items; - for (int i = 0; i < items.Length; i++) + var items = shopDefinition.Inventories.Items; + for (int i = 0; i < items.Count; i++) { if (Legal.Pouch_TMHM_SM.Contains((ushort)items[i]) || items[i] == 1230) // skip TMs continue; @@ -437,10 +447,10 @@ void Randomize() } else { - var table = shop.Shop2; - var names = table.Select((z, _) => $"{(z.SWSH.TryGetValue(z.Hash, out var shopName) ? shopName : z.Hash.ToString("X"))}").ToArray(); - var cache = new DirectCache(table); - using var form = new GenericEditor(cache, names, $"{nameof(Shop2)} Editor", Randomize); + var table = shop.Multi; + var names = table.Select((z, _) => $"{(ShopSWSH.TryGetValue(z.Hash, out var shopName) ? shopName : z.Hash.ToString("X"))}").ToArray(); + var cache = new DirectCache(table); + using var form = new GenericEditor(cache, names, $"{nameof(MultiShop)} Editor", Randomize); form.ShowDialog(); if (!form.Modified) { @@ -455,24 +465,121 @@ void Randomize() foreach (var inv in shopDefinition.Inventories) { var items = inv.Items; - for (int i = 0; i < items.Length; i++) + for (int i = 0; i < items.Count; i++) items[i] = PossibleHeldItems[Randomization.Util.Random.Next(PossibleHeldItems.Length)]; } } } } - arc[0] = FlatBufferConverter.SerializeFrom(shop); + arc[0] = shop.SerializeFrom(); } + + public readonly Dictionary ShopSWSH = new() + { + // Galar + { 0x1F3FF031A3A24490, "Poké Mart [0 Badges, Before Catching Tutorial]" }, + { 0x8E308F85B43038B4, "Motostoke [Upper Tier, TMs]" }, + { 0x8E309085B4303A67, "Hammerlocke [West, TMs]" }, + { 0x8E309185B4303C1A, "Hammerlocke [East, TMs]" }, + { 0x8E309285B4303DCD, "Wyndon [North, TMs]" }, + { 0x8E308B85B43031E8, "Battle Tower [TMs]" }, + { 0xCBD67969D873539B, "Motostoke [Lower Tier, Miscellaneous]" }, + { 0xCBD67869D87351E8, "Hammerlocke [South, Miscellaneous]" }, + { 0xCBD67B69D8735701, "Wyndon [South, Miscellaneous]" }, + { 0x04D7046DA09D3C78, "Hulbury [Herb Shop]" }, + { 0x4B2F9E98DDCB0707, "Hulbury [Incense Shop]" }, + { 0xE379CDF67A297070, "Wedgehurst [Berry Shop]" }, + { 0x3FD7A44219BF30BB, "Hammerlocke [South, BP Shop]" }, + { 0x3FD7A34219BF2F08, "Battle Tower [Battle Items]" }, + { 0x3FD7A64219BF3421, "Battle Tower [Nature Mints]" }, + // 0xD1BEA92EAAE52B5A -- Wishing Piece + X Items... unused? + + // Wild Area + // next 84 tables are all Ingredient Sellers with similar inventories that rotate daily; don't bother labeling (why hardcode everything GF?) + { 0xD1BEAA2EAAE52D0D, "Watt Trader 1 [Net Ball]" }, + { 0xD1BEA72EAAE527F4, "Watt Trader 1 [Dive Ball]" }, + { 0xD1BEA82EAAE529A7, "Watt Trader 1 [Nest Ball]" }, + { 0xD1BEA52EAAE5248E, "Watt Trader 1 [Repeat Ball]" }, + { 0xD1BEA62EAAE52641, "Watt Trader 1 [Timer Ball]" }, + { 0xD1BEA32EAAE52128, "Watt Trader 1 [Luxury Ball]" }, + { 0xD1BEA42EAAE522DB, "Watt Trader 1 [Dusk Ball]" }, + { 0xD1BEA12EAAE51DC2, "Watt Trader 1 [Heal Ball]" }, + { 0xD1BEA22EAAE51F75, "Watt Trader 1 [Quick Ball]" }, + + { 0xD1C20F2EAAE80E83, "Watt Trader 2 [Net Ball]" }, + { 0xD1C20E2EAAE80CD0, "Watt Trader 2 [Dive Ball]" }, + { 0xD1C2112EAAE811E9, "Watt Trader 2 [Nest Ball]" }, + { 0xD1C2102EAAE81036, "Watt Trader 2 [Repeat Ball]" }, + { 0xD1C2132EAAE8154F, "Watt Trader 2 [Timer Ball]" }, + { 0xD1C2122EAAE8139C, "Watt Trader 2 [Luxury Ball]" }, + { 0xD1C2152EAAE818B5, "Watt Trader 2 [Dusk Ball]" }, + { 0xD1C2142EAAE81702, "Watt Trader 2 [Heal Ball]" }, + { 0xD1C2172EAAE81C1B, "Watt Trader 2 [Quick Ball]" }, + + { 0xD1C2162EAAE81A68, "Watt Trader 3 [Net Ball]" }, + { 0xD1B79D2EAADEF848, "Watt Trader 3 [Dive Ball]" }, + { 0xD1B79E2EAADEF9FB, "Watt Trader 3 [Nest Ball]" }, + { 0xD1B79F2EAADEFBAE, "Watt Trader 3 [Repeat Ball]" }, + { 0xD1B7A02EAADEFD61, "Watt Trader 3 [Timer Ball]" }, + { 0xD1B7A12EAADEFF14, "Watt Trader 3 [Luxury Ball]" }, + { 0xD1B7A22EAADF00C7, "Watt Trader 3 [Dusk Ball]" }, + { 0xD1B7A32EAADF027A, "Watt Trader 3 [Heal Ball]" }, + { 0xD1B7A42EAADF042D, "Watt Trader 3 [Quick Ball]" }, + + { 0xD1B7952EAADEEAB0, "Watt Trader 4 [Net Ball]" }, + { 0xD1B7962EAADEEC63, "Watt Trader 4 [Dive Ball]" }, + { 0xD1BB232EAAE211D1, "Watt Trader 4 [Nest Ball]" }, + { 0xD1BB222EAAE2101E, "Watt Trader 4 [Repeat Ball]" }, + { 0xD1BB212EAAE20E6B, "Watt Trader 4 [Timer Ball]" }, + { 0xD1BB202EAAE20CB8, "Watt Trader 4 [Luxury Ball]" }, + { 0xD1BB272EAAE2189D, "Watt Trader 4 [Dusk Ball]" }, + { 0xD1BB262EAAE216EA, "Watt Trader 4 [Heal Ball]" }, + { 0xD1BB252EAAE21537, "Watt Trader 4 [Quick Ball]" }, + + { 0xD1BB242EAAE21384, "Watt Trader 5 [Net Ball]" }, + { 0xD1BB1B2EAAE20439, "Watt Trader 5 [Dive Ball]" }, + { 0xD1BB1A2EAAE20286, "Watt Trader 5 [Nest Ball]" }, + { 0xD1CC212EAAF0819E, "Watt Trader 5 [Repeat Ball]" }, + { 0xD1CC222EAAF08351, "Watt Trader 5 [Timer Ball]" }, + { 0xD1CC1F2EAAF07E38, "Watt Trader 5 [Luxury Ball]" }, + { 0xD1CC202EAAF07FEB, "Watt Trader 5 [Dusk Ball]" }, + { 0xD1CC252EAAF0886A, "Watt Trader 5 [Heal Ball]" }, + { 0xD1CC262EAAF08A1D, "Watt Trader 5 [Quick Ball]" }, + + { 0xD1CC232EAAF08504, "Watt Trader 6 [Net Ball]" }, + { 0xD1CC242EAAF086B7, "Watt Trader 6 [Dive Ball]" }, + { 0xD1CC192EAAF07406, "Watt Trader 6 [Repeat Ball]" }, + { 0xD1CC1A2EAAF075B9, "Watt Trader 6 [Quick Ball]" }, + { 0xD1CFA72EAAF39B27, "Watt Trader 6 [Heal Ball]" }, + + // Isle of Armor + { 0x5870C0165650F6A5, "Fields of Honor [Berry Shop]" }, + + // Crown Tundra + { 0x81DA6390A03C7E3F, "Freezington [Peddler]" }, + { 0x813C350B0B777943, "Snowslide Slope [Today's Highlight, TR00-TR09]" }, + { 0x813C360B0B777AF6, "Snowslide Slope [Today's Highlight, TR10-TR19]" }, + { 0x813C370B0B777CA9, "Snowslide Slope [Today's Highlight, TR20-TR29]" }, + { 0x813C380B0B777E5C, "Snowslide Slope [Today's Highlight, TR30-TR39]" }, + { 0x813C390B0B77800F, "Snowslide Slope [Today's Highlight, TR40-TR49]" }, + { 0x813C3A0B0B7781C2, "Snowslide Slope [Today's Highlight, TR50-TR59]" }, + { 0x813C3B0B0B778375, "Snowslide Slope [Today's Highlight, TR60-TR69]" }, + { 0x813C3C0B0B778528, "Snowslide Slope [Today's Highlight, TR70-TR79]" }, + { 0x813C3D0B0B7786DB, "Snowslide Slope [Today's Highlight, TR80-TR89]" }, + { 0x813F3A0B0B79B799, "Snowslide Slope [Today's Highlight, TR90-TR99]" }, + { 0xF49C86F8683842BF, "Max Lair [Dynite Ore Trader]" }, + }; + public void EditMoves() { var obj = ROM[GameFile.MoveStats]; // mini - var cache = new DataCache(obj) + var cache = new DataCache(obj) { - Create = FlatBufferConverter.DeserializeFrom, + Create = FlatBufferConverter.DeserializeFrom, Write = FlatBufferConverter.SerializeFrom, }; - using var form = new GenericEditor(cache, ROM.GetStrings(TextName.MoveNames), "Move Editor"); + using var form = new GenericEditor(cache, ROM.GetStrings(TextName.MoveNames), "Move Editor"); form.ShowDialog(); if (!form.Modified) { @@ -483,22 +590,22 @@ public void EditMoves() cache.Save(); Data.MoveData.ClearAll(); // force reload if used again } - + public void EditRental() { var obj = ROM[GameFile.Rentals]; var data = obj[0]; - var rentals = FlatBufferConverter.DeserializeFrom(data); - var cache = new DataCache(rentals.Table); + var rentals = FlatBufferConverter.DeserializeFrom(data); + var cache = new DataCache(rentals.Table); var names = rentals.Table.Select((z, i) => $"{i:000} {z.Hash1:X16}").ToArray(); - using var form = new GenericEditor(cache, names, "Rental Editor"); + using var form = new GenericEditor(cache, names, "Rental Editor"); form.ShowDialog(); if (!form.Modified) { cache.CancelEdits(); return; } - obj[0] = FlatBufferConverter.SerializeFrom(rentals); + obj[0] = rentals.SerializeFrom(); } public void EditItems() @@ -536,11 +643,11 @@ public void EditGift() { var arc = ROM.GetFile(GameFile.EncounterTableGift); var data = arc[0]; - var objs = FlatBufferConverter.DeserializeFrom(data); + var objs = FlatBufferConverter.DeserializeFrom(data); var gifts = objs.Table; - var names = Enumerable.Range(0, gifts.Length).Select(z => $"{z:000}").ToArray(); - var cache = new DirectCache(gifts); + var names = Enumerable.Range(0, gifts.Count).Select(z => $"{z:000}").ToArray(); + var cache = new DirectCache(gifts); void Randomize() { @@ -569,12 +676,12 @@ void Randomize() } t.Ability = Randomization.Util.Random.Next(1, 4); // 1, 2, or H - t.Ball = (Ball)Randomization.Util.Random.Next(1, EncounterGift8.BallToItem.Length); + t.Ball = (Ball)Randomization.Util.Random.Next(1, Structures.FlatBuffers.SWSH.EncounterGift.BallToItem.Length); t.HeldItem = PossibleHeldItems[Randomization.Util.Random.Next(PossibleHeldItems.Length)]; t.Nature = (int)Nature.Random25; t.Gender = (byte)FixedGender.Random; t.ShinyLock = (int)Shiny.Random; - if (t.IV_HP != -4 && t.IVs.Any(z => z != 31)) + if (t.IVHP != -4 && t.IVs.Any(z => z != 31)) t.IVs = new[] { -1, -1, -1, -1, -1, -1 }; } } @@ -591,7 +698,7 @@ void UpdateStarters() // a_d0901.bin for Poipole const string file = "a_0101.bin"; var table = placement.GetDataFileName(file); - var obj = FlatBufferConverter.DeserializeFrom(table); + var obj = FlatBufferConverter.DeserializeFrom(table); var critters = obj.Table[0].Critters; // Grookey @@ -611,7 +718,7 @@ void UpdateStarters() container[0] = placement.Write(); } - using var form = new GenericEditor(cache, names, "Gift Pokémon Editor", Randomize); + using var form = new GenericEditor(cache, names, "Gift Pokémon Editor", Randomize); form.ShowDialog(); if (!form.Modified) { @@ -620,7 +727,7 @@ void UpdateStarters() else { UpdateStarters(); // update placement critter data to match new randomized species - arc[0] = FlatBufferConverter.SerializeFrom(objs); + arc[0] = objs.SerializeFrom(); } } @@ -628,11 +735,11 @@ public void EditTrade() { var arc = ROM.GetFile(GameFile.EncounterTableTrade); var data = arc[0]; - var objs = FlatBufferConverter.DeserializeFrom(data); + var objs = FlatBufferConverter.DeserializeFrom(data); var trades = objs.Table; - var names = Enumerable.Range(0, trades.Length).Select(z => $"{z:000}").ToArray(); - var cache = new DirectCache(trades); + var names = Enumerable.Range(0, trades.Count).Select(z => $"{z:000}").ToArray(); + var cache = new DirectCache(trades); void Randomize() { @@ -652,13 +759,13 @@ void Randomize() t.Species = srand.GetRandomSpecies(t.Species); t.Form = (byte)frand.GetRandomForm(t.Species, false, spec.AllowRandomFusions, ROM.Info.Generation, Data.PersonalData.Table); t.AbilityNumber = (byte)Randomization.Util.Random.Next(1, 4); // 1, 2, or H - t.Ball = (Ball)Randomization.Util.Random.Next(1, EncounterTrade8.BallToItem.Length); + t.Ball = (Ball)Randomization.Util.Random.Next(1, Structures.FlatBuffers.SWSH.EncounterTrade.BallToItem.Length); t.HeldItem = PossibleHeldItems[Randomization.Util.Random.Next(PossibleHeldItems.Length)]; t.Nature = (int)Nature.Random25; t.Gender = (int)FixedGender.Random; t.ShinyLock = (int)Shiny.Random; t.Relearn1 = 0; - if (t.IV_HP != -4 && t.IVs.Any(z => z != 31)) + if (t.IVHP != -4 && t.IVs.Any(z => z != 31)) t.IVs = new[] { -1, -1, -1, -1, -1, -1 }; // what you trade @@ -668,23 +775,23 @@ void Randomize() } } - using var form = new GenericEditor(cache, names, "In-Game Trades Editor", Randomize); + using var form = new GenericEditor(cache, names, "In-Game Trades Editor", Randomize); form.ShowDialog(); if (!form.Modified) arc.CancelEdits(); else - arc[0] = FlatBufferConverter.SerializeFrom(objs); + arc[0] = objs.SerializeFrom(); } public void EditDynamaxAdv() { var arc = ROM.GetFile(GameFile.DynamaxDens); var data = arc[0]; - var objs = FlatBufferConverter.DeserializeFrom(data); + var objs = FlatBufferConverter.DeserializeFrom(data); var table = objs.Table; - var names = Enumerable.Range(0, table.Length).Select(z => $"{z:000}").ToArray(); - var cache = new DirectCache(table); + var names = Enumerable.Range(0, table.Count).Select(z => $"{z:000}").ToArray(); + var cache = new DirectCache(table); void Randomize() { @@ -707,12 +814,12 @@ void Randomize() } } - using var form = new GenericEditor(cache, names, "Dynamax Adventures Encounter Editor", Randomize); + using var form = new GenericEditor(cache, names, "Dynamax Adventures Encounter Editor", Randomize); form.ShowDialog(); if (!form.Modified) arc.CancelEdits(); else - arc[0] = FlatBufferConverter.SerializeFrom(objs); + arc[0] = objs.SerializeFrom(); } public void EditSymbolBehave() @@ -727,7 +834,7 @@ public void EditSymbolBehave() form.ShowDialog(); if (!form.Modified) return; - obj[0] = FlatBufferConverter.SerializeFrom(root); + obj[0] = root.SerializeFrom(); void Randomize() { @@ -751,7 +858,7 @@ public void EditPlacement() var placement = new GFPack(arc[0]); var area_names = new AHTB(placement.GetDataFileName("AreaNameHashTable.tbl")).ToDictionary(); - List areas = new(); + List areas = new(); List names = new(); foreach (var area in area_names) { @@ -761,7 +868,7 @@ public void EditPlacement() continue; var bin = placement.GetDataFileName(fileName); - var data = FlatBufferConverter.DeserializeFrom(bin); + var data = FlatBufferConverter.DeserializeFrom(bin); names.Add(fileName); areas.Add(data); @@ -769,8 +876,8 @@ public void EditPlacement() var arr = areas.ToArray(); var nameArr = names.ToArray(); - var cache = new DataCache(arr); - var form = new GenericEditor(cache, nameArr, "Placement", canSave: true); + var cache = new DataCache(arr); + var form = new GenericEditor(cache, nameArr, "Placement", canSave: true); form.ShowDialog(); if (!form.Modified) return; @@ -779,7 +886,7 @@ public void EditPlacement() for (int i = 0; i < arr.Length; i++) { var obj = arr[i]; - var bin = FlatBufferConverter.SerializeFrom(obj); + var bin = obj.SerializeFrom(); placement.SetDataFileName(nameArr[i], bin); } arc[0] = placement.Write(); diff --git a/pkNX.WinForms/Program.cs b/pkNX.WinForms/Program.cs index f8c14ebf..bd23f4a5 100644 --- a/pkNX.WinForms/Program.cs +++ b/pkNX.WinForms/Program.cs @@ -1,7 +1,6 @@ using System; using System.Globalization; using System.Threading; -using System.Threading.Tasks; using System.Windows.Forms; namespace pkNX.WinForms; @@ -14,10 +13,6 @@ internal static class Program [STAThread] private static void Main() { - // Make FlatSharp build the serializers for our FlatBuffer objects now and take the startup penalty async - // Opening a FlatBuffer editor later won't be hit with a >5s delay assuming the user opens the editor no earlier than 10 seconds after program startup. - _ = Task.Run(() => _ = Structures.FlatBuffers.FlatBufferConverter.SerializeFrom(new Structures.FlatBuffers.Waza8())); - // Fix number values displaying incorrectly for certain cultures. Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.InvariantCulture; diff --git a/pkNX.WinForms/Ripper/FileRipper.cs b/pkNX.WinForms/Ripper/FileRipper.cs index b265d069..d619030b 100644 --- a/pkNX.WinForms/Ripper/FileRipper.cs +++ b/pkNX.WinForms/Ripper/FileRipper.cs @@ -19,12 +19,11 @@ public static class FileRipper { public static ContainerHandler DefaultHandler { private get; set; } = new(); - public static readonly List> Loaders = - new() - { - GFPackDump, - NSODump, - }; + public static readonly List> Loaders = new() + { + GFPackDump, + NSODump, + }; private static FileRipperResult NSODump(BinaryReader br, uint header, string path, ContainerHandler handler) { diff --git a/pkNX.WinForms/Subforms/AreaEditor8a.cs b/pkNX.WinForms/Subforms/AreaEditor8a.cs index 4d2350d4..5ed89f90 100644 --- a/pkNX.WinForms/Subforms/AreaEditor8a.cs +++ b/pkNX.WinForms/Subforms/AreaEditor8a.cs @@ -8,6 +8,7 @@ using pkNX.Randomization; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; using static pkNX.Structures.Species; using Util = pkNX.Randomization.Util; @@ -17,11 +18,11 @@ public partial class AreaEditor8a : Form { private readonly GameManagerPLA ROM; private readonly GFPack Resident; - private readonly AreaSettingsTable8a Settings; + private readonly AreaSettingsTable Settings; private readonly string[] AreaNames; - private ResidentArea8a Area; + private ResidentArea Area; private int AreaIndex; private readonly bool Loading; @@ -31,7 +32,7 @@ public AreaEditor8a(GameManagerPLA rom) Resident = (GFPack)ROM.GetFile(GameFile.Resident); var bin_settings = Resident.GetDataFullPath("bin/field/resident/AreaSettings.bin"); - Settings = FlatBufferConverter.DeserializeFrom(bin_settings); + Settings = FlatBufferConverter.DeserializeFrom(bin_settings); AreaNames = Settings.Table.Select(z => z.Name).ToArray(); @@ -49,10 +50,10 @@ public AreaEditor8a(GameManagerPLA rom) Loading = false; } - private (int index, ResidentArea8a area) LoadAreaByName(string name) + private (int index, ResidentArea area) LoadAreaByName(string name) { var index = Array.IndexOf(AreaNames, name); - var area = new ResidentArea8a(Resident, Settings.Find(name)); + var area = new ResidentArea(Resident, Settings.Find(name)); area.LoadInfo(); return (index, area); } @@ -74,7 +75,7 @@ private void B_Randomize_Click(object sender, EventArgs e) System.Media.SystemSounds.Asterisk.Play(); } - private void RandomizeArea(ResidentArea8a area, SpeciesSettings settings) + private void RandomizeArea(ResidentArea area, SpeciesSettings settings) { var pt = ROM.Data.PersonalData; var rand = new SpeciesRandomizer(ROM.Info, pt); @@ -103,11 +104,11 @@ private void RandomizeArea(ResidentArea8a area, SpeciesSettings settings) .ToDictionary(z => z.Key, z => z.ToList()); var encounters = area.Encounters; - foreach (var table in encounters) + foreach (var table in encounters.Table) { foreach (var enc in table.Table) { - if (enc.ShinyLock is not ShinyType8a.Random) + if (enc.ShinyLock is not ShinyType.Random) continue; // to progress the story in Cobalt Coastlands, you are required to show Iscan a Dusclops; ensure one can be captured @@ -140,10 +141,10 @@ private void LoadArea() { Debug.WriteLine($"Loading Area {AreaIndex}"); PG_AreaSettings.SelectedObject = Area.Settings; - Edit_Encounters.LoadTable(Area.Encounters, Area.Settings.Encounters); - Edit_RegularSpawners.LoadTable(Area.Spawners, Area.Settings.Spawners); - Edit_WormholeSpawners.LoadTable(Area.Wormholes, Area.Settings.WormholeSpawners); - Edit_LandmarkSpawns.LoadTable(Area.LandItems, Area.Settings.LandmarkItemSpawns); + Edit_Encounters.LoadTable(Area.Encounters.Table, Area.Settings.Encounters); + Edit_RegularSpawners.LoadTable(Area.Spawners.Table, Area.Settings.Spawners); + Edit_WormholeSpawners.LoadTable(Area.Wormholes.Table, Area.Settings.WormholeSpawners); + Edit_LandmarkSpawns.LoadTable(Area.LandItems.Table, Area.Settings.LandmarkItemSpawns); } private void SaveArea() diff --git a/pkNX.WinForms/Subforms/GGWE.cs b/pkNX.WinForms/Subforms/GGWE.cs index fedec781..eba11c24 100644 --- a/pkNX.WinForms/Subforms/GGWE.cs +++ b/pkNX.WinForms/Subforms/GGWE.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; @@ -6,22 +6,22 @@ using pkNX.Game; using pkNX.Randomization; using pkNX.Structures; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.LGPE; namespace pkNX.WinForms; public sealed partial class GGWE : Form { - private readonly EncounterArchive7b Tables; + private readonly EncounterArchive Tables; private readonly GameManagerGG ROM; private int entry = -1; - public GGWE(GameManagerGG rom, EncounterArchive7b obj) + public GGWE(GameManagerGG rom, EncounterArchive obj) { InitializeComponent(); - if (obj.EncounterTables.Length == 0 || obj.EncounterTables[0].GroundTable.Length == 0) + if (obj.Table.Count == 0 || obj.Table[0].GroundTable.Count == 0) { - WinFormsUtil.Error("Bad data provided.", $"Unable to parse to {nameof(EncounterArchive7b)} data."); + WinFormsUtil.Error("Bad data provided.", $"Unable to parse to {nameof(EncounterArchive)} data."); Close(); } @@ -62,7 +62,7 @@ public GGWE(GameManagerGG rom, EncounterArchive7b obj) public void LoadFile(string[] locationNames) { - var locs = Tables.EncounterTables.Select(z => z.ZoneID); + var locs = Tables.Table.Select(z => z.ZoneID); var names = GetNames(locs, locationNames); var dupeNamed = GetScreenedNames(names); @@ -182,15 +182,15 @@ private void CB_Location_SelectedIndexChanged(object sender, EventArgs e) { SaveEntry(entry); entry = CB_Location.SelectedIndex; - var id = Tables.EncounterTables[entry].ZoneID; + var id = Tables.Table[entry].ZoneID; var iname = LocIDTable.First(z => FnvHash.HashFnv1a_64(z.Key) == id).Key; - L_Hash.Text = Tables.EncounterTables[entry].ZoneID.ToString("X16") + " " + iname; + L_Hash.Text = Tables.Table[entry].ZoneID.ToString("X16") + " " + iname; LoadEntry(entry); } private void LoadEntry(int i) { - var arr = Tables.EncounterTables[i]; + var arr = Tables.Table[i]; NUD_RankMin.Value = arr.TrainerRankMin; NUD_RankMax.Value = arr.TrainerRankMax; @@ -237,7 +237,7 @@ private void SaveEntry(int i) { if (i < 0) return; - var arr = Tables.EncounterTables[i]; + var arr = Tables.Table[i]; arr.TrainerRankMin = (int)NUD_RankMin.Value; arr.TrainerRankMax = (int)NUD_RankMax.Value; @@ -298,7 +298,7 @@ private void B_Save_Click(object sender, EventArgs e) private void B_ModCount_Click(object sender, EventArgs e) { SaveEntry(entry); - foreach (var area in Tables.EncounterTables) + foreach (var area in Tables.Table) { if (area.GroundSpawnCountMax != 0) area.GroundSpawnCountMax = (int)NUD_ModCount.Value; @@ -314,7 +314,7 @@ private void B_ModCount_Click(object sender, EventArgs e) private void B_ModRate_Click(object sender, EventArgs e) { SaveEntry(entry); - foreach (var area in Tables.EncounterTables) + foreach (var area in Tables.Table) { if (area.GroundTableEncounterRate != 0) area.GroundTableEncounterRate = (int)NUD_ModCount.Value; @@ -330,7 +330,7 @@ private void B_ModRate_Click(object sender, EventArgs e) private void B_ModDuration_Click(object sender, EventArgs e) { SaveEntry(entry); - foreach (var area in Tables.EncounterTables) + foreach (var area in Tables.Table) { if (area.GroundSpawnDuration != 0) area.GroundSpawnDuration = (int)NUD_ModDuration.Value; @@ -360,7 +360,7 @@ private void RandomizeWild(SpeciesRandomizer rand, bool fill, bool boost) var pt = ROM.Data.PersonalData; bool IsGrassOrWater(int s) => pt[s].IsType(Types.Water) || pt[s].IsType(Types.Grass); - foreach (var area in Tables.EncounterTables) + foreach (var area in Tables.Table) { if (boost) { @@ -382,7 +382,7 @@ private void RandomizeWild(SpeciesRandomizer rand, bool fill, bool boost) ApplyRand(area.SuperRodTable); } - void ApplyRand(IList slots) + void ApplyRand(IList slots) { if (slots[0].Species == 0) return; @@ -406,7 +406,7 @@ void ApplyRand(IList slots) if (CHK_ForceType.Checked) { - var table = Tables.EncounterTables[0]; + var table = Tables.Table[0]; var slots = table.GroundTable; while (!slots.Any(z => IsGrassOrWater(z.Species))) ApplyRand(slots); @@ -429,14 +429,14 @@ private void B_Dump_Click(object sender, EventArgs e) System.Media.SystemSounds.Asterisk.Play(); } - private static IEnumerable GetEncounterTableSummary(GameManager rom, EncounterArchive7b table) + private static IEnumerable GetEncounterTableSummary(GameManager rom, EncounterArchive table) { var locationNames = rom.GetStrings(TextName.metlist_00000); var specs = rom.GetStrings(TextName.SpeciesNames); - var locs = table.EncounterTables.Select(z => z.ZoneID); + var locs = table.Table.Select(z => z.ZoneID); var names = GetNames(locs, locationNames); var dupeNamed = GetScreenedNames(names).ToArray(); - return EncounterTable7bUtil.GetLines(table, dupeNamed, specs); + return EncounterTableUtil.GetLines(table, dupeNamed, specs); } } diff --git a/pkNX.WinForms/Subforms/MapViewer8a.cs b/pkNX.WinForms/Subforms/MapViewer8a.cs index d894dc68..111c794e 100644 --- a/pkNX.WinForms/Subforms/MapViewer8a.cs +++ b/pkNX.WinForms/Subforms/MapViewer8a.cs @@ -3,10 +3,14 @@ using System.Drawing; using System.Linq; using System.Windows.Forms; +using FlatSharp; using pkNX.Containers; using pkNX.Game; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.Arceus; +using EncounterSlot = pkNX.Structures.FlatBuffers.Arceus.EncounterSlot; +using Species = pkNX.Structures.Species; namespace pkNX.WinForms.Subforms; @@ -14,9 +18,9 @@ public partial class MapViewer8a : Form { private readonly GameManagerPLA ROM; private readonly GFPack Resident; - private readonly AreaSettingsTable8a Settings; + private readonly AreaSettingsTable Settings; - public readonly AreaInstance8a[] Areas; + public readonly AreaInstance[] Areas; private readonly bool Loading = true; public MapViewer8a(GameManagerPLA rom, GFPack resident) @@ -24,11 +28,11 @@ public MapViewer8a(GameManagerPLA rom, GFPack resident) ROM = rom; Resident = resident; var bin_settings = resident.GetDataFullPath("bin/field/resident/AreaSettings.bin"); - Settings = FlatBufferConverter.DeserializeFrom(bin_settings); + Settings = FlatBufferConverter.DeserializeFrom(bin_settings); InitializeComponent(); - Areas = ResidentAreaSet.AreaNames.Select(z => AreaInstance8a.Create(Resident, z, Settings)).ToArray(); + Areas = ResidentAreaSet.AreaNames.Select(z => AreaInstance.Create(Resident, z, Settings)).ToArray(); CB_Map.Items.AddRange(Areas.Select(z => z.ParentArea?.FriendlyAreaName ?? z.FriendlyAreaName).ToArray()); var speciesNames = ROM.GetStrings(TextName.SpeciesNames); @@ -82,7 +86,7 @@ private void CB_Species_SelectedIndexChanged(object sender, EventArgs e) private List Defs = new(); - private static string GetMapImagePath(AreaInstance8a area) + private static string GetMapImagePath(AreaInstance area) { string mapName = MapName(area.AreaName); return $"map_pla\\{mapName}.png"; @@ -159,14 +163,14 @@ private void UpdateMap(int map, int species) } } - private static List GetSpawnerInfo(int species, AreaInstance8a area) + private static List GetSpawnerInfo(int species, AreaInstance area) { var result = new List(); foreach (var s in area.Spawners.Concat(area.SubAreas.SelectMany(z => z.Spawners))) { - var table = s.Field_20_Value.EncounterTableID; - var slots = Array.Find(area.Encounters, z => z.TableID == table); + var table = s.Field20Value.EncounterTableID; + var slots = area.Encounters.BinarySearchByFlatBufferKey(table); if (slots == null) continue; @@ -178,8 +182,8 @@ private static List GetSpawnerInfo(int species, AreaInstance8a area) foreach (var s in area.Wormholes.Concat(area.SubAreas.SelectMany(z => z.Wormholes))) { - var table = s.Field_20_Value.EncounterTableID; - var slots = Array.Find(area.Encounters, z => z.TableID == table); + var table = s.Field20Value.EncounterTableID; + var slots = area.Encounters.BinarySearchByFlatBufferKey(table); if (slots == null) continue; @@ -197,7 +201,7 @@ private static List GetSpawnerInfo(int species, AreaInstance8a area) if (l.LandmarkItemSpawnTableID != table) continue; var st = l.EncounterTableID; - var slots = Array.Find(area.Encounters, z => z.TableID == st); + var slots = area.Encounters.BinarySearchByFlatBufferKey(st); if (slots == null) continue; @@ -220,7 +224,24 @@ private static List GetSpawnerInfo(int species, AreaInstance8a area) return result; } - private static readonly EncounterSlot8a[] Unown = { new() { Species = 201 } }; + private static readonly EncounterSlot[] Unown = { new() + { + Species = 201, + Behavior1 = string.Empty, + Behavior2 = string.Empty, + Unused = string.Empty, + Eligibility = new EncounterEligiblityTraits + { + ConditionArg1 = string.Empty, + ConditionArg2 = string.Empty, + ConditionArg3 = string.Empty, + ConditionArg4 = string.Empty, + ConditionArg5 = string.Empty, + }, + Oybn = new(), + + } + }; private void MapViewer8a_MouseMove(object sender, MouseEventArgs e) { @@ -254,12 +275,12 @@ public class AreaDef public readonly string NameSummary; public readonly int Min; public readonly int Max; - public readonly Vec3f Position; + public readonly pkNX.Structures.FlatBuffers.Arceus.Vec3f Position; public readonly SpawnerType Type; - public readonly EncounterSlot8a[] Slots; + public readonly IList Slots; public readonly float Radius; - public AreaDef(string NameSummary, int min, int max, Vec3f position, SpawnerType type, EncounterSlot8a[] slots, float radius) + public AreaDef(string NameSummary, int min, int max, pkNX.Structures.FlatBuffers.Arceus.Vec3f position, SpawnerType type, IList slots, float radius) { this.NameSummary = NameSummary; Min = min; diff --git a/pkNX.WinForms/Subforms/MapViewer9.cs b/pkNX.WinForms/Subforms/MapViewer9.cs index d198e42e..c514740c 100644 --- a/pkNX.WinForms/Subforms/MapViewer9.cs +++ b/pkNX.WinForms/Subforms/MapViewer9.cs @@ -6,6 +6,8 @@ using pkNX.Game; using pkNX.Structures; using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SV; +using pkNX.Structures.FlatBuffers.SV.Trinity; namespace pkNX.WinForms.Subforms; @@ -18,11 +20,11 @@ public partial class MapViewer9 : Form private readonly Dictionary AreaCollisionTrees; private readonly Dictionary AreaCollisionBoxes; - private readonly FieldMainArea[] MainAreas; - private readonly FieldSubArea[] SubAreas; - private readonly FieldInsideArea[] InsideAreas; - private readonly FieldDungeonArea[] DungeonAreas; - private readonly FieldLocation[] FieldLocations; + private readonly IList MainAreas; + private readonly IList SubAreas; + private readonly IList InsideAreas; + private readonly IList DungeonAreas; + private readonly IList FieldLocations; public MapViewer9(GameManagerSV rom) { @@ -34,7 +36,7 @@ public MapViewer9(GameManagerSV rom) DungeonAreas = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile("world/data/field/area/field_dungeon_area/field_dungeon_area_array.bin")).Table; FieldLocations = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile("world/data/field/area/field_location/field_location_array.bin")).Table; - var area_management = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile(0x0573CA323061A2D3)); + var area_management = FlatBufferConverter.DeserializeFrom(ROM.GetPackedFile(0x0573CA323061A2D3)); AreaNames = new(); Areas = new(); @@ -45,24 +47,25 @@ public MapViewer9(GameManagerSV rom) foreach (var obj in area_management.Objects) { - if (obj.Type == "trinity_SceneObject" && obj.SubObjects.Length > 0 && obj.SubObjects[0].Type == "trinity_CollisionComponent") + if (obj.Type == "trinity_SceneObject" && obj.SubObjects.Count > 0 && obj.SubObjects[0].Type == "trinity_CollisionComponent") { - var sceneObject = FlatBufferConverter.DeserializeFrom(obj.Data); - var collisionComponent = FlatBufferConverter.DeserializeFrom(obj.SubObjects[0].Data).Component.Item1; + var sceneObject = FlatBufferConverter.DeserializeFrom(obj.Data); + var collisionComponent = FlatBufferConverter.DeserializeFrom(obj.SubObjects[0].Data); AreaNames.Add(sceneObject.ObjectName); var areaInfo = FindAreaInfo(sceneObject.ObjectName); - if (collisionComponent.CollisionShape.TryGet(out TrinityCollisionShapeBoxSV? box)) + var shape = collisionComponent.Shape; + if (shape.TryGet(out Box? box)) { // Box collision, obj.ObjectPosition.Field_02 is pos, box.Field_01 is size of box AreaCollisionBoxes[sceneObject.ObjectName] = new BoxCollision9 { - Position = sceneObject.ObjectPosition.Field_02, - Size = box.Field_01, + Position = sceneObject.ObjectPosition.Field02, + Size = box.Field01, }; } - else if (collisionComponent.CollisionShape.TryGet(out TrinityCollisionShapeHavokSV? havok)) + if (shape.TryGet(out Havok? havok)) { var havokData = ROM.GetPackedFile(havok.TrcolFilePath); AreaCollisionTrees[sceneObject.ObjectName] = HavokCollision.ParseAABBTree(havokData); @@ -88,27 +91,27 @@ private AreaInfo FindAreaInfo(string name) foreach (var area in MainAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in SubAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in InsideAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in DungeonAreas) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } foreach (var area in FieldLocations) { if (area.Name == name) - return area.AreaInfo; + return area.Info; } throw new ArgumentException($"Unknown area {name}"); } @@ -198,7 +201,7 @@ private void pictureBox1_MouseMove(object sender, MouseEventArgs e) public class AreaDef9 { - public required TrinitySceneObjectSV SceneObject; - public required TrinityCollisionComponent1SV CollisionComponent; + public required TrinitySceneObject SceneObject; + public required CollisionComponent CollisionComponent; public required AreaInfo Info; } diff --git a/pkNX.WinForms/Subforms/PokeDataUI8a.cs b/pkNX.WinForms/Subforms/PokeDataUI8a.cs index 513f2d9e..69ba5d76 100644 --- a/pkNX.WinForms/Subforms/PokeDataUI8a.cs +++ b/pkNX.WinForms/Subforms/PokeDataUI8a.cs @@ -6,9 +6,13 @@ using System.Linq; using System.Windows.Forms; using pkNX.Game; -using pkNX.Structures; -using pkNX.Structures.FlatBuffers; using PKHeX.Drawing.PokeSprite; +using pkNX.Structures; +using pkNX.Structures.FlatBuffers.Arceus; +using EvolutionMethod = pkNX.Structures.EvolutionMethod; +using EvolutionSet = pkNX.Structures.FlatBuffers.Arceus.EvolutionSet; +using EvolutionType = pkNX.Structures.EvolutionType; +using Legal = pkNX.Structures.Legal; using Util = pkNX.Randomization.Util; namespace pkNX.WinForms; @@ -40,8 +44,8 @@ public partial class PokeDataUI8a : Form private readonly int[] baseForms, formVal; public IPersonalInfoPLA cPersonal; - public Learnset8aMeta cLearnset; - public EvolutionSet8a cEvos; + public LearnsetMeta cLearnset; + public EvolutionSet cEvos; public PokeDataUI8a(PokeEditor8a editor, GameManager rom, GameData8a data) { @@ -310,7 +314,7 @@ private void LoadPersonal(IPersonalInfoPLA pkm) CB_Type2.SelectionLength = 0; } - private void LoadMisc(PokeMisc8a pokeMisc8a) + private void LoadMisc(PokeMisc pokeMisc8a) { PG_PokeMisc.SelectedObject = pokeMisc8a; TB_MiscSpecies.Text = pokeMisc8a.Species.ToString(TB_MiscSpecies.Mask); @@ -319,8 +323,8 @@ private void LoadMisc(PokeMisc8a pokeMisc8a) TB_MiscScale.Text = pokeMisc8a.ScaleFactor.ToString("#0.0"); TB_MiscAlphaScale.Text = pokeMisc8a.AlphaScaleFactor.ToString("#0.0"); - pokeMisc8a.DropTable = Array.Find(Editor.FieldDropTables.Table, drops => drops.Hash == pokeMisc8a.DropTableRef); - pokeMisc8a.AlphaDropTable = Array.Find(Editor.FieldDropTables.Table, drops => drops.Hash == pokeMisc8a.AlphaDropTableRef); + pokeMisc8a.DropTable = Editor.FieldDropTables.Table.FirstOrDefault(drops => drops.Hash == pokeMisc8a.DropTableRef); + pokeMisc8a.AlphaDropTable = Editor.FieldDropTables.Table.FirstOrDefault(drops => drops.Hash == pokeMisc8a.AlphaDropTableRef); } private void LoadDexResearch(PokedexResearchTask[] pokedexResearchTask) @@ -469,22 +473,22 @@ private bool SavePersonal() return true; } - private void LoadLearnset(Learnset8aMeta pkm) + private void LoadLearnset(LearnsetMeta pkm) { dgv.SuspendLayout(); cLearnset = pkm; dgv.Rows.Clear(); - if (pkm.Arceus.Length == 0) + if (pkm.Arceus.Count == 0) { dgv.CancelEdit(); return; } - dgv.Rows.Add(pkm.Arceus.Length); + dgv.Rows.Add(pkm.Arceus.Count); // Fill Entries - for (int i = 0; i < pkm.Arceus.Length; i++) + for (int i = 0; i < pkm.Arceus.Count; i++) { - Learnset8aEntry entry = pkm.Arceus[i]; + LearnsetEntry entry = pkm.Arceus[i]; dgv.Rows[i].Cells[0].Value = entry.Level; dgv.Rows[i].Cells[1].Value = entry.LevelMaster; dgv.Rows[i].Cells[2].Value = movelist[entry.Move]; @@ -499,7 +503,7 @@ private bool SaveLearnset() var pkm = cLearnset; int rowCount = dgv.Rows.Count - 1; - var entries = new List(); + var entries = new List(); for (int i = 0; i < rowCount; i++) { var cells = dgv.Rows[i].Cells; @@ -511,7 +515,7 @@ private bool SaveLearnset() _ = ushort.TryParse(cells[0].Value?.ToString(), out var lvl); _ = ushort.TryParse(cells[1].Value?.ToString(), out var lvlMastry); - entries.Add(new Learnset8aEntry + entries.Add(new LearnsetEntry { Move = (ushort)move, Level = Math.Clamp(lvl, (ushort)0, (ushort)100), @@ -524,11 +528,11 @@ private bool SaveLearnset() return true; } - private void LoadEvolutions(EvolutionSet8a s) + private void LoadEvolutions(EvolutionSet s) { cEvos = s; - var numPossibleEvos = cEvos.Table.Length; + var numPossibleEvos = cEvos.Table.Count; flowLayoutPanel1.SuspendLayout(); flowLayoutPanel1.Controls.Clear(); @@ -549,7 +553,7 @@ private void LoadEvolutions(EvolutionSet8a s) private bool SaveEvolutions() { var s = cEvos; - Debug.Assert(s.Table != null && EvoRows.Length == s.Table.Length); + Debug.Assert(EvoRows.Length == s.Table.Count); foreach (var row in EvoRows) row.SaveEvolution(); @@ -596,8 +600,8 @@ private void AutoFillEvolutions() var la = Data.EvolutionData; for (int i = 0; i < la.Length; i++) { - EvolutionSet8a evoSet = la[i]; - if (evoSet.Table != null && evoSet.Table.Length != 0) + var evoSet = la[i]; + if (evoSet.Table != null && evoSet.Table.Count != 0) continue; var species = evoSet.Species; @@ -616,13 +620,13 @@ private void AutoFillEvolutions() } var swshEvos = swsh[index]; - var entries = new List(); + var entries = new List(); foreach (var evo in swshEvos) { if (evo.Method == EvolutionType.None) continue; - entries.Add(new EvolutionEntry8a + entries.Add(new EvolutionEntry { Species = evo.Species, Form = evo.Form, diff --git a/pkNX.WinForms/Subforms/SSWE.cs b/pkNX.WinForms/Subforms/SSWE.cs index 902d359c..cf1f3b03 100644 --- a/pkNX.WinForms/Subforms/SSWE.cs +++ b/pkNX.WinForms/Subforms/SSWE.cs @@ -7,20 +7,20 @@ using pkNX.Game; using pkNX.Randomization; using pkNX.Structures; -using pkNX.Structures.FlatBuffers; +using pkNX.Structures.FlatBuffers.SWSH; namespace pkNX.WinForms; public sealed partial class SSWE : Form { - private readonly EncounterArchive8 Symbols; - private readonly EncounterArchive8 Hidden; + private readonly EncounterArchive Symbols; + private readonly EncounterArchive Hidden; private readonly GameManagerSWSH ROM; private ulong entry; private readonly EncounterList8[] SL; - public SSWE(GameManagerSWSH rom, EncounterArchive8 sym, EncounterArchive8 hid) + public SSWE(GameManagerSWSH rom, EncounterArchive sym, EncounterArchive hid) { InitializeComponent(); Symbols = sym; @@ -87,16 +87,16 @@ private void LoadEntry(ulong zone) { Load(SL, Symbols, "Symbols"); Load(SL, Hidden, "Hidden"); - void Load(EncounterList8[] arr, EncounterArchive8 arc, string name) + void Load(EncounterList8[] arr, EncounterArchive arc, string name) { - var table = Array.Find(arc.EncounterTables, z => z.ZoneID == zone); + var table = arc.EncounterTables.FirstOrDefault(z => z.ZoneID == zone); if (table == null) return; L_Type.Text = name; var subs = table.SubTables; - for (int i = 0; i < subs.Length; i++) + for (int i = 0; i < subs.Count; i++) { var t = subs[i]; arr[i].NUD_Max.Value = t.LevelMax; @@ -106,7 +106,7 @@ void Load(EncounterList8[] arr, EncounterArchive8 arc, string name) } // some tables don't have tree/fish - for (int i = subs.Length; i < arr.Length; i++) + for (int i = subs.Count; i < arr.Length; i++) arr[i].Visible = false; } } @@ -118,14 +118,14 @@ private void SaveEntry(ulong zone) Save(SL, Symbols); Save(SL, Hidden); - void Save(EncounterList8[] arr, EncounterArchive8 arc) + void Save(EncounterList8[] arr, EncounterArchive arc) { - var table = Array.Find(arc.EncounterTables, z => z.ZoneID == zone); + var table = arc.EncounterTables.FirstOrDefault(z => z.ZoneID == zone); if (table == null) return; var subs = table.SubTables; - for (int i = 0; i < subs.Length; i++) + for (int i = 0; i < subs.Count; i++) { var t = subs[i]; t.LevelMax = (byte)arr[i].NUD_Max.Value; @@ -177,7 +177,7 @@ private void RandomizeWild(SpeciesRandomizer rand, bool fill, bool boost) } } - void ApplyRand(IList slots) + void ApplyRand(IList slots) { if (slots[0].Species == 0) return; diff --git a/pkNX.WinForms/pkNX.WinForms.csproj b/pkNX.WinForms/pkNX.WinForms.csproj index 3cbb91c5..7db491af 100644 --- a/pkNX.WinForms/pkNX.WinForms.csproj +++ b/pkNX.WinForms/pkNX.WinForms.csproj @@ -18,12 +18,16 @@ + + + + - + diff --git a/pkNX.sln b/pkNX.sln index 47fae8dc..bfaca66e 100644 --- a/pkNX.sln +++ b/pkNX.sln @@ -31,6 +31,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .editorconfig = .editorconfig EndProjectSection EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "pkNX.Structures.FlatBuffers.Reflection", "pkNX.Structures.FlatBuffers.Reflection\pkNX.Structures.FlatBuffers.Reflection.csproj", "{ECC93A01-CD80-4AF2-AB9F-FE46277571FF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pkNX.Structures.FlatBuffers.SWSH", "pkNX.Structures.FlatBuffers.SWSH\pkNX.Structures.FlatBuffers.SWSH.csproj", "{F8916261-B21C-4CFC-B6D8-4179E1CBB730}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pkNX.Structures.FlatBuffers.Arceus", "pkNX.Structures.FlatBuffers.Arceus\pkNX.Structures.FlatBuffers.Arceus.csproj", "{0ECF2003-0E48-4C6D-B11E-EA6199FFA8D4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pkNX.Structures.FlatBuffers.SV", "pkNX.Structures.FlatBuffers.SV\pkNX.Structures.FlatBuffers.SV.csproj", "{14B086B0-7112-48F0-98D2-10A5EEEAA755}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "pkNX.Structures.FlatBuffers.LGPE", "pkNX.Structures.FlatBuffers.LGPE\pkNX.Structures.FlatBuffers.LGPE.csproj", "{F9EAEF82-BBB2-4520-B59E-3EB74A4C7487}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -65,6 +75,26 @@ Global {83E23C09-6DB8-459C-B68B-08FE4EAAC86C}.Debug|Any CPU.Build.0 = Debug|Any CPU {83E23C09-6DB8-459C-B68B-08FE4EAAC86C}.Release|Any CPU.ActiveCfg = Release|Any CPU {83E23C09-6DB8-459C-B68B-08FE4EAAC86C}.Release|Any CPU.Build.0 = Release|Any CPU + {ECC93A01-CD80-4AF2-AB9F-FE46277571FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ECC93A01-CD80-4AF2-AB9F-FE46277571FF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ECC93A01-CD80-4AF2-AB9F-FE46277571FF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ECC93A01-CD80-4AF2-AB9F-FE46277571FF}.Release|Any CPU.Build.0 = Release|Any CPU + {F8916261-B21C-4CFC-B6D8-4179E1CBB730}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F8916261-B21C-4CFC-B6D8-4179E1CBB730}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F8916261-B21C-4CFC-B6D8-4179E1CBB730}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F8916261-B21C-4CFC-B6D8-4179E1CBB730}.Release|Any CPU.Build.0 = Release|Any CPU + {0ECF2003-0E48-4C6D-B11E-EA6199FFA8D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0ECF2003-0E48-4C6D-B11E-EA6199FFA8D4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0ECF2003-0E48-4C6D-B11E-EA6199FFA8D4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0ECF2003-0E48-4C6D-B11E-EA6199FFA8D4}.Release|Any CPU.Build.0 = Release|Any CPU + {14B086B0-7112-48F0-98D2-10A5EEEAA755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14B086B0-7112-48F0-98D2-10A5EEEAA755}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14B086B0-7112-48F0-98D2-10A5EEEAA755}.Release|Any CPU.ActiveCfg = Release|Any CPU + {14B086B0-7112-48F0-98D2-10A5EEEAA755}.Release|Any CPU.Build.0 = Release|Any CPU + {F9EAEF82-BBB2-4520-B59E-3EB74A4C7487}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F9EAEF82-BBB2-4520-B59E-3EB74A4C7487}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F9EAEF82-BBB2-4520-B59E-3EB74A4C7487}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F9EAEF82-BBB2-4520-B59E-3EB74A4C7487}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE