From 92cd212dea05cb07a8dff3855f0160556b45908b Mon Sep 17 00:00:00 2001 From: Rachel Date: Wed, 15 Jan 2025 21:59:48 -0800 Subject: [PATCH] Integrate metang as a subproject + migrate species data constants --- .clang-format | 2 +- .gitignore | 1 + asm/macros/btlcmd.inc | 6 +- asm/macros/scrcmd.inc | 6 +- asm/trainer_ai/trainer_ai_script.s | 5 +- consts/abilities.json | 133 ---- consts/items.json | 632 ------------------ consts/meson.build | 3 - consts/moves.json | 474 ------------- consts/pokemon.json | 87 --- consts/species.json | 506 -------------- gen_compile_commands.py | 4 + generated/abilities.txt | 124 ++++ generated/egg_groups.txt | 16 + generated/exp_rates.txt | 6 + generated/gender_ratios.txt | 8 + generated/item_hold_effects.txt | 147 ++++ generated/items.txt | 469 +++++++++++++ generated/meson.build | 43 ++ generated/moves.txt | 469 +++++++++++++ generated/pokemon_colors.txt | 12 + generated/pokemon_types.txt | 19 + generated/species.txt | 496 ++++++++++++++ include/constants/items.h | 5 +- include/constants/moves.h | 1 + include/constants/pokemon.h | 3 +- include/constants/species.h | 2 +- include/string_template.h | 2 +- meson.build | 4 +- res/items/meson.build | 5 +- res/items/pl_item_data_format.txt | 4 +- .../pokemon_summary_screen/main.c | 2 +- .../pokemon_summary_screen/sprite.c | 2 +- .../pokemon_summary_screen/window.c | 2 +- src/bag.c | 2 +- src/battle/battle_controller.c | 2 +- src/battle/battle_lib.c | 2 +- src/battle/battle_script.c | 2 +- src/battle/ov16_0223DF00.c | 2 +- src/battle/trainer_ai/trainer_ai.c | 2 +- src/field_battle_data_transfer.c | 4 +- src/overlay005/ov5_021F6454.c | 4 +- src/overlay006/ov6_02240C9C.c | 5 +- src/overlay017/ov17_0223F118.c | 2 +- src/overlay019/ov19_021DB8E4.c | 2 +- src/overlay094/ov94_0223FB48.c | 4 +- src/overlay104/ov104_02237DD8.c | 2 +- src/overlay118/ov118_021D0D80.c | 2 +- src/pokedex.c | 1 + src/pokemon.c | 15 +- src/string_template.c | 2 +- src/unk_020131EC.c | 2 +- src/unk_0207AE68.c | 4 +- src/unk_02083370.c | 2 +- src/unk_02096420.c | 2 +- src/unk_02098218.c | 2 +- subprojects/metang.wrap | 7 + tools/json2bin/catching_show_data.py | 8 +- tools/json2bin/convert.py | 5 +- tools/json2bin/encdata_ex_elusive_rod.py | 4 +- tools/json2bin/encdata_ex_great_marsh.py | 4 +- tools/json2bin/encdata_ex_honey_trees.py | 4 +- tools/json2bin/encdata_ex_trophy_garden.py | 4 +- tools/json2bin/encounter.py | 4 +- tools/json2bin/evo.py | 13 +- tools/json2bin/movedata.py | 7 +- tools/json2bin/pl_poke_data.py | 8 +- tools/json2bin/pokemon_personal_data.py | 26 +- tools/json2bin/pokemon_wotbl_data.py | 6 +- tools/json2bin/trainer_data.py | 2 +- tools/json2bin/trainer_party.py | 2 +- tools/meson.build | 1 + tools/scripts/make_height.py | 8 +- tools/scripts/make_pl_pokezukan.py | 4 +- tools/scripts/make_pokedex_data.py | 14 +- tools/scripts/make_pokedex_enc_platinum.py | 102 +-- tools/scripts/make_pokedex_message_banks.py | 4 +- tools/scripts/make_shinzukan.py | 4 +- tools/scripts/make_species_tables.py | 7 +- 79 files changed, 2011 insertions(+), 2004 deletions(-) delete mode 100644 consts/abilities.json delete mode 100644 consts/items.json delete mode 100644 consts/species.json create mode 100644 generated/abilities.txt create mode 100644 generated/egg_groups.txt create mode 100644 generated/exp_rates.txt create mode 100644 generated/gender_ratios.txt create mode 100644 generated/item_hold_effects.txt create mode 100644 generated/items.txt create mode 100644 generated/meson.build create mode 100644 generated/moves.txt create mode 100644 generated/pokemon_colors.txt create mode 100644 generated/pokemon_types.txt create mode 100644 generated/species.txt create mode 100644 subprojects/metang.wrap diff --git a/.clang-format b/.clang-format index 325bd6f544..732793b41d 100644 --- a/.clang-format +++ b/.clang-format @@ -59,7 +59,7 @@ IncludeBlocks: Regroup IncludeCategories: - Regex: '((<.+>)|("nitro/.*\.h"))' Priority: 1 - - Regex: '"(consts|constants)/.*\.h"' + - Regex: '"(consts|constants|generated)/.*\.h"' Priority: 2 - Regex: '"(struct_(decls|defs))/.*\.h"' Priority: 3 diff --git a/.gitignore b/.gitignore index dd95dccf9b..dd13be31fb 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,7 @@ /subprojects/SDATTool/ /subprojects/knarc/ /subprojects/narc/ +/subprojects/metang/ # CLion folders .idea/ diff --git a/asm/macros/btlcmd.inc b/asm/macros/btlcmd.inc index 58a87eeca1..1711130e40 100644 --- a/asm/macros/btlcmd.inc +++ b/asm/macros/btlcmd.inc @@ -5,16 +5,18 @@ #include "constants/battle.h" #include "constants/items.h" #include "constants/species.h" +#include "generated/abilities.h" +#include "generated/items.h" +#include "generated/moves.h" +#include "generated/pokemon_types.h" #include "gmm/message_bank_battle_strings.h" #include "battle/btlcmd.h" - .include "consts/abilities.inc" .include "consts/battle.inc" .include "consts/battle_subscripts.inc" .include "consts/btlcmd.inc" .include "consts/game_records.inc" .include "consts/gender.inc" - .include "consts/items.inc" .include "consts/moves.inc" .include "consts/pokemon.inc" diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index 869d176f02..e18537af26 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -1,15 +1,15 @@ +#include "generated/items.h" +#include "generated/moves.h" +#include "generated/species.h" .include "macros/movement.inc" .include "consts/badges.inc" .include "consts/catching_show.inc" .include "consts/game_records.inc" - .include "consts/items.inc" .include "consts/journal.inc" .include "consts/map.inc" - .include "consts/moves.inc" .include "consts/poketch.inc" .include "consts/scrcmd.inc" .include "consts/sdat.inc" - .include "consts/species.inc" #include "res/trainers/trdata.naix" diff --git a/asm/trainer_ai/trainer_ai_script.s b/asm/trainer_ai/trainer_ai_script.s index 284cdc9e65..e74eecb581 100644 --- a/asm/trainer_ai/trainer_ai_script.s +++ b/asm/trainer_ai/trainer_ai_script.s @@ -5,11 +5,12 @@ #include "constants/battle.h" #include "constants/items.h" #include "constants/battle/trainer_ai.h" +#include "generated/abilities.h" +#include "generated/moves.h" +#include "generated/pokemon_types.h" - .include "consts/abilities.inc" .include "consts/battle.inc" .include "consts/gender.inc" - .include "consts/items.inc" .include "consts/moves.inc" .include "consts/pokemon.inc" .include "consts/trainer_ai.inc" diff --git a/consts/abilities.json b/consts/abilities.json deleted file mode 100644 index 46588de029..0000000000 --- a/consts/abilities.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "definitions": { - "@Ability": { - "type": "enum", - "values": [ - "ABILITY_NONE", - "ABILITY_STENCH", - "ABILITY_DRIZZLE", - "ABILITY_SPEED_BOOST", - "ABILITY_BATTLE_ARMOR", - "ABILITY_STURDY", - "ABILITY_DAMP", - "ABILITY_LIMBER", - "ABILITY_SAND_VEIL", - "ABILITY_STATIC", - "ABILITY_VOLT_ABSORB", - "ABILITY_WATER_ABSORB", - "ABILITY_OBLIVIOUS", - "ABILITY_CLOUD_NINE", - "ABILITY_COMPOUND_EYES", - "ABILITY_INSOMNIA", - "ABILITY_COLOR_CHANGE", - "ABILITY_IMMUNITY", - "ABILITY_FLASH_FIRE", - "ABILITY_SHIELD_DUST", - "ABILITY_OWN_TEMPO", - "ABILITY_SUCTION_CUPS", - "ABILITY_INTIMIDATE", - "ABILITY_SHADOW_TAG", - "ABILITY_ROUGH_SKIN", - "ABILITY_WONDER_GUARD", - "ABILITY_LEVITATE", - "ABILITY_EFFECT_SPORE", - "ABILITY_SYNCHRONIZE", - "ABILITY_CLEAR_BODY", - "ABILITY_NATURAL_CURE", - "ABILITY_LIGHTNING_ROD", - "ABILITY_SERENE_GRACE", - "ABILITY_SWIFT_SWIM", - "ABILITY_CHLOROPHYLL", - "ABILITY_ILLUMINATE", - "ABILITY_TRACE", - "ABILITY_HUGE_POWER", - "ABILITY_POISON_POINT", - "ABILITY_INNER_FOCUS", - "ABILITY_MAGMA_ARMOR", - "ABILITY_WATER_VEIL", - "ABILITY_MAGNET_PULL", - "ABILITY_SOUNDPROOF", - "ABILITY_RAIN_DISH", - "ABILITY_SAND_STREAM", - "ABILITY_PRESSURE", - "ABILITY_THICK_FAT", - "ABILITY_EARLY_BIRD", - "ABILITY_FLAME_BODY", - "ABILITY_RUN_AWAY", - "ABILITY_KEEN_EYE", - "ABILITY_HYPER_CUTTER", - "ABILITY_PICKUP", - "ABILITY_TRUANT", - "ABILITY_HUSTLE", - "ABILITY_CUTE_CHARM", - "ABILITY_PLUS", - "ABILITY_MINUS", - "ABILITY_FORECAST", - "ABILITY_STICKY_HOLD", - "ABILITY_SHED_SKIN", - "ABILITY_GUTS", - "ABILITY_MARVEL_SCALE", - "ABILITY_LIQUID_OOZE", - "ABILITY_OVERGROW", - "ABILITY_BLAZE", - "ABILITY_TORRENT", - "ABILITY_SWARM", - "ABILITY_ROCK_HEAD", - "ABILITY_DROUGHT", - "ABILITY_ARENA_TRAP", - "ABILITY_VITAL_SPIRIT", - "ABILITY_WHITE_SMOKE", - "ABILITY_PURE_POWER", - "ABILITY_SHELL_ARMOR", - "ABILITY_AIR_LOCK", - "ABILITY_TANGLED_FEET", - "ABILITY_MOTOR_DRIVE", - "ABILITY_RIVALRY", - "ABILITY_STEADFAST", - "ABILITY_SNOW_CLOAK", - "ABILITY_GLUTTONY", - "ABILITY_ANGER_POINT", - "ABILITY_UNBURDEN", - "ABILITY_HEATPROOF", - "ABILITY_SIMPLE", - "ABILITY_DRY_SKIN", - "ABILITY_DOWNLOAD", - "ABILITY_IRON_FIST", - "ABILITY_POISON_HEAL", - "ABILITY_ADAPTABILITY", - "ABILITY_SKILL_LINK", - "ABILITY_HYDRATION", - "ABILITY_SOLAR_POWER", - "ABILITY_QUICK_FEET", - "ABILITY_NORMALIZE", - "ABILITY_SNIPER", - "ABILITY_MAGIC_GUARD", - "ABILITY_NO_GUARD", - "ABILITY_STALL", - "ABILITY_TECHNICIAN", - "ABILITY_LEAF_GUARD", - "ABILITY_KLUTZ", - "ABILITY_MOLD_BREAKER", - "ABILITY_SUPER_LUCK", - "ABILITY_AFTERMATH", - "ABILITY_ANTICIPATION", - "ABILITY_FOREWARN", - "ABILITY_UNAWARE", - "ABILITY_TINTED_LENS", - "ABILITY_FILTER", - "ABILITY_SLOW_START", - "ABILITY_SCRAPPY", - "ABILITY_STORM_DRAIN", - "ABILITY_ICE_BODY", - "ABILITY_SOLID_ROCK", - "ABILITY_SNOW_WARNING", - "ABILITY_HONEY_GATHER", - "ABILITY_FRISK", - "ABILITY_RECKLESS", - "ABILITY_MULTITYPE", - "ABILITY_FLOWER_GIFT", - "ABILITY_BAD_DREAMS" - ] - } - } -} diff --git a/consts/items.json b/consts/items.json deleted file mode 100644 index d9610d1640..0000000000 --- a/consts/items.json +++ /dev/null @@ -1,632 +0,0 @@ -{ - "definitions": { - "@ItemHoldEffect": { - "type": "enum", - "as_preproc": true, - "values": [ - "HOLD_EFFECT_NONE", - "HOLD_EFFECT_HP_RESTORE", - "HOLD_EFFECT_GIRATINA_BOOST", - "HOLD_EFFECT_DIALGA_BOOST", - "HOLD_EFFECT_PALKIA_BOOST", - "HOLD_EFFECT_PRZ_RESTORE", - "HOLD_EFFECT_SLP_RESTORE", - "HOLD_EFFECT_PSN_RESTORE", - "HOLD_EFFECT_BRN_RESTORE", - "HOLD_EFFECT_FRZ_RESTORE", - "HOLD_EFFECT_PP_RESTORE", - "HOLD_EFFECT_CONFUSE_RESTORE", - "HOLD_EFFECT_STATUS_RESTORE", - "HOLD_EFFECT_HP_PCT_RESTORE", - "HOLD_EFFECT_HP_RESTORE_SPICY", - "HOLD_EFFECT_HP_RESTORE_DRY", - "HOLD_EFFECT_HP_RESTORE_SWEET", - "HOLD_EFFECT_HP_RESTORE_BITTER", - "HOLD_EFFECT_HP_RESTORE_SOUR", - "HOLD_EFFECT_WEAKEN_SE_FIRE", - "HOLD_EFFECT_WEAKEN_SE_WATER", - "HOLD_EFFECT_WEAKEN_SE_ELECTRIC", - "HOLD_EFFECT_WEAKEN_SE_GRASS", - "HOLD_EFFECT_WEAKEN_SE_ICE", - "HOLD_EFFECT_WEAKEN_SE_FIGHT", - "HOLD_EFFECT_WEAKEN_SE_POISON", - "HOLD_EFFECT_WEAKEN_SE_GROUND", - "HOLD_EFFECT_WEAKEN_SE_FLYING", - "HOLD_EFFECT_WEAKEN_SE_PSYCHIC", - "HOLD_EFFECT_WEAKEN_SE_BUG", - "HOLD_EFFECT_WEAKEN_SE_ROCK", - "HOLD_EFFECT_WEAKEN_SE_GHOST", - "HOLD_EFFECT_WEAKEN_SE_DRAGON", - "HOLD_EFFECT_WEAKEN_SE_DARK", - "HOLD_EFFECT_WEAKEN_SE_STEEL", - "HOLD_EFFECT_WEAKEN_NORMAL", - "HOLD_EFFECT_PINCH_ATK_UP", - "HOLD_EFFECT_PINCH_DEF_UP", - "HOLD_EFFECT_PINCH_SPEED_UP", - "HOLD_EFFECT_PINCH_SPATK_UP", - "HOLD_EFFECT_PINCH_SPDEF_UP", - "HOLD_EFFECT_PINCH_CRITRATE_UP", - "HOLD_EFFECT_PINCH_RANDOM_UP", - "HOLD_EFFECT_HP_RESTORE_SE", - "HOLD_EFFECT_PINCH_ACC_UP", - "HOLD_EFFECT_PINCH_PRIORITY", - "HOLD_EFFECT_RECOIL_PHYSICAL", - "HOLD_EFFECT_RECOIL_SPECIAL", - "HOLD_EFFECT_ACC_REDUCE", - "HOLD_EFFECT_STATDOWN_RESTORE", - "HOLD_EFFECT_EVS_UP_SPEED_DOWN", - "HOLD_EFFECT_EXP_SHARE", - "HOLD_EFFECT_SOMETIMES_PRIORITY", - "HOLD_EFFECT_FRIENDSHIP_UP", - "HOLD_EFFECT_HEAL_INFATUATION", - "HOLD_EFFECT_CHOICE_ATK", - "HOLD_EFFECT_SOMETIMES_FLINCH", - "HOLD_EFFECT_STRENGTHEN_BUG", - "HOLD_EFFECT_MONEY_UP", - "HOLD_EFFECT_ENCOUNTERS_DOWN", - "HOLD_EFFECT_LATI_SPECIAL", - "HOLD_EFFECT_CLAMPERL_SPATK", - "HOLD_EFFECT_CLAMPERL_SPDEF", - "HOLD_EFFECT_FLEE", - "HOLD_EFFECT_NO_EVOLVE", - "HOLD_EFFECT_MAYBE_ENDURE", - "HOLD_EFFECT_EXP_UP", - "HOLD_EFFECT_CRITRATE_UP", - "HOLD_EFFECT_STRENGTHEN_STEEL", - "HOLD_EFFECT_HP_RESTORE_GRADUAL", - "HOLD_EFFECT_EVOLVE_SEADRA", - "HOLD_EFFECT_PIKA_SPATK_UP", - "HOLD_EFFECT_STRENGTHEN_GROUND", - "HOLD_EFFECT_STRENGTHEN_ROCK", - "HOLD_EFFECT_STRENGTHEN_GRASS", - "HOLD_EFFECT_STRENGTHEN_DARK", - "HOLD_EFFECT_STRENGTHEN_FIGHT", - "HOLD_EFFECT_STRENGTHEN_ELECTRIC", - "HOLD_EFFECT_STRENGTHEN_WATER", - "HOLD_EFFECT_STRENGTHEN_FLYING", - "HOLD_EFFECT_STRENGTHEN_POISON", - "HOLD_EFFECT_STRENGTHEN_ICE", - "HOLD_EFFECT_STRENGTHEN_GHOST", - "HOLD_EFFECT_STRENGTHEN_PSYCHIC", - "HOLD_EFFECT_STRENGTHEN_FIRE", - "HOLD_EFFECT_STRENGTHEN_DRAGON", - "HOLD_EFFECT_STRENGTHEN_NORMAL", - "HOLD_EFFECT_EVOLVE_PORYGON", - "HOLD_EFFECT_HP_RESTORE_ON_DMG", - "HOLD_EFFECT_CHANSEY_CRITRATE_UP", - "HOLD_EFFECT_DITTO_DEF_UP", - "HOLD_EFFECT_CUBONE_ATK_UP", - "HOLD_EFFECT_FARFETCHD_CRITRATE_UP", - "HOLD_EFFECT_ACCURACY_UP", - "HOLD_EFFECT_POWER_UP_PHYS", - "HOLD_EFFECT_POWER_UP_SPEC", - "HOLD_EFFECT_POWER_UP_SE", - "HOLD_EFFECT_EXTEND_SCREENS", - "HOLD_EFFECT_HP_DRAIN_ON_ATK", - "HOLD_EFFECT_CHARGE_SKIP", - "HOLD_EFFECT_PSN_USER", - "HOLD_EFFECT_BRN_USER", - "HOLD_EFFECT_DITTO_SPEED_UP", - "HOLD_EFFECT_ENDURE", - "HOLD_EFFECT_ACCURACY_UP_SLOWER", - "HOLD_EFFECT_BOOST_REPEATED", - "HOLD_EFFECT_SPEED_DOWN_GROUNDED", - "HOLD_EFFECT_PRIORITY_DOWN", - "HOLD_EFFECT_RECIPROCATE_INFAT", - "HOLD_EFFECT_HP_RESTORE_PSN_TYPE", - "HOLD_EFFECT_EXTEND_HAIL", - "HOLD_EFFECT_EXTEND_SANDSTORM", - "HOLD_EFFECT_EXTEND_SUN", - "HOLD_EFFECT_EXTEND_RAIN", - "HOLD_EFFECT_EXTEND_TRAPPING", - "HOLD_EFFECT_CHOICE_SPEED", - "HOLD_EFFECT_DMG_USER_CONTACT_XFR", - "HOLD_EFFECT_LVLUP_ATK_EV_UP", - "HOLD_EFFECT_LVLUP_DEF_EV_UP", - "HOLD_EFFECT_LVLUP_SPATK_EV_UP", - "HOLD_EFFECT_LVLUP_SPDEF_EV_UP", - "HOLD_EFFECT_LVLUP_SPEED_EV_UP", - "HOLD_EFFECT_LVLUP_HP_EV_UP", - "HOLD_EFFECT_SWITCH", - "HOLD_EFFECT_LEECH_BOOST", - "HOLD_EFFECT_CHOICE_SPATK", - "HOLD_EFFECT_ARCEUS_FIRE", - "HOLD_EFFECT_ARCEUS_WATER", - "HOLD_EFFECT_ARCEUS_ELECTRIC", - "HOLD_EFFECT_ARCEUS_GRASS", - "HOLD_EFFECT_ARCEUS_ICE", - "HOLD_EFFECT_ARCEUS_FIGHTING", - "HOLD_EFFECT_ARCEUS_POISON", - "HOLD_EFFECT_ARCEUS_GROUND", - "HOLD_EFFECT_ARCEUS_FLYING", - "HOLD_EFFECT_ARCEUS_PSYCHIC", - "HOLD_EFFECT_ARCEUS_BUG", - "HOLD_EFFECT_ARCEUS_ROCK", - "HOLD_EFFECT_ARCEUS_GHOST", - "HOLD_EFFECT_ARCEUS_DRAGON", - "HOLD_EFFECT_ARCEUS_DARK", - "HOLD_EFFECT_ARCEUS_STEEL", - "HOLD_EFFECT_EVOLVE_RHYDON", - "HOLD_EFFECT_EVOLVE_ELECTABUZZ", - "HOLD_EFFECT_EVOLVE_MAGMAR", - "HOLD_EFFECT_EVOLVE_PORYGON2", - "HOLD_EFFECT_EVOLVE_DUSCLOPS" - ] - }, - "@Item": { - "type": "enum", - "as_preproc": true, - "values": [ - "ITEM_NONE", - "ITEM_MASTER_BALL", - "ITEM_ULTRA_BALL", - "ITEM_GREAT_BALL", - "ITEM_POKE_BALL", - "ITEM_SAFARI_BALL", - "ITEM_NET_BALL", - "ITEM_DIVE_BALL", - "ITEM_NEST_BALL", - "ITEM_REPEAT_BALL", - "ITEM_TIMER_BALL", - "ITEM_LUXURY_BALL", - "ITEM_PREMIER_BALL", - "ITEM_DUSK_BALL", - "ITEM_HEAL_BALL", - "ITEM_QUICK_BALL", - "ITEM_CHERISH_BALL", - "ITEM_POTION", - "ITEM_ANTIDOTE", - "ITEM_BURN_HEAL", - "ITEM_ICE_HEAL", - "ITEM_AWAKENING", - "ITEM_PARLYZ_HEAL", - "ITEM_FULL_RESTORE", - "ITEM_MAX_POTION", - "ITEM_HYPER_POTION", - "ITEM_SUPER_POTION", - "ITEM_FULL_HEAL", - "ITEM_REVIVE", - "ITEM_MAX_REVIVE", - "ITEM_FRESH_WATER", - "ITEM_SODA_POP", - "ITEM_LEMONADE", - "ITEM_MOOMOO_MILK", - "ITEM_ENERGYPOWDER", - "ITEM_ENERGY_ROOT", - "ITEM_HEAL_POWDER", - "ITEM_REVIVAL_HERB", - "ITEM_ETHER", - "ITEM_MAX_ETHER", - "ITEM_ELIXIR", - "ITEM_MAX_ELIXIR", - "ITEM_LAVA_COOKIE", - "ITEM_BERRY_JUICE", - "ITEM_SACRED_ASH", - "ITEM_HP_UP", - "ITEM_PROTEIN", - "ITEM_IRON", - "ITEM_CARBOS", - "ITEM_CALCIUM", - "ITEM_RARE_CANDY", - "ITEM_PP_UP", - "ITEM_ZINC", - "ITEM_PP_MAX", - "ITEM_OLD_GATEAU", - "ITEM_GUARD_SPEC_", - "ITEM_DIRE_HIT", - "ITEM_X_ATTACK", - "ITEM_X_DEFENSE", - "ITEM_X_SPEED", - "ITEM_X_ACCURACY", - "ITEM_X_SPECIAL", - "ITEM_X_SP__DEF", - "ITEM_POKE_DOLL", - "ITEM_FLUFFY_TAIL", - "ITEM_BLUE_FLUTE", - "ITEM_YELLOW_FLUTE", - "ITEM_RED_FLUTE", - "ITEM_BLACK_FLUTE", - "ITEM_WHITE_FLUTE", - "ITEM_SHOAL_SALT", - "ITEM_SHOAL_SHELL", - "ITEM_RED_SHARD", - "ITEM_BLUE_SHARD", - "ITEM_YELLOW_SHARD", - "ITEM_GREEN_SHARD", - "ITEM_SUPER_REPEL", - "ITEM_MAX_REPEL", - "ITEM_ESCAPE_ROPE", - "ITEM_REPEL", - "ITEM_SUN_STONE", - "ITEM_MOON_STONE", - "ITEM_FIRE_STONE", - "ITEM_THUNDERSTONE", - "ITEM_WATER_STONE", - "ITEM_LEAF_STONE", - "ITEM_TINYMUSHROOM", - "ITEM_BIG_MUSHROOM", - "ITEM_PEARL", - "ITEM_BIG_PEARL", - "ITEM_STARDUST", - "ITEM_STAR_PIECE", - "ITEM_NUGGET", - "ITEM_HEART_SCALE", - "ITEM_HONEY", - "ITEM_GROWTH_MULCH", - "ITEM_DAMP_MULCH", - "ITEM_STABLE_MULCH", - "ITEM_GOOEY_MULCH", - "ITEM_ROOT_FOSSIL", - "ITEM_CLAW_FOSSIL", - "ITEM_HELIX_FOSSIL", - "ITEM_DOME_FOSSIL", - "ITEM_OLD_AMBER", - "ITEM_ARMOR_FOSSIL", - "ITEM_SKULL_FOSSIL", - "ITEM_RARE_BONE", - "ITEM_SHINY_STONE", - "ITEM_DUSK_STONE", - "ITEM_DAWN_STONE", - "ITEM_OVAL_STONE", - "ITEM_ODD_KEYSTONE", - "ITEM_GRISEOUS_ORB", - "ITEM_UNUSED_113", - "ITEM_UNUSED_114", - "ITEM_UNUSED_115", - "ITEM_UNUSED_116", - "ITEM_UNUSED_117", - "ITEM_UNUSED_118", - "ITEM_UNUSED_119", - "ITEM_UNUSED_120", - "ITEM_UNUSED_121", - "ITEM_UNUSED_122", - "ITEM_UNUSED_123", - "ITEM_UNUSED_124", - "ITEM_UNUSED_125", - "ITEM_UNUSED_126", - "ITEM_UNUSED_127", - "ITEM_UNUSED_128", - "ITEM_UNUSED_129", - "ITEM_UNUSED_130", - "ITEM_UNUSED_131", - "ITEM_UNUSED_132", - "ITEM_UNUSED_133", - "ITEM_UNUSED_134", - "ITEM_ADAMANT_ORB", - "ITEM_LUSTROUS_ORB", - "ITEM_GRASS_MAIL", - "ITEM_FLAME_MAIL", - "ITEM_BUBBLE_MAIL", - "ITEM_BLOOM_MAIL", - "ITEM_TUNNEL_MAIL", - "ITEM_STEEL_MAIL", - "ITEM_HEART_MAIL", - "ITEM_SNOW_MAIL", - "ITEM_SPACE_MAIL", - "ITEM_AIR_MAIL", - "ITEM_MOSAIC_MAIL", - "ITEM_BRICK_MAIL", - "ITEM_CHERI_BERRY", - "ITEM_CHESTO_BERRY", - "ITEM_PECHA_BERRY", - "ITEM_RAWST_BERRY", - "ITEM_ASPEAR_BERRY", - "ITEM_LEPPA_BERRY", - "ITEM_ORAN_BERRY", - "ITEM_PERSIM_BERRY", - "ITEM_LUM_BERRY", - "ITEM_SITRUS_BERRY", - "ITEM_FIGY_BERRY", - "ITEM_WIKI_BERRY", - "ITEM_MAGO_BERRY", - "ITEM_AGUAV_BERRY", - "ITEM_IAPAPA_BERRY", - "ITEM_RAZZ_BERRY", - "ITEM_BLUK_BERRY", - "ITEM_NANAB_BERRY", - "ITEM_WEPEAR_BERRY", - "ITEM_PINAP_BERRY", - "ITEM_POMEG_BERRY", - "ITEM_KELPSY_BERRY", - "ITEM_QUALOT_BERRY", - "ITEM_HONDEW_BERRY", - "ITEM_GREPA_BERRY", - "ITEM_TAMATO_BERRY", - "ITEM_CORNN_BERRY", - "ITEM_MAGOST_BERRY", - "ITEM_RABUTA_BERRY", - "ITEM_NOMEL_BERRY", - "ITEM_SPELON_BERRY", - "ITEM_PAMTRE_BERRY", - "ITEM_WATMEL_BERRY", - "ITEM_DURIN_BERRY", - "ITEM_BELUE_BERRY", - "ITEM_OCCA_BERRY", - "ITEM_PASSHO_BERRY", - "ITEM_WACAN_BERRY", - "ITEM_RINDO_BERRY", - "ITEM_YACHE_BERRY", - "ITEM_CHOPLE_BERRY", - "ITEM_KEBIA_BERRY", - "ITEM_SHUCA_BERRY", - "ITEM_COBA_BERRY", - "ITEM_PAYAPA_BERRY", - "ITEM_TANGA_BERRY", - "ITEM_CHARTI_BERRY", - "ITEM_KASIB_BERRY", - "ITEM_HABAN_BERRY", - "ITEM_COLBUR_BERRY", - "ITEM_BABIRI_BERRY", - "ITEM_CHILAN_BERRY", - "ITEM_LIECHI_BERRY", - "ITEM_GANLON_BERRY", - "ITEM_SALAC_BERRY", - "ITEM_PETAYA_BERRY", - "ITEM_APICOT_BERRY", - "ITEM_LANSAT_BERRY", - "ITEM_STARF_BERRY", - "ITEM_ENIGMA_BERRY", - "ITEM_MICLE_BERRY", - "ITEM_CUSTAP_BERRY", - "ITEM_JABOCA_BERRY", - "ITEM_ROWAP_BERRY", - "ITEM_BRIGHTPOWDER", - "ITEM_WHITE_HERB", - "ITEM_MACHO_BRACE", - "ITEM_EXP_SHARE", - "ITEM_QUICK_CLAW", - "ITEM_SOOTHE_BELL", - "ITEM_MENTAL_HERB", - "ITEM_CHOICE_BAND", - "ITEM_KINGS_ROCK", - "ITEM_SILVERPOWDER", - "ITEM_AMULET_COIN", - "ITEM_CLEANSE_TAG", - "ITEM_SOUL_DEW", - "ITEM_DEEPSEATOOTH", - "ITEM_DEEPSEASCALE", - "ITEM_SMOKE_BALL", - "ITEM_EVERSTONE", - "ITEM_FOCUS_BAND", - "ITEM_LUCKY_EGG", - "ITEM_SCOPE_LENS", - "ITEM_METAL_COAT", - "ITEM_LEFTOVERS", - "ITEM_DRAGON_SCALE", - "ITEM_LIGHT_BALL", - "ITEM_SOFT_SAND", - "ITEM_HARD_STONE", - "ITEM_MIRACLE_SEED", - "ITEM_BLACKGLASSES", - "ITEM_BLACK_BELT", - "ITEM_MAGNET", - "ITEM_MYSTIC_WATER", - "ITEM_SHARP_BEAK", - "ITEM_POISON_BARB", - "ITEM_NEVERMELTICE", - "ITEM_SPELL_TAG", - "ITEM_TWISTEDSPOON", - "ITEM_CHARCOAL", - "ITEM_DRAGON_FANG", - "ITEM_SILK_SCARF", - "ITEM_UPGRADE", - "ITEM_SHELL_BELL", - "ITEM_SEA_INCENSE", - "ITEM_LAX_INCENSE", - "ITEM_LUCKY_PUNCH", - "ITEM_METAL_POWDER", - "ITEM_THICK_CLUB", - "ITEM_STICK", - "ITEM_RED_SCARF", - "ITEM_BLUE_SCARF", - "ITEM_PINK_SCARF", - "ITEM_GREEN_SCARF", - "ITEM_YELLOW_SCARF", - "ITEM_WIDE_LENS", - "ITEM_MUSCLE_BAND", - "ITEM_WISE_GLASSES", - "ITEM_EXPERT_BELT", - "ITEM_LIGHT_CLAY", - "ITEM_LIFE_ORB", - "ITEM_POWER_HERB", - "ITEM_TOXIC_ORB", - "ITEM_FLAME_ORB", - "ITEM_QUICK_POWDER", - "ITEM_FOCUS_SASH", - "ITEM_ZOOM_LENS", - "ITEM_METRONOME", - "ITEM_IRON_BALL", - "ITEM_LAGGING_TAIL", - "ITEM_DESTINY_KNOT", - "ITEM_BLACK_SLUDGE", - "ITEM_ICY_ROCK", - "ITEM_SMOOTH_ROCK", - "ITEM_HEAT_ROCK", - "ITEM_DAMP_ROCK", - "ITEM_GRIP_CLAW", - "ITEM_CHOICE_SCARF", - "ITEM_STICKY_BARB", - "ITEM_POWER_BRACER", - "ITEM_POWER_BELT", - "ITEM_POWER_LENS", - "ITEM_POWER_BAND", - "ITEM_POWER_ANKLET", - "ITEM_POWER_WEIGHT", - "ITEM_SHED_SHELL", - "ITEM_BIG_ROOT", - "ITEM_CHOICE_SPECS", - "ITEM_FLAME_PLATE", - "ITEM_SPLASH_PLATE", - "ITEM_ZAP_PLATE", - "ITEM_MEADOW_PLATE", - "ITEM_ICICLE_PLATE", - "ITEM_FIST_PLATE", - "ITEM_TOXIC_PLATE", - "ITEM_EARTH_PLATE", - "ITEM_SKY_PLATE", - "ITEM_MIND_PLATE", - "ITEM_INSECT_PLATE", - "ITEM_STONE_PLATE", - "ITEM_SPOOKY_PLATE", - "ITEM_DRACO_PLATE", - "ITEM_DREAD_PLATE", - "ITEM_IRON_PLATE", - "ITEM_ODD_INCENSE", - "ITEM_ROCK_INCENSE", - "ITEM_FULL_INCENSE", - "ITEM_WAVE_INCENSE", - "ITEM_ROSE_INCENSE", - "ITEM_LUCK_INCENSE", - "ITEM_PURE_INCENSE", - "ITEM_PROTECTOR", - "ITEM_ELECTIRIZER", - "ITEM_MAGMARIZER", - "ITEM_DUBIOUS_DISC", - "ITEM_REAPER_CLOTH", - "ITEM_RAZOR_CLAW", - "ITEM_RAZOR_FANG", - "ITEM_TM01", - "ITEM_TM02", - "ITEM_TM03", - "ITEM_TM04", - "ITEM_TM05", - "ITEM_TM06", - "ITEM_TM07", - "ITEM_TM08", - "ITEM_TM09", - "ITEM_TM10", - "ITEM_TM11", - "ITEM_TM12", - "ITEM_TM13", - "ITEM_TM14", - "ITEM_TM15", - "ITEM_TM16", - "ITEM_TM17", - "ITEM_TM18", - "ITEM_TM19", - "ITEM_TM20", - "ITEM_TM21", - "ITEM_TM22", - "ITEM_TM23", - "ITEM_TM24", - "ITEM_TM25", - "ITEM_TM26", - "ITEM_TM27", - "ITEM_TM28", - "ITEM_TM29", - "ITEM_TM30", - "ITEM_TM31", - "ITEM_TM32", - "ITEM_TM33", - "ITEM_TM34", - "ITEM_TM35", - "ITEM_TM36", - "ITEM_TM37", - "ITEM_TM38", - "ITEM_TM39", - "ITEM_TM40", - "ITEM_TM41", - "ITEM_TM42", - "ITEM_TM43", - "ITEM_TM44", - "ITEM_TM45", - "ITEM_TM46", - "ITEM_TM47", - "ITEM_TM48", - "ITEM_TM49", - "ITEM_TM50", - "ITEM_TM51", - "ITEM_TM52", - "ITEM_TM53", - "ITEM_TM54", - "ITEM_TM55", - "ITEM_TM56", - "ITEM_TM57", - "ITEM_TM58", - "ITEM_TM59", - "ITEM_TM60", - "ITEM_TM61", - "ITEM_TM62", - "ITEM_TM63", - "ITEM_TM64", - "ITEM_TM65", - "ITEM_TM66", - "ITEM_TM67", - "ITEM_TM68", - "ITEM_TM69", - "ITEM_TM70", - "ITEM_TM71", - "ITEM_TM72", - "ITEM_TM73", - "ITEM_TM74", - "ITEM_TM75", - "ITEM_TM76", - "ITEM_TM77", - "ITEM_TM78", - "ITEM_TM79", - "ITEM_TM80", - "ITEM_TM81", - "ITEM_TM82", - "ITEM_TM83", - "ITEM_TM84", - "ITEM_TM85", - "ITEM_TM86", - "ITEM_TM87", - "ITEM_TM88", - "ITEM_TM89", - "ITEM_TM90", - "ITEM_TM91", - "ITEM_TM92", - "ITEM_HM01", - "ITEM_HM02", - "ITEM_HM03", - "ITEM_HM04", - "ITEM_HM05", - "ITEM_HM06", - "ITEM_HM07", - "ITEM_HM08", - "ITEM_EXPLORER_KIT", - "ITEM_LOOT_SACK", - "ITEM_RULE_BOOK", - "ITEM_POKE_RADAR", - "ITEM_POINT_CARD", - "ITEM_JOURNAL", - "ITEM_SEAL_CASE", - "ITEM_FASHION_CASE", - "ITEM_SEAL_BAG", - "ITEM_PAL_PAD", - "ITEM_WORKS_KEY", - "ITEM_OLD_CHARM", - "ITEM_GALACTIC_KEY", - "ITEM_RED_CHAIN", - "ITEM_TOWN_MAP", - "ITEM_VS_SEEKER", - "ITEM_COIN_CASE", - "ITEM_OLD_ROD", - "ITEM_GOOD_ROD", - "ITEM_SUPER_ROD", - "ITEM_SPRAYDUCK", - "ITEM_POFFIN_CASE", - "ITEM_BICYCLE", - "ITEM_SUITE_KEY", - "ITEM_OAKS_LETTER", - "ITEM_LUNAR_WING", - "ITEM_MEMBER_CARD", - "ITEM_AZURE_FLUTE", - "ITEM_S_S_TICKET", - "ITEM_CONTEST_PASS", - "ITEM_MAGMA_STONE", - "ITEM_PARCEL", - "ITEM_COUPON_1", - "ITEM_COUPON_2", - "ITEM_COUPON_3", - "ITEM_STORAGE_KEY", - "ITEM_SECRETPOTION", - "ITEM_VS_RECORDER", - "ITEM_GRACIDEA", - "ITEM_SECRET_KEY", - "MAX_ITEMS" - ] - } - } -} diff --git a/consts/meson.build b/consts/meson.build index 45a34107e8..bfbe9b6756 100644 --- a/consts/meson.build +++ b/consts/meson.build @@ -1,5 +1,4 @@ consts_manifest_basenames = [ - 'abilities', 'badges', 'battle', 'battle_subscripts', @@ -7,7 +6,6 @@ consts_manifest_basenames = [ 'catching_show', 'game_records', 'gender', - 'items', 'journal', 'map', 'movement', @@ -17,7 +15,6 @@ consts_manifest_basenames = [ 'scrcmd', 'sdat', 'shadows', - 'species', 'tm_learnset', 'trainer', 'trainer_ai', diff --git a/consts/moves.json b/consts/moves.json index 59b92c3f9a..b1395977cd 100644 --- a/consts/moves.json +++ b/consts/moves.json @@ -17,480 +17,6 @@ "MOVEATTRIBUTE_CONTEST_TYPE" ] }, - "@Move": { - "type": "enum", - "values": [ - "MOVE_NONE", - "MOVE_POUND", - "MOVE_KARATE_CHOP", - "MOVE_DOUBLE_SLAP", - "MOVE_COMET_PUNCH", - "MOVE_MEGA_PUNCH", - "MOVE_PAY_DAY", - "MOVE_FIRE_PUNCH", - "MOVE_ICE_PUNCH", - "MOVE_THUNDER_PUNCH", - "MOVE_SCRATCH", - "MOVE_VICE_GRIP", - "MOVE_GUILLOTINE", - "MOVE_RAZOR_WIND", - "MOVE_SWORDS_DANCE", - "MOVE_CUT", - "MOVE_GUST", - "MOVE_WING_ATTACK", - "MOVE_WHIRLWIND", - "MOVE_FLY", - "MOVE_BIND", - "MOVE_SLAM", - "MOVE_VINE_WHIP", - "MOVE_STOMP", - "MOVE_DOUBLE_KICK", - "MOVE_MEGA_KICK", - "MOVE_JUMP_KICK", - "MOVE_ROLLING_KICK", - "MOVE_SAND_ATTACK", - "MOVE_HEADBUTT", - "MOVE_HORN_ATTACK", - "MOVE_FURY_ATTACK", - "MOVE_HORN_DRILL", - "MOVE_TACKLE", - "MOVE_BODY_SLAM", - "MOVE_WRAP", - "MOVE_TAKE_DOWN", - "MOVE_THRASH", - "MOVE_DOUBLE_EDGE", - "MOVE_TAIL_WHIP", - "MOVE_POISON_STING", - "MOVE_TWINEEDLE", - "MOVE_PIN_MISSILE", - "MOVE_LEER", - "MOVE_BITE", - "MOVE_GROWL", - "MOVE_ROAR", - "MOVE_SING", - "MOVE_SUPERSONIC", - "MOVE_SONIC_BOOM", - "MOVE_DISABLE", - "MOVE_ACID", - "MOVE_EMBER", - "MOVE_FLAMETHROWER", - "MOVE_MIST", - "MOVE_WATER_GUN", - "MOVE_HYDRO_PUMP", - "MOVE_SURF", - "MOVE_ICE_BEAM", - "MOVE_BLIZZARD", - "MOVE_PSYBEAM", - "MOVE_BUBBLE_BEAM", - "MOVE_AURORA_BEAM", - "MOVE_HYPER_BEAM", - "MOVE_PECK", - "MOVE_DRILL_PECK", - "MOVE_SUBMISSION", - "MOVE_LOW_KICK", - "MOVE_COUNTER", - "MOVE_SEISMIC_TOSS", - "MOVE_STRENGTH", - "MOVE_ABSORB", - "MOVE_MEGA_DRAIN", - "MOVE_LEECH_SEED", - "MOVE_GROWTH", - "MOVE_RAZOR_LEAF", - "MOVE_SOLAR_BEAM", - "MOVE_POISON_POWDER", - "MOVE_STUN_SPORE", - "MOVE_SLEEP_POWDER", - "MOVE_PETAL_DANCE", - "MOVE_STRING_SHOT", - "MOVE_DRAGON_RAGE", - "MOVE_FIRE_SPIN", - "MOVE_THUNDER_SHOCK", - "MOVE_THUNDERBOLT", - "MOVE_THUNDER_WAVE", - "MOVE_THUNDER", - "MOVE_ROCK_THROW", - "MOVE_EARTHQUAKE", - "MOVE_FISSURE", - "MOVE_DIG", - "MOVE_TOXIC", - "MOVE_CONFUSION", - "MOVE_PSYCHIC", - "MOVE_HYPNOSIS", - "MOVE_MEDITATE", - "MOVE_AGILITY", - "MOVE_QUICK_ATTACK", - "MOVE_RAGE", - "MOVE_TELEPORT", - "MOVE_NIGHT_SHADE", - "MOVE_MIMIC", - "MOVE_SCREECH", - "MOVE_DOUBLE_TEAM", - "MOVE_RECOVER", - "MOVE_HARDEN", - "MOVE_MINIMIZE", - "MOVE_SMOKE_SCREEN", - "MOVE_CONFUSE_RAY", - "MOVE_WITHDRAW", - "MOVE_DEFENSE_CURL", - "MOVE_BARRIER", - "MOVE_LIGHT_SCREEN", - "MOVE_HAZE", - "MOVE_REFLECT", - "MOVE_FOCUS_ENERGY", - "MOVE_BIDE", - "MOVE_METRONOME", - "MOVE_MIRROR_MOVE", - "MOVE_SELFDESTRUCT", - "MOVE_EGG_BOMB", - "MOVE_LICK", - "MOVE_SMOG", - "MOVE_SLUDGE", - "MOVE_BONE_CLUB", - "MOVE_FIRE_BLAST", - "MOVE_WATERFALL", - "MOVE_CLAMP", - "MOVE_SWIFT", - "MOVE_SKULL_BASH", - "MOVE_SPIKE_CANNON", - "MOVE_CONSTRICT", - "MOVE_AMNESIA", - "MOVE_KINESIS", - "MOVE_SOFTBOILED", - "MOVE_HI_JUMP_KICK", - "MOVE_GLARE", - "MOVE_DREAM_EATER", - "MOVE_POISON_GAS", - "MOVE_BARRAGE", - "MOVE_LEECH_LIFE", - "MOVE_LOVELY_KISS", - "MOVE_SKY_ATTACK", - "MOVE_TRANSFORM", - "MOVE_BUBBLE", - "MOVE_DIZZY_PUNCH", - "MOVE_SPORE", - "MOVE_FLASH", - "MOVE_PSYWAVE", - "MOVE_SPLASH", - "MOVE_ACID_ARMOR", - "MOVE_CRABHAMMER", - "MOVE_EXPLOSION", - "MOVE_FURY_SWIPES", - "MOVE_BONEMERANG", - "MOVE_REST", - "MOVE_ROCK_SLIDE", - "MOVE_HYPER_FANG", - "MOVE_SHARPEN", - "MOVE_CONVERSION", - "MOVE_TRI_ATTACK", - "MOVE_SUPER_FANG", - "MOVE_SLASH", - "MOVE_SUBSTITUTE", - "MOVE_STRUGGLE", - "MOVE_SKETCH", - "MOVE_TRIPLE_KICK", - "MOVE_THIEF", - "MOVE_SPIDER_WEB", - "MOVE_MIND_READER", - "MOVE_NIGHTMARE", - "MOVE_FLAME_WHEEL", - "MOVE_SNORE", - "MOVE_CURSE", - "MOVE_FLAIL", - "MOVE_CONVERSION_2", - "MOVE_AEROBLAST", - "MOVE_COTTON_SPORE", - "MOVE_REVERSAL", - "MOVE_SPITE", - "MOVE_POWDER_SNOW", - "MOVE_PROTECT", - "MOVE_MACH_PUNCH", - "MOVE_SCARY_FACE", - "MOVE_FAINT_ATTACK", - "MOVE_SWEET_KISS", - "MOVE_BELLY_DRUM", - "MOVE_SLUDGE_BOMB", - "MOVE_MUD_SLAP", - "MOVE_OCTAZOOKA", - "MOVE_SPIKES", - "MOVE_ZAP_CANNON", - "MOVE_FORESIGHT", - "MOVE_DESTINY_BOND", - "MOVE_PERISH_SONG", - "MOVE_ICY_WIND", - "MOVE_DETECT", - "MOVE_BONE_RUSH", - "MOVE_LOCK_ON", - "MOVE_OUTRAGE", - "MOVE_SANDSTORM", - "MOVE_GIGA_DRAIN", - "MOVE_ENDURE", - "MOVE_CHARM", - "MOVE_ROLLOUT", - "MOVE_FALSE_SWIPE", - "MOVE_SWAGGER", - "MOVE_MILK_DRINK", - "MOVE_SPARK", - "MOVE_FURY_CUTTER", - "MOVE_STEEL_WING", - "MOVE_MEAN_LOOK", - "MOVE_ATTRACT", - "MOVE_SLEEP_TALK", - "MOVE_HEAL_BELL", - "MOVE_RETURN", - "MOVE_PRESENT", - "MOVE_FRUSTRATION", - "MOVE_SAFEGUARD", - "MOVE_PAIN_SPLIT", - "MOVE_SACRED_FIRE", - "MOVE_MAGNITUDE", - "MOVE_DYNAMIC_PUNCH", - "MOVE_MEGAHORN", - "MOVE_DRAGON_BREATH", - "MOVE_BATON_PASS", - "MOVE_ENCORE", - "MOVE_PURSUIT", - "MOVE_RAPID_SPIN", - "MOVE_SWEET_SCENT", - "MOVE_IRON_TAIL", - "MOVE_METAL_CLAW", - "MOVE_VITAL_THROW", - "MOVE_MORNING_SUN", - "MOVE_SYNTHESIS", - "MOVE_MOONLIGHT", - "MOVE_HIDDEN_POWER", - "MOVE_CROSS_CHOP", - "MOVE_TWISTER", - "MOVE_RAIN_DANCE", - "MOVE_SUNNY_DAY", - "MOVE_CRUNCH", - "MOVE_MIRROR_COAT", - "MOVE_PSYCH_UP", - "MOVE_EXTREME_SPEED", - "MOVE_ANCIENT_POWER", - "MOVE_SHADOW_BALL", - "MOVE_FUTURE_SIGHT", - "MOVE_ROCK_SMASH", - "MOVE_WHIRLPOOL", - "MOVE_BEAT_UP", - "MOVE_FAKE_OUT", - "MOVE_UPROAR", - "MOVE_STOCKPILE", - "MOVE_SPIT_UP", - "MOVE_SWALLOW", - "MOVE_HEAT_WAVE", - "MOVE_HAIL", - "MOVE_TORMENT", - "MOVE_FLATTER", - "MOVE_WILL_O_WISP", - "MOVE_MEMENTO", - "MOVE_FACADE", - "MOVE_FOCUS_PUNCH", - "MOVE_SMELLING_SALT", - "MOVE_FOLLOW_ME", - "MOVE_NATURE_POWER", - "MOVE_CHARGE", - "MOVE_TAUNT", - "MOVE_HELPING_HAND", - "MOVE_TRICK", - "MOVE_ROLE_PLAY", - "MOVE_WISH", - "MOVE_ASSIST", - "MOVE_INGRAIN", - "MOVE_SUPERPOWER", - "MOVE_MAGIC_COAT", - "MOVE_RECYCLE", - "MOVE_REVENGE", - "MOVE_BRICK_BREAK", - "MOVE_YAWN", - "MOVE_KNOCK_OFF", - "MOVE_ENDEAVOR", - "MOVE_ERUPTION", - "MOVE_SKILL_SWAP", - "MOVE_IMPRISON", - "MOVE_REFRESH", - "MOVE_GRUDGE", - "MOVE_SNATCH", - "MOVE_SECRET_POWER", - "MOVE_DIVE", - "MOVE_ARM_THRUST", - "MOVE_CAMOUFLAGE", - "MOVE_TAIL_GLOW", - "MOVE_LUSTER_PURGE", - "MOVE_MIST_BALL", - "MOVE_FEATHER_DANCE", - "MOVE_TEETER_DANCE", - "MOVE_BLAZE_KICK", - "MOVE_MUD_SPORT", - "MOVE_ICE_BALL", - "MOVE_NEEDLE_ARM", - "MOVE_SLACK_OFF", - "MOVE_HYPER_VOICE", - "MOVE_POISON_FANG", - "MOVE_CRUSH_CLAW", - "MOVE_BLAST_BURN", - "MOVE_HYDRO_CANNON", - "MOVE_METEOR_MASH", - "MOVE_ASTONISH", - "MOVE_WEATHER_BALL", - "MOVE_AROMATHERAPY", - "MOVE_FAKE_TEARS", - "MOVE_AIR_CUTTER", - "MOVE_OVERHEAT", - "MOVE_ODOR_SLEUTH", - "MOVE_ROCK_TOMB", - "MOVE_SILVER_WIND", - "MOVE_METAL_SOUND", - "MOVE_GRASS_WHISTLE", - "MOVE_TICKLE", - "MOVE_COSMIC_POWER", - "MOVE_WATER_SPOUT", - "MOVE_SIGNAL_BEAM", - "MOVE_SHADOW_PUNCH", - "MOVE_EXTRASENSORY", - "MOVE_SKY_UPPERCUT", - "MOVE_SAND_TOMB", - "MOVE_SHEER_COLD", - "MOVE_MUDDY_WATER", - "MOVE_BULLET_SEED", - "MOVE_AERIAL_ACE", - "MOVE_ICICLE_SPEAR", - "MOVE_IRON_DEFENSE", - "MOVE_BLOCK", - "MOVE_HOWL", - "MOVE_DRAGON_CLAW", - "MOVE_FRENZY_PLANT", - "MOVE_BULK_UP", - "MOVE_BOUNCE", - "MOVE_MUD_SHOT", - "MOVE_POISON_TAIL", - "MOVE_COVET", - "MOVE_VOLT_TACKLE", - "MOVE_MAGICAL_LEAF", - "MOVE_WATER_SPORT", - "MOVE_CALM_MIND", - "MOVE_LEAF_BLADE", - "MOVE_DRAGON_DANCE", - "MOVE_ROCK_BLAST", - "MOVE_SHOCK_WAVE", - "MOVE_WATER_PULSE", - "MOVE_DOOM_DESIRE", - "MOVE_PSYCHO_BOOST", - "MOVE_ROOST", - "MOVE_GRAVITY", - "MOVE_MIRACLE_EYE", - "MOVE_WAKE_UP_SLAP", - "MOVE_HAMMER_ARM", - "MOVE_GYRO_BALL", - "MOVE_HEALING_WISH", - "MOVE_BRINE", - "MOVE_NATURAL_GIFT", - "MOVE_FEINT", - "MOVE_PLUCK", - "MOVE_TAILWIND", - "MOVE_ACUPRESSURE", - "MOVE_METAL_BURST", - "MOVE_U_TURN", - "MOVE_CLOSE_COMBAT", - "MOVE_PAYBACK", - "MOVE_ASSURANCE", - "MOVE_EMBARGO", - "MOVE_FLING", - "MOVE_PSYCHO_SHIFT", - "MOVE_TRUMP_CARD", - "MOVE_HEAL_BLOCK", - "MOVE_WRING_OUT", - "MOVE_POWER_TRICK", - "MOVE_GASTRO_ACID", - "MOVE_LUCKY_CHANT", - "MOVE_ME_FIRST", - "MOVE_COPYCAT", - "MOVE_POWER_SWAP", - "MOVE_GUARD_SWAP", - "MOVE_PUNISHMENT", - "MOVE_LAST_RESORT", - "MOVE_WORRY_SEED", - "MOVE_SUCKER_PUNCH", - "MOVE_TOXIC_SPIKES", - "MOVE_HEART_SWAP", - "MOVE_AQUA_RING", - "MOVE_MAGNET_RISE", - "MOVE_FLARE_BLITZ", - "MOVE_FORCE_PALM", - "MOVE_AURA_SPHERE", - "MOVE_ROCK_POLISH", - "MOVE_POISON_JAB", - "MOVE_DARK_PULSE", - "MOVE_NIGHT_SLASH", - "MOVE_AQUA_TAIL", - "MOVE_SEED_BOMB", - "MOVE_AIR_SLASH", - "MOVE_X_SCISSOR", - "MOVE_BUG_BUZZ", - "MOVE_DRAGON_PULSE", - "MOVE_DRAGON_RUSH", - "MOVE_POWER_GEM", - "MOVE_DRAIN_PUNCH", - "MOVE_VACUUM_WAVE", - "MOVE_FOCUS_BLAST", - "MOVE_ENERGY_BALL", - "MOVE_BRAVE_BIRD", - "MOVE_EARTH_POWER", - "MOVE_SWITCHEROO", - "MOVE_GIGA_IMPACT", - "MOVE_NASTY_PLOT", - "MOVE_BULLET_PUNCH", - "MOVE_AVALANCHE", - "MOVE_ICE_SHARD", - "MOVE_SHADOW_CLAW", - "MOVE_THUNDER_FANG", - "MOVE_ICE_FANG", - "MOVE_FIRE_FANG", - "MOVE_SHADOW_SNEAK", - "MOVE_MUD_BOMB", - "MOVE_PSYCHO_CUT", - "MOVE_ZEN_HEADBUTT", - "MOVE_MIRROR_SHOT", - "MOVE_FLASH_CANNON", - "MOVE_ROCK_CLIMB", - "MOVE_DEFOG", - "MOVE_TRICK_ROOM", - "MOVE_DRACO_METEOR", - "MOVE_DISCHARGE", - "MOVE_LAVA_PLUME", - "MOVE_LEAF_STORM", - "MOVE_POWER_WHIP", - "MOVE_ROCK_WRECKER", - "MOVE_CROSS_POISON", - "MOVE_GUNK_SHOT", - "MOVE_IRON_HEAD", - "MOVE_MAGNET_BOMB", - "MOVE_STONE_EDGE", - "MOVE_CAPTIVATE", - "MOVE_STEALTH_ROCK", - "MOVE_GRASS_KNOT", - "MOVE_CHATTER", - "MOVE_JUDGMENT", - "MOVE_BUG_BITE", - "MOVE_CHARGE_BEAM", - "MOVE_WOOD_HAMMER", - "MOVE_AQUA_JET", - "MOVE_ATTACK_ORDER", - "MOVE_DEFEND_ORDER", - "MOVE_HEAL_ORDER", - "MOVE_HEAD_SMASH", - "MOVE_DOUBLE_HIT", - "MOVE_ROAR_OF_TIME", - "MOVE_SPACIAL_REND", - "MOVE_LUNAR_DANCE", - "MOVE_CRUSH_GRIP", - "MOVE_MAGMA_STORM", - "MOVE_DARK_VOID", - "MOVE_SEED_FLARE", - "MOVE_OMINOUS_WIND", - "MOVE_SHADOW_FORCE", - "MAX_MOVES" - ] - }, "@MoveClass": { "type": "enum", "values": [ diff --git a/consts/pokemon.json b/consts/pokemon.json index 3d493aa473..2bcaa0b19b 100644 --- a/consts/pokemon.json +++ b/consts/pokemon.json @@ -1,30 +1,5 @@ { "definitions": { - "@PokemonType": { - "type": "enum", - "as_preproc": true, - "values": [ - "TYPE_NORMAL", - "TYPE_FIGHTING", - "TYPE_FLYING", - "TYPE_POISON", - "TYPE_GROUND", - "TYPE_ROCK", - "TYPE_BUG", - "TYPE_GHOST", - "TYPE_STEEL", - "TYPE_MYSTERY", - "TYPE_FIRE", - "TYPE_WATER", - "TYPE_GRASS", - "TYPE_ELECTRIC", - "TYPE_PSYCHIC", - "TYPE_ICE", - "TYPE_DRAGON", - "TYPE_DARK", - "NUMBER_OF_MON_TYPES" - ] - }, "@SpeciesDataParam": { "type": "enum", "values": [ @@ -63,43 +38,6 @@ "SPECIES_DATA_TM_LEARNSET_MASK_4" ] }, - "@PokemonColor": { - "type": "enum", - "values": [ - "MON_COLOR_RED", - "MON_COLOR_BLUE", - "MON_COLOR_YELLOW", - "MON_COLOR_GREEN", - "MON_COLOR_BLACK", - "MON_COLOR_BROWN", - "MON_COLOR_PURPLE", - "MON_COLOR_GRAY", - "MON_COLOR_WHITE", - "MON_COLOR_PINK", - "MON_COLOR_EGG" - ] - }, - "@PokemonEggGroup": { - "type": "enum", - "values": [ - "EGG_GROUP_NONE", - "EGG_GROUP_MONSTER", - "EGG_GROUP_WATER_1", - "EGG_GROUP_BUG", - "EGG_GROUP_FLYING", - "EGG_GROUP_FIELD", - "EGG_GROUP_FAIRY", - "EGG_GROUP_GRASS", - "EGG_GROUP_HUMAN_LIKE", - "EGG_GROUP_WATER_3", - "EGG_GROUP_MINERAL", - "EGG_GROUP_AMORPHOUS", - "EGG_GROUP_WATER_2", - "EGG_GROUP_DITTO", - "EGG_GROUP_DRAGON", - "EGG_GROUP_UNDISCOVERED" - ] - }, "@PokemonEvoMethod": { "type": "enum", "values": [ @@ -132,17 +70,6 @@ "EVO_LEVEL_ICE_ROCK" ] }, - "@PokemonExpRate": { - "type": "enum", - "values": [ - "EXP_RATE_MEDIUM_FAST", - "EXP_RATE_ERRATIC", - "EXP_RATE_FLUCTUATING", - "EXP_RATE_MEDIUM_SLOW", - "EXP_RATE_FAST", - "EXP_RATE_SLOW" - ] - }, "@PokemonContestType": { "type": "enum", "values": [ @@ -154,20 +81,6 @@ "CONTEST_TYPE_MAX" ] }, - "@PokemonGenderRatio": { - "type": "aliases", - "as_preproc": true, - "values": { - "GENDER_RATIO_MALE_ONLY": 0, - "GENDER_RATIO_FEMALE_12_5": 31, - "GENDER_RATIO_FEMALE_25": 63, - "GENDER_RATIO_FEMALE_50": 127, - "GENDER_RATIO_FEMALE_75": 191, - "GENDER_RATIO_FEMALE_87_5": 223, - "GENDER_RATIO_FEMALE_ONLY": 254, - "GENDER_RATIO_NO_GENDER": 255 - } - }, "@PokemonFootprintSize": { "type": "enum", "as_preproc": true, diff --git a/consts/species.json b/consts/species.json deleted file mode 100644 index 30924d3d06..0000000000 --- a/consts/species.json +++ /dev/null @@ -1,506 +0,0 @@ -{ - "definitions": { - "@PokemonSpecies": { - "type": "enum", - "as_preproc": true, - "values": [ - "SPECIES_NONE", - "SPECIES_BULBASAUR", - "SPECIES_IVYSAUR", - "SPECIES_VENUSAUR", - "SPECIES_CHARMANDER", - "SPECIES_CHARMELEON", - "SPECIES_CHARIZARD", - "SPECIES_SQUIRTLE", - "SPECIES_WARTORTLE", - "SPECIES_BLASTOISE", - "SPECIES_CATERPIE", - "SPECIES_METAPOD", - "SPECIES_BUTTERFREE", - "SPECIES_WEEDLE", - "SPECIES_KAKUNA", - "SPECIES_BEEDRILL", - "SPECIES_PIDGEY", - "SPECIES_PIDGEOTTO", - "SPECIES_PIDGEOT", - "SPECIES_RATTATA", - "SPECIES_RATICATE", - "SPECIES_SPEAROW", - "SPECIES_FEAROW", - "SPECIES_EKANS", - "SPECIES_ARBOK", - "SPECIES_PIKACHU", - "SPECIES_RAICHU", - "SPECIES_SANDSHREW", - "SPECIES_SANDSLASH", - "SPECIES_NIDORAN_F", - "SPECIES_NIDORINA", - "SPECIES_NIDOQUEEN", - "SPECIES_NIDORAN_M", - "SPECIES_NIDORINO", - "SPECIES_NIDOKING", - "SPECIES_CLEFAIRY", - "SPECIES_CLEFABLE", - "SPECIES_VULPIX", - "SPECIES_NINETALES", - "SPECIES_JIGGLYPUFF", - "SPECIES_WIGGLYTUFF", - "SPECIES_ZUBAT", - "SPECIES_GOLBAT", - "SPECIES_ODDISH", - "SPECIES_GLOOM", - "SPECIES_VILEPLUME", - "SPECIES_PARAS", - "SPECIES_PARASECT", - "SPECIES_VENONAT", - "SPECIES_VENOMOTH", - "SPECIES_DIGLETT", - "SPECIES_DUGTRIO", - "SPECIES_MEOWTH", - "SPECIES_PERSIAN", - "SPECIES_PSYDUCK", - "SPECIES_GOLDUCK", - "SPECIES_MANKEY", - "SPECIES_PRIMEAPE", - "SPECIES_GROWLITHE", - "SPECIES_ARCANINE", - "SPECIES_POLIWAG", - "SPECIES_POLIWHIRL", - "SPECIES_POLIWRATH", - "SPECIES_ABRA", - "SPECIES_KADABRA", - "SPECIES_ALAKAZAM", - "SPECIES_MACHOP", - "SPECIES_MACHOKE", - "SPECIES_MACHAMP", - "SPECIES_BELLSPROUT", - "SPECIES_WEEPINBELL", - "SPECIES_VICTREEBEL", - "SPECIES_TENTACOOL", - "SPECIES_TENTACRUEL", - "SPECIES_GEODUDE", - "SPECIES_GRAVELER", - "SPECIES_GOLEM", - "SPECIES_PONYTA", - "SPECIES_RAPIDASH", - "SPECIES_SLOWPOKE", - "SPECIES_SLOWBRO", - "SPECIES_MAGNEMITE", - "SPECIES_MAGNETON", - "SPECIES_FARFETCHD", - "SPECIES_DODUO", - "SPECIES_DODRIO", - "SPECIES_SEEL", - "SPECIES_DEWGONG", - "SPECIES_GRIMER", - "SPECIES_MUK", - "SPECIES_SHELLDER", - "SPECIES_CLOYSTER", - "SPECIES_GASTLY", - "SPECIES_HAUNTER", - "SPECIES_GENGAR", - "SPECIES_ONIX", - "SPECIES_DROWZEE", - "SPECIES_HYPNO", - "SPECIES_KRABBY", - "SPECIES_KINGLER", - "SPECIES_VOLTORB", - "SPECIES_ELECTRODE", - "SPECIES_EXEGGCUTE", - "SPECIES_EXEGGUTOR", - "SPECIES_CUBONE", - "SPECIES_MAROWAK", - "SPECIES_HITMONLEE", - "SPECIES_HITMONCHAN", - "SPECIES_LICKITUNG", - "SPECIES_KOFFING", - "SPECIES_WEEZING", - "SPECIES_RHYHORN", - "SPECIES_RHYDON", - "SPECIES_CHANSEY", - "SPECIES_TANGELA", - "SPECIES_KANGASKHAN", - "SPECIES_HORSEA", - "SPECIES_SEADRA", - "SPECIES_GOLDEEN", - "SPECIES_SEAKING", - "SPECIES_STARYU", - "SPECIES_STARMIE", - "SPECIES_MR_MIME", - "SPECIES_SCYTHER", - "SPECIES_JYNX", - "SPECIES_ELECTABUZZ", - "SPECIES_MAGMAR", - "SPECIES_PINSIR", - "SPECIES_TAUROS", - "SPECIES_MAGIKARP", - "SPECIES_GYARADOS", - "SPECIES_LAPRAS", - "SPECIES_DITTO", - "SPECIES_EEVEE", - "SPECIES_VAPOREON", - "SPECIES_JOLTEON", - "SPECIES_FLAREON", - "SPECIES_PORYGON", - "SPECIES_OMANYTE", - "SPECIES_OMASTAR", - "SPECIES_KABUTO", - "SPECIES_KABUTOPS", - "SPECIES_AERODACTYL", - "SPECIES_SNORLAX", - "SPECIES_ARTICUNO", - "SPECIES_ZAPDOS", - "SPECIES_MOLTRES", - "SPECIES_DRATINI", - "SPECIES_DRAGONAIR", - "SPECIES_DRAGONITE", - "SPECIES_MEWTWO", - "SPECIES_MEW", - "SPECIES_CHIKORITA", - "SPECIES_BAYLEEF", - "SPECIES_MEGANIUM", - "SPECIES_CYNDAQUIL", - "SPECIES_QUILAVA", - "SPECIES_TYPHLOSION", - "SPECIES_TOTODILE", - "SPECIES_CROCONAW", - "SPECIES_FERALIGATR", - "SPECIES_SENTRET", - "SPECIES_FURRET", - "SPECIES_HOOTHOOT", - "SPECIES_NOCTOWL", - "SPECIES_LEDYBA", - "SPECIES_LEDIAN", - "SPECIES_SPINARAK", - "SPECIES_ARIADOS", - "SPECIES_CROBAT", - "SPECIES_CHINCHOU", - "SPECIES_LANTURN", - "SPECIES_PICHU", - "SPECIES_CLEFFA", - "SPECIES_IGGLYBUFF", - "SPECIES_TOGEPI", - "SPECIES_TOGETIC", - "SPECIES_NATU", - "SPECIES_XATU", - "SPECIES_MAREEP", - "SPECIES_FLAAFFY", - "SPECIES_AMPHAROS", - "SPECIES_BELLOSSOM", - "SPECIES_MARILL", - "SPECIES_AZUMARILL", - "SPECIES_SUDOWOODO", - "SPECIES_POLITOED", - "SPECIES_HOPPIP", - "SPECIES_SKIPLOOM", - "SPECIES_JUMPLUFF", - "SPECIES_AIPOM", - "SPECIES_SUNKERN", - "SPECIES_SUNFLORA", - "SPECIES_YANMA", - "SPECIES_WOOPER", - "SPECIES_QUAGSIRE", - "SPECIES_ESPEON", - "SPECIES_UMBREON", - "SPECIES_MURKROW", - "SPECIES_SLOWKING", - "SPECIES_MISDREAVUS", - "SPECIES_UNOWN", - "SPECIES_WOBBUFFET", - "SPECIES_GIRAFARIG", - "SPECIES_PINECO", - "SPECIES_FORRETRESS", - "SPECIES_DUNSPARCE", - "SPECIES_GLIGAR", - "SPECIES_STEELIX", - "SPECIES_SNUBBULL", - "SPECIES_GRANBULL", - "SPECIES_QWILFISH", - "SPECIES_SCIZOR", - "SPECIES_SHUCKLE", - "SPECIES_HERACROSS", - "SPECIES_SNEASEL", - "SPECIES_TEDDIURSA", - "SPECIES_URSARING", - "SPECIES_SLUGMA", - "SPECIES_MAGCARGO", - "SPECIES_SWINUB", - "SPECIES_PILOSWINE", - "SPECIES_CORSOLA", - "SPECIES_REMORAID", - "SPECIES_OCTILLERY", - "SPECIES_DELIBIRD", - "SPECIES_MANTINE", - "SPECIES_SKARMORY", - "SPECIES_HOUNDOUR", - "SPECIES_HOUNDOOM", - "SPECIES_KINGDRA", - "SPECIES_PHANPY", - "SPECIES_DONPHAN", - "SPECIES_PORYGON2", - "SPECIES_STANTLER", - "SPECIES_SMEARGLE", - "SPECIES_TYROGUE", - "SPECIES_HITMONTOP", - "SPECIES_SMOOCHUM", - "SPECIES_ELEKID", - "SPECIES_MAGBY", - "SPECIES_MILTANK", - "SPECIES_BLISSEY", - "SPECIES_RAIKOU", - "SPECIES_ENTEI", - "SPECIES_SUICUNE", - "SPECIES_LARVITAR", - "SPECIES_PUPITAR", - "SPECIES_TYRANITAR", - "SPECIES_LUGIA", - "SPECIES_HO_OH", - "SPECIES_CELEBI", - "SPECIES_TREECKO", - "SPECIES_GROVYLE", - "SPECIES_SCEPTILE", - "SPECIES_TORCHIC", - "SPECIES_COMBUSKEN", - "SPECIES_BLAZIKEN", - "SPECIES_MUDKIP", - "SPECIES_MARSHTOMP", - "SPECIES_SWAMPERT", - "SPECIES_POOCHYENA", - "SPECIES_MIGHTYENA", - "SPECIES_ZIGZAGOON", - "SPECIES_LINOONE", - "SPECIES_WURMPLE", - "SPECIES_SILCOON", - "SPECIES_BEAUTIFLY", - "SPECIES_CASCOON", - "SPECIES_DUSTOX", - "SPECIES_LOTAD", - "SPECIES_LOMBRE", - "SPECIES_LUDICOLO", - "SPECIES_SEEDOT", - "SPECIES_NUZLEAF", - "SPECIES_SHIFTRY", - "SPECIES_TAILLOW", - "SPECIES_SWELLOW", - "SPECIES_WINGULL", - "SPECIES_PELIPPER", - "SPECIES_RALTS", - "SPECIES_KIRLIA", - "SPECIES_GARDEVOIR", - "SPECIES_SURSKIT", - "SPECIES_MASQUERAIN", - "SPECIES_SHROOMISH", - "SPECIES_BRELOOM", - "SPECIES_SLAKOTH", - "SPECIES_VIGOROTH", - "SPECIES_SLAKING", - "SPECIES_NINCADA", - "SPECIES_NINJASK", - "SPECIES_SHEDINJA", - "SPECIES_WHISMUR", - "SPECIES_LOUDRED", - "SPECIES_EXPLOUD", - "SPECIES_MAKUHITA", - "SPECIES_HARIYAMA", - "SPECIES_AZURILL", - "SPECIES_NOSEPASS", - "SPECIES_SKITTY", - "SPECIES_DELCATTY", - "SPECIES_SABLEYE", - "SPECIES_MAWILE", - "SPECIES_ARON", - "SPECIES_LAIRON", - "SPECIES_AGGRON", - "SPECIES_MEDITITE", - "SPECIES_MEDICHAM", - "SPECIES_ELECTRIKE", - "SPECIES_MANECTRIC", - "SPECIES_PLUSLE", - "SPECIES_MINUN", - "SPECIES_VOLBEAT", - "SPECIES_ILLUMISE", - "SPECIES_ROSELIA", - "SPECIES_GULPIN", - "SPECIES_SWALOT", - "SPECIES_CARVANHA", - "SPECIES_SHARPEDO", - "SPECIES_WAILMER", - "SPECIES_WAILORD", - "SPECIES_NUMEL", - "SPECIES_CAMERUPT", - "SPECIES_TORKOAL", - "SPECIES_SPOINK", - "SPECIES_GRUMPIG", - "SPECIES_SPINDA", - "SPECIES_TRAPINCH", - "SPECIES_VIBRAVA", - "SPECIES_FLYGON", - "SPECIES_CACNEA", - "SPECIES_CACTURNE", - "SPECIES_SWABLU", - "SPECIES_ALTARIA", - "SPECIES_ZANGOOSE", - "SPECIES_SEVIPER", - "SPECIES_LUNATONE", - "SPECIES_SOLROCK", - "SPECIES_BARBOACH", - "SPECIES_WHISCASH", - "SPECIES_CORPHISH", - "SPECIES_CRAWDAUNT", - "SPECIES_BALTOY", - "SPECIES_CLAYDOL", - "SPECIES_LILEEP", - "SPECIES_CRADILY", - "SPECIES_ANORITH", - "SPECIES_ARMALDO", - "SPECIES_FEEBAS", - "SPECIES_MILOTIC", - "SPECIES_CASTFORM", - "SPECIES_KECLEON", - "SPECIES_SHUPPET", - "SPECIES_BANETTE", - "SPECIES_DUSKULL", - "SPECIES_DUSCLOPS", - "SPECIES_TROPIUS", - "SPECIES_CHIMECHO", - "SPECIES_ABSOL", - "SPECIES_WYNAUT", - "SPECIES_SNORUNT", - "SPECIES_GLALIE", - "SPECIES_SPHEAL", - "SPECIES_SEALEO", - "SPECIES_WALREIN", - "SPECIES_CLAMPERL", - "SPECIES_HUNTAIL", - "SPECIES_GOREBYSS", - "SPECIES_RELICANTH", - "SPECIES_LUVDISC", - "SPECIES_BAGON", - "SPECIES_SHELGON", - "SPECIES_SALAMENCE", - "SPECIES_BELDUM", - "SPECIES_METANG", - "SPECIES_METAGROSS", - "SPECIES_REGIROCK", - "SPECIES_REGICE", - "SPECIES_REGISTEEL", - "SPECIES_LATIAS", - "SPECIES_LATIOS", - "SPECIES_KYOGRE", - "SPECIES_GROUDON", - "SPECIES_RAYQUAZA", - "SPECIES_JIRACHI", - "SPECIES_DEOXYS", - "SPECIES_TURTWIG", - "SPECIES_GROTLE", - "SPECIES_TORTERRA", - "SPECIES_CHIMCHAR", - "SPECIES_MONFERNO", - "SPECIES_INFERNAPE", - "SPECIES_PIPLUP", - "SPECIES_PRINPLUP", - "SPECIES_EMPOLEON", - "SPECIES_STARLY", - "SPECIES_STARAVIA", - "SPECIES_STARAPTOR", - "SPECIES_BIDOOF", - "SPECIES_BIBAREL", - "SPECIES_KRICKETOT", - "SPECIES_KRICKETUNE", - "SPECIES_SHINX", - "SPECIES_LUXIO", - "SPECIES_LUXRAY", - "SPECIES_BUDEW", - "SPECIES_ROSERADE", - "SPECIES_CRANIDOS", - "SPECIES_RAMPARDOS", - "SPECIES_SHIELDON", - "SPECIES_BASTIODON", - "SPECIES_BURMY", - "SPECIES_WORMADAM", - "SPECIES_MOTHIM", - "SPECIES_COMBEE", - "SPECIES_VESPIQUEN", - "SPECIES_PACHIRISU", - "SPECIES_BUIZEL", - "SPECIES_FLOATZEL", - "SPECIES_CHERUBI", - "SPECIES_CHERRIM", - "SPECIES_SHELLOS", - "SPECIES_GASTRODON", - "SPECIES_AMBIPOM", - "SPECIES_DRIFLOON", - "SPECIES_DRIFBLIM", - "SPECIES_BUNEARY", - "SPECIES_LOPUNNY", - "SPECIES_MISMAGIUS", - "SPECIES_HONCHKROW", - "SPECIES_GLAMEOW", - "SPECIES_PURUGLY", - "SPECIES_CHINGLING", - "SPECIES_STUNKY", - "SPECIES_SKUNTANK", - "SPECIES_BRONZOR", - "SPECIES_BRONZONG", - "SPECIES_BONSLY", - "SPECIES_MIME_JR", - "SPECIES_HAPPINY", - "SPECIES_CHATOT", - "SPECIES_SPIRITOMB", - "SPECIES_GIBLE", - "SPECIES_GABITE", - "SPECIES_GARCHOMP", - "SPECIES_MUNCHLAX", - "SPECIES_RIOLU", - "SPECIES_LUCARIO", - "SPECIES_HIPPOPOTAS", - "SPECIES_HIPPOWDON", - "SPECIES_SKORUPI", - "SPECIES_DRAPION", - "SPECIES_CROAGUNK", - "SPECIES_TOXICROAK", - "SPECIES_CARNIVINE", - "SPECIES_FINNEON", - "SPECIES_LUMINEON", - "SPECIES_MANTYKE", - "SPECIES_SNOVER", - "SPECIES_ABOMASNOW", - "SPECIES_WEAVILE", - "SPECIES_MAGNEZONE", - "SPECIES_LICKILICKY", - "SPECIES_RHYPERIOR", - "SPECIES_TANGROWTH", - "SPECIES_ELECTIVIRE", - "SPECIES_MAGMORTAR", - "SPECIES_TOGEKISS", - "SPECIES_YANMEGA", - "SPECIES_LEAFEON", - "SPECIES_GLACEON", - "SPECIES_GLISCOR", - "SPECIES_MAMOSWINE", - "SPECIES_PORYGON_Z", - "SPECIES_GALLADE", - "SPECIES_PROBOPASS", - "SPECIES_DUSKNOIR", - "SPECIES_FROSLASS", - "SPECIES_ROTOM", - "SPECIES_UXIE", - "SPECIES_MESPRIT", - "SPECIES_AZELF", - "SPECIES_DIALGA", - "SPECIES_PALKIA", - "SPECIES_HEATRAN", - "SPECIES_REGIGIGAS", - "SPECIES_GIRATINA", - "SPECIES_CRESSELIA", - "SPECIES_PHIONE", - "SPECIES_MANAPHY", - "SPECIES_DARKRAI", - "SPECIES_SHAYMIN", - "SPECIES_ARCEUS", - "SPECIES_EGG", - "SPECIES_BAD_EGG" - ] - } - } -} diff --git a/gen_compile_commands.py b/gen_compile_commands.py index b6085a31dc..a7f924ce18 100644 --- a/gen_compile_commands.py +++ b/gen_compile_commands.py @@ -40,6 +40,10 @@ arm9_c_flags = [ '-DSDK_CW_FORCE_EXPORT_SUPPORT', '-DSDK_FINALROM', '-DSDK_TS', + '-DPOKEPLATINUM_GENERATED_ENUM', + '-DPM_KEEP_ASSERTS', + '-DGAME_VERSION=PLATINUM', + '-DGAME_LANGUAGE=ENGLISH' ] asm_commands = [ diff --git a/generated/abilities.txt b/generated/abilities.txt new file mode 100644 index 0000000000..1f61db2806 --- /dev/null +++ b/generated/abilities.txt @@ -0,0 +1,124 @@ +ABILITY_NONE +ABILITY_STENCH +ABILITY_DRIZZLE +ABILITY_SPEED_BOOST +ABILITY_BATTLE_ARMOR +ABILITY_STURDY +ABILITY_DAMP +ABILITY_LIMBER +ABILITY_SAND_VEIL +ABILITY_STATIC +ABILITY_VOLT_ABSORB +ABILITY_WATER_ABSORB +ABILITY_OBLIVIOUS +ABILITY_CLOUD_NINE +ABILITY_COMPOUND_EYES +ABILITY_INSOMNIA +ABILITY_COLOR_CHANGE +ABILITY_IMMUNITY +ABILITY_FLASH_FIRE +ABILITY_SHIELD_DUST +ABILITY_OWN_TEMPO +ABILITY_SUCTION_CUPS +ABILITY_INTIMIDATE +ABILITY_SHADOW_TAG +ABILITY_ROUGH_SKIN +ABILITY_WONDER_GUARD +ABILITY_LEVITATE +ABILITY_EFFECT_SPORE +ABILITY_SYNCHRONIZE +ABILITY_CLEAR_BODY +ABILITY_NATURAL_CURE +ABILITY_LIGHTNING_ROD +ABILITY_SERENE_GRACE +ABILITY_SWIFT_SWIM +ABILITY_CHLOROPHYLL +ABILITY_ILLUMINATE +ABILITY_TRACE +ABILITY_HUGE_POWER +ABILITY_POISON_POINT +ABILITY_INNER_FOCUS +ABILITY_MAGMA_ARMOR +ABILITY_WATER_VEIL +ABILITY_MAGNET_PULL +ABILITY_SOUNDPROOF +ABILITY_RAIN_DISH +ABILITY_SAND_STREAM +ABILITY_PRESSURE +ABILITY_THICK_FAT +ABILITY_EARLY_BIRD +ABILITY_FLAME_BODY +ABILITY_RUN_AWAY +ABILITY_KEEN_EYE +ABILITY_HYPER_CUTTER +ABILITY_PICKUP +ABILITY_TRUANT +ABILITY_HUSTLE +ABILITY_CUTE_CHARM +ABILITY_PLUS +ABILITY_MINUS +ABILITY_FORECAST +ABILITY_STICKY_HOLD +ABILITY_SHED_SKIN +ABILITY_GUTS +ABILITY_MARVEL_SCALE +ABILITY_LIQUID_OOZE +ABILITY_OVERGROW +ABILITY_BLAZE +ABILITY_TORRENT +ABILITY_SWARM +ABILITY_ROCK_HEAD +ABILITY_DROUGHT +ABILITY_ARENA_TRAP +ABILITY_VITAL_SPIRIT +ABILITY_WHITE_SMOKE +ABILITY_PURE_POWER +ABILITY_SHELL_ARMOR +ABILITY_AIR_LOCK +ABILITY_TANGLED_FEET +ABILITY_MOTOR_DRIVE +ABILITY_RIVALRY +ABILITY_STEADFAST +ABILITY_SNOW_CLOAK +ABILITY_GLUTTONY +ABILITY_ANGER_POINT +ABILITY_UNBURDEN +ABILITY_HEATPROOF +ABILITY_SIMPLE +ABILITY_DRY_SKIN +ABILITY_DOWNLOAD +ABILITY_IRON_FIST +ABILITY_POISON_HEAL +ABILITY_ADAPTABILITY +ABILITY_SKILL_LINK +ABILITY_HYDRATION +ABILITY_SOLAR_POWER +ABILITY_QUICK_FEET +ABILITY_NORMALIZE +ABILITY_SNIPER +ABILITY_MAGIC_GUARD +ABILITY_NO_GUARD +ABILITY_STALL +ABILITY_TECHNICIAN +ABILITY_LEAF_GUARD +ABILITY_KLUTZ +ABILITY_MOLD_BREAKER +ABILITY_SUPER_LUCK +ABILITY_AFTERMATH +ABILITY_ANTICIPATION +ABILITY_FOREWARN +ABILITY_UNAWARE +ABILITY_TINTED_LENS +ABILITY_FILTER +ABILITY_SLOW_START +ABILITY_SCRAPPY +ABILITY_STORM_DRAIN +ABILITY_ICE_BODY +ABILITY_SOLID_ROCK +ABILITY_SNOW_WARNING +ABILITY_HONEY_GATHER +ABILITY_FRISK +ABILITY_RECKLESS +ABILITY_MULTITYPE +ABILITY_FLOWER_GIFT +ABILITY_BAD_DREAMS diff --git a/generated/egg_groups.txt b/generated/egg_groups.txt new file mode 100644 index 0000000000..18f48343e9 --- /dev/null +++ b/generated/egg_groups.txt @@ -0,0 +1,16 @@ +EGG_GROUP_NONE +EGG_GROUP_MONSTER +EGG_GROUP_WATER_1 +EGG_GROUP_BUG +EGG_GROUP_FLYING +EGG_GROUP_FIELD +EGG_GROUP_FAIRY +EGG_GROUP_GRASS +EGG_GROUP_HUMAN_LIKE +EGG_GROUP_WATER_3 +EGG_GROUP_MINERAL +EGG_GROUP_AMORPHOUS +EGG_GROUP_WATER_2 +EGG_GROUP_DITTO +EGG_GROUP_DRAGON +EGG_GROUP_UNDISCOVERED diff --git a/generated/exp_rates.txt b/generated/exp_rates.txt new file mode 100644 index 0000000000..43abaca332 --- /dev/null +++ b/generated/exp_rates.txt @@ -0,0 +1,6 @@ +EXP_RATE_MEDIUM_FAST +EXP_RATE_ERRATIC +EXP_RATE_FLUCTUATING +EXP_RATE_MEDIUM_SLOW +EXP_RATE_FAST +EXP_RATE_SLOW diff --git a/generated/gender_ratios.txt b/generated/gender_ratios.txt new file mode 100644 index 0000000000..c453f1f638 --- /dev/null +++ b/generated/gender_ratios.txt @@ -0,0 +1,8 @@ +GENDER_RATIO_MALE_ONLY = 0 +GENDER_RATIO_FEMALE_12_5 = 31 +GENDER_RATIO_FEMALE_25 = 63 +GENDER_RATIO_FEMALE_50 = 127 +GENDER_RATIO_FEMALE_75 = 191 +GENDER_RATIO_FEMALE_87_5 = 223 +GENDER_RATIO_FEMALE_ONLY = 254 +GENDER_RATIO_NO_GENDER = 255 diff --git a/generated/item_hold_effects.txt b/generated/item_hold_effects.txt new file mode 100644 index 0000000000..8b6edea913 --- /dev/null +++ b/generated/item_hold_effects.txt @@ -0,0 +1,147 @@ +HOLD_EFFECT_NONE +HOLD_EFFECT_HP_RESTORE +HOLD_EFFECT_GIRATINA_BOOST +HOLD_EFFECT_DIALGA_BOOST +HOLD_EFFECT_PALKIA_BOOST +HOLD_EFFECT_PRZ_RESTORE +HOLD_EFFECT_SLP_RESTORE +HOLD_EFFECT_PSN_RESTORE +HOLD_EFFECT_BRN_RESTORE +HOLD_EFFECT_FRZ_RESTORE +HOLD_EFFECT_PP_RESTORE +HOLD_EFFECT_CONFUSE_RESTORE +HOLD_EFFECT_STATUS_RESTORE +HOLD_EFFECT_HP_PCT_RESTORE +HOLD_EFFECT_HP_RESTORE_SPICY +HOLD_EFFECT_HP_RESTORE_DRY +HOLD_EFFECT_HP_RESTORE_SWEET +HOLD_EFFECT_HP_RESTORE_BITTER +HOLD_EFFECT_HP_RESTORE_SOUR +HOLD_EFFECT_WEAKEN_SE_FIRE +HOLD_EFFECT_WEAKEN_SE_WATER +HOLD_EFFECT_WEAKEN_SE_ELECTRIC +HOLD_EFFECT_WEAKEN_SE_GRASS +HOLD_EFFECT_WEAKEN_SE_ICE +HOLD_EFFECT_WEAKEN_SE_FIGHT +HOLD_EFFECT_WEAKEN_SE_POISON +HOLD_EFFECT_WEAKEN_SE_GROUND +HOLD_EFFECT_WEAKEN_SE_FLYING +HOLD_EFFECT_WEAKEN_SE_PSYCHIC +HOLD_EFFECT_WEAKEN_SE_BUG +HOLD_EFFECT_WEAKEN_SE_ROCK +HOLD_EFFECT_WEAKEN_SE_GHOST +HOLD_EFFECT_WEAKEN_SE_DRAGON +HOLD_EFFECT_WEAKEN_SE_DARK +HOLD_EFFECT_WEAKEN_SE_STEEL +HOLD_EFFECT_WEAKEN_NORMAL +HOLD_EFFECT_PINCH_ATK_UP +HOLD_EFFECT_PINCH_DEF_UP +HOLD_EFFECT_PINCH_SPEED_UP +HOLD_EFFECT_PINCH_SPATK_UP +HOLD_EFFECT_PINCH_SPDEF_UP +HOLD_EFFECT_PINCH_CRITRATE_UP +HOLD_EFFECT_PINCH_RANDOM_UP +HOLD_EFFECT_HP_RESTORE_SE +HOLD_EFFECT_PINCH_ACC_UP +HOLD_EFFECT_PINCH_PRIORITY +HOLD_EFFECT_RECOIL_PHYSICAL +HOLD_EFFECT_RECOIL_SPECIAL +HOLD_EFFECT_ACC_REDUCE +HOLD_EFFECT_STATDOWN_RESTORE +HOLD_EFFECT_EVS_UP_SPEED_DOWN +HOLD_EFFECT_EXP_SHARE +HOLD_EFFECT_SOMETIMES_PRIORITY +HOLD_EFFECT_FRIENDSHIP_UP +HOLD_EFFECT_HEAL_INFATUATION +HOLD_EFFECT_CHOICE_ATK +HOLD_EFFECT_SOMETIMES_FLINCH +HOLD_EFFECT_STRENGTHEN_BUG +HOLD_EFFECT_MONEY_UP +HOLD_EFFECT_ENCOUNTERS_DOWN +HOLD_EFFECT_LATI_SPECIAL +HOLD_EFFECT_CLAMPERL_SPATK +HOLD_EFFECT_CLAMPERL_SPDEF +HOLD_EFFECT_FLEE +HOLD_EFFECT_NO_EVOLVE +HOLD_EFFECT_MAYBE_ENDURE +HOLD_EFFECT_EXP_UP +HOLD_EFFECT_CRITRATE_UP +HOLD_EFFECT_STRENGTHEN_STEEL +HOLD_EFFECT_HP_RESTORE_GRADUAL +HOLD_EFFECT_EVOLVE_SEADRA +HOLD_EFFECT_PIKA_SPATK_UP +HOLD_EFFECT_STRENGTHEN_GROUND +HOLD_EFFECT_STRENGTHEN_ROCK +HOLD_EFFECT_STRENGTHEN_GRASS +HOLD_EFFECT_STRENGTHEN_DARK +HOLD_EFFECT_STRENGTHEN_FIGHT +HOLD_EFFECT_STRENGTHEN_ELECTRIC +HOLD_EFFECT_STRENGTHEN_WATER +HOLD_EFFECT_STRENGTHEN_FLYING +HOLD_EFFECT_STRENGTHEN_POISON +HOLD_EFFECT_STRENGTHEN_ICE +HOLD_EFFECT_STRENGTHEN_GHOST +HOLD_EFFECT_STRENGTHEN_PSYCHIC +HOLD_EFFECT_STRENGTHEN_FIRE +HOLD_EFFECT_STRENGTHEN_DRAGON +HOLD_EFFECT_STRENGTHEN_NORMAL +HOLD_EFFECT_EVOLVE_PORYGON +HOLD_EFFECT_HP_RESTORE_ON_DMG +HOLD_EFFECT_CHANSEY_CRITRATE_UP +HOLD_EFFECT_DITTO_DEF_UP +HOLD_EFFECT_CUBONE_ATK_UP +HOLD_EFFECT_FARFETCHD_CRITRATE_UP +HOLD_EFFECT_ACCURACY_UP +HOLD_EFFECT_POWER_UP_PHYS +HOLD_EFFECT_POWER_UP_SPEC +HOLD_EFFECT_POWER_UP_SE +HOLD_EFFECT_EXTEND_SCREENS +HOLD_EFFECT_HP_DRAIN_ON_ATK +HOLD_EFFECT_CHARGE_SKIP +HOLD_EFFECT_PSN_USER +HOLD_EFFECT_BRN_USER +HOLD_EFFECT_DITTO_SPEED_UP +HOLD_EFFECT_ENDURE +HOLD_EFFECT_ACCURACY_UP_SLOWER +HOLD_EFFECT_BOOST_REPEATED +HOLD_EFFECT_SPEED_DOWN_GROUNDED +HOLD_EFFECT_PRIORITY_DOWN +HOLD_EFFECT_RECIPROCATE_INFAT +HOLD_EFFECT_HP_RESTORE_PSN_TYPE +HOLD_EFFECT_EXTEND_HAIL +HOLD_EFFECT_EXTEND_SANDSTORM +HOLD_EFFECT_EXTEND_SUN +HOLD_EFFECT_EXTEND_RAIN +HOLD_EFFECT_EXTEND_TRAPPING +HOLD_EFFECT_CHOICE_SPEED +HOLD_EFFECT_DMG_USER_CONTACT_XFR +HOLD_EFFECT_LVLUP_ATK_EV_UP +HOLD_EFFECT_LVLUP_DEF_EV_UP +HOLD_EFFECT_LVLUP_SPATK_EV_UP +HOLD_EFFECT_LVLUP_SPDEF_EV_UP +HOLD_EFFECT_LVLUP_SPEED_EV_UP +HOLD_EFFECT_LVLUP_HP_EV_UP +HOLD_EFFECT_SWITCH +HOLD_EFFECT_LEECH_BOOST +HOLD_EFFECT_CHOICE_SPATK +HOLD_EFFECT_ARCEUS_FIRE +HOLD_EFFECT_ARCEUS_WATER +HOLD_EFFECT_ARCEUS_ELECTRIC +HOLD_EFFECT_ARCEUS_GRASS +HOLD_EFFECT_ARCEUS_ICE +HOLD_EFFECT_ARCEUS_FIGHTING +HOLD_EFFECT_ARCEUS_POISON +HOLD_EFFECT_ARCEUS_GROUND +HOLD_EFFECT_ARCEUS_FLYING +HOLD_EFFECT_ARCEUS_PSYCHIC +HOLD_EFFECT_ARCEUS_BUG +HOLD_EFFECT_ARCEUS_ROCK +HOLD_EFFECT_ARCEUS_GHOST +HOLD_EFFECT_ARCEUS_DRAGON +HOLD_EFFECT_ARCEUS_DARK +HOLD_EFFECT_ARCEUS_STEEL +HOLD_EFFECT_EVOLVE_RHYDON +HOLD_EFFECT_EVOLVE_ELECTABUZZ +HOLD_EFFECT_EVOLVE_MAGMAR +HOLD_EFFECT_EVOLVE_PORYGON2 +HOLD_EFFECT_EVOLVE_DUSCLOPS diff --git a/generated/items.txt b/generated/items.txt new file mode 100644 index 0000000000..dc446dcad7 --- /dev/null +++ b/generated/items.txt @@ -0,0 +1,469 @@ +ITEM_NONE +ITEM_MASTER_BALL +ITEM_ULTRA_BALL +ITEM_GREAT_BALL +ITEM_POKE_BALL +ITEM_SAFARI_BALL +ITEM_NET_BALL +ITEM_DIVE_BALL +ITEM_NEST_BALL +ITEM_REPEAT_BALL +ITEM_TIMER_BALL +ITEM_LUXURY_BALL +ITEM_PREMIER_BALL +ITEM_DUSK_BALL +ITEM_HEAL_BALL +ITEM_QUICK_BALL +ITEM_CHERISH_BALL +ITEM_POTION +ITEM_ANTIDOTE +ITEM_BURN_HEAL +ITEM_ICE_HEAL +ITEM_AWAKENING +ITEM_PARLYZ_HEAL +ITEM_FULL_RESTORE +ITEM_MAX_POTION +ITEM_HYPER_POTION +ITEM_SUPER_POTION +ITEM_FULL_HEAL +ITEM_REVIVE +ITEM_MAX_REVIVE +ITEM_FRESH_WATER +ITEM_SODA_POP +ITEM_LEMONADE +ITEM_MOOMOO_MILK +ITEM_ENERGYPOWDER +ITEM_ENERGY_ROOT +ITEM_HEAL_POWDER +ITEM_REVIVAL_HERB +ITEM_ETHER +ITEM_MAX_ETHER +ITEM_ELIXIR +ITEM_MAX_ELIXIR +ITEM_LAVA_COOKIE +ITEM_BERRY_JUICE +ITEM_SACRED_ASH +ITEM_HP_UP +ITEM_PROTEIN +ITEM_IRON +ITEM_CARBOS +ITEM_CALCIUM +ITEM_RARE_CANDY +ITEM_PP_UP +ITEM_ZINC +ITEM_PP_MAX +ITEM_OLD_GATEAU +ITEM_GUARD_SPEC_ +ITEM_DIRE_HIT +ITEM_X_ATTACK +ITEM_X_DEFENSE +ITEM_X_SPEED +ITEM_X_ACCURACY +ITEM_X_SPECIAL +ITEM_X_SP__DEF +ITEM_POKE_DOLL +ITEM_FLUFFY_TAIL +ITEM_BLUE_FLUTE +ITEM_YELLOW_FLUTE +ITEM_RED_FLUTE +ITEM_BLACK_FLUTE +ITEM_WHITE_FLUTE +ITEM_SHOAL_SALT +ITEM_SHOAL_SHELL +ITEM_RED_SHARD +ITEM_BLUE_SHARD +ITEM_YELLOW_SHARD +ITEM_GREEN_SHARD +ITEM_SUPER_REPEL +ITEM_MAX_REPEL +ITEM_ESCAPE_ROPE +ITEM_REPEL +ITEM_SUN_STONE +ITEM_MOON_STONE +ITEM_FIRE_STONE +ITEM_THUNDERSTONE +ITEM_WATER_STONE +ITEM_LEAF_STONE +ITEM_TINYMUSHROOM +ITEM_BIG_MUSHROOM +ITEM_PEARL +ITEM_BIG_PEARL +ITEM_STARDUST +ITEM_STAR_PIECE +ITEM_NUGGET +ITEM_HEART_SCALE +ITEM_HONEY +ITEM_GROWTH_MULCH +ITEM_DAMP_MULCH +ITEM_STABLE_MULCH +ITEM_GOOEY_MULCH +ITEM_ROOT_FOSSIL +ITEM_CLAW_FOSSIL +ITEM_HELIX_FOSSIL +ITEM_DOME_FOSSIL +ITEM_OLD_AMBER +ITEM_ARMOR_FOSSIL +ITEM_SKULL_FOSSIL +ITEM_RARE_BONE +ITEM_SHINY_STONE +ITEM_DUSK_STONE +ITEM_DAWN_STONE +ITEM_OVAL_STONE +ITEM_ODD_KEYSTONE +ITEM_GRISEOUS_ORB +ITEM_UNUSED_113 +ITEM_UNUSED_114 +ITEM_UNUSED_115 +ITEM_UNUSED_116 +ITEM_UNUSED_117 +ITEM_UNUSED_118 +ITEM_UNUSED_119 +ITEM_UNUSED_120 +ITEM_UNUSED_121 +ITEM_UNUSED_122 +ITEM_UNUSED_123 +ITEM_UNUSED_124 +ITEM_UNUSED_125 +ITEM_UNUSED_126 +ITEM_UNUSED_127 +ITEM_UNUSED_128 +ITEM_UNUSED_129 +ITEM_UNUSED_130 +ITEM_UNUSED_131 +ITEM_UNUSED_132 +ITEM_UNUSED_133 +ITEM_UNUSED_134 +ITEM_ADAMANT_ORB +ITEM_LUSTROUS_ORB +ITEM_GRASS_MAIL +ITEM_FLAME_MAIL +ITEM_BUBBLE_MAIL +ITEM_BLOOM_MAIL +ITEM_TUNNEL_MAIL +ITEM_STEEL_MAIL +ITEM_HEART_MAIL +ITEM_SNOW_MAIL +ITEM_SPACE_MAIL +ITEM_AIR_MAIL +ITEM_MOSAIC_MAIL +ITEM_BRICK_MAIL +ITEM_CHERI_BERRY +ITEM_CHESTO_BERRY +ITEM_PECHA_BERRY +ITEM_RAWST_BERRY +ITEM_ASPEAR_BERRY +ITEM_LEPPA_BERRY +ITEM_ORAN_BERRY +ITEM_PERSIM_BERRY +ITEM_LUM_BERRY +ITEM_SITRUS_BERRY +ITEM_FIGY_BERRY +ITEM_WIKI_BERRY +ITEM_MAGO_BERRY +ITEM_AGUAV_BERRY +ITEM_IAPAPA_BERRY +ITEM_RAZZ_BERRY +ITEM_BLUK_BERRY +ITEM_NANAB_BERRY +ITEM_WEPEAR_BERRY +ITEM_PINAP_BERRY +ITEM_POMEG_BERRY +ITEM_KELPSY_BERRY +ITEM_QUALOT_BERRY +ITEM_HONDEW_BERRY +ITEM_GREPA_BERRY +ITEM_TAMATO_BERRY +ITEM_CORNN_BERRY +ITEM_MAGOST_BERRY +ITEM_RABUTA_BERRY +ITEM_NOMEL_BERRY +ITEM_SPELON_BERRY +ITEM_PAMTRE_BERRY +ITEM_WATMEL_BERRY +ITEM_DURIN_BERRY +ITEM_BELUE_BERRY +ITEM_OCCA_BERRY +ITEM_PASSHO_BERRY +ITEM_WACAN_BERRY +ITEM_RINDO_BERRY +ITEM_YACHE_BERRY +ITEM_CHOPLE_BERRY +ITEM_KEBIA_BERRY +ITEM_SHUCA_BERRY +ITEM_COBA_BERRY +ITEM_PAYAPA_BERRY +ITEM_TANGA_BERRY +ITEM_CHARTI_BERRY +ITEM_KASIB_BERRY +ITEM_HABAN_BERRY +ITEM_COLBUR_BERRY +ITEM_BABIRI_BERRY +ITEM_CHILAN_BERRY +ITEM_LIECHI_BERRY +ITEM_GANLON_BERRY +ITEM_SALAC_BERRY +ITEM_PETAYA_BERRY +ITEM_APICOT_BERRY +ITEM_LANSAT_BERRY +ITEM_STARF_BERRY +ITEM_ENIGMA_BERRY +ITEM_MICLE_BERRY +ITEM_CUSTAP_BERRY +ITEM_JABOCA_BERRY +ITEM_ROWAP_BERRY +ITEM_BRIGHTPOWDER +ITEM_WHITE_HERB +ITEM_MACHO_BRACE +ITEM_EXP_SHARE +ITEM_QUICK_CLAW +ITEM_SOOTHE_BELL +ITEM_MENTAL_HERB +ITEM_CHOICE_BAND +ITEM_KINGS_ROCK +ITEM_SILVERPOWDER +ITEM_AMULET_COIN +ITEM_CLEANSE_TAG +ITEM_SOUL_DEW +ITEM_DEEPSEATOOTH +ITEM_DEEPSEASCALE +ITEM_SMOKE_BALL +ITEM_EVERSTONE +ITEM_FOCUS_BAND +ITEM_LUCKY_EGG +ITEM_SCOPE_LENS +ITEM_METAL_COAT +ITEM_LEFTOVERS +ITEM_DRAGON_SCALE +ITEM_LIGHT_BALL +ITEM_SOFT_SAND +ITEM_HARD_STONE +ITEM_MIRACLE_SEED +ITEM_BLACKGLASSES +ITEM_BLACK_BELT +ITEM_MAGNET +ITEM_MYSTIC_WATER +ITEM_SHARP_BEAK +ITEM_POISON_BARB +ITEM_NEVERMELTICE +ITEM_SPELL_TAG +ITEM_TWISTEDSPOON +ITEM_CHARCOAL +ITEM_DRAGON_FANG +ITEM_SILK_SCARF +ITEM_UPGRADE +ITEM_SHELL_BELL +ITEM_SEA_INCENSE +ITEM_LAX_INCENSE +ITEM_LUCKY_PUNCH +ITEM_METAL_POWDER +ITEM_THICK_CLUB +ITEM_STICK +ITEM_RED_SCARF +ITEM_BLUE_SCARF +ITEM_PINK_SCARF +ITEM_GREEN_SCARF +ITEM_YELLOW_SCARF +ITEM_WIDE_LENS +ITEM_MUSCLE_BAND +ITEM_WISE_GLASSES +ITEM_EXPERT_BELT +ITEM_LIGHT_CLAY +ITEM_LIFE_ORB +ITEM_POWER_HERB +ITEM_TOXIC_ORB +ITEM_FLAME_ORB +ITEM_QUICK_POWDER +ITEM_FOCUS_SASH +ITEM_ZOOM_LENS +ITEM_METRONOME +ITEM_IRON_BALL +ITEM_LAGGING_TAIL +ITEM_DESTINY_KNOT +ITEM_BLACK_SLUDGE +ITEM_ICY_ROCK +ITEM_SMOOTH_ROCK +ITEM_HEAT_ROCK +ITEM_DAMP_ROCK +ITEM_GRIP_CLAW +ITEM_CHOICE_SCARF +ITEM_STICKY_BARB +ITEM_POWER_BRACER +ITEM_POWER_BELT +ITEM_POWER_LENS +ITEM_POWER_BAND +ITEM_POWER_ANKLET +ITEM_POWER_WEIGHT +ITEM_SHED_SHELL +ITEM_BIG_ROOT +ITEM_CHOICE_SPECS +ITEM_FLAME_PLATE +ITEM_SPLASH_PLATE +ITEM_ZAP_PLATE +ITEM_MEADOW_PLATE +ITEM_ICICLE_PLATE +ITEM_FIST_PLATE +ITEM_TOXIC_PLATE +ITEM_EARTH_PLATE +ITEM_SKY_PLATE +ITEM_MIND_PLATE +ITEM_INSECT_PLATE +ITEM_STONE_PLATE +ITEM_SPOOKY_PLATE +ITEM_DRACO_PLATE +ITEM_DREAD_PLATE +ITEM_IRON_PLATE +ITEM_ODD_INCENSE +ITEM_ROCK_INCENSE +ITEM_FULL_INCENSE +ITEM_WAVE_INCENSE +ITEM_ROSE_INCENSE +ITEM_LUCK_INCENSE +ITEM_PURE_INCENSE +ITEM_PROTECTOR +ITEM_ELECTIRIZER +ITEM_MAGMARIZER +ITEM_DUBIOUS_DISC +ITEM_REAPER_CLOTH +ITEM_RAZOR_CLAW +ITEM_RAZOR_FANG +ITEM_TM01 +ITEM_TM02 +ITEM_TM03 +ITEM_TM04 +ITEM_TM05 +ITEM_TM06 +ITEM_TM07 +ITEM_TM08 +ITEM_TM09 +ITEM_TM10 +ITEM_TM11 +ITEM_TM12 +ITEM_TM13 +ITEM_TM14 +ITEM_TM15 +ITEM_TM16 +ITEM_TM17 +ITEM_TM18 +ITEM_TM19 +ITEM_TM20 +ITEM_TM21 +ITEM_TM22 +ITEM_TM23 +ITEM_TM24 +ITEM_TM25 +ITEM_TM26 +ITEM_TM27 +ITEM_TM28 +ITEM_TM29 +ITEM_TM30 +ITEM_TM31 +ITEM_TM32 +ITEM_TM33 +ITEM_TM34 +ITEM_TM35 +ITEM_TM36 +ITEM_TM37 +ITEM_TM38 +ITEM_TM39 +ITEM_TM40 +ITEM_TM41 +ITEM_TM42 +ITEM_TM43 +ITEM_TM44 +ITEM_TM45 +ITEM_TM46 +ITEM_TM47 +ITEM_TM48 +ITEM_TM49 +ITEM_TM50 +ITEM_TM51 +ITEM_TM52 +ITEM_TM53 +ITEM_TM54 +ITEM_TM55 +ITEM_TM56 +ITEM_TM57 +ITEM_TM58 +ITEM_TM59 +ITEM_TM60 +ITEM_TM61 +ITEM_TM62 +ITEM_TM63 +ITEM_TM64 +ITEM_TM65 +ITEM_TM66 +ITEM_TM67 +ITEM_TM68 +ITEM_TM69 +ITEM_TM70 +ITEM_TM71 +ITEM_TM72 +ITEM_TM73 +ITEM_TM74 +ITEM_TM75 +ITEM_TM76 +ITEM_TM77 +ITEM_TM78 +ITEM_TM79 +ITEM_TM80 +ITEM_TM81 +ITEM_TM82 +ITEM_TM83 +ITEM_TM84 +ITEM_TM85 +ITEM_TM86 +ITEM_TM87 +ITEM_TM88 +ITEM_TM89 +ITEM_TM90 +ITEM_TM91 +ITEM_TM92 +ITEM_HM01 +ITEM_HM02 +ITEM_HM03 +ITEM_HM04 +ITEM_HM05 +ITEM_HM06 +ITEM_HM07 +ITEM_HM08 +ITEM_EXPLORER_KIT +ITEM_LOOT_SACK +ITEM_RULE_BOOK +ITEM_POKE_RADAR +ITEM_POINT_CARD +ITEM_JOURNAL +ITEM_SEAL_CASE +ITEM_FASHION_CASE +ITEM_SEAL_BAG +ITEM_PAL_PAD +ITEM_WORKS_KEY +ITEM_OLD_CHARM +ITEM_GALACTIC_KEY +ITEM_RED_CHAIN +ITEM_TOWN_MAP +ITEM_VS_SEEKER +ITEM_COIN_CASE +ITEM_OLD_ROD +ITEM_GOOD_ROD +ITEM_SUPER_ROD +ITEM_SPRAYDUCK +ITEM_POFFIN_CASE +ITEM_BICYCLE +ITEM_SUITE_KEY +ITEM_OAKS_LETTER +ITEM_LUNAR_WING +ITEM_MEMBER_CARD +ITEM_AZURE_FLUTE +ITEM_S_S_TICKET +ITEM_CONTEST_PASS +ITEM_MAGMA_STONE +ITEM_PARCEL +ITEM_COUPON_1 +ITEM_COUPON_2 +ITEM_COUPON_3 +ITEM_STORAGE_KEY +ITEM_SECRETPOTION +ITEM_VS_RECORDER +ITEM_GRACIDEA +ITEM_SECRET_KEY +MAX_ITEMS diff --git a/generated/meson.build b/generated/meson.build new file mode 100644 index 0000000000..26b9542722 --- /dev/null +++ b/generated/meson.build @@ -0,0 +1,43 @@ +enum_generators = { + 'abilities': ['--tag-name', 'Ability'], + 'egg_groups': ['--tag-name', 'EggGroup'], + 'exp_rates': ['--tag-name', 'ExpRate'], + 'gender_ratios': ['--tag-name', 'GenderRatio'], + 'item_hold_effects': ['--tag-name', 'ItemHoldEffect'], + 'items': ['--tag-name', 'Item'], + 'moves': ['--tag-name', 'Move'], + 'pokemon_colors': ['--tag-name', 'PokemonColor'], + 'pokemon_types': ['--tag-name', 'PokemonType'], + 'species': ['--tag-name', 'Species'], +} + +foreach gen_key : enum_generators.keys() + gen_h = gen_key + '.h' + gen_py = gen_key + '.py' + gen_file = files(gen_key + '.txt') + gen_args = enum_generators.get(gen_key) + c_consts_generators += custom_target(gen_h, + output: gen_h, + input: gen_file, + command: [ + metang_exe, 'enum', + gen_args, + '--guard', 'POKEPLATINUM_GENERATED', + '--output', '@OUTPUT@', + '@INPUT@', + ] + ) + + py_consts_generators += custom_target(gen_py, + output: gen_py, + input: gen_file, + command: [ + metang_exe, 'enum', + gen_args, + '--guard', 'POKEPLATINUM_GENERATED', + '--output', '@OUTPUT@', + '--lang', 'py', + '@INPUT@', + ] + ) +endforeach diff --git a/generated/moves.txt b/generated/moves.txt new file mode 100644 index 0000000000..2b7aaf0c92 --- /dev/null +++ b/generated/moves.txt @@ -0,0 +1,469 @@ +MOVE_NONE +MOVE_POUND +MOVE_KARATE_CHOP +MOVE_DOUBLE_SLAP +MOVE_COMET_PUNCH +MOVE_MEGA_PUNCH +MOVE_PAY_DAY +MOVE_FIRE_PUNCH +MOVE_ICE_PUNCH +MOVE_THUNDER_PUNCH +MOVE_SCRATCH +MOVE_VICE_GRIP +MOVE_GUILLOTINE +MOVE_RAZOR_WIND +MOVE_SWORDS_DANCE +MOVE_CUT +MOVE_GUST +MOVE_WING_ATTACK +MOVE_WHIRLWIND +MOVE_FLY +MOVE_BIND +MOVE_SLAM +MOVE_VINE_WHIP +MOVE_STOMP +MOVE_DOUBLE_KICK +MOVE_MEGA_KICK +MOVE_JUMP_KICK +MOVE_ROLLING_KICK +MOVE_SAND_ATTACK +MOVE_HEADBUTT +MOVE_HORN_ATTACK +MOVE_FURY_ATTACK +MOVE_HORN_DRILL +MOVE_TACKLE +MOVE_BODY_SLAM +MOVE_WRAP +MOVE_TAKE_DOWN +MOVE_THRASH +MOVE_DOUBLE_EDGE +MOVE_TAIL_WHIP +MOVE_POISON_STING +MOVE_TWINEEDLE +MOVE_PIN_MISSILE +MOVE_LEER +MOVE_BITE +MOVE_GROWL +MOVE_ROAR +MOVE_SING +MOVE_SUPERSONIC +MOVE_SONIC_BOOM +MOVE_DISABLE +MOVE_ACID +MOVE_EMBER +MOVE_FLAMETHROWER +MOVE_MIST +MOVE_WATER_GUN +MOVE_HYDRO_PUMP +MOVE_SURF +MOVE_ICE_BEAM +MOVE_BLIZZARD +MOVE_PSYBEAM +MOVE_BUBBLE_BEAM +MOVE_AURORA_BEAM +MOVE_HYPER_BEAM +MOVE_PECK +MOVE_DRILL_PECK +MOVE_SUBMISSION +MOVE_LOW_KICK +MOVE_COUNTER +MOVE_SEISMIC_TOSS +MOVE_STRENGTH +MOVE_ABSORB +MOVE_MEGA_DRAIN +MOVE_LEECH_SEED +MOVE_GROWTH +MOVE_RAZOR_LEAF +MOVE_SOLAR_BEAM +MOVE_POISON_POWDER +MOVE_STUN_SPORE +MOVE_SLEEP_POWDER +MOVE_PETAL_DANCE +MOVE_STRING_SHOT +MOVE_DRAGON_RAGE +MOVE_FIRE_SPIN +MOVE_THUNDER_SHOCK +MOVE_THUNDERBOLT +MOVE_THUNDER_WAVE +MOVE_THUNDER +MOVE_ROCK_THROW +MOVE_EARTHQUAKE +MOVE_FISSURE +MOVE_DIG +MOVE_TOXIC +MOVE_CONFUSION +MOVE_PSYCHIC +MOVE_HYPNOSIS +MOVE_MEDITATE +MOVE_AGILITY +MOVE_QUICK_ATTACK +MOVE_RAGE +MOVE_TELEPORT +MOVE_NIGHT_SHADE +MOVE_MIMIC +MOVE_SCREECH +MOVE_DOUBLE_TEAM +MOVE_RECOVER +MOVE_HARDEN +MOVE_MINIMIZE +MOVE_SMOKE_SCREEN +MOVE_CONFUSE_RAY +MOVE_WITHDRAW +MOVE_DEFENSE_CURL +MOVE_BARRIER +MOVE_LIGHT_SCREEN +MOVE_HAZE +MOVE_REFLECT +MOVE_FOCUS_ENERGY +MOVE_BIDE +MOVE_METRONOME +MOVE_MIRROR_MOVE +MOVE_SELFDESTRUCT +MOVE_EGG_BOMB +MOVE_LICK +MOVE_SMOG +MOVE_SLUDGE +MOVE_BONE_CLUB +MOVE_FIRE_BLAST +MOVE_WATERFALL +MOVE_CLAMP +MOVE_SWIFT +MOVE_SKULL_BASH +MOVE_SPIKE_CANNON +MOVE_CONSTRICT +MOVE_AMNESIA +MOVE_KINESIS +MOVE_SOFTBOILED +MOVE_HI_JUMP_KICK +MOVE_GLARE +MOVE_DREAM_EATER +MOVE_POISON_GAS +MOVE_BARRAGE +MOVE_LEECH_LIFE +MOVE_LOVELY_KISS +MOVE_SKY_ATTACK +MOVE_TRANSFORM +MOVE_BUBBLE +MOVE_DIZZY_PUNCH +MOVE_SPORE +MOVE_FLASH +MOVE_PSYWAVE +MOVE_SPLASH +MOVE_ACID_ARMOR +MOVE_CRABHAMMER +MOVE_EXPLOSION +MOVE_FURY_SWIPES +MOVE_BONEMERANG +MOVE_REST +MOVE_ROCK_SLIDE +MOVE_HYPER_FANG +MOVE_SHARPEN +MOVE_CONVERSION +MOVE_TRI_ATTACK +MOVE_SUPER_FANG +MOVE_SLASH +MOVE_SUBSTITUTE +MOVE_STRUGGLE +MOVE_SKETCH +MOVE_TRIPLE_KICK +MOVE_THIEF +MOVE_SPIDER_WEB +MOVE_MIND_READER +MOVE_NIGHTMARE +MOVE_FLAME_WHEEL +MOVE_SNORE +MOVE_CURSE +MOVE_FLAIL +MOVE_CONVERSION_2 +MOVE_AEROBLAST +MOVE_COTTON_SPORE +MOVE_REVERSAL +MOVE_SPITE +MOVE_POWDER_SNOW +MOVE_PROTECT +MOVE_MACH_PUNCH +MOVE_SCARY_FACE +MOVE_FAINT_ATTACK +MOVE_SWEET_KISS +MOVE_BELLY_DRUM +MOVE_SLUDGE_BOMB +MOVE_MUD_SLAP +MOVE_OCTAZOOKA +MOVE_SPIKES +MOVE_ZAP_CANNON +MOVE_FORESIGHT +MOVE_DESTINY_BOND +MOVE_PERISH_SONG +MOVE_ICY_WIND +MOVE_DETECT +MOVE_BONE_RUSH +MOVE_LOCK_ON +MOVE_OUTRAGE +MOVE_SANDSTORM +MOVE_GIGA_DRAIN +MOVE_ENDURE +MOVE_CHARM +MOVE_ROLLOUT +MOVE_FALSE_SWIPE +MOVE_SWAGGER +MOVE_MILK_DRINK +MOVE_SPARK +MOVE_FURY_CUTTER +MOVE_STEEL_WING +MOVE_MEAN_LOOK +MOVE_ATTRACT +MOVE_SLEEP_TALK +MOVE_HEAL_BELL +MOVE_RETURN +MOVE_PRESENT +MOVE_FRUSTRATION +MOVE_SAFEGUARD +MOVE_PAIN_SPLIT +MOVE_SACRED_FIRE +MOVE_MAGNITUDE +MOVE_DYNAMIC_PUNCH +MOVE_MEGAHORN +MOVE_DRAGON_BREATH +MOVE_BATON_PASS +MOVE_ENCORE +MOVE_PURSUIT +MOVE_RAPID_SPIN +MOVE_SWEET_SCENT +MOVE_IRON_TAIL +MOVE_METAL_CLAW +MOVE_VITAL_THROW +MOVE_MORNING_SUN +MOVE_SYNTHESIS +MOVE_MOONLIGHT +MOVE_HIDDEN_POWER +MOVE_CROSS_CHOP +MOVE_TWISTER +MOVE_RAIN_DANCE +MOVE_SUNNY_DAY +MOVE_CRUNCH +MOVE_MIRROR_COAT +MOVE_PSYCH_UP +MOVE_EXTREME_SPEED +MOVE_ANCIENT_POWER +MOVE_SHADOW_BALL +MOVE_FUTURE_SIGHT +MOVE_ROCK_SMASH +MOVE_WHIRLPOOL +MOVE_BEAT_UP +MOVE_FAKE_OUT +MOVE_UPROAR +MOVE_STOCKPILE +MOVE_SPIT_UP +MOVE_SWALLOW +MOVE_HEAT_WAVE +MOVE_HAIL +MOVE_TORMENT +MOVE_FLATTER +MOVE_WILL_O_WISP +MOVE_MEMENTO +MOVE_FACADE +MOVE_FOCUS_PUNCH +MOVE_SMELLING_SALT +MOVE_FOLLOW_ME +MOVE_NATURE_POWER +MOVE_CHARGE +MOVE_TAUNT +MOVE_HELPING_HAND +MOVE_TRICK +MOVE_ROLE_PLAY +MOVE_WISH +MOVE_ASSIST +MOVE_INGRAIN +MOVE_SUPERPOWER +MOVE_MAGIC_COAT +MOVE_RECYCLE +MOVE_REVENGE +MOVE_BRICK_BREAK +MOVE_YAWN +MOVE_KNOCK_OFF +MOVE_ENDEAVOR +MOVE_ERUPTION +MOVE_SKILL_SWAP +MOVE_IMPRISON +MOVE_REFRESH +MOVE_GRUDGE +MOVE_SNATCH +MOVE_SECRET_POWER +MOVE_DIVE +MOVE_ARM_THRUST +MOVE_CAMOUFLAGE +MOVE_TAIL_GLOW +MOVE_LUSTER_PURGE +MOVE_MIST_BALL +MOVE_FEATHER_DANCE +MOVE_TEETER_DANCE +MOVE_BLAZE_KICK +MOVE_MUD_SPORT +MOVE_ICE_BALL +MOVE_NEEDLE_ARM +MOVE_SLACK_OFF +MOVE_HYPER_VOICE +MOVE_POISON_FANG +MOVE_CRUSH_CLAW +MOVE_BLAST_BURN +MOVE_HYDRO_CANNON +MOVE_METEOR_MASH +MOVE_ASTONISH +MOVE_WEATHER_BALL +MOVE_AROMATHERAPY +MOVE_FAKE_TEARS +MOVE_AIR_CUTTER +MOVE_OVERHEAT +MOVE_ODOR_SLEUTH +MOVE_ROCK_TOMB +MOVE_SILVER_WIND +MOVE_METAL_SOUND +MOVE_GRASS_WHISTLE +MOVE_TICKLE +MOVE_COSMIC_POWER +MOVE_WATER_SPOUT +MOVE_SIGNAL_BEAM +MOVE_SHADOW_PUNCH +MOVE_EXTRASENSORY +MOVE_SKY_UPPERCUT +MOVE_SAND_TOMB +MOVE_SHEER_COLD +MOVE_MUDDY_WATER +MOVE_BULLET_SEED +MOVE_AERIAL_ACE +MOVE_ICICLE_SPEAR +MOVE_IRON_DEFENSE +MOVE_BLOCK +MOVE_HOWL +MOVE_DRAGON_CLAW +MOVE_FRENZY_PLANT +MOVE_BULK_UP +MOVE_BOUNCE +MOVE_MUD_SHOT +MOVE_POISON_TAIL +MOVE_COVET +MOVE_VOLT_TACKLE +MOVE_MAGICAL_LEAF +MOVE_WATER_SPORT +MOVE_CALM_MIND +MOVE_LEAF_BLADE +MOVE_DRAGON_DANCE +MOVE_ROCK_BLAST +MOVE_SHOCK_WAVE +MOVE_WATER_PULSE +MOVE_DOOM_DESIRE +MOVE_PSYCHO_BOOST +MOVE_ROOST +MOVE_GRAVITY +MOVE_MIRACLE_EYE +MOVE_WAKE_UP_SLAP +MOVE_HAMMER_ARM +MOVE_GYRO_BALL +MOVE_HEALING_WISH +MOVE_BRINE +MOVE_NATURAL_GIFT +MOVE_FEINT +MOVE_PLUCK +MOVE_TAILWIND +MOVE_ACUPRESSURE +MOVE_METAL_BURST +MOVE_U_TURN +MOVE_CLOSE_COMBAT +MOVE_PAYBACK +MOVE_ASSURANCE +MOVE_EMBARGO +MOVE_FLING +MOVE_PSYCHO_SHIFT +MOVE_TRUMP_CARD +MOVE_HEAL_BLOCK +MOVE_WRING_OUT +MOVE_POWER_TRICK +MOVE_GASTRO_ACID +MOVE_LUCKY_CHANT +MOVE_ME_FIRST +MOVE_COPYCAT +MOVE_POWER_SWAP +MOVE_GUARD_SWAP +MOVE_PUNISHMENT +MOVE_LAST_RESORT +MOVE_WORRY_SEED +MOVE_SUCKER_PUNCH +MOVE_TOXIC_SPIKES +MOVE_HEART_SWAP +MOVE_AQUA_RING +MOVE_MAGNET_RISE +MOVE_FLARE_BLITZ +MOVE_FORCE_PALM +MOVE_AURA_SPHERE +MOVE_ROCK_POLISH +MOVE_POISON_JAB +MOVE_DARK_PULSE +MOVE_NIGHT_SLASH +MOVE_AQUA_TAIL +MOVE_SEED_BOMB +MOVE_AIR_SLASH +MOVE_X_SCISSOR +MOVE_BUG_BUZZ +MOVE_DRAGON_PULSE +MOVE_DRAGON_RUSH +MOVE_POWER_GEM +MOVE_DRAIN_PUNCH +MOVE_VACUUM_WAVE +MOVE_FOCUS_BLAST +MOVE_ENERGY_BALL +MOVE_BRAVE_BIRD +MOVE_EARTH_POWER +MOVE_SWITCHEROO +MOVE_GIGA_IMPACT +MOVE_NASTY_PLOT +MOVE_BULLET_PUNCH +MOVE_AVALANCHE +MOVE_ICE_SHARD +MOVE_SHADOW_CLAW +MOVE_THUNDER_FANG +MOVE_ICE_FANG +MOVE_FIRE_FANG +MOVE_SHADOW_SNEAK +MOVE_MUD_BOMB +MOVE_PSYCHO_CUT +MOVE_ZEN_HEADBUTT +MOVE_MIRROR_SHOT +MOVE_FLASH_CANNON +MOVE_ROCK_CLIMB +MOVE_DEFOG +MOVE_TRICK_ROOM +MOVE_DRACO_METEOR +MOVE_DISCHARGE +MOVE_LAVA_PLUME +MOVE_LEAF_STORM +MOVE_POWER_WHIP +MOVE_ROCK_WRECKER +MOVE_CROSS_POISON +MOVE_GUNK_SHOT +MOVE_IRON_HEAD +MOVE_MAGNET_BOMB +MOVE_STONE_EDGE +MOVE_CAPTIVATE +MOVE_STEALTH_ROCK +MOVE_GRASS_KNOT +MOVE_CHATTER +MOVE_JUDGMENT +MOVE_BUG_BITE +MOVE_CHARGE_BEAM +MOVE_WOOD_HAMMER +MOVE_AQUA_JET +MOVE_ATTACK_ORDER +MOVE_DEFEND_ORDER +MOVE_HEAL_ORDER +MOVE_HEAD_SMASH +MOVE_DOUBLE_HIT +MOVE_ROAR_OF_TIME +MOVE_SPACIAL_REND +MOVE_LUNAR_DANCE +MOVE_CRUSH_GRIP +MOVE_MAGMA_STORM +MOVE_DARK_VOID +MOVE_SEED_FLARE +MOVE_OMINOUS_WIND +MOVE_SHADOW_FORCE +MAX_MOVES diff --git a/generated/pokemon_colors.txt b/generated/pokemon_colors.txt new file mode 100644 index 0000000000..92cc9eadb7 --- /dev/null +++ b/generated/pokemon_colors.txt @@ -0,0 +1,12 @@ +MON_COLOR_RED +MON_COLOR_BLUE +MON_COLOR_YELLOW +MON_COLOR_GREEN +MON_COLOR_BLACK +MON_COLOR_BROWN +MON_COLOR_PURPLE +MON_COLOR_GRAY +MON_COLOR_WHITE +MON_COLOR_PINK +MON_COLOR_EGG +NUM_MON_COLORS diff --git a/generated/pokemon_types.txt b/generated/pokemon_types.txt new file mode 100644 index 0000000000..3126d51fb7 --- /dev/null +++ b/generated/pokemon_types.txt @@ -0,0 +1,19 @@ +TYPE_NORMAL +TYPE_FIGHTING +TYPE_FLYING +TYPE_POISON +TYPE_GROUND +TYPE_ROCK +TYPE_BUG +TYPE_GHOST +TYPE_STEEL +TYPE_MYSTERY +TYPE_FIRE +TYPE_WATER +TYPE_GRASS +TYPE_ELECTRIC +TYPE_PSYCHIC +TYPE_ICE +TYPE_DRAGON +TYPE_DARK +NUM_POKEMON_TYPES diff --git a/generated/species.txt b/generated/species.txt new file mode 100644 index 0000000000..8726861ed7 --- /dev/null +++ b/generated/species.txt @@ -0,0 +1,496 @@ +SPECIES_NONE +SPECIES_BULBASAUR +SPECIES_IVYSAUR +SPECIES_VENUSAUR +SPECIES_CHARMANDER +SPECIES_CHARMELEON +SPECIES_CHARIZARD +SPECIES_SQUIRTLE +SPECIES_WARTORTLE +SPECIES_BLASTOISE +SPECIES_CATERPIE +SPECIES_METAPOD +SPECIES_BUTTERFREE +SPECIES_WEEDLE +SPECIES_KAKUNA +SPECIES_BEEDRILL +SPECIES_PIDGEY +SPECIES_PIDGEOTTO +SPECIES_PIDGEOT +SPECIES_RATTATA +SPECIES_RATICATE +SPECIES_SPEAROW +SPECIES_FEAROW +SPECIES_EKANS +SPECIES_ARBOK +SPECIES_PIKACHU +SPECIES_RAICHU +SPECIES_SANDSHREW +SPECIES_SANDSLASH +SPECIES_NIDORAN_F +SPECIES_NIDORINA +SPECIES_NIDOQUEEN +SPECIES_NIDORAN_M +SPECIES_NIDORINO +SPECIES_NIDOKING +SPECIES_CLEFAIRY +SPECIES_CLEFABLE +SPECIES_VULPIX +SPECIES_NINETALES +SPECIES_JIGGLYPUFF +SPECIES_WIGGLYTUFF +SPECIES_ZUBAT +SPECIES_GOLBAT +SPECIES_ODDISH +SPECIES_GLOOM +SPECIES_VILEPLUME +SPECIES_PARAS +SPECIES_PARASECT +SPECIES_VENONAT +SPECIES_VENOMOTH +SPECIES_DIGLETT +SPECIES_DUGTRIO +SPECIES_MEOWTH +SPECIES_PERSIAN +SPECIES_PSYDUCK +SPECIES_GOLDUCK +SPECIES_MANKEY +SPECIES_PRIMEAPE +SPECIES_GROWLITHE +SPECIES_ARCANINE +SPECIES_POLIWAG +SPECIES_POLIWHIRL +SPECIES_POLIWRATH +SPECIES_ABRA +SPECIES_KADABRA +SPECIES_ALAKAZAM +SPECIES_MACHOP +SPECIES_MACHOKE +SPECIES_MACHAMP +SPECIES_BELLSPROUT +SPECIES_WEEPINBELL +SPECIES_VICTREEBEL +SPECIES_TENTACOOL +SPECIES_TENTACRUEL +SPECIES_GEODUDE +SPECIES_GRAVELER +SPECIES_GOLEM +SPECIES_PONYTA +SPECIES_RAPIDASH +SPECIES_SLOWPOKE +SPECIES_SLOWBRO +SPECIES_MAGNEMITE +SPECIES_MAGNETON +SPECIES_FARFETCHD +SPECIES_DODUO +SPECIES_DODRIO +SPECIES_SEEL +SPECIES_DEWGONG +SPECIES_GRIMER +SPECIES_MUK +SPECIES_SHELLDER +SPECIES_CLOYSTER +SPECIES_GASTLY +SPECIES_HAUNTER +SPECIES_GENGAR +SPECIES_ONIX +SPECIES_DROWZEE +SPECIES_HYPNO +SPECIES_KRABBY +SPECIES_KINGLER +SPECIES_VOLTORB +SPECIES_ELECTRODE +SPECIES_EXEGGCUTE +SPECIES_EXEGGUTOR +SPECIES_CUBONE +SPECIES_MAROWAK +SPECIES_HITMONLEE +SPECIES_HITMONCHAN +SPECIES_LICKITUNG +SPECIES_KOFFING +SPECIES_WEEZING +SPECIES_RHYHORN +SPECIES_RHYDON +SPECIES_CHANSEY +SPECIES_TANGELA +SPECIES_KANGASKHAN +SPECIES_HORSEA +SPECIES_SEADRA +SPECIES_GOLDEEN +SPECIES_SEAKING +SPECIES_STARYU +SPECIES_STARMIE +SPECIES_MR_MIME +SPECIES_SCYTHER +SPECIES_JYNX +SPECIES_ELECTABUZZ +SPECIES_MAGMAR +SPECIES_PINSIR +SPECIES_TAUROS +SPECIES_MAGIKARP +SPECIES_GYARADOS +SPECIES_LAPRAS +SPECIES_DITTO +SPECIES_EEVEE +SPECIES_VAPOREON +SPECIES_JOLTEON +SPECIES_FLAREON +SPECIES_PORYGON +SPECIES_OMANYTE +SPECIES_OMASTAR +SPECIES_KABUTO +SPECIES_KABUTOPS +SPECIES_AERODACTYL +SPECIES_SNORLAX +SPECIES_ARTICUNO +SPECIES_ZAPDOS +SPECIES_MOLTRES +SPECIES_DRATINI +SPECIES_DRAGONAIR +SPECIES_DRAGONITE +SPECIES_MEWTWO +SPECIES_MEW +SPECIES_CHIKORITA +SPECIES_BAYLEEF +SPECIES_MEGANIUM +SPECIES_CYNDAQUIL +SPECIES_QUILAVA +SPECIES_TYPHLOSION +SPECIES_TOTODILE +SPECIES_CROCONAW +SPECIES_FERALIGATR +SPECIES_SENTRET +SPECIES_FURRET +SPECIES_HOOTHOOT +SPECIES_NOCTOWL +SPECIES_LEDYBA +SPECIES_LEDIAN +SPECIES_SPINARAK +SPECIES_ARIADOS +SPECIES_CROBAT +SPECIES_CHINCHOU +SPECIES_LANTURN +SPECIES_PICHU +SPECIES_CLEFFA +SPECIES_IGGLYBUFF +SPECIES_TOGEPI +SPECIES_TOGETIC +SPECIES_NATU +SPECIES_XATU +SPECIES_MAREEP +SPECIES_FLAAFFY +SPECIES_AMPHAROS +SPECIES_BELLOSSOM +SPECIES_MARILL +SPECIES_AZUMARILL +SPECIES_SUDOWOODO +SPECIES_POLITOED +SPECIES_HOPPIP +SPECIES_SKIPLOOM +SPECIES_JUMPLUFF +SPECIES_AIPOM +SPECIES_SUNKERN +SPECIES_SUNFLORA +SPECIES_YANMA +SPECIES_WOOPER +SPECIES_QUAGSIRE +SPECIES_ESPEON +SPECIES_UMBREON +SPECIES_MURKROW +SPECIES_SLOWKING +SPECIES_MISDREAVUS +SPECIES_UNOWN +SPECIES_WOBBUFFET +SPECIES_GIRAFARIG +SPECIES_PINECO +SPECIES_FORRETRESS +SPECIES_DUNSPARCE +SPECIES_GLIGAR +SPECIES_STEELIX +SPECIES_SNUBBULL +SPECIES_GRANBULL +SPECIES_QWILFISH +SPECIES_SCIZOR +SPECIES_SHUCKLE +SPECIES_HERACROSS +SPECIES_SNEASEL +SPECIES_TEDDIURSA +SPECIES_URSARING +SPECIES_SLUGMA +SPECIES_MAGCARGO +SPECIES_SWINUB +SPECIES_PILOSWINE +SPECIES_CORSOLA +SPECIES_REMORAID +SPECIES_OCTILLERY +SPECIES_DELIBIRD +SPECIES_MANTINE +SPECIES_SKARMORY +SPECIES_HOUNDOUR +SPECIES_HOUNDOOM +SPECIES_KINGDRA +SPECIES_PHANPY +SPECIES_DONPHAN +SPECIES_PORYGON2 +SPECIES_STANTLER +SPECIES_SMEARGLE +SPECIES_TYROGUE +SPECIES_HITMONTOP +SPECIES_SMOOCHUM +SPECIES_ELEKID +SPECIES_MAGBY +SPECIES_MILTANK +SPECIES_BLISSEY +SPECIES_RAIKOU +SPECIES_ENTEI +SPECIES_SUICUNE +SPECIES_LARVITAR +SPECIES_PUPITAR +SPECIES_TYRANITAR +SPECIES_LUGIA +SPECIES_HO_OH +SPECIES_CELEBI +SPECIES_TREECKO +SPECIES_GROVYLE +SPECIES_SCEPTILE +SPECIES_TORCHIC +SPECIES_COMBUSKEN +SPECIES_BLAZIKEN +SPECIES_MUDKIP +SPECIES_MARSHTOMP +SPECIES_SWAMPERT +SPECIES_POOCHYENA +SPECIES_MIGHTYENA +SPECIES_ZIGZAGOON +SPECIES_LINOONE +SPECIES_WURMPLE +SPECIES_SILCOON +SPECIES_BEAUTIFLY +SPECIES_CASCOON +SPECIES_DUSTOX +SPECIES_LOTAD +SPECIES_LOMBRE +SPECIES_LUDICOLO +SPECIES_SEEDOT +SPECIES_NUZLEAF +SPECIES_SHIFTRY +SPECIES_TAILLOW +SPECIES_SWELLOW +SPECIES_WINGULL +SPECIES_PELIPPER +SPECIES_RALTS +SPECIES_KIRLIA +SPECIES_GARDEVOIR +SPECIES_SURSKIT +SPECIES_MASQUERAIN +SPECIES_SHROOMISH +SPECIES_BRELOOM +SPECIES_SLAKOTH +SPECIES_VIGOROTH +SPECIES_SLAKING +SPECIES_NINCADA +SPECIES_NINJASK +SPECIES_SHEDINJA +SPECIES_WHISMUR +SPECIES_LOUDRED +SPECIES_EXPLOUD +SPECIES_MAKUHITA +SPECIES_HARIYAMA +SPECIES_AZURILL +SPECIES_NOSEPASS +SPECIES_SKITTY +SPECIES_DELCATTY +SPECIES_SABLEYE +SPECIES_MAWILE +SPECIES_ARON +SPECIES_LAIRON +SPECIES_AGGRON +SPECIES_MEDITITE +SPECIES_MEDICHAM +SPECIES_ELECTRIKE +SPECIES_MANECTRIC +SPECIES_PLUSLE +SPECIES_MINUN +SPECIES_VOLBEAT +SPECIES_ILLUMISE +SPECIES_ROSELIA +SPECIES_GULPIN +SPECIES_SWALOT +SPECIES_CARVANHA +SPECIES_SHARPEDO +SPECIES_WAILMER +SPECIES_WAILORD +SPECIES_NUMEL +SPECIES_CAMERUPT +SPECIES_TORKOAL +SPECIES_SPOINK +SPECIES_GRUMPIG +SPECIES_SPINDA +SPECIES_TRAPINCH +SPECIES_VIBRAVA +SPECIES_FLYGON +SPECIES_CACNEA +SPECIES_CACTURNE +SPECIES_SWABLU +SPECIES_ALTARIA +SPECIES_ZANGOOSE +SPECIES_SEVIPER +SPECIES_LUNATONE +SPECIES_SOLROCK +SPECIES_BARBOACH +SPECIES_WHISCASH +SPECIES_CORPHISH +SPECIES_CRAWDAUNT +SPECIES_BALTOY +SPECIES_CLAYDOL +SPECIES_LILEEP +SPECIES_CRADILY +SPECIES_ANORITH +SPECIES_ARMALDO +SPECIES_FEEBAS +SPECIES_MILOTIC +SPECIES_CASTFORM +SPECIES_KECLEON +SPECIES_SHUPPET +SPECIES_BANETTE +SPECIES_DUSKULL +SPECIES_DUSCLOPS +SPECIES_TROPIUS +SPECIES_CHIMECHO +SPECIES_ABSOL +SPECIES_WYNAUT +SPECIES_SNORUNT +SPECIES_GLALIE +SPECIES_SPHEAL +SPECIES_SEALEO +SPECIES_WALREIN +SPECIES_CLAMPERL +SPECIES_HUNTAIL +SPECIES_GOREBYSS +SPECIES_RELICANTH +SPECIES_LUVDISC +SPECIES_BAGON +SPECIES_SHELGON +SPECIES_SALAMENCE +SPECIES_BELDUM +SPECIES_METANG +SPECIES_METAGROSS +SPECIES_REGIROCK +SPECIES_REGICE +SPECIES_REGISTEEL +SPECIES_LATIAS +SPECIES_LATIOS +SPECIES_KYOGRE +SPECIES_GROUDON +SPECIES_RAYQUAZA +SPECIES_JIRACHI +SPECIES_DEOXYS +SPECIES_TURTWIG +SPECIES_GROTLE +SPECIES_TORTERRA +SPECIES_CHIMCHAR +SPECIES_MONFERNO +SPECIES_INFERNAPE +SPECIES_PIPLUP +SPECIES_PRINPLUP +SPECIES_EMPOLEON +SPECIES_STARLY +SPECIES_STARAVIA +SPECIES_STARAPTOR +SPECIES_BIDOOF +SPECIES_BIBAREL +SPECIES_KRICKETOT +SPECIES_KRICKETUNE +SPECIES_SHINX +SPECIES_LUXIO +SPECIES_LUXRAY +SPECIES_BUDEW +SPECIES_ROSERADE +SPECIES_CRANIDOS +SPECIES_RAMPARDOS +SPECIES_SHIELDON +SPECIES_BASTIODON +SPECIES_BURMY +SPECIES_WORMADAM +SPECIES_MOTHIM +SPECIES_COMBEE +SPECIES_VESPIQUEN +SPECIES_PACHIRISU +SPECIES_BUIZEL +SPECIES_FLOATZEL +SPECIES_CHERUBI +SPECIES_CHERRIM +SPECIES_SHELLOS +SPECIES_GASTRODON +SPECIES_AMBIPOM +SPECIES_DRIFLOON +SPECIES_DRIFBLIM +SPECIES_BUNEARY +SPECIES_LOPUNNY +SPECIES_MISMAGIUS +SPECIES_HONCHKROW +SPECIES_GLAMEOW +SPECIES_PURUGLY +SPECIES_CHINGLING +SPECIES_STUNKY +SPECIES_SKUNTANK +SPECIES_BRONZOR +SPECIES_BRONZONG +SPECIES_BONSLY +SPECIES_MIME_JR +SPECIES_HAPPINY +SPECIES_CHATOT +SPECIES_SPIRITOMB +SPECIES_GIBLE +SPECIES_GABITE +SPECIES_GARCHOMP +SPECIES_MUNCHLAX +SPECIES_RIOLU +SPECIES_LUCARIO +SPECIES_HIPPOPOTAS +SPECIES_HIPPOWDON +SPECIES_SKORUPI +SPECIES_DRAPION +SPECIES_CROAGUNK +SPECIES_TOXICROAK +SPECIES_CARNIVINE +SPECIES_FINNEON +SPECIES_LUMINEON +SPECIES_MANTYKE +SPECIES_SNOVER +SPECIES_ABOMASNOW +SPECIES_WEAVILE +SPECIES_MAGNEZONE +SPECIES_LICKILICKY +SPECIES_RHYPERIOR +SPECIES_TANGROWTH +SPECIES_ELECTIVIRE +SPECIES_MAGMORTAR +SPECIES_TOGEKISS +SPECIES_YANMEGA +SPECIES_LEAFEON +SPECIES_GLACEON +SPECIES_GLISCOR +SPECIES_MAMOSWINE +SPECIES_PORYGON_Z +SPECIES_GALLADE +SPECIES_PROBOPASS +SPECIES_DUSKNOIR +SPECIES_FROSLASS +SPECIES_ROTOM +SPECIES_UXIE +SPECIES_MESPRIT +SPECIES_AZELF +SPECIES_DIALGA +SPECIES_PALKIA +SPECIES_HEATRAN +SPECIES_REGIGIGAS +SPECIES_GIRATINA +SPECIES_CRESSELIA +SPECIES_PHIONE +SPECIES_MANAPHY +SPECIES_DARKRAI +SPECIES_SHAYMIN +SPECIES_ARCEUS +SPECIES_EGG +SPECIES_BAD_EGG diff --git a/include/constants/items.h b/include/constants/items.h index e27ad51f54..6cfa213cb3 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -1,9 +1,10 @@ #ifndef POKEPLATINUM_CONSTANTS_ITEMS_H #define POKEPLATINUM_CONSTANTS_ITEMS_H -#ifndef __ASM_PM_ -#include "consts/items.h" +#include "generated/item_hold_effects.h" +#include "generated/items.h" +#ifndef __ASM_PM_ enum { BATTLE_ITEM_CATEGORY_RECOVER_HP = 0, BATTLE_ITEM_CATEGORY_RECOVER_STATUS, diff --git a/include/constants/moves.h b/include/constants/moves.h index 2b5d0a9331..12e4ba6705 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -2,6 +2,7 @@ #define POKEPLATINUM_CONSTANTS_MOVES_H #include "consts/moves.h" +#include "generated/moves.h" #define LEARNED_MOVES_MAX 4 diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 8fe2d191ff..943ad55b24 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -1,7 +1,8 @@ #ifndef POKEPLATINUM_CONSTANTS_POKEMON_H #define POKEPLATINUM_CONSTANTS_POKEMON_H -#include "consts/pokemon.h" // defs for PokemonType and SpeciesDataParam +#include "consts/pokemon.h" // defs for SpeciesDataParam +#include "generated/pokemon_types.h" // PokemonType /** * @brief Pokemon Stats diff --git a/include/constants/species.h b/include/constants/species.h index d57c2629e8..05f8cce036 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1,7 +1,7 @@ #ifndef POKEPLATINUM_CONSTANTS_SPECIES_H #define POKEPLATINUM_CONSTANTS_SPECIES_H -#include "consts/species.h" +#include "generated/species.h" #define KANTO_DEX_COUNT (SPECIES_MEW - SPECIES_NONE) #define JOHTO_DEX_COUNT (SPECIES_CELEBI - SPECIES_MEW) diff --git a/include/string_template.h b/include/string_template.h index 2a2ba7fb6f..852cbb78a9 100644 --- a/include/string_template.h +++ b/include/string_template.h @@ -1,9 +1,9 @@ #ifndef POKEPLATINUM_STRING_TEMPLATE_H #define POKEPLATINUM_STRING_TEMPLATE_H -#include "consts/abilities.h" #include "consts/gender.h" #include "consts/moves.h" +#include "generated/abilities.h" #include "struct_decls/struct_020797DC_decl.h" #include "struct_defs/trainer_data.h" diff --git a/meson.build b/meson.build index ee1cfd78d2..cfc46227df 100644 --- a/meson.build +++ b/meson.build @@ -31,7 +31,8 @@ c_args = [ '-char', 'signed', '-nosyspath', '-stdinc', - '-sym', 'on' + '-sym', 'on', + '-DPOKEPLATINUM_GENERATED_ENUM', ] if get_option('gdb_debugging') @@ -136,6 +137,7 @@ subdir('lib') ### CONSTS ### ############################################################ subdir('consts') +subdir('generated') ############################################################ diff --git a/res/items/meson.build b/res/items/meson.build index 2bebc138ab..5ad33d1c2c 100644 --- a/res/items/meson.build +++ b/res/items/meson.build @@ -38,8 +38,9 @@ pl_item_data_narc = custom_target('pl_item_data.narc', '--pad', '0xFF', '-i', '@SOURCE_ROOT@/include', '-i', '@SOURCE_ROOT@/build', - ] + ], + depends: [ c_consts_generators, ], ) nitrofs_files += nuts_data_narc -nitrofs_files += pl_item_data_narc \ No newline at end of file +nitrofs_files += pl_item_data_narc diff --git a/res/items/pl_item_data_format.txt b/res/items/pl_item_data_format.txt index 5c8632d4d5..d4e9ba1388 100644 --- a/res/items/pl_item_data_format.txt +++ b/res/items/pl_item_data_format.txt @@ -1,12 +1,12 @@ item:skip:constants/items.h:ITEM_ price:u16 -holdEffect:u8:consts/items.h:HOLD_EFFECT_ +holdEffect:u8:generated/item_hold_effects.h:HOLD_EFFECT_ holdEffectParam:u8 pluckEffect:u8 flingEffect:u8 flingPower:u8 naturalGiftPower:u8 -naturalGiftType:u16.5:consts/pokemon.h:TYPE_ +naturalGiftType:u16.5:generated/pokemon_types.h:TYPE_ prevent_toss:u16.1:bool selectable:u16.1:bool fieldPocket:u16.4:constants/items.h:POCKET_ diff --git a/src/applications/pokemon_summary_screen/main.c b/src/applications/pokemon_summary_screen/main.c index 22ff76475b..dfbcf57047 100644 --- a/src/applications/pokemon_summary_screen/main.c +++ b/src/applications/pokemon_summary_screen/main.c @@ -9,7 +9,7 @@ #include "constants/string.h" #include "consts/moves.h" #include "consts/sdat.h" -#include "consts/species.h" +#include "generated/species.h" #include "struct_defs/struct_02099F80.h" diff --git a/src/applications/pokemon_summary_screen/sprite.c b/src/applications/pokemon_summary_screen/sprite.c index 86634abad9..6f7a90fd0d 100644 --- a/src/applications/pokemon_summary_screen/sprite.c +++ b/src/applications/pokemon_summary_screen/sprite.c @@ -5,7 +5,7 @@ #include "constants/narc.h" #include "constants/pokemon.h" -#include "consts/items.h" +#include "generated/items.h" #include "applications/pokemon_summary_screen/main.h" #include "applications/pokemon_summary_screen/subscreen.h" diff --git a/src/applications/pokemon_summary_screen/window.c b/src/applications/pokemon_summary_screen/window.c index ce62e2202d..f3a316567b 100644 --- a/src/applications/pokemon_summary_screen/window.c +++ b/src/applications/pokemon_summary_screen/window.c @@ -4,7 +4,7 @@ #include #include "consts/gender.h" -#include "consts/items.h" +#include "generated/items.h" #include "struct_defs/struct_02090800.h" diff --git a/src/bag.c b/src/bag.c index 303f0b6145..b2f9a464be 100644 --- a/src/bag.c +++ b/src/bag.c @@ -6,7 +6,7 @@ #include "constants/heap.h" #include "constants/items.h" #include "constants/savedata/save_table.h" -#include "consts/items.h" +#include "generated/items.h" #include "struct_decls/struct_0207CB08_decl.h" diff --git a/src/battle/battle_controller.c b/src/battle/battle_controller.c index 6b251d5d7a..ab57792fc3 100644 --- a/src/battle/battle_controller.c +++ b/src/battle/battle_controller.c @@ -12,9 +12,9 @@ #include "constants/pokemon.h" #include "constants/species.h" #include "constants/trainer.h" -#include "consts/abilities.h" #include "consts/game_records.h" #include "consts/sdat.h" +#include "generated/abilities.h" #include "struct_decls/battle_system.h" #include "struct_defs/trainer_data.h" diff --git a/src/battle/battle_lib.c b/src/battle/battle_lib.c index 07adf9b76f..d2b7950d12 100644 --- a/src/battle/battle_lib.c +++ b/src/battle/battle_lib.c @@ -11,9 +11,9 @@ #include "constants/species.h" #include "constants/string.h" #include "constants/trainer.h" -#include "consts/abilities.h" #include "consts/game_records.h" #include "consts/gender.h" +#include "generated/abilities.h" #include "struct_decls/battle_system.h" #include "struct_decls/struct_02098700_decl.h" diff --git a/src/battle/battle_script.c b/src/battle/battle_script.c index 1cbb826c7c..4cfe1bd644 100644 --- a/src/battle/battle_script.c +++ b/src/battle/battle_script.c @@ -8,9 +8,9 @@ #include "constants/pokemon.h" #include "constants/species.h" #include "constants/trainer.h" -#include "consts/abilities.h" #include "consts/gender.h" #include "consts/sdat.h" +#include "generated/abilities.h" #include "struct_decls/battle_system.h" #include "struct_decls/sprite_decl.h" diff --git a/src/battle/ov16_0223DF00.c b/src/battle/ov16_0223DF00.c index 91b54aae5f..bacb2c9f9d 100644 --- a/src/battle/ov16_0223DF00.c +++ b/src/battle/ov16_0223DF00.c @@ -9,7 +9,7 @@ #include "constants/items.h" #include "consts/battle.h" #include "consts/game_records.h" -#include "consts/species.h" +#include "generated/species.h" #include "struct_decls/battle_system.h" #include "struct_decls/pokedexdata_decl.h" diff --git a/src/battle/trainer_ai/trainer_ai.c b/src/battle/trainer_ai/trainer_ai.c index aed71cabe7..347341d499 100644 --- a/src/battle/trainer_ai/trainer_ai.c +++ b/src/battle/trainer_ai/trainer_ai.c @@ -6,7 +6,7 @@ #include "constants/battle.h" #include "constants/items.h" #include "constants/species.h" -#include "consts/abilities.h" +#include "generated/abilities.h" #include "struct_decls/battle_system.h" #include "struct_defs/battle_system.h" diff --git a/src/field_battle_data_transfer.c b/src/field_battle_data_transfer.c index 3ac86fbd54..a3a023761b 100644 --- a/src/field_battle_data_transfer.c +++ b/src/field_battle_data_transfer.c @@ -10,8 +10,8 @@ #include "constants/pokemon.h" #include "constants/string.h" #include "consts/battle.h" -#include "consts/items.h" -#include "consts/species.h" +#include "generated/items.h" +#include "generated/species.h" #include "struct_decls/pokedexdata_decl.h" #include "struct_decls/struct_0203A790_decl.h" diff --git a/src/overlay005/ov5_021F6454.c b/src/overlay005/ov5_021F6454.c index 8ed602bcfd..ce5bfa2ad0 100644 --- a/src/overlay005/ov5_021F6454.c +++ b/src/overlay005/ov5_021F6454.c @@ -4,8 +4,8 @@ #include #include "consts/game_records.h" -#include "consts/items.h" -#include "consts/species.h" +#include "generated/items.h" +#include "generated/species.h" #include "struct_decls/struct_020216E0_decl.h" #include "struct_decls/struct_0202C878_decl.h" diff --git a/src/overlay006/ov6_02240C9C.c b/src/overlay006/ov6_02240C9C.c index dd8a5dfb7b..db47593be3 100644 --- a/src/overlay006/ov6_02240C9C.c +++ b/src/overlay006/ov6_02240C9C.c @@ -7,10 +7,11 @@ #include "constants/forms.h" #include "constants/overworld_weather.h" #include "constants/species.h" -#include "consts/abilities.h" #include "consts/gender.h" -#include "consts/items.h" #include "consts/pokemon.h" +#include "generated/abilities.h" +#include "generated/gender_ratios.h" +#include "generated/items.h" #include "struct_defs/struct_0202D7B0.h" #include "struct_defs/struct_0206C638.h" diff --git a/src/overlay017/ov17_0223F118.c b/src/overlay017/ov17_0223F118.c index 9822ecd4f7..45242963ea 100644 --- a/src/overlay017/ov17_0223F118.c +++ b/src/overlay017/ov17_0223F118.c @@ -4,7 +4,7 @@ #include #include -#include "consts/items.h" +#include "generated/items.h" #include "struct_decls/font_oam.h" #include "struct_decls/struct_0200C6E4_decl.h" diff --git a/src/overlay019/ov19_021DB8E4.c b/src/overlay019/ov19_021DB8E4.c index 7d58b0767a..82b7eea4c6 100644 --- a/src/overlay019/ov19_021DB8E4.c +++ b/src/overlay019/ov19_021DB8E4.c @@ -3,7 +3,7 @@ #include #include -#include "consts/species.h" +#include "generated/species.h" #include "struct_decls/struct_020797DC_decl.h" diff --git a/src/overlay094/ov94_0223FB48.c b/src/overlay094/ov94_0223FB48.c index c11371cdf5..6f3b148f2d 100644 --- a/src/overlay094/ov94_0223FB48.c +++ b/src/overlay094/ov94_0223FB48.c @@ -4,8 +4,8 @@ #include #include -#include "consts/items.h" -#include "consts/species.h" +#include "generated/items.h" +#include "generated/species.h" #include "struct_decls/struct_020797DC_decl.h" diff --git a/src/overlay104/ov104_02237DD8.c b/src/overlay104/ov104_02237DD8.c index b17d3184a7..0dd0bb5d62 100644 --- a/src/overlay104/ov104_02237DD8.c +++ b/src/overlay104/ov104_02237DD8.c @@ -4,7 +4,7 @@ #include #include "constants/battle/condition.h" -#include "consts/items.h" +#include "generated/items.h" #include "struct_decls/struct_020304A0_decl.h" #include "struct_decls/struct_020305B8_decl.h" diff --git a/src/overlay118/ov118_021D0D80.c b/src/overlay118/ov118_021D0D80.c index c6d9544e8e..d305beaba2 100644 --- a/src/overlay118/ov118_021D0D80.c +++ b/src/overlay118/ov118_021D0D80.c @@ -3,7 +3,7 @@ #include #include -#include "consts/species.h" +#include "generated/species.h" #include "struct_decls/struct_02014014_decl.h" #include "struct_defs/struct_0207F248.h" diff --git a/src/pokedex.c b/src/pokedex.c index 2826913f76..0691af50dc 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -4,6 +4,7 @@ #include #include "constants/species.h" +#include "generated/gender_ratios.h" #include "heap.h" #include "inlines.h" diff --git a/src/pokemon.c b/src/pokemon.c index 568e7504b1..d844ccba71 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -10,10 +10,11 @@ #include "constants/narc.h" #include "constants/sound.h" #include "constants/species.h" -#include "consts/abilities.h" #include "consts/gender.h" -#include "consts/items.h" #include "consts/pokemon.h" +#include "generated/abilities.h" +#include "generated/exp_rates.h" +#include "generated/gender_ratios.h" #include "struct_decls/pokemon_animation_sys_decl.h" #include "struct_decls/sprite_decl.h" @@ -107,8 +108,8 @@ static void BoxPokemon_SetDataInternal(BoxPokemon *boxMon, enum PokemonDataParam static void Pokemon_IncreaseDataInternal(Pokemon *mon, enum PokemonDataParam param, int value); static void BoxPokemon_IncreaseDataInternal(BoxPokemon *boxMon, enum PokemonDataParam param, int value); static u32 BoxPokemon_GetExpToNextLevel(BoxPokemon *boxMon); -static void Pokemon_LoadExperienceTableOf(enum PokemonExpRate monExpRate, u32 *monExpTable); -static u32 Pokemon_GetExpRateBaseExpAt(enum PokemonExpRate monExpRate, int monLevel); +static void Pokemon_LoadExperienceTableOf(enum ExpRate monExpRate, u32 *monExpTable); +static u32 Pokemon_GetExpRateBaseExpAt(enum ExpRate monExpRate, int monLevel); static u16 Pokemon_GetNatureStatValue(u8 monNature, u16 monStatValue, u8 statType); static u8 BoxPokemon_IsShiny(BoxPokemon *boxMon); static inline BOOL Pokemon_InlineIsPersonalityShiny(u32 monOTID, u32 monPersonality); @@ -2181,14 +2182,14 @@ u32 Pokemon_GetSpeciesBaseExpAt(int monSpecies, int monLevel) return Pokemon_GetExpRateBaseExpAt(SpeciesData_GetSpeciesValue(monSpecies, SPECIES_DATA_EXP_RATE), monLevel); } -static void Pokemon_LoadExperienceTableOf(enum PokemonExpRate monExpRate, u32 *monExpTable) +static void Pokemon_LoadExperienceTableOf(enum ExpRate monExpRate, u32 *monExpTable) { // TODO const for table size GF_ASSERT(monExpRate < 8); NARC_ReadWholeMemberByIndexPair(monExpTable, NARC_INDEX_POKETOOL__PERSONAL__PL_GROWTBL, monExpRate); } -static u32 Pokemon_GetExpRateBaseExpAt(enum PokemonExpRate monExpRate, int monLevel) +static u32 Pokemon_GetExpRateBaseExpAt(enum ExpRate monExpRate, int monLevel) { // TODO const for table size GF_ASSERT(monExpRate < 8); @@ -2234,7 +2235,7 @@ u32 SpeciesData_GetLevelAt(SpeciesData *speciesData, u16 unused_monSpecies, u32 // TODO const for table size static u32 monExpTable[101]; - enum PokemonExpRate monExpRate = SpeciesData_GetValue(speciesData, SPECIES_DATA_EXP_RATE); + enum ExpRate monExpRate = SpeciesData_GetValue(speciesData, SPECIES_DATA_EXP_RATE); Pokemon_LoadExperienceTableOf(monExpRate, monExpTable); int i; diff --git a/src/string_template.c b/src/string_template.c index 48bc2d9eae..c50206070f 100644 --- a/src/string_template.c +++ b/src/string_template.c @@ -7,9 +7,9 @@ #include "constants/heap.h" #include "constants/narc.h" #include "constants/pokemon.h" -#include "consts/abilities.h" #include "consts/gender.h" #include "consts/moves.h" +#include "generated/abilities.h" #include "struct_decls/struct_020797DC_decl.h" #include "struct_defs/trainer_data.h" diff --git a/src/unk_020131EC.c b/src/unk_020131EC.c index 8a5b188026..780888ce6f 100644 --- a/src/unk_020131EC.c +++ b/src/unk_020131EC.c @@ -3,7 +3,7 @@ #include #include -#include "consts/species.h" +#include "generated/species.h" #include "struct_defs/struct_02013610.h" diff --git a/src/unk_0207AE68.c b/src/unk_0207AE68.c index bc1081d861..e37ccf05b0 100644 --- a/src/unk_0207AE68.c +++ b/src/unk_0207AE68.c @@ -4,8 +4,8 @@ #include #include "consts/game_records.h" -#include "consts/items.h" -#include "consts/species.h" +#include "generated/items.h" +#include "generated/species.h" #include "struct_decls/pokedexdata_decl.h" #include "struct_decls/struct_0207AE68_decl.h" diff --git a/src/unk_02083370.c b/src/unk_02083370.c index bdcea827f0..75986adedd 100644 --- a/src/unk_02083370.c +++ b/src/unk_02083370.c @@ -3,7 +3,7 @@ #include #include -#include "consts/items.h" +#include "generated/items.h" #include "struct_defs/struct_0200D0F4.h" #include "struct_defs/struct_0207F248.h" diff --git a/src/unk_02096420.c b/src/unk_02096420.c index 74ee8b9ac9..fa265e68a6 100644 --- a/src/unk_02096420.c +++ b/src/unk_02096420.c @@ -3,7 +3,7 @@ #include #include -#include "consts/species.h" +#include "generated/species.h" #include "heap.h" #include "item.h" diff --git a/src/unk_02098218.c b/src/unk_02098218.c index 07c76c6323..28455a2cd1 100644 --- a/src/unk_02098218.c +++ b/src/unk_02098218.c @@ -4,7 +4,7 @@ #include #include "consts/game_records.h" -#include "consts/species.h" +#include "generated/species.h" #include "struct_defs/struct_0203E2FC.h" #include "struct_defs/struct_0209843C.h" diff --git a/subprojects/metang.wrap b/subprojects/metang.wrap new file mode 100644 index 0000000000..de7dec75b5 --- /dev/null +++ b/subprojects/metang.wrap @@ -0,0 +1,7 @@ +[wrap-git] +url = https://github.com/lhearachel/metang.git +revision = main +depth = 1 + +[provide] +program_names = metang diff --git a/tools/json2bin/catching_show_data.py b/tools/json2bin/catching_show_data.py index e8633baae0..f5259dfed2 100644 --- a/tools/json2bin/catching_show_data.py +++ b/tools/json2bin/catching_show_data.py @@ -2,10 +2,8 @@ import pathlib import json2bin as j2b -from consts import ( - species, - catching_show -) +from consts import catching_show +from generated import species def parse_catching_show_data(cs_data: dict, _size: int, _consts: type = None) -> bytes: binary = bytearray([]) @@ -23,7 +21,7 @@ SCHEMA = j2b.Parser() \ def indexer(file_path: pathlib.Path) -> int: name = file_path.parent.stem.upper() - return species.PokemonSpecies[f'SPECIES_{name}'].value + return species.Species[f'SPECIES_{name}'].value args = j2b.ARGPARSER.parse_args() diff --git a/tools/json2bin/convert.py b/tools/json2bin/convert.py index 55c252a8e3..97988b58b2 100644 --- a/tools/json2bin/convert.py +++ b/tools/json2bin/convert.py @@ -2,7 +2,8 @@ import collections import functools -from consts import items, moves, species, trainer, trainer_ai +from generated import items, moves, species +from consts import trainer, trainer_ai def pad(len: int) -> bytes: return (0).to_bytes(len, 'little') @@ -23,7 +24,7 @@ def from_move(s: str) -> int: return moves.Move[s].value def from_species(s: str) -> int: - return species.PokemonSpecies[s].value + return species.Species[s].value def from_trainer_class(s: str) -> int: return trainer.TrainerClass[s].value diff --git a/tools/json2bin/encdata_ex_elusive_rod.py b/tools/json2bin/encdata_ex_elusive_rod.py index f8d8634350..f3dc860463 100644 --- a/tools/json2bin/encdata_ex_elusive_rod.py +++ b/tools/json2bin/encdata_ex_elusive_rod.py @@ -4,11 +4,11 @@ import json import pathlib import sys -from consts import species from convert import u16, u32 +from generated import species def as_species(s: str) -> bytes: - return u32(species.PokemonSpecies[s].value) + return u32(species.Species[s].value) input_path = pathlib.Path(sys.argv[1]) output_path_species = pathlib.Path(sys.argv[2]) diff --git a/tools/json2bin/encdata_ex_great_marsh.py b/tools/json2bin/encdata_ex_great_marsh.py index 46564dd93a..ee1896ef2a 100644 --- a/tools/json2bin/encdata_ex_great_marsh.py +++ b/tools/json2bin/encdata_ex_great_marsh.py @@ -4,11 +4,11 @@ import json import pathlib import sys -from consts import species from convert import u16, u32 +from generated import species def as_species(s: str) -> bytes: - return u32(species.PokemonSpecies[s].value) + return u32(species.Species[s].value) input_path = pathlib.Path(sys.argv[1]) output_path_natdex = pathlib.Path(sys.argv[2]) diff --git a/tools/json2bin/encdata_ex_honey_trees.py b/tools/json2bin/encdata_ex_honey_trees.py index f718d6b857..464dd02023 100644 --- a/tools/json2bin/encdata_ex_honey_trees.py +++ b/tools/json2bin/encdata_ex_honey_trees.py @@ -4,11 +4,11 @@ import json import pathlib import sys -from consts import species from convert import u32 +from generated import species def as_species(s: str) -> bytes: - return u32(species.PokemonSpecies[s].value) + return u32(species.Species[s].value) input_path = pathlib.Path(sys.argv[1]) output_path_common = pathlib.Path(sys.argv[2]) diff --git a/tools/json2bin/encdata_ex_trophy_garden.py b/tools/json2bin/encdata_ex_trophy_garden.py index 262590b2ed..ff60c35d5a 100644 --- a/tools/json2bin/encdata_ex_trophy_garden.py +++ b/tools/json2bin/encdata_ex_trophy_garden.py @@ -4,11 +4,11 @@ import json import pathlib import sys -from consts import species from convert import u32 +from generated import species def as_species(s: str) -> bytes: - return u32(species.PokemonSpecies[s].value) + return u32(species.Species[s].value) input_path = pathlib.Path(sys.argv[1]) output_path = pathlib.Path(sys.argv[2]) diff --git a/tools/json2bin/encounter.py b/tools/json2bin/encounter.py index bcd0f30a0c..5effd05e82 100644 --- a/tools/json2bin/encounter.py +++ b/tools/json2bin/encounter.py @@ -4,11 +4,11 @@ import json import pathlib import sys -from consts import species from convert import pad, u8, u32 +from generated import species def as_species(s: str) -> bytes: - return u32(species.PokemonSpecies[s].value) + return u32(species.Species[s].value) def convert_land(encs: list) -> bytes: return b''.join(itertools.chain.from_iterable([ diff --git a/tools/json2bin/evo.py b/tools/json2bin/evo.py index f7ce70c275..d53e3ac183 100644 --- a/tools/json2bin/evo.py +++ b/tools/json2bin/evo.py @@ -3,11 +3,14 @@ from collections.abc import Sequence import pathlib import json2bin as j2b -from consts import ( +from generated import ( items, moves, + species, +) + +from consts import ( pokemon, - species ) @@ -51,7 +54,7 @@ def get_evo_params(method: pokemon.PokemonEvoMethod, evo: Sequence): elif method == pokemon.PokemonEvoMethod.EVO_LEVEL_KNOW_MOVE: final_param = moves.Move[maybe_param].value elif method == pokemon.PokemonEvoMethod.EVO_LEVEL_SPECIES_IN_PARTY: - final_param = species.PokemonSpecies[maybe_param].value + final_param = species.Species[maybe_param].value return final_param @@ -70,7 +73,7 @@ def parse_evolutions(table: Sequence, _size: int, _enum: None) -> bytes: evo = table[j] method = pokemon.PokemonEvoMethod[evo[0]] params = get_evo_params(method, evo) - target = species.PokemonSpecies[evo[-1]] + target = species.Species[evo[-1]] out.extend(table_line(method.value, params, target.value)) out.extend((0).to_bytes(44 - len(out), 'little')) @@ -118,7 +121,7 @@ def indexer(file_path: pathlib.Path) -> int: species_idx = file_path.parent.parent.parent.stem.upper() form = file_path.parent.stem.upper() return FORM_INDICES[species_idx][form] - return species.PokemonSpecies[f'SPECIES_{name}'].value + return species.Species[f'SPECIES_{name}'].value args = j2b.ARGPARSER.parse_args() diff --git a/tools/json2bin/movedata.py b/tools/json2bin/movedata.py index 971aeae52a..4dbf9b6742 100644 --- a/tools/json2bin/movedata.py +++ b/tools/json2bin/movedata.py @@ -1,6 +1,9 @@ #!/usr/bin/env python3 import pathlib +from generated.moves import Move +from generated.pokemon_types import PokemonType + from consts import ( battle, moves, @@ -15,7 +18,7 @@ SCHEMA = j2b.Parser() \ .register('effect.type', 2, j2b.parse_const, battle.BattleEffect) \ .register('class', 1, j2b.parse_const, moves.MoveClass) \ .register('power', 1, j2b.parse_int) \ - .register('type', 1, j2b.parse_const, pokemon.PokemonType) \ + .register('type', 1, j2b.parse_const, PokemonType) \ .register('accuracy', 1, j2b.parse_int) \ .register('pp', 1, j2b.parse_int) \ .register('effect.chance', 1, j2b.parse_int) \ @@ -31,7 +34,7 @@ def indexer(file_path: pathlib.Path) -> int: if stem.isnumeric(): return int(stem) - return moves.Move[f'MOVE_{file_path.parent.stem.upper()}'].value + return Move[f'MOVE_{file_path.parent.stem.upper()}'].value args = j2b.ARGPARSER.parse_args() diff --git a/tools/json2bin/pl_poke_data.py b/tools/json2bin/pl_poke_data.py index 826af1fc0a..a395f9a429 100644 --- a/tools/json2bin/pl_poke_data.py +++ b/tools/json2bin/pl_poke_data.py @@ -2,10 +2,8 @@ import pathlib import json2bin as j2b -from consts import ( - species, - shadows -) +from consts import shadows +from generated import species def parse_frame(frame: dict) -> bytes: @@ -41,7 +39,7 @@ SCHEMA = j2b.Parser() \ def indexer(file_path: pathlib.Path) -> int: name = file_path.parent.stem.upper() if name == '000': return 0 - return species.PokemonSpecies[f'SPECIES_{name}'].value + return species.Species[f'SPECIES_{name}'].value args = j2b.ARGPARSER.parse_args() diff --git a/tools/json2bin/pokemon_personal_data.py b/tools/json2bin/pokemon_personal_data.py index 004ef7bfe9..a5904113a4 100644 --- a/tools/json2bin/pokemon_personal_data.py +++ b/tools/json2bin/pokemon_personal_data.py @@ -3,14 +3,18 @@ import pathlib import json2bin as j2b -from consts import ( +from generated import ( abilities, + egg_groups, + exp_rates, + gender_ratios, items, - pokemon, + pokemon_colors, + pokemon_types, species, - tm_learnset ) +from consts import tm_learnset def parse_ev_yields(ev_yields: dict, size: int, _: None) -> bytes: packed = ev_yields['hp'] @@ -22,7 +26,7 @@ def parse_ev_yields(ev_yields: dict, size: int, _: None) -> bytes: return packed.to_bytes(size, 'little') def parse_color(sprite: dict, size: int, _: None) -> bytes: - packed = pokemon.PokemonColor[sprite['color']].value + packed = pokemon_colors.PokemonColor[sprite['color']].value packed = packed + ((1 if sprite['flip_sprite'] else 0) << 7) return packed.to_bytes(size, 'little') @@ -34,19 +38,19 @@ SCHEMA = j2b.Parser() \ .register('base_stats.speed', 1, j2b.parse_int) \ .register('base_stats.special_attack', 1, j2b.parse_int) \ .register('base_stats.special_defense', 1, j2b.parse_int) \ - .register('types.0', 1, j2b.parse_const, pokemon.PokemonType) \ - .register('types.1', 1, j2b.parse_const, pokemon.PokemonType) \ + .register('types.0', 1, j2b.parse_const, pokemon_types.PokemonType) \ + .register('types.1', 1, j2b.parse_const, pokemon_types.PokemonType) \ .register('catch_rate', 1, j2b.parse_int) \ .register('base_exp_reward', 1, j2b.parse_int) \ .register('ev_yields', 2, parse_ev_yields) \ .register('held_items.common', 2, j2b.parse_const, items.Item) \ .register('held_items.rare', 2, j2b.parse_const, items.Item) \ - .register('gender_ratio', 1, j2b.parse_const, pokemon.PokemonGenderRatio) \ + .register('gender_ratio', 1, j2b.parse_const, gender_ratios.GenderRatio) \ .register('hatch_cycles', 1, j2b.parse_int) \ .register('base_friendship', 1, j2b.parse_int) \ - .register('exp_rate', 1, j2b.parse_const, pokemon.PokemonExpRate) \ - .register('egg_groups.0', 1, j2b.parse_const, pokemon.PokemonEggGroup) \ - .register('egg_groups.1', 1, j2b.parse_const, pokemon.PokemonEggGroup) \ + .register('exp_rate', 1, j2b.parse_const, exp_rates.ExpRate) \ + .register('egg_groups.0', 1, j2b.parse_const, egg_groups.EggGroup) \ + .register('egg_groups.1', 1, j2b.parse_const, egg_groups.EggGroup) \ .register('abilities.0', 1, j2b.parse_const, abilities.Ability) \ .register('abilities.1', 1, j2b.parse_const, abilities.Ability) \ .register('great_marsh_flee_rate', 1, j2b.parse_int) \ @@ -91,7 +95,7 @@ def indexer(file_path: pathlib.Path) -> int: species_idx = file_path.parent.parent.parent.stem.upper() form = file_path.parent.stem.upper() return FORM_INDICES[species_idx][form] - return species.PokemonSpecies[f'SPECIES_{name}'].value + return species.Species[f'SPECIES_{name}'].value args = j2b.ARGPARSER.parse_args() diff --git a/tools/json2bin/pokemon_wotbl_data.py b/tools/json2bin/pokemon_wotbl_data.py index 8f0ba0cb8d..6194eb2cf1 100644 --- a/tools/json2bin/pokemon_wotbl_data.py +++ b/tools/json2bin/pokemon_wotbl_data.py @@ -2,9 +2,9 @@ import pathlib import json2bin as j2b -from consts import ( +from generated import ( moves, - species + species, ) @@ -70,7 +70,7 @@ def indexer(file_path: pathlib.Path) -> int: species_idx = file_path.parent.parent.parent.stem.upper() form = file_path.parent.stem.upper() return FORM_INDICES[species_idx][form] - return species.PokemonSpecies[f'SPECIES_{name}'].value + return species.Species[f'SPECIES_{name}'].value args = j2b.ARGPARSER.parse_args() diff --git a/tools/json2bin/trainer_data.py b/tools/json2bin/trainer_data.py index 719e317b68..5c05d644a1 100644 --- a/tools/json2bin/trainer_data.py +++ b/tools/json2bin/trainer_data.py @@ -4,7 +4,7 @@ import json import pathlib import sys -from consts import items +from generated import items from convert import ( TrainerDataFlags, derive_data_flags, diff --git a/tools/json2bin/trainer_party.py b/tools/json2bin/trainer_party.py index 53f7f72d81..325c16caab 100644 --- a/tools/json2bin/trainer_party.py +++ b/tools/json2bin/trainer_party.py @@ -3,7 +3,7 @@ import json import pathlib import sys -from consts import moves +from generated import moves from convert import derive_data_flags, pad, u16, u32, from_item, from_move, from_species diff --git a/tools/meson.build b/tools/meson.build index bcafc78169..67e818a78b 100644 --- a/tools/meson.build +++ b/tools/meson.build @@ -22,3 +22,4 @@ nitrogfx_exe = find_program('nitrogfx', native: true) narc_exe = find_program('narc', native: true) constgen_py = find_program('constgen_py', native: true) SDATTool_py = find_program('SDATTool_py', native: true) +metang_exe = find_program('metang', native: true) diff --git a/tools/scripts/make_height.py b/tools/scripts/make_height.py index 394555c3f8..de79643f4d 100644 --- a/tools/scripts/make_height.py +++ b/tools/scripts/make_height.py @@ -4,7 +4,7 @@ import json import pathlib import subprocess -from consts.pokemon import PokemonGenderRatio +from generated.gender_ratios import GenderRatio argparser = argparse.ArgumentParser( @@ -45,10 +45,10 @@ for i, subdir in enumerate(args.subdirs): pkdata = json.load(data_file) gender_ratio = pkdata['gender_ratio'] - female_only = (gender_ratio == PokemonGenderRatio.GENDER_RATIO_FEMALE_ONLY.name) + female_only = (gender_ratio == GenderRatio.GENDER_RATIO_FEMALE_ONLY.name) male_or_genderless = (gender_ratio in [ - PokemonGenderRatio.GENDER_RATIO_MALE_ONLY.name, - PokemonGenderRatio.GENDER_RATIO_NO_GENDER.name + GenderRatio.GENDER_RATIO_MALE_ONLY.name, + GenderRatio.GENDER_RATIO_NO_GENDER.name ]) j = 0 diff --git a/tools/scripts/make_pl_pokezukan.py b/tools/scripts/make_pl_pokezukan.py index 994cf74634..5446a3ab7e 100644 --- a/tools/scripts/make_pl_pokezukan.py +++ b/tools/scripts/make_pl_pokezukan.py @@ -4,7 +4,7 @@ import json import pathlib import subprocess -from consts.species import PokemonSpecies +from generated.species import Species argparser = argparse.ArgumentParser( @@ -40,7 +40,7 @@ pokedex = [0 for i in range(NUM_POKEMON)] with open(args.pokedex) as data_file: dex_data = json.load(data_file) for i, mon in enumerate(dex_data): - pokedex[PokemonSpecies[mon].value] = i + pokedex[Species[mon].value] = i target_fname = private_dir / 'pl_pokezukan_0.bin' with open(target_fname, 'wb+') as target_file: diff --git a/tools/scripts/make_pokedex_data.py b/tools/scripts/make_pokedex_data.py index c354d12b76..8530ab5818 100644 --- a/tools/scripts/make_pokedex_data.py +++ b/tools/scripts/make_pokedex_data.py @@ -4,9 +4,9 @@ import json import pathlib import subprocess -from consts.species import PokemonSpecies -from consts.pokemon import PokemonType from consts.pokemon import PokemonBodyShape +from generated.pokemon_types import PokemonType +from generated.species import Species argparser = argparse.ArgumentParser( @@ -59,8 +59,8 @@ def DataSize(num): return 1 return 2 -NUM_FILES = 26 + PokemonType['NUMBER_OF_MON_TYPES'].value + PokemonBodyShape['NUMBER_OF_BODY_SHAPES'].value -NUM_POKEMON = len(PokemonSpecies)-3 +NUM_FILES = 26 + PokemonType['NUM_POKEMON_TYPES'].value + PokemonBodyShape['NUMBER_OF_BODY_SHAPES'].value +NUM_POKEMON = len(Species)-3 binData = [bytes() for f in range(NUM_FILES)] heightData = [0 for i in range(NUM_POKEMON)] @@ -95,13 +95,13 @@ for i, file in enumerate(args.src_files): binData[11] = binData[11] + i.to_bytes(2, 'little') # body shape - bodyIdx = PokemonBodyShape[pkdexdata['body_shape']].value + PokemonType['NUMBER_OF_MON_TYPES'].value + 26 + bodyIdx = PokemonBodyShape[pkdexdata['body_shape']].value + PokemonType['NUM_POKEMON_TYPES'].value + 26 binData[bodyIdx] = binData[bodyIdx] + i.to_bytes(2, 'little') # pokemon types typeIdx = 27 for type in PokemonType: - if type.name in ['TYPE_MYSTERY', 'NUMBER_OF_MON_TYPES']: + if type.name in ['TYPE_MYSTERY', 'NUM_POKEMON_TYPES']: continue if type.name in pkdata['types']: binData[typeIdx] = binData[typeIdx] + i.to_bytes(2, 'little') @@ -117,7 +117,7 @@ with open(source_dir / 'sinnoh_pokedex.json') as data_file: pokedex = json.load(data_file) for mon in pokedex: if mon not in ['SPECIES_EGG', 'SPECIES_BAD_EGG', 'SPECIES_NONE', 'SPECIES_ARCEUS']: - binData[12] = binData[12] + PokemonSpecies[mon].value.to_bytes(2, 'little') + binData[12] = binData[12] + Species[mon].value.to_bytes(2, 'little') # alphabetical order alpha = sorted(range(len(nameData)), key=lambda k: nameData[k]) diff --git a/tools/scripts/make_pokedex_enc_platinum.py b/tools/scripts/make_pokedex_enc_platinum.py index ff1f177ce7..e6c6f370af 100644 --- a/tools/scripts/make_pokedex_enc_platinum.py +++ b/tools/scripts/make_pokedex_enc_platinum.py @@ -4,7 +4,7 @@ import json import pathlib import subprocess -from consts.species import PokemonSpecies +from generated.species import Species argparser = argparse.ArgumentParser( @@ -232,7 +232,7 @@ honey_tree_fields = [ ] great_marsh_dungeon = 4 -NUM_POKEMON = len(PokemonSpecies) - 1 +NUM_POKEMON = len(Species) - 1 NUM_FILES = NUM_POKEMON * 10 + 4 NUM_DIGITS = len(str(NUM_FILES)) @@ -291,24 +291,24 @@ for file in args.src_files: if (file == args.honey_file): for species in enc_data['common']: for map_num in honey_tree_dungeons: - dungeon_special[PokemonSpecies[species].value].add(map_num) - dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + dungeon_special[Species[species].value].add(map_num) + dungeon_special_natdex[Species[species].value].add(map_num) for map_num in honey_tree_fields: - field_special[PokemonSpecies[species].value].add(map_num) - field_special_natdex[PokemonSpecies[species].value].add(map_num) + field_special[Species[species].value].add(map_num) + field_special_natdex[Species[species].value].add(map_num) for species in enc_data['uncommon']: for map_num in honey_tree_dungeons: - dungeon_special[PokemonSpecies[species].value].add(map_num) - dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + dungeon_special[Species[species].value].add(map_num) + dungeon_special_natdex[Species[species].value].add(map_num) for map_num in honey_tree_fields: - field_special[PokemonSpecies[species].value].add(map_num) - field_special_natdex[PokemonSpecies[species].value].add(map_num) + field_special[Species[species].value].add(map_num) + field_special_natdex[Species[species].value].add(map_num) elif (file == args.marsh_file): for species in enc_data['before_national_dex']: - dungeon_special[PokemonSpecies[species].value].add(great_marsh_dungeon) + dungeon_special[Species[species].value].add(great_marsh_dungeon) for species in enc_data['after_national_dex']: - dungeon_special_natdex[PokemonSpecies[species].value].add(great_marsh_dungeon) + dungeon_special_natdex[Species[species].value].add(great_marsh_dungeon) else: map_data = enc_data['map_category'] @@ -318,99 +318,99 @@ for file in args.src_files: if (map_type == 'dungeon'): for i, slot in enumerate(enc_data['land_encounters']): species = slot['species'] - dungeon_morning[PokemonSpecies[species].value].add(map_num) + dungeon_morning[Species[species].value].add(map_num) if ((i == 2) or (i == 3)): species = enc_data['morning'][i - 2] - dungeon_day[PokemonSpecies[species].value].add(map_num) + dungeon_day[Species[species].value].add(map_num) species = enc_data['night'][i - 2] - dungeon_night[PokemonSpecies[species].value].add(map_num) + dungeon_night[Species[species].value].add(map_num) else: - dungeon_day[PokemonSpecies[species].value].add(map_num) - dungeon_night[PokemonSpecies[species].value].add(map_num) + dungeon_day[Species[species].value].add(map_num) + dungeon_night[Species[species].value].add(map_num) for slot in enc_data['surf_encounters']: species = slot['species'] - dungeon_morning[PokemonSpecies[species].value].add(map_num) - dungeon_day[PokemonSpecies[species].value].add(map_num) - dungeon_night[PokemonSpecies[species].value].add(map_num) + dungeon_morning[Species[species].value].add(map_num) + dungeon_day[Species[species].value].add(map_num) + dungeon_night[Species[species].value].add(map_num) for slot in enc_data['old_rod_encounters']: species = slot['species'] - dungeon_morning[PokemonSpecies[species].value].add(map_num) - dungeon_day[PokemonSpecies[species].value].add(map_num) - dungeon_night[PokemonSpecies[species].value].add(map_num) + dungeon_morning[Species[species].value].add(map_num) + dungeon_day[Species[species].value].add(map_num) + dungeon_night[Species[species].value].add(map_num) for slot in enc_data['good_rod_encounters']: species = slot['species'] - dungeon_morning[PokemonSpecies[species].value].add(map_num) - dungeon_day[PokemonSpecies[species].value].add(map_num) - dungeon_night[PokemonSpecies[species].value].add(map_num) + dungeon_morning[Species[species].value].add(map_num) + dungeon_day[Species[species].value].add(map_num) + dungeon_night[Species[species].value].add(map_num) for slot in enc_data['super_rod_encounters']: species = slot['species'] - dungeon_morning[PokemonSpecies[species].value].add(map_num) - dungeon_day[PokemonSpecies[species].value].add(map_num) - dungeon_night[PokemonSpecies[species].value].add(map_num) + dungeon_morning[Species[species].value].add(map_num) + dungeon_day[Species[species].value].add(map_num) + dungeon_night[Species[species].value].add(map_num) dungeon_special[0].add(map_num) for species in enc_data['radar']: - dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + dungeon_special_natdex[Species[species].value].add(map_num) if (file == args.coronet_file): species = enc_data['elusive_rod_encounter']['species'] - dungeon_special[PokemonSpecies[species].value].add(map_num) - dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + dungeon_special[Species[species].value].add(map_num) + dungeon_special_natdex[Species[species].value].add(map_num) if (file == args.trophy_file): for species in enc_data['daily_encounters']: - dungeon_special_natdex[PokemonSpecies[species].value].add(map_num) + dungeon_special_natdex[Species[species].value].add(map_num) if (map_type == 'field'): for i, slot in enumerate(enc_data['land_encounters']): species = slot['species'] - field_morning[PokemonSpecies[species].value].add(map_num) + field_morning[Species[species].value].add(map_num) if ((i == 2) or (i == 3)): species = enc_data['morning'][i - 2] - field_day[PokemonSpecies[species].value].add(map_num) + field_day[Species[species].value].add(map_num) species = enc_data['night'][i - 2] - field_night[PokemonSpecies[species].value].add(map_num) + field_night[Species[species].value].add(map_num) else: - field_day[PokemonSpecies[species].value].add(map_num) - field_night[PokemonSpecies[species].value].add(map_num) + field_day[Species[species].value].add(map_num) + field_night[Species[species].value].add(map_num) for slot in enc_data['surf_encounters']: species = slot['species'] - field_morning[PokemonSpecies[species].value].add(map_num) - field_day[PokemonSpecies[species].value].add(map_num) - field_night[PokemonSpecies[species].value].add(map_num) + field_morning[Species[species].value].add(map_num) + field_day[Species[species].value].add(map_num) + field_night[Species[species].value].add(map_num) for slot in enc_data['old_rod_encounters']: species = slot['species'] - field_morning[PokemonSpecies[species].value].add(map_num) - field_day[PokemonSpecies[species].value].add(map_num) - field_night[PokemonSpecies[species].value].add(map_num) + field_morning[Species[species].value].add(map_num) + field_day[Species[species].value].add(map_num) + field_night[Species[species].value].add(map_num) for slot in enc_data['good_rod_encounters']: species = slot['species'] - field_morning[PokemonSpecies[species].value].add(map_num) - field_day[PokemonSpecies[species].value].add(map_num) - field_night[PokemonSpecies[species].value].add(map_num) + field_morning[Species[species].value].add(map_num) + field_day[Species[species].value].add(map_num) + field_night[Species[species].value].add(map_num) for slot in enc_data['super_rod_encounters']: species = slot['species'] - field_morning[PokemonSpecies[species].value].add(map_num) - field_day[PokemonSpecies[species].value].add(map_num) - field_night[PokemonSpecies[species].value].add(map_num) + field_morning[Species[species].value].add(map_num) + field_day[Species[species].value].add(map_num) + field_night[Species[species].value].add(map_num) field_special[0].add(map_num) for species in enc_data['radar']: - field_special_natdex[PokemonSpecies[species].value].add(map_num) + field_special_natdex[Species[species].value].add(map_num) for species in range(NUM_POKEMON): diff --git a/tools/scripts/make_pokedex_message_banks.py b/tools/scripts/make_pokedex_message_banks.py index d733c23c0c..69baf26a57 100644 --- a/tools/scripts/make_pokedex_message_banks.py +++ b/tools/scripts/make_pokedex_message_banks.py @@ -4,7 +4,7 @@ import json import pathlib import xml.etree.ElementTree as ET -from consts.species import PokemonSpecies +from generated.species import Species argparser = argparse.ArgumentParser( prog='make_pokedex_message_banks_py', @@ -58,7 +58,7 @@ def Convert_Height(decimeters): return f'  {feet}’{inches:02}”' # variables -NUM_POKEMON = len(PokemonSpecies) +NUM_POKEMON = len(Species) name_data = ['' for i in range(NUM_POKEMON)] name_articles = ['' for i in range(NUM_POKEMON)] diff --git a/tools/scripts/make_shinzukan.py b/tools/scripts/make_shinzukan.py index d9115bbbb4..33338e4a50 100644 --- a/tools/scripts/make_shinzukan.py +++ b/tools/scripts/make_shinzukan.py @@ -4,7 +4,7 @@ import json import pathlib import subprocess -from consts.species import PokemonSpecies +from generated.species import Species argparser = argparse.ArgumentParser( @@ -40,7 +40,7 @@ pokedex = [0 for i in range(NUM_SINNOH)] with open(args.pokedex) as data_file: dex_data = json.load(data_file) for i, mon in enumerate(dex_data): - pokedex[i] = PokemonSpecies[mon].value + pokedex[i] = Species[mon].value target_fname = private_dir / 'shinzukan_0.bin' with open(target_fname, 'wb+') as target_file: diff --git a/tools/scripts/make_species_tables.py b/tools/scripts/make_species_tables.py index fd5d0991c3..01dee33ad6 100644 --- a/tools/scripts/make_species_tables.py +++ b/tools/scripts/make_species_tables.py @@ -2,9 +2,10 @@ import argparse import json import pathlib -from consts.moves import Move -from consts.species import PokemonSpecies + from consts.pokemon import PokemonFootprintSize +from generated.moves import Move +from generated.species import Species argparser = argparse.ArgumentParser( @@ -83,7 +84,7 @@ for file_path in source_dir.glob("**/data.json"): isForm = True else: - species_id = PokemonSpecies[f"SPECIES_{species_name}"].value + species_id = Species[f"SPECIES_{species_name}"].value # this needs to be increased if more than 40 moves are added to this list