From 3fc25ff4664119cb8a9be5acd789f261c6d24b7a Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 22 Jun 2025 13:50:03 -0400 Subject: [PATCH] Pal Park map script documentation (#491) --- asm/macros/scrcmd.inc | 38 +- generated/backdrops.txt | 18 + generated/meson.build | 4 + generated/pokemon_data_params.txt | 180 ++++++ generated/pokemon_stats.txt | 7 + generated/text_banks.txt | 2 +- generated/vars_flags.txt | 17 +- generated/versions.txt | 12 + include/constants/pokemon.h | 202 +----- include/constants/scrcmd.h | 1 + include/global/pm_version.h | 13 +- include/scrcmd_catching_show.h | 11 + include/unk_0202F180.h | 2 +- include/unk_0204C500.h | 11 - platinum.us/main.lsf | 2 +- .../events_eterna_city_south_house.json | 2 +- res/field/scripts/scripts_battle_frontier.s | 2 +- res/field/scripts/scripts_canalave_city.s | 8 +- ...ipts_canalave_city_sailor_eldritch_house.s | 4 +- res/field/scripts/scripts_celestic_town.s | 2 +- .../scripts/scripts_celestic_town_cave.s | 4 +- res/field/scripts/scripts_eterna_city.s | 2 +- res/field/scripts/scripts_eterna_city_gym.s | 8 +- res/field/scripts/scripts_fight_area.s | 2 +- .../scripts/scripts_global_terminal_1f.s | 6 +- res/field/scripts/scripts_init_new_game.s | 2 +- .../scripts_iron_island_b2f_left_room.s | 2 +- res/field/scripts/scripts_jubilife_city.s | 6 +- res/field/scripts/scripts_lake_verity.s | 8 +- res/field/scripts/scripts_mt_coronet_2f.s | 2 +- res/field/scripts/scripts_oreburgh_city.s | 2 +- res/field/scripts/scripts_pal_park.s | 94 +-- res/field/scripts/scripts_pal_park_lobby.s | 610 +++++++++--------- res/field/scripts/scripts_pastoria_city.s | 18 +- ...cripts_pastoria_city_observatory_gate_1f.s | 2 +- .../scripts_resort_area_ribbon_syndicate_1f.s | 2 +- res/field/scripts/scripts_route_202.s | 2 +- res/field/scripts/scripts_route_213.s | 4 +- res/field/scripts/scripts_sandgem_town.s | 2 +- ...cripts_sandgem_town_pokemon_research_lab.s | 4 +- res/field/scripts/scripts_solaceon_town.s | 2 +- .../scripts/scripts_spear_pillar_distorted.s | 2 +- .../scripts/scripts_stark_mountain_room_2.s | 4 +- res/field/scripts/scripts_sunyshore_city.s | 4 +- ...scripts_team_galactic_eterna_building_1f.s | 4 +- .../scripts_twinleaf_town_player_house_1f.s | 2 +- res/field/scripts/scripts_unk_0212.s | 2 +- .../scripts_valley_windworks_building.s | 4 +- res/field/scripts/scripts_valor_lakefront.s | 6 +- res/field/scripts/scripts_veilstone_city.s | 6 +- ...cripts_veilstone_city_galactic_warehouse.s | 4 +- res/field/scripts/scripts_villa.s | 28 +- ...{common_strings_2.gmm => menu_entries.gmm} | 16 +- res/text/pal_park.gmm | 28 +- res/text/pal_park_lobby.gmm | 134 ++-- src/menu.c | 4 +- src/meson.build | 2 +- src/overlay005/field_menu.c | 8 +- src/overlay005/ov5_021F6454.c | 2 +- src/overlay005/scrcmd_move_tutor.c | 4 +- src/overlay006/npc_trade.c | 2 +- src/overlay088/ov88_0223B140.c | 2 +- src/overlay094/ov94_02242AD0.c | 4 +- src/overlay104/ov104_02231F74.c | 2 +- src/scrcmd.c | 44 +- ...{unk_0204C500.c => scrcmd_catching_show.c} | 64 +- src/scrcmd_mystery_gift.c | 2 +- src/string_template.c | 4 +- src/unk_0202F180.c | 8 +- src/unk_02054884.c | 2 +- src/unk_02098218.c | 2 +- 71 files changed, 876 insertions(+), 846 deletions(-) create mode 100644 generated/backdrops.txt create mode 100644 generated/pokemon_data_params.txt create mode 100644 generated/pokemon_stats.txt create mode 100644 generated/versions.txt create mode 100644 include/scrcmd_catching_show.h delete mode 100644 include/unk_0204C500.h rename res/text/{common_strings_2.gmm => menu_entries.gmm} (98%) rename src/{unk_0204C500.c => scrcmd_catching_show.c} (71%) diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index 55caebe46f..0183499bb1 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -2183,10 +2183,10 @@ .short \arg1 .endm - .macro ScrCmd_189 arg0, arg1 + .macro SetObjectEventDir localID, dir .short 393 - .short \arg0 - .short \arg1 + .short \localID + .short \dir .endm .macro SetWarpEventPos index, x, z @@ -2625,10 +2625,11 @@ .short \arg0 .endm - .macro ScrCmd_1D6 arg0, arg1 + // destVarID will be set to TRUE if the player has the specified backdrop + .macro CheckBackdrop backdrop, destVar .short 470 - .short \arg0 - .short \arg1 + .short \backdrop + .short \destVar .endm .macro ScrCmd_1D7 arg0 @@ -3384,22 +3385,31 @@ .short \arg1 .endm - .macro ScrCmd_252 arg0 + .macro GetPCBoxesFreeSlotCount destVar .short 594 - .short \arg0 + .short \destVar .endm - .macro ScrCmd_253 arg0 + .macro SetClearInCatchingShowFlag getClear .short 595 - .short \arg0 + .short \getClear .endm - .macro ScrCmd_254 arg0 - .short 596 - .short \arg0 + .macro SetInCatchingShowFlag + SetClearInCatchingShowFlag 0 .endm - .macro ScrCmd_255 + .macro ClearInCatchingShowFlag + SetClearInCatchingShowFlag 1 + .endm + + .macro GoToIfNotEnoughMonForCatchingShow offset + .short 596 /* CheckHasEnoughMonForCatchingShow */ + .short VAR_RESULT + GoToIfEq VAR_RESULT, FALSE, \offset + .endm + + .macro MoveCatchingShowMonsToPCBoxes .short 597 .endm diff --git a/generated/backdrops.txt b/generated/backdrops.txt new file mode 100644 index 0000000000..101abf0862 --- /dev/null +++ b/generated/backdrops.txt @@ -0,0 +1,18 @@ +BACKDROP_DRESS_UP +BACKDROP_RANCH +BACKDROP_CITY_AT_NIGHT +BACKDROP_SNOWY_TOWN +BACKDROP_FIERY +BACKDROP_OUTER_SPACE +BACKDROP_CUMULUS_CLOUD +BACKDROP_DESERT +BACKDROP_FLOWER_PATCH +BACKDROP_FUTURE_ROOM +BACKDROP_OPEN_SEA +BACKDROP_TOTAL_DARKNESS +BACKDROP_TATAMI_ROOM +BACKDROP_GINGERBREAD_ROOM +BACKDROP_SEAFLOOR +BACKDROP_UNDERGROUND +BACKDROP_SKY +BACKDROP_THEATER diff --git a/generated/meson.build b/generated/meson.build index ca4c1c2994..530c882f90 100644 --- a/generated/meson.build +++ b/generated/meson.build @@ -17,6 +17,7 @@ metang_generators = { 'ai_flags': { 'type': 'mask', 'tag': 'AIFlag', 'extra': ['--no-auto'] }, 'ai_load_type_targets': { 'type': 'enum', 'tag': 'AILoadTypeTarget' }, 'ai_weather_types': { 'type': 'enum', 'tag': 'AIWeatherType' }, + 'backdrops': {'type': 'enum', 'tag': 'Backdrop'}, 'badges': { 'type': 'enum', 'tag': 'Badge' }, 'battle_actions': { 'type': 'enum', 'tag': 'BattleAction' }, 'battle_backgrounds': { 'type': 'enum', 'tag': 'BattleBackground' }, @@ -74,6 +75,8 @@ metang_generators = { 'pokemon_body_shapes': { 'type': 'enum', 'tag': 'PokemonBodyShape' }, 'pokemon_colors': { 'type': 'enum', 'tag': 'PokemonColor' }, 'pokemon_contest_types': { 'type': 'enum', 'tag': 'PokemonContestType' }, + 'pokemon_data_params': { 'type': 'enum', 'tag': 'PokemonDataParam' }, + 'pokemon_stats': { 'type': 'enum', 'tag': 'PokemonStat' }, 'pokemon_types': { 'type': 'enum', 'tag': 'PokemonType' }, 'poketch_apps': { 'type': 'enum', 'tag': 'PoketchAppID' }, 'ribbons': { 'type': 'enum', 'tag': 'RibbonID' }, @@ -93,6 +96,7 @@ metang_generators = { 'trainer_types': { 'type': 'enum', 'tag': 'TrainerType' }, 'tutor_locations': {'type': 'enum', 'tag': 'TutorLocation'}, 'vars_flags': {'type': 'enum', 'tag': 'VarFlag'}, + 'versions': {'type': 'enum', 'tag': 'Version'}, 'villa_furnitures': {'type': 'enum', 'tag': 'VillaFurniture'}, 'mart_specialties_id': {'type': 'enum', 'tag': 'MartSpecialtiesID'}, 'mart_decor_id': {'type': 'enum', 'tag': 'MartDecorID'}, diff --git a/generated/pokemon_data_params.txt b/generated/pokemon_data_params.txt new file mode 100644 index 0000000000..40716162b2 --- /dev/null +++ b/generated/pokemon_data_params.txt @@ -0,0 +1,180 @@ +MON_DATA_PERSONALITY +MON_DATA_IS_PARTY_DECRYPTED +MON_DATA_IS_BOX_DECRYPTED +MON_DATA_IS_DATA_INVALID +MON_DATA_CHECKSUM +MON_DATA_SPECIES +MON_DATA_HELD_ITEM +MON_DATA_OT_ID +MON_DATA_EXP +MON_DATA_FRIENDSHIP +MON_DATA_ABILITY +MON_DATA_MARKS +MON_DATA_LANGUAGE +MON_DATA_HP_EV +MON_DATA_ATK_EV +MON_DATA_DEF_EV +MON_DATA_SPEED_EV +MON_DATA_SPATK_EV +MON_DATA_SPDEF_EV +MON_DATA_COOL +MON_DATA_BEAUTY +MON_DATA_CUTE +MON_DATA_SMART +MON_DATA_TOUGH +MON_DATA_SHEEN +MON_DATA_SINNOH_CHAMP_RIBBON +MON_DATA_SINNOH_ABILITY_RIBBON +MON_DATA_SINNOH_GREAT_ABILITY_RIBBON +MON_DATA_SINNOH_DOUBLE_ABILITY_RIBBON +MON_DATA_SINNOH_MULTI_ABILITY_RIBBON +MON_DATA_SINNOH_PAIR_ABILITY_RIBBON +MON_DATA_SINNOH_WORLD_ABILITY_RIBBON +MON_DATA_SINNOH_ALERT_RIBBON +MON_DATA_SINNOH_SHOCK_RIBBON +MON_DATA_SINNOH_DOWNCAST_RIBBON +MON_DATA_SINNOH_CARELESS_RIBBON +MON_DATA_SINNOH_RELAX_RIBBON +MON_DATA_SINNOH_SNOOZE_RIBBON +MON_DATA_SINNOH_SMILE_RIBBON +MON_DATA_SINNOH_GORGEOUS_RIBBON +MON_DATA_SINNOH_ROYAL_RIBBON +MON_DATA_SINNOH_GORGEOUS_ROYAL_RIBBON +MON_DATA_SINNOH_FOOTPRINT_RIBBON +MON_DATA_SINNOH_RECORD_RIBBON +MON_DATA_SINNOH_HISTORY_RIBBON +MON_DATA_SINNOH_LEGEND_RIBBON +MON_DATA_SINNOH_RED_RIBBON +MON_DATA_SINNOH_GREEN_RIBBON +MON_DATA_SINNOH_BLUE_RIBBON +MON_DATA_SINNOH_FESTIVAL_RIBBON +MON_DATA_SINNOH_CARNIVAL_RIBBON +MON_DATA_SINNOH_CLASSIC_RIBBON +MON_DATA_SINNOH_PREMIER_RIBBON +MON_DATA_SINNOH_RIBBON_DUMMY +MON_DATA_MOVE1 +MON_DATA_MOVE2 +MON_DATA_MOVE3 +MON_DATA_MOVE4 +MON_DATA_MOVE1_CUR_PP +MON_DATA_MOVE2_CUR_PP +MON_DATA_MOVE3_CUR_PP +MON_DATA_MOVE4_CUR_PP +MON_DATA_MOVE1_PP_UPS +MON_DATA_MOVE2_PP_UPS +MON_DATA_MOVE3_PP_UPS +MON_DATA_MOVE4_PP_UPS +MON_DATA_MOVE1_MAX_PP +MON_DATA_MOVE2_MAX_PP +MON_DATA_MOVE3_MAX_PP +MON_DATA_MOVE4_MAX_PP +MON_DATA_HP_IV +MON_DATA_ATK_IV +MON_DATA_DEF_IV +MON_DATA_SPEED_IV +MON_DATA_SPATK_IV +MON_DATA_SPDEF_IV +MON_DATA_IS_EGG +MON_DATA_HAS_NICKNAME +MON_DATA_HOENN_COOL_RIBBON +MON_DATA_HOENN_COOL_RIBBON_SUPER +MON_DATA_HOENN_COOL_RIBBON_HYPER +MON_DATA_HOENN_COOL_RIBBON_MASTER +MON_DATA_HOENN_BEAUTY_RIBBON +MON_DATA_HOENN_BEAUTY_RIBBON_SUPER +MON_DATA_HOENN_BEAUTY_RIBBON_HYPER +MON_DATA_HOENN_BEAUTY_RIBBON_MASTER +MON_DATA_HOENN_CUTE_RIBBON +MON_DATA_HOENN_CUTE_RIBBON_SUPER +MON_DATA_HOENN_CUTE_RIBBON_HYPER +MON_DATA_HOENN_CUTE_RIBBON_MASTER +MON_DATA_HOENN_SMART_RIBBON +MON_DATA_HOENN_SMART_RIBBON_SUPER +MON_DATA_HOENN_SMART_RIBBON_HYPER +MON_DATA_HOENN_SMART_RIBBON_MASTER +MON_DATA_HOENN_TOUGH_RIBBON +MON_DATA_HOENN_TOUGH_RIBBON_SUPER +MON_DATA_HOENN_TOUGH_RIBBON_HYPER +MON_DATA_HOENN_TOUGH_RIBBON_MASTER +MON_DATA_HOENN_CHAMPION_RIBBON +MON_DATA_HOENN_WINNING_RIBBON +MON_DATA_HOENN_VICTORY_RIBBON +MON_DATA_HOENN_ARTIST_RIBBON +MON_DATA_HOENN_EFFORT_RIBBON +MON_DATA_HOENN_MARINE_RIBBON +MON_DATA_HOENN_LAND_RIBBON +MON_DATA_HOENN_SKY_RIBBON +MON_DATA_HOENN_COUNTRY_RIBBON +MON_DATA_HOENN_NATIONAL_RIBBON +MON_DATA_HOENN_EARTH_RIBBON +MON_DATA_HOENN_WORLD_RIBBON +MON_DATA_FATEFUL_ENCOUNTER +MON_DATA_GENDER +MON_DATA_FORM +MON_DATA_DUMMY_B_1 +MON_DATA_DUMMY_B_2 +MON_DATA_FATEFUL_MET_LOCATION +MON_DATA_FATEFUL_HATCH_LOCATION +MON_DATA_NICKNAME +MON_DATA_NICKNAME_AND_FLAG +MON_DATA_NICKNAME_STRBUF +MON_DATA_NICKNAME_STRBUF_AND_FLAG +MON_DATA_MET_GAME_REGION_CODE +MON_DATA_MET_GAME +MON_DATA_SINNOH_SUPER_COOL_RIBBON +MON_DATA_SINNOH_SUPER_COOL_RIBBON_GREAT +MON_DATA_SINNOH_SUPER_COOL_RIBBON_ULTRA +MON_DATA_SINNOH_SUPER_COOL_RIBBON_MASTER +MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON +MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON_GREAT +MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON_ULTRA +MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON_MASTER +MON_DATA_SINNOH_SUPER_CUTE_RIBBON +MON_DATA_SINNOH_SUPER_CUTE_RIBBON_GREAT +MON_DATA_SINNOH_SUPER_CUTE_RIBBON_ULTRA +MON_DATA_SINNOH_SUPER_CUTE_RIBBON_MASTER +MON_DATA_SINNOH_SUPER_SMART_RIBBON +MON_DATA_SINNOH_SUPER_SMART_RIBBON_GREAT +MON_DATA_SINNOH_SUPER_SMART_RIBBON_ULTRA +MON_DATA_SINNOH_SUPER_SMART_RIBBON_MASTER +MON_DATA_SINNOH_SUPER_TOUGH_RIBBON +MON_DATA_SINNOH_SUPER_TOUGH_RIBBON_GREAT +MON_DATA_SINNOH_SUPER_TOUGH_RIBBON_ULTRA +MON_DATA_SINNOH_SUPER_TOUGH_RIBBON_MASTER +MON_DATA_CONTEST_RIBBON_DUMMY +MON_DATA_OTNAME +MON_DATA_OTNAME_STRBUF +MON_DATA_MET_YEAR +MON_DATA_MET_MONTH +MON_DATA_MET_DAY +MON_DATA_HATCH_YEAR +MON_DATA_HATCH_MONTH +MON_DATA_HATCH_DAY +MON_DATA_MET_LOCATION +MON_DATA_HATCH_LOCATION +MON_DATA_POKERUS +MON_DATA_POKEBALL +MON_DATA_MET_LEVEL +MON_DATA_OT_GENDER +MON_DATA_MET_TERRAIN +MON_DATA_DUMMY_D_1 +MON_DATA_STATUS_CONDITION +MON_DATA_LEVEL +MON_DATA_BALL_CAPSULE_ID +MON_DATA_CURRENT_HP +MON_DATA_MAX_HP +MON_DATA_ATK +MON_DATA_DEF +MON_DATA_SPEED +MON_DATA_SP_ATK +MON_DATA_SP_DEF +MON_DATA_MAIL +MON_DATA_171 +MON_DATA_SPECIES_EXISTS # possible data sanity check +MON_DATA_EGG_EXISTS +MON_DATA_SPECIES_EGG +MON_DATA_COMBINED_IVS +MON_DATA_NIDORAN_HAS_NICKNAME +MON_DATA_TYPE_1 +MON_DATA_TYPE_2 +MON_DATA_SPECIES_NAME diff --git a/generated/pokemon_stats.txt b/generated/pokemon_stats.txt new file mode 100644 index 0000000000..159966681f --- /dev/null +++ b/generated/pokemon_stats.txt @@ -0,0 +1,7 @@ +STAT_HP +STAT_ATTACK +STAT_DEFENSE +STAT_SPEED +STAT_SPECIAL_ATTACK +STAT_SPECIAL_DEFENSE +STAT_MAX diff --git a/generated/text_banks.txt b/generated/text_banks.txt index 842e2b0180..1c6dde3bee 100644 --- a/generated/text_banks.txt +++ b/generated/text_banks.txt @@ -359,7 +359,7 @@ TEXT_BANK_UNK_0357 TEXT_BANK_UNK_0358 TEXT_BANK_UNK_0359 TEXT_BANK_UNK_0360 -TEXT_BANK_COMMON_STRINGS_2 +TEXT_BANK_MENU_ENTRIES TEXT_BANK_UNK_0362 TEXT_BANK_UNK_0363 TEXT_BANK_UNK_0364 diff --git a/generated/vars_flags.txt b/generated/vars_flags.txt index b819a05f0b..d83f815983 100644 --- a/generated/vars_flags.txt +++ b/generated/vars_flags.txt @@ -209,7 +209,7 @@ FLAG_UNK_0x00CF FLAG_UNK_0x00D0 FLAG_UNK_0x00D1 FLAG_UNK_0x00D2 -FLAG_UNK_0x00D3 +FLAG_PAL_PARK_TALKED_TO_RECEPTIONIST FLAG_UNK_0x00D4 FLAG_UNK_0x00D5 FLAG_ARRESTED_CHARON_STARK_MOUNTAIN @@ -576,7 +576,7 @@ FLAG_UNK_0x023E FLAG_UNK_0x023F FLAG_UNK_0x0240 FLAG_UNK_0x0241 -FLAG_UNK_0x0242 +FLAG_ETERNA_CITY_SOUTH_HOUSE_HIDE_PROF_OAK FLAG_UNK_0x0243 FLAG_UNK_0x0244 FLAG_UNK_0x0245 @@ -2480,6 +2480,7 @@ FLAG_DISTORTION_WORLD_PUZZLE_FINISHED FLAG_DISTORTION_WORLD_GIRATINA_SHADOW_1 FLAG_DISTORTION_WORLD_GIRATINA_SHADOW_2 SYSTEM_FLAGS_FIRST_ARRIVAL_TO_ZONE +FLAG_FIRST_ARRIVAL_TWINLEAF_TOWN = SYSTEM_FLAGS_FIRST_ARRIVAL_TO_ZONE FLAG_UNK_0x09B1 FLAG_UNK_0x09B2 FLAG_UNK_0x09B3 @@ -2546,7 +2547,7 @@ FLAG_UNK_0x09EF FLAG_UNK_0x09F0 FLAG_UNK_0x09F1 FLAG_UNK_0x09F2 -FLAG_UNK_0x09F3 +FLAG_FIRST_ARRIVAL_POKE_PARK_FRONT_GATE FLAG_UNK_0x09F4 FLAG_UNK_0x09F5 FLAG_UNK_0x09F6 @@ -4096,8 +4097,8 @@ FLAG_UNK_0x0FFD FLAG_UNK_0x0FFE FLAG_UNK_0x0FFF VARS_START = 16384 -MAP_LOCAL_VARS_START = 16384 -VAR_MAP_LOCAL_0 = 16384 +MAP_LOCAL_VARS_START = VARS_START +VAR_MAP_LOCAL_0 = MAP_LOCAL_VARS_START VAR_MAP_LOCAL_1 VAR_MAP_LOCAL_2 VAR_MAP_LOCAL_3 @@ -4321,7 +4322,7 @@ VAR_UNK_0x40DC VAR_UNK_0x40DD VAR_UNK_0x40DE VAR_UNK_0x40DF -VAR_UNK_0x40E0 +VAR_CATCHING_SHOW_RECORD VAR_FOLLOWER_BUCK_TIMES_TALKED VAR_FOLLOWER_MIRA_TIMES_TALKED VAR_UNK_0x40E3 @@ -4340,7 +4341,7 @@ VAR_UNK_0x40EF VAR_UNK_0x40F0 VAR_UNK_0x40F1 VAR_UNK_0x40F2 -VAR_UNK_0x40F3 +VAR_PAL_PARK_STATE VAR_UNK_0x40F4 VAR_UNK_0x40F5 VAR_UNK_0x40F6 @@ -4387,7 +4388,7 @@ VAR_UNK_0x411E VAR_UNK_0x411F VARS_END SCRIPT_LOCAL_VARS_START = 32768 -VAR_0x8000 = 32768 +VAR_0x8000 = SCRIPT_LOCAL_VARS_START VAR_0x8001 VAR_0x8002 VAR_0x8003 diff --git a/generated/versions.txt b/generated/versions.txt new file mode 100644 index 0000000000..b2781716ac --- /dev/null +++ b/generated/versions.txt @@ -0,0 +1,12 @@ +VERSION_NONE +VERSION_SAPPHIRE +VERSION_RUBY +VERSION_EMERALD +VERSION_FIRERED +VERSION_LEAFGREEN +VERSION_HEARTGOLD = 7 +VERSION_SOULSILVER +VERSION_DIAMOND = 10 +VERSION_PEARL +VERSION_PLATINUM +VERSION_GAMECUBE = 15 # Both Colosseum and XD use the same ID diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 43bfce1671..d48e4c265a 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -1,23 +1,11 @@ #ifndef POKEPLATINUM_CONSTANTS_POKEMON_H #define POKEPLATINUM_CONSTANTS_POKEMON_H +#include "generated/pokemon_data_params.h" // PokemonDataParam +#include "generated/pokemon_stats.h" // PokemonStat #include "generated/pokemon_types.h" // PokemonType #include "generated/species_data_params.h" // SpeciesDataParam -/** - * @brief Pokemon Stats - */ -enum PokemonStat { - STAT_HP = 0, - STAT_ATTACK, - STAT_DEFENSE, - STAT_SPEED, - STAT_SPECIAL_ATTACK, - STAT_SPECIAL_DEFENSE, - - STAT_MAX -}; - #define MAX_PARTY_SIZE 6 #define NUM_BOOSTABLE_STATS 8 @@ -43,190 +31,4 @@ enum PokemonStat { #define CATCHING_SHOW_MONS 6 #define MAX_GBA_TRANSFER_HISTORY 20 -/** - * @brief Pokemon Data Parameters - */ -enum PokemonDataParam { - MON_DATA_PERSONALITY, - MON_DATA_IS_PARTY_DECRYPTED, - MON_DATA_IS_BOX_DECRYPTED, - MON_DATA_IS_DATA_INVALID, - MON_DATA_CHECKSUM, - MON_DATA_SPECIES, - MON_DATA_HELD_ITEM, - MON_DATA_OT_ID, - MON_DATA_EXP, - MON_DATA_FRIENDSHIP, - MON_DATA_ABILITY, - MON_DATA_MARKS, - MON_DATA_LANGUAGE, - MON_DATA_HP_EV, - MON_DATA_ATK_EV, - MON_DATA_DEF_EV, - MON_DATA_SPEED_EV, - MON_DATA_SPATK_EV, - MON_DATA_SPDEF_EV, - MON_DATA_COOL, - MON_DATA_BEAUTY, - MON_DATA_CUTE, - MON_DATA_SMART, - MON_DATA_TOUGH, - MON_DATA_SHEEN, - MON_DATA_SINNOH_CHAMP_RIBBON, - MON_DATA_SINNOH_ABILITY_RIBBON, - MON_DATA_SINNOH_GREAT_ABILITY_RIBBON, - MON_DATA_SINNOH_DOUBLE_ABILITY_RIBBON, - MON_DATA_SINNOH_MULTI_ABILITY_RIBBON, - MON_DATA_SINNOH_PAIR_ABILITY_RIBBON, - MON_DATA_SINNOH_WORLD_ABILITY_RIBBON, - MON_DATA_SINNOH_ALERT_RIBBON, - MON_DATA_SINNOH_SHOCK_RIBBON, - MON_DATA_SINNOH_DOWNCAST_RIBBON, - MON_DATA_SINNOH_CARELESS_RIBBON, - MON_DATA_SINNOH_RELAX_RIBBON, - MON_DATA_SINNOH_SNOOZE_RIBBON, - MON_DATA_SINNOH_SMILE_RIBBON, - MON_DATA_SINNOH_GORGEOUS_RIBBON, - MON_DATA_SINNOH_ROYAL_RIBBON, - MON_DATA_SINNOH_GORGEOUS_ROYAL_RIBBON, - MON_DATA_SINNOH_FOOTPRINT_RIBBON, - MON_DATA_SINNOH_RECORD_RIBBON, - MON_DATA_SINNOH_HISTORY_RIBBON, - MON_DATA_SINNOH_LEGEND_RIBBON, - MON_DATA_SINNOH_RED_RIBBON, - MON_DATA_SINNOH_GREEN_RIBBON, - MON_DATA_SINNOH_BLUE_RIBBON, - MON_DATA_SINNOH_FESTIVAL_RIBBON, - MON_DATA_SINNOH_CARNIVAL_RIBBON, - MON_DATA_SINNOH_CLASSIC_RIBBON, - MON_DATA_SINNOH_PREMIER_RIBBON, - MON_DATA_SINNOH_RIBBON_DUMMY, - MON_DATA_MOVE1, - MON_DATA_MOVE2, - MON_DATA_MOVE3, - MON_DATA_MOVE4, - MON_DATA_MOVE1_CUR_PP, - MON_DATA_MOVE2_CUR_PP, - MON_DATA_MOVE3_CUR_PP, - MON_DATA_MOVE4_CUR_PP, - MON_DATA_MOVE1_PP_UPS, - MON_DATA_MOVE2_PP_UPS, - MON_DATA_MOVE3_PP_UPS, - MON_DATA_MOVE4_PP_UPS, - MON_DATA_MOVE1_MAX_PP, - MON_DATA_MOVE2_MAX_PP, - MON_DATA_MOVE3_MAX_PP, - MON_DATA_MOVE4_MAX_PP, - MON_DATA_HP_IV, - MON_DATA_ATK_IV, - MON_DATA_DEF_IV, - MON_DATA_SPEED_IV, - MON_DATA_SPATK_IV, - MON_DATA_SPDEF_IV, - MON_DATA_IS_EGG, - MON_DATA_HAS_NICKNAME, - MON_DATA_HOENN_COOL_RIBBON, - MON_DATA_HOENN_COOL_RIBBON_SUPER, - MON_DATA_HOENN_COOL_RIBBON_HYPER, - MON_DATA_HOENN_COOL_RIBBON_MASTER, - MON_DATA_HOENN_BEAUTY_RIBBON, - MON_DATA_HOENN_BEAUTY_RIBBON_SUPER, - MON_DATA_HOENN_BEAUTY_RIBBON_HYPER, - MON_DATA_HOENN_BEAUTY_RIBBON_MASTER, - MON_DATA_HOENN_CUTE_RIBBON, - MON_DATA_HOENN_CUTE_RIBBON_SUPER, - MON_DATA_HOENN_CUTE_RIBBON_HYPER, - MON_DATA_HOENN_CUTE_RIBBON_MASTER, - MON_DATA_HOENN_SMART_RIBBON, - MON_DATA_HOENN_SMART_RIBBON_SUPER, - MON_DATA_HOENN_SMART_RIBBON_HYPER, - MON_DATA_HOENN_SMART_RIBBON_MASTER, - MON_DATA_HOENN_TOUGH_RIBBON, - MON_DATA_HOENN_TOUGH_RIBBON_SUPER, - MON_DATA_HOENN_TOUGH_RIBBON_HYPER, - MON_DATA_HOENN_TOUGH_RIBBON_MASTER, - MON_DATA_HOENN_CHAMPION_RIBBON, - MON_DATA_HOENN_WINNING_RIBBON, - MON_DATA_HOENN_VICTORY_RIBBON, - MON_DATA_HOENN_ARTIST_RIBBON, - MON_DATA_HOENN_EFFORT_RIBBON, - MON_DATA_HOENN_MARINE_RIBBON, - MON_DATA_HOENN_LAND_RIBBON, - MON_DATA_HOENN_SKY_RIBBON, - MON_DATA_HOENN_COUNTRY_RIBBON, - MON_DATA_HOENN_NATIONAL_RIBBON, - MON_DATA_HOENN_EARTH_RIBBON, - MON_DATA_HOENN_WORLD_RIBBON, - MON_DATA_FATEFUL_ENCOUNTER, - MON_DATA_GENDER, - MON_DATA_FORM, - MON_DATA_DUMMY_B_1, - MON_DATA_DUMMY_B_2, - MON_DATA_FATEFUL_MET_LOCATION, - MON_DATA_FATEFUL_HATCH_LOCATION, - MON_DATA_NICKNAME, - MON_DATA_NICKNAME_AND_FLAG, - MON_DATA_NICKNAME_STRBUF, - MON_DATA_NICKNAME_STRBUF_AND_FLAG, - MON_DATA_MET_GAME_REGION_CODE, - MON_DATA_MET_GAME, - MON_DATA_SINNOH_SUPER_COOL_RIBBON, - MON_DATA_SINNOH_SUPER_COOL_RIBBON_GREAT, - MON_DATA_SINNOH_SUPER_COOL_RIBBON_ULTRA, - MON_DATA_SINNOH_SUPER_COOL_RIBBON_MASTER, - MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON, - MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON_GREAT, - MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON_ULTRA, - MON_DATA_SINNOH_SUPER_BEAUTY_RIBBON_MASTER, - MON_DATA_SINNOH_SUPER_CUTE_RIBBON, - MON_DATA_SINNOH_SUPER_CUTE_RIBBON_GREAT, - MON_DATA_SINNOH_SUPER_CUTE_RIBBON_ULTRA, - MON_DATA_SINNOH_SUPER_CUTE_RIBBON_MASTER, - MON_DATA_SINNOH_SUPER_SMART_RIBBON, - MON_DATA_SINNOH_SUPER_SMART_RIBBON_GREAT, - MON_DATA_SINNOH_SUPER_SMART_RIBBON_ULTRA, - MON_DATA_SINNOH_SUPER_SMART_RIBBON_MASTER, - MON_DATA_SINNOH_SUPER_TOUGH_RIBBON, - MON_DATA_SINNOH_SUPER_TOUGH_RIBBON_GREAT, - MON_DATA_SINNOH_SUPER_TOUGH_RIBBON_ULTRA, - MON_DATA_SINNOH_SUPER_TOUGH_RIBBON_MASTER, - MON_DATA_CONTEST_RIBBON_DUMMY, - MON_DATA_OTNAME, - MON_DATA_OTNAME_STRBUF, - MON_DATA_MET_YEAR, - MON_DATA_MET_MONTH, - MON_DATA_MET_DAY, - MON_DATA_HATCH_YEAR, - MON_DATA_HATCH_MONTH, - MON_DATA_HATCH_DAY, - MON_DATA_MET_LOCATION, - MON_DATA_HATCH_LOCATION, - MON_DATA_POKERUS, - MON_DATA_POKEBALL, - MON_DATA_MET_LEVEL, - MON_DATA_OT_GENDER, - MON_DATA_MET_TERRAIN, - MON_DATA_DUMMY_D_1, - MON_DATA_STATUS_CONDITION, - MON_DATA_LEVEL, - MON_DATA_BALL_CAPSULE_ID, - MON_DATA_CURRENT_HP, - MON_DATA_MAX_HP, - MON_DATA_ATK, - MON_DATA_DEF, - MON_DATA_SPEED, - MON_DATA_SP_ATK, - MON_DATA_SP_DEF, - MON_DATA_MAIL, - MON_DATA_171, - MON_DATA_SPECIES_EXISTS, //!< possible data sanity check - MON_DATA_EGG_EXISTS, - MON_DATA_SPECIES_EGG, - MON_DATA_COMBINED_IVS, - MON_DATA_NIDORAN_HAS_NICKNAME, - MON_DATA_TYPE_1, - MON_DATA_TYPE_2, - MON_DATA_SPECIES_NAME, -}; - #endif // POKEPLATINUM_CONSTANTS_POKEMON_H diff --git a/include/constants/scrcmd.h b/include/constants/scrcmd.h index 833285ab99..d0ff6be3fa 100644 --- a/include/constants/scrcmd.h +++ b/include/constants/scrcmd.h @@ -2,6 +2,7 @@ #define POKEPLATINUM_CONSTANTS_SCRCMD_H #include "generated/accessories.h" +#include "generated/backdrops.h" #define MENU_YES 0 #define MENU_NO 1 diff --git a/include/global/pm_version.h b/include/global/pm_version.h index 30a231866f..0ebc6dd311 100644 --- a/include/global/pm_version.h +++ b/include/global/pm_version.h @@ -1,18 +1,7 @@ #ifndef POKEPLATINUM_PM_VERSION_H #define POKEPLATINUM_PM_VERSION_H -#define VERSION_NONE 0 -#define VERSION_SAPPHIRE 1 -#define VERSION_RUBY 2 -#define VERSION_EMERALD 3 -#define VERSION_FIRERED 4 -#define VERSION_LEAFGREEN 5 -#define VERSION_HEARTGOLD 7 -#define VERSION_SOULSILVER 8 -#define VERSION_DIAMOND 10 -#define VERSION_PEARL 11 -#define VERSION_PLATINUM 12 -#define VERSION_GAMECUBE 15 // Both Colosseum and XD use the same ID +#include "generated/versions.h" #define JAPANESE 1 #define ENGLISH 2 diff --git a/include/scrcmd_catching_show.h b/include/scrcmd_catching_show.h new file mode 100644 index 0000000000..d9232facab --- /dev/null +++ b/include/scrcmd_catching_show.h @@ -0,0 +1,11 @@ +#ifndef POKEPLATINUM_SCRCMD_CATCHING_SHOW_H +#define POKEPLATINUM_SCRCMD_CATCHING_SHOW_H + +#include "field_script_context.h" + +BOOL ScrCmd_SetClearInCatchingShowFlag(ScriptContext *ctx); +BOOL ScrCmd_CheckHasEnoughMonForCatchingShow(ScriptContext *ctx); +BOOL ScrCmd_MoveCatchingShowMonsToPCBoxes(ScriptContext *ctx); +BOOL ScrCmd_CalcCatchingShowPoints(ScriptContext *ctx); + +#endif // POKEPLATINUM_SCRCMD_CATCHING_SHOW_H diff --git a/include/unk_0202F180.h b/include/unk_0202F180.h index b0d5c8d219..d39dd0a04d 100644 --- a/include/unk_0202F180.h +++ b/include/unk_0202F180.h @@ -4,6 +4,6 @@ #include "pokemon.h" #include "savedata.h" -void sub_0202F180(SaveData *saveData, const Pokemon *mon); +void SaveData_UpdateCatchRecords(SaveData *saveData, const Pokemon *mon); #endif // POKEPLATINUM_UNK_0202F180_H diff --git a/include/unk_0204C500.h b/include/unk_0204C500.h deleted file mode 100644 index 38b3785b74..0000000000 --- a/include/unk_0204C500.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef POKEPLATINUM_UNK_0204C500_H -#define POKEPLATINUM_UNK_0204C500_H - -#include "field_script_context.h" - -BOOL ScrCmd_253(ScriptContext *param0); -BOOL ScrCmd_254(ScriptContext *param0); -BOOL ScrCmd_255(ScriptContext *param0); -BOOL ScrCmd_CalcCatchingShowPoints(ScriptContext *ctx); - -#endif // POKEPLATINUM_UNK_0204C500_H diff --git a/platinum.us/main.lsf b/platinum.us/main.lsf index 8e07016e68..5ecc81edea 100644 --- a/platinum.us/main.lsf +++ b/platinum.us/main.lsf @@ -196,7 +196,7 @@ Static main Object main.nef.p/src_unk_0204AEE8.c.o Object main.nef.p/src_unk_0204B64C.c.o Object main.nef.p/src_scrcmd_mystery_gift.c.o - Object main.nef.p/src_unk_0204C500.c.o + Object main.nef.p/src_scrcmd_catching_show.c.o Object main.nef.p/src_scrcmd_coins.c.o Object main.nef.p/src_scrcmd_money.c.o Object main.nef.p/src_scrcmd_daycare.c.o diff --git a/res/field/events/events_eterna_city_south_house.json b/res/field/events/events_eterna_city_south_house.json index bd0852eff2..e0c88438a5 100644 --- a/res/field/events/events_eterna_city_south_house.json +++ b/res/field/events/events_eterna_city_south_house.json @@ -5,7 +5,7 @@ "graphics_id": "OBJ_EVENT_GFX_PROF_OAK", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", - "flag": "FLAG_UNK_0x0242", + "flag": "FLAG_ETERNA_CITY_SOUTH_HOUSE_HIDE_PROF_OAK", "script": 1, "initial_dir": 1, "data": [], diff --git a/res/field/scripts/scripts_battle_frontier.s b/res/field/scripts/scripts_battle_frontier.s index 0b26dcc3aa..4df8862dee 100644 --- a/res/field/scripts/scripts_battle_frontier.s +++ b/res/field/scripts/scripts_battle_frontier.s @@ -49,7 +49,7 @@ _009A: GoToIfEq VAR_MAP_LOCAL_0, 0, _00D5 ScrCmd_329 VAR_MAP_LOCAL_1, VAR_MAP_LOCAL_2, VAR_MAP_LOCAL_3, VAR_MAP_LOCAL_4 SetObjectEventPos 29, VAR_MAP_LOCAL_1, VAR_MAP_LOCAL_2 - ScrCmd_189 29, VAR_MAP_LOCAL_3 + SetObjectEventDir 29, VAR_MAP_LOCAL_3 ScrCmd_188 29, VAR_MAP_LOCAL_4 ClearFlag FLAG_UNK_0x02C3 End diff --git a/res/field/scripts/scripts_canalave_city.s b/res/field/scripts/scripts_canalave_city.s index 4f43053c50..e1b73f3b7c 100644 --- a/res/field/scripts/scripts_canalave_city.s +++ b/res/field/scripts/scripts_canalave_city.s @@ -53,7 +53,7 @@ _00F8: _0100: SetObjectEventPos 16, 55, 0x2CC - ScrCmd_189 16, 3 + SetObjectEventDir 16, DIR_EAST ScrCmd_188 16, 17 Return @@ -63,13 +63,13 @@ _0116: _011C: SetObjectEventPos 11, 37, 0x2D1 - ScrCmd_189 11, 1 + SetObjectEventDir 11, DIR_SOUTH ScrCmd_188 11, 15 Return _0132: SetObjectEventPos 11, 39, 0x2DD - ScrCmd_189 11, 0 + SetObjectEventDir 11, DIR_NORTH ScrCmd_188 11, 14 Return @@ -674,7 +674,7 @@ _0959: WaitMovement RemoveObject 16 SetObjectEventPos 16, 45, 0x2EE - ScrCmd_189 16, 2 + SetObjectEventDir 16, DIR_WEST ScrCmd_188 16, 16 AddObject 16 SetVar VAR_UNK_0x40F8, 4 diff --git a/res/field/scripts/scripts_canalave_city_sailor_eldritch_house.s b/res/field/scripts/scripts_canalave_city_sailor_eldritch_house.s index 36bbc233cc..153515f170 100644 --- a/res/field/scripts/scripts_canalave_city_sailor_eldritch_house.s +++ b/res/field/scripts/scripts_canalave_city_sailor_eldritch_house.s @@ -31,10 +31,10 @@ _0073: _007B: SetObjectEventPos 0, 8, 6 - ScrCmd_189 0, 1 + SetObjectEventDir 0, DIR_SOUTH ScrCmd_188 0, 0 SetObjectEventPos 1, 9, 6 - ScrCmd_189 1, 2 + SetObjectEventDir 1, DIR_WEST Return .byte 30 diff --git a/res/field/scripts/scripts_celestic_town.s b/res/field/scripts/scripts_celestic_town.s index 33b0028be7..9b693e32ac 100644 --- a/res/field/scripts/scripts_celestic_town.s +++ b/res/field/scripts/scripts_celestic_town.s @@ -84,7 +84,7 @@ _013C: RemoveObject 2 RemoveObject 3 SetObjectEventPos 3, 0x1D2, 0x213 - ScrCmd_189 3, 0 + SetObjectEventDir 3, DIR_NORTH ScrCmd_188 3, 14 ClearFlag FLAG_UNK_0x01AC AddObject 3 diff --git a/res/field/scripts/scripts_celestic_town_cave.s b/res/field/scripts/scripts_celestic_town_cave.s index 60e0e0e9d7..61ab8b89de 100644 --- a/res/field/scripts/scripts_celestic_town_cave.s +++ b/res/field/scripts/scripts_celestic_town_cave.s @@ -31,7 +31,7 @@ _0040: SetFlag FLAG_UNK_0x00A7 ClearFlag FLAG_UNK_0x0229 SetObjectEventPos 0, 4, 11 - ScrCmd_189 0, 0 + SetObjectEventDir 0, DIR_NORTH ScrCmd_188 0, 14 AddObject 0 GetPlayerMapPos VAR_0x8004, VAR_0x8005 @@ -48,7 +48,7 @@ _0040: SetFlag FLAG_UNK_0x01AC ClearFlag FLAG_UNK_0x029B SetObjectEventPos 1, 4, 11 - ScrCmd_189 1, 0 + SetObjectEventDir 1, DIR_NORTH ScrCmd_188 1, 14 AddObject 1 GetPlayerMapPos VAR_0x8004, VAR_0x8005 diff --git a/res/field/scripts/scripts_eterna_city.s b/res/field/scripts/scripts_eterna_city.s index fa7dd09e74..bb34491dd0 100644 --- a/res/field/scripts/scripts_eterna_city.s +++ b/res/field/scripts/scripts_eterna_city.s @@ -1080,7 +1080,7 @@ _0CF4: _0D00: LockAll - ScrCmd_189 12, 3 + SetObjectEventDir 12, DIR_EAST ScrCmd_188 12, 17 GetPlayerMapPos VAR_0x8004, VAR_0x8005 GoToIfEq VAR_0x8005, 0x21C, _0D64 diff --git a/res/field/scripts/scripts_eterna_city_gym.s b/res/field/scripts/scripts_eterna_city_gym.s index 0b8f530dc1..ecb634c9cc 100644 --- a/res/field/scripts/scripts_eterna_city_gym.s +++ b/res/field/scripts/scripts_eterna_city_gym.s @@ -235,20 +235,20 @@ _02DA: _0314: ScrCmd_188 VAR_0x8007, 15 - ScrCmd_189 VAR_0x8007, 1 + SetObjectEventDir VAR_0x8007, DIR_SOUTH Return _0322: ScrCmd_188 VAR_0x8007, 14 - ScrCmd_189 VAR_0x8007, 0 + SetObjectEventDir VAR_0x8007, DIR_NORTH Return _0330: ScrCmd_188 VAR_0x8007, 17 - ScrCmd_189 VAR_0x8007, 3 + SetObjectEventDir VAR_0x8007, DIR_EAST Return _033E: ScrCmd_188 VAR_0x8007, 16 - ScrCmd_189 VAR_0x8007, 2 + SetObjectEventDir VAR_0x8007, DIR_WEST Return diff --git a/res/field/scripts/scripts_fight_area.s b/res/field/scripts/scripts_fight_area.s index 28c8259dfa..c26edad820 100644 --- a/res/field/scripts/scripts_fight_area.s +++ b/res/field/scripts/scripts_fight_area.s @@ -38,7 +38,7 @@ _0066: _0082: SetObjectEventPos 7, 0x28F, 0x1AA ScrCmd_188 7, 14 - ScrCmd_189 7, 0 + SetObjectEventDir 7, DIR_NORTH End _0098: diff --git a/res/field/scripts/scripts_global_terminal_1f.s b/res/field/scripts/scripts_global_terminal_1f.s index 4956699d59..ef7ef49441 100644 --- a/res/field/scripts/scripts_global_terminal_1f.s +++ b/res/field/scripts/scripts_global_terminal_1f.s @@ -227,7 +227,7 @@ _0306: End _031F: - ScrCmd_252 VAR_RESULT + GetPCBoxesFreeSlotCount VAR_RESULT GoToIfEq VAR_RESULT, 0, _0338 GoTo _020D End @@ -547,7 +547,7 @@ _0696: End _06A1: - ScrCmd_1D6 VAR_0x8004, VAR_RESULT + CheckBackdrop VAR_0x8004, VAR_RESULT GoToIfEq VAR_RESULT, 0, _06D3 AddVar VAR_0x8004, 1 GoToIfLe VAR_0x8004, 13, _06A1 @@ -586,7 +586,7 @@ _0710: End _071E: - ScrCmd_1D6 VAR_0x8004, VAR_RESULT + CheckBackdrop VAR_0x8004, VAR_RESULT GoToIfEq VAR_RESULT, 0, _074A AddVar VAR_0x8004, 1 GoToIfLe VAR_0x8004, 13, _071E diff --git a/res/field/scripts/scripts_init_new_game.s b/res/field/scripts/scripts_init_new_game.s index 81191b177e..d5b47217ad 100644 --- a/res/field/scripts/scripts_init_new_game.s +++ b/res/field/scripts/scripts_init_new_game.s @@ -57,7 +57,7 @@ _0006: SetFlag FLAG_UNK_0x01FE SetFlag FLAG_UNK_0x0200 SetFlag FLAG_UNK_0x0192 - SetFlag FLAG_UNK_0x0242 + SetFlag FLAG_ETERNA_CITY_SOUTH_HOUSE_HIDE_PROF_OAK SetFlag FLAG_UNK_0x01BB SetFlag FLAG_UNK_0x02C0 SetFlag FLAG_UNK_0x023D diff --git a/res/field/scripts/scripts_iron_island_b2f_left_room.s b/res/field/scripts/scripts_iron_island_b2f_left_room.s index ac75b33bf7..a78de2cf27 100644 --- a/res/field/scripts/scripts_iron_island_b2f_left_room.s +++ b/res/field/scripts/scripts_iron_island_b2f_left_room.s @@ -28,7 +28,7 @@ _0035: _004A: SetObjectEventPos 4, 19, 41 ScrCmd_188 4, 17 - ScrCmd_189 4, 3 + SetObjectEventDir 4, DIR_EAST End _0060: diff --git a/res/field/scripts/scripts_jubilife_city.s b/res/field/scripts/scripts_jubilife_city.s index 54d2836e57..83ebb81075 100644 --- a/res/field/scripts/scripts_jubilife_city.s +++ b/res/field/scripts/scripts_jubilife_city.s @@ -43,13 +43,13 @@ _0072: _00AC: SetObjectEventPos 31, 177, 0x306 - ScrCmd_189 31, 1 + SetObjectEventDir 31, DIR_SOUTH ScrCmd_188 31, 15 Return _00C2: SetObjectEventPos 7, 176, 0x2E3 - ScrCmd_189 7, 2 + SetObjectEventDir 7, DIR_WEST ScrCmd_188 7, 16 Return @@ -1757,7 +1757,7 @@ _14CF: LockAll GetPlayerMapPos VAR_0x8004, VAR_0x8005 SetObjectEventPos 31, 179, VAR_0x8005 - ScrCmd_189 31, 3 + SetObjectEventDir 31, DIR_EAST ScrCmd_188 31, 17 ClearFlag FLAG_UNK_0x0181 AddObject 31 diff --git a/res/field/scripts/scripts_lake_verity.s b/res/field/scripts/scripts_lake_verity.s index e052de0114..d26eb68b97 100644 --- a/res/field/scripts/scripts_lake_verity.s +++ b/res/field/scripts/scripts_lake_verity.s @@ -32,22 +32,22 @@ _0069: _0071: SetObjectEventPos 5, 46, 50 ScrCmd_188 5, 14 - ScrCmd_189 5, 0 + SetObjectEventDir 5, DIR_NORTH Return _0087: SetObjectEventPos 5, 46, 51 ScrCmd_188 5, 15 - ScrCmd_189 5, 1 + SetObjectEventDir 5, DIR_SOUTH Return _009D: SetObjectEventPos 5, 50, 37 ScrCmd_188 5, 16 - ScrCmd_189 5, 2 + SetObjectEventDir 5, DIR_WEST SetObjectEventPos 6, 50, 39 ScrCmd_188 6, 16 - ScrCmd_189 6, 2 + SetObjectEventDir 6, DIR_WEST Return _00C7: diff --git a/res/field/scripts/scripts_mt_coronet_2f.s b/res/field/scripts/scripts_mt_coronet_2f.s index e209e8b824..886b622655 100644 --- a/res/field/scripts/scripts_mt_coronet_2f.s +++ b/res/field/scripts/scripts_mt_coronet_2f.s @@ -34,7 +34,7 @@ _0036: SetVar VAR_UNK_0x40A9, 2 SetObjectEventPos 5, 20, 25 ScrCmd_188 5, 16 - ScrCmd_189 5, 2 + SetObjectEventDir 5, DIR_WEST ClearFlag FLAG_UNK_0x029F AddObject 5 ApplyMovement 5, _0148 diff --git a/res/field/scripts/scripts_oreburgh_city.s b/res/field/scripts/scripts_oreburgh_city.s index 161a9971b6..cf6b6a7471 100644 --- a/res/field/scripts/scripts_oreburgh_city.s +++ b/res/field/scripts/scripts_oreburgh_city.s @@ -80,7 +80,7 @@ _00D7: LockAll ClearFlag FLAG_UNK_0x017C ScrCmd_188 3, 16 - ScrCmd_189 3, 2 + SetObjectEventDir 3, DIR_WEST GetPlayerMapPos VAR_0x8004, VAR_0x8005 GoToIfEq VAR_0x8005, 0x2EC, _011E GoToIfEq VAR_0x8005, 0x2ED, _0144 diff --git a/res/field/scripts/scripts_pal_park.s b/res/field/scripts/scripts_pal_park.s index a1b4e721e4..af134745f1 100644 --- a/res/field/scripts/scripts_pal_park.s +++ b/res/field/scripts/scripts_pal_park.s @@ -4,36 +4,36 @@ .data ScriptEntry _001A - ScriptEntry _0020 - ScriptEntry _008D - ScriptEntry _00B9 - ScriptEntry _00E9 - ScriptEntry _012C + ScriptEntry PalPark_Trigger_Countdown + ScriptEntry PalPark_Trigger_CaughtAllPokemon + ScriptEntry PalPark_RetireFromMenu + ScriptEntry PalPark_Trigger_RetireFromGate + ScriptEntry PalPark_Worker ScriptEntryEnd _001A: SetFlag FLAG_UNK_0x09CB End -_0020: +PalPark_Trigger_Countdown: PlayFanfare SEQ_SE_CONFIRM LockAll - MessageInstant 9 + MessageInstant PalPark_Text_LetTheCountdownBegin WaitTime 30, VAR_RESULT - MessageInstant 10 + MessageInstant PalPark_Text_Three PlayFanfare SEQ_SE_DP_DECIDE WaitTime 30, VAR_RESULT - MessageInstant 11 + MessageInstant PalPark_Text_Two PlayFanfare SEQ_SE_DP_DECIDE WaitTime 30, VAR_RESULT - MessageInstant 12 + MessageInstant PalPark_Text_One PlayFanfare SEQ_SE_DP_DECIDE WaitTime 30, VAR_RESULT - MessageInstant 13 + MessageInstant PalPark_Text_Start PlayFanfare SEQ_SE_DP_CON_016 WaitTime 30, VAR_RESULT - ScrCmd_253 0 - SetVar VAR_UNK_0x40F3, 1 + SetInCatchingShowFlag + SetVar VAR_PAL_PARK_STATE, 1 SetFlag FLAG_ALT_MUSIC_PAL_PARK PlayMusic SEQ_D_SAFARI CloseMessage @@ -59,46 +59,46 @@ _0020: .byte 2 .byte 0 -_008D: +PalPark_Trigger_CaughtAllPokemon: PlayFanfare SEQ_SE_CONFIRM LockAll PlayFanfare SEQ_SE_DP_PINPON BufferPlayerName 0 - Message 5 + Message PalPark_Text_DingDongCongratulations PlayMusic SEQ_SILENCE_DUNGEON PlaySound SEQ_FANFA4 WaitSound CloseMessage ReleaseAll - SetVar VAR_UNK_0x40F3, 1 - Call _01C0 + SetVar VAR_PAL_PARK_STATE, 1 + Call PalPark_ClearFlagAndWarpOut End -_00B9: +PalPark_RetireFromMenu: PlayFanfare SEQ_SE_CONFIRM LockAll - Message 8 + Message PalPark_Text_WouldYouLikeToRetire ShowYesNoMenu VAR_RESULT CloseMessage - GoToIfEq VAR_RESULT, MENU_YES, _00D9 + GoToIfEq VAR_RESULT, MENU_YES, PalPark_RetireFromMenu_WarpOut ReleaseAll End -_00D9: - SetVar VAR_UNK_0x40F3, 2 +PalPark_RetireFromMenu_WarpOut: + SetVar VAR_PAL_PARK_STATE, 2 ReleaseAll - Call _01C0 + Call PalPark_ClearFlagAndWarpOut End -_00E9: +PalPark_Trigger_RetireFromGate: PlayFanfare SEQ_SE_CONFIRM LockAll - Call _0170 + Call PalPark_AskPlayerRetireFromCatchingShow CloseMessage - GoToIfEq VAR_RESULT, 0, _0114 - SetVar VAR_UNK_0x40F3, 2 + GoToIfEq VAR_RESULT, FALSE, _0114 + SetVar VAR_PAL_PARK_STATE, 2 ReleaseAll - Call _01C0 + Call PalPark_ClearFlagAndWarpOut End _0114: @@ -112,16 +112,16 @@ _0124: WalkNormalNorth EndMovement -_012C: +PalPark_Worker: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Call _0170 + Call PalPark_AskPlayerRetireFromCatchingShow CloseMessage - GoToIfEq VAR_RESULT, 0, _0159 - SetVar VAR_UNK_0x40F3, 2 + GoToIfEq VAR_RESULT, FALSE, _0159 + SetVar VAR_PAL_PARK_STATE, 2 ReleaseAll - Call _01C0 + Call PalPark_ClearFlagAndWarpOut End _0159: @@ -135,32 +135,32 @@ _0168: WalkOnSpotNormalWest EndMovement -_0170: - Message 0 +PalPark_AskPlayerRetireFromCatchingShow: + Message PalPark_Text_WouldYouLikeToRetireFromYourCatchingShow ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _01B5 + GoToIfEq VAR_RESULT, MENU_YES, PalPark_RetireFromCatchingShow GetPlayerGender VAR_RESULT - GoToIfEq VAR_RESULT, GENDER_FEMALE, _01A5 + GoToIfEq VAR_RESULT, GENDER_FEMALE, PalPark_NotRetireFromCatchingShow_Female BufferPlayerName 0 - Message 2 + Message PalPark_Text_ThatTheSpirit_Male WaitABXPadPress - SetVar VAR_RESULT, 0 + SetVar VAR_RESULT, FALSE Return -_01A5: +PalPark_NotRetireFromCatchingShow_Female: BufferPlayerName 0 - Message 3 + Message PalPark_Text_ThatTheSpirit_Female WaitABXPadPress - SetVar VAR_RESULT, 0 + SetVar VAR_RESULT, FALSE Return -_01B5: - Message 1 - SetVar VAR_RESULT, 1 +PalPark_RetireFromCatchingShow: + Message PalPark_Text_ISeeImDisappointedThatYouDroppedOut + SetVar VAR_RESULT, TRUE Return -_01C0: - ScrCmd_253 1 +PalPark_ClearFlagAndWarpOut: + ClearInCatchingShowFlag FadeScreen 6, 1, 0, 0 WaitFadeScreen Warp MAP_HEADER_PAL_PARK_LOBBY, 0, 7, 7, 1 diff --git a/res/field/scripts/scripts_pal_park_lobby.s b/res/field/scripts/scripts_pal_park_lobby.s index 8591708e7f..16d26927b7 100644 --- a/res/field/scripts/scripts_pal_park_lobby.s +++ b/res/field/scripts/scripts_pal_park_lobby.s @@ -1,160 +1,165 @@ #include "macros/scrcmd.inc" +#include "res/text/bank/menu_entries.h" #include "res/text/bank/pal_park_lobby.h" +#include "generated/versions.h" +#include "constants/pokemon.h" + +#define LOCALID_OAK 1 +#define LOCALID_RECEPCIONIST 7 .data - ScriptEntry _0036 - ScriptEntry _007E - ScriptEntry _02F8 - ScriptEntry _0400 - ScriptEntry _0413 - ScriptEntry _045F - ScriptEntry _0475 - ScriptEntry _0488 - ScriptEntry _049B - ScriptEntry _04B4 - ScriptEntry _057C + ScriptEntry PalParkLobby_OnLoad + ScriptEntry PalParkLobby_Receptionist + ScriptEntry PalParkLobby_Trigger_TallyScore + ScriptEntry PalParkLobby_RecordUnused + ScriptEntry PalParkLobby_Daughter + ScriptEntry PalParkLobby_Dad + ScriptEntry PalParkLobby_ShowWatcherBoy + ScriptEntry PalParkLobby_ComplaintsLady + ScriptEntry PalParkLobby_RecordGuy + ScriptEntry PalParkLobby_Oak + ScriptEntry PalParkLobby_PoketchAppLady ScriptEntry _02D8 - ScriptEntry _0662 + ScriptEntry PalParkLobby_GBASlotGiftLady ScriptEntryEnd -_0036: +PalParkLobby_OnLoad: ClearFlag FLAG_ALT_MUSIC_PAL_PARK - SetFlag FLAG_UNK_0x09F3 - GoToIfNe VAR_UNK_0x40F3, 0, _004D + SetFlag FLAG_FIRST_ARRIVAL_POKE_PARK_FRONT_GATE + GoToIfNe VAR_PAL_PARK_STATE, 0, PalParkLobby_SetRecepcionistPosAndDir End -_004D: - SetObjectEventPos 7, 8, 9 - ScrCmd_189 7, 2 +PalParkLobby_SetRecepcionistPosAndDir: + SetObjectEventPos LOCALID_RECEPCIONIST, 8, 9 + SetObjectEventDir LOCALID_RECEPCIONIST, DIR_WEST End -_005D: - GoToIfEq VAR_UNK_0x40E0, 0x7D0, _0074 +PalParkLobby_BufferRecord: + GoToIfEq VAR_CATCHING_SHOW_RECORD, 2000, PalParkLobby_BufferRivalRecord BufferPlayerName 1 - BufferNumber 2, VAR_UNK_0x40E0 + BufferNumber 2, VAR_CATCHING_SHOW_RECORD Return -_0074: +PalParkLobby_BufferRivalRecord: BufferRivalName 1 - BufferNumber 2, VAR_UNK_0x40E0 + BufferNumber 2, VAR_CATCHING_SHOW_RECORD Return -_007E: +PalParkLobby_Receptionist: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer GetPlayerGender VAR_RESULT - GoToIfEq VAR_RESULT, GENDER_MALE, _009D - GoTo _00D2 + GoToIfEq VAR_RESULT, GENDER_MALE, PalParkLobby_Receptionist_PlayerMale + GoTo PalParkLobby_Receptionist_PlayerFemale -_009D: - GoToIfSet FLAG_UNK_0x00D3, _01D6 - SetFlag FLAG_UNK_0x00D3 +PalParkLobby_Receptionist_PlayerMale: + GoToIfSet FLAG_PAL_PARK_TALKED_TO_RECEPTIONIST, PalParkLobby_Receptionist_DidYouComeToParticipate_PlayerMale + SetFlag FLAG_PAL_PARK_TALKED_TO_RECEPTIONIST BufferPlayerName 0 - Message 21 + Message PalParkLobby_Text_WelcomeToPalPark_PlayerMale ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _0107 - GoToIfEq VAR_RESULT, MENU_NO, _01CB + GoToIfEq VAR_RESULT, MENU_YES, PalParkLobby_Manual_FirstTime + GoToIfEq VAR_RESULT, MENU_NO, PalParkLobby_Receptionist_DontParticipate End -_00D2: - GoToIfSet FLAG_UNK_0x00D3, _01E2 - SetFlag FLAG_UNK_0x00D3 +PalParkLobby_Receptionist_PlayerFemale: + GoToIfSet FLAG_PAL_PARK_TALKED_TO_RECEPTIONIST, PalParkLobby_Receptionist_DidYouComeToParticipate_PlayerFemale + SetFlag FLAG_PAL_PARK_TALKED_TO_RECEPTIONIST BufferPlayerName 0 - Message 22 + Message PalParkLobby_Text_WelcomeToPalPark_PlayerFemale ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _0107 - GoToIfEq VAR_RESULT, MENU_NO, _01CB + GoToIfEq VAR_RESULT, MENU_YES, PalParkLobby_Manual_FirstTime + GoToIfEq VAR_RESULT, MENU_NO, PalParkLobby_Receptionist_DontParticipate End -_0107: - Message 23 - GoTo _012B +PalParkLobby_Manual_FirstTime: + Message PalParkLobby_Text_YesYouAgreedToParticipateItsAHappyDayForMe + GoTo PalParkLobby_OpenManualMenu -_0110: - Message 24 - GoTo _012B +PalParkLobby_Manual_BasicRules: + Message PalParkLobby_Text_Manual_BasicRules + GoTo PalParkLobby_OpenManualMenu -_0119: - Message 25 - GoTo _012B +PalParkLobby_Manual_CatchingShow: + Message PalParkLobby_Text_Manual_CatchingShow + GoTo PalParkLobby_OpenManualMenu -_0122: - Message 26 - GoTo _012B +PalParkLobby_Manual_StockingPokemon: + Message PalParkLobby_Text_Manual_StockingPokemon + GoTo PalParkLobby_OpenManualMenu -_012B: +PalParkLobby_OpenManualMenu: InitGlobalTextMenu 1, 1, 0, VAR_RESULT - AddMenuEntryImm 198, 0 - AddMenuEntryImm 199, 1 - AddMenuEntryImm 200, 2 - AddMenuEntryImm 202, 4 + AddMenuEntryImm MenuEntries_Text_PalPark_BasicRules, 0 + AddMenuEntryImm MenuEntries_Text_PalPark_CatchingShow, 1 + AddMenuEntryImm MenuEntries_Text_PalPark_StockingPokemon, 2 + AddMenuEntryImm MenuEntries_Text_PalPark_Understood, 4 ShowMenu - GoToIfEq VAR_RESULT, 0, _0110 - GoToIfEq VAR_RESULT, 1, _0119 - GoToIfEq VAR_RESULT, 2, _0122 - GoTo _0172 + GoToIfEq VAR_RESULT, 0, PalParkLobby_Manual_BasicRules + GoToIfEq VAR_RESULT, 1, PalParkLobby_Manual_CatchingShow + GoToIfEq VAR_RESULT, 2, PalParkLobby_Manual_StockingPokemon + GoTo PalParkLobby_Receptionist_AskParticipateFromManual -_0172: - Message 28 +PalParkLobby_Receptionist_AskParticipateFromManual: + Message PalParkLobby_Text_WouldYouLikeToTakePartInACatchingShowNow ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_NO, _01CB -_0186: + GoToIfEq VAR_RESULT, MENU_NO, PalParkLobby_Receptionist_DontParticipate +PalParkLobby_Receptionist_CheckIfCanParticipate: SetVar VAR_RESULT, 0 - ScrCmd_252 VAR_RESULT - GoToIfLt VAR_RESULT, 6, _02AD + GetPCBoxesFreeSlotCount VAR_RESULT + GoToIfLt VAR_RESULT, CATCHING_SHOW_MONS, PalParkLobby_Receptionist_NotEnoughSpaceInPCBoxes SetVar VAR_RESULT, 0 - ScrCmd_254 VAR_RESULT - GoToIfEq VAR_RESULT, 0, _0299 + GoToIfNotEnoughMonForCatchingShow PalParkLobby_Receptionist_NotEnoughMonForCatchingShow GetPlayerGender VAR_RESULT - GoToIfEq VAR_RESULT, GENDER_MALE, _0231 - GoTo _0245 + GoToIfEq VAR_RESULT, GENDER_MALE, PalParkLobby_Receptionist_GiveParkBalls_PlayerMale + GoTo PalParkLobby_Receptionist_GiveParkBalls_PlayerFemale -_01CB: - Message 29 +PalParkLobby_Receptionist_DontParticipate: + Message PalParkLobby_Text_AwwThatsTooBad WaitABXPadPress CloseMessage ReleaseAll End -_01D6: +PalParkLobby_Receptionist_DidYouComeToParticipate_PlayerMale: BufferPlayerName 0 - Message 30 - GoTo _01EE + Message PalParkLobby_Text_Greeting_PlayerMale + GoTo PalParkLobby_Receptionist_OpenCatchingShowMenu -_01E2: +PalParkLobby_Receptionist_DidYouComeToParticipate_PlayerFemale: BufferPlayerName 0 - Message 31 - GoTo _01EE + Message PalParkLobby_Text_Greeting_PlayerFemale + GoTo PalParkLobby_Receptionist_OpenCatchingShowMenu -_01EE: +PalParkLobby_Receptionist_OpenCatchingShowMenu: InitGlobalTextMenu 1, 1, 0, VAR_RESULT - AddMenuEntryImm 203, 0 - AddMenuEntryImm 204, 1 - AddMenuEntryImm 205, 2 + AddMenuEntryImm MenuEntries_Text_PalPark_Enter, 0 + AddMenuEntryImm MenuEntries_Text_PalPark_Info, 1 + AddMenuEntryImm MenuEntries_Text_PalPark_Exit, 2 ShowMenu - GoToIfEq VAR_RESULT, 0, _0186 - GoToIfEq VAR_RESULT, 1, _02A4 - GoToIfEq VAR_RESULT, 2, _01CB - GoTo _01CB + GoToIfEq VAR_RESULT, 0, PalParkLobby_Receptionist_CheckIfCanParticipate + GoToIfEq VAR_RESULT, 1, PalParkLobby_Manual + GoToIfEq VAR_RESULT, 2, PalParkLobby_Receptionist_DontParticipate + GoTo PalParkLobby_Receptionist_DontParticipate -_0231: - Call _005D +PalParkLobby_Receptionist_GiveParkBalls_PlayerMale: + Call PalParkLobby_BufferRecord BufferPlayerName 0 - Message 32 + Message PalParkLobby_Text_OkHereAreYourParkBalls_PlayerMale CloseMessage - GoTo _0259 + GoTo PalParkLobby_WalkInAndWarp -_0245: - Call _005D +PalParkLobby_Receptionist_GiveParkBalls_PlayerFemale: + Call PalParkLobby_BufferRecord BufferPlayerName 0 - Message 33 + Message PalParkLobby_Text_OkHereAreYourParkBalls_PlayerFemale CloseMessage - GoTo _0259 + GoTo PalParkLobby_WalkInAndWarp -_0259: - ApplyMovement 7, _02B8 +PalParkLobby_WalkInAndWarp: + ApplyMovement LOCALID_RECEPCIONIST, _02B8 WaitMovement ApplyMovement LOCALID_PLAYER, _02CC WaitMovement @@ -167,19 +172,19 @@ _0259: ReleaseAll End -_0299: - Message 34 +PalParkLobby_Receptionist_NotEnoughMonForCatchingShow: + Message PalParkLobby_Text_YouDontHaveEnoughPokemonForACatchingShow WaitABXPadPress CloseMessage ReleaseAll End -_02A4: - Message 35 - GoTo _012B +PalParkLobby_Manual: + Message PalParkLobby_Text_VeryWellLetMeExplainHowThingsWorkAroundHere + GoTo PalParkLobby_OpenManualMenu -_02AD: - Message 37 +PalParkLobby_Receptionist_NotEnoughSpaceInPCBoxes: + Message PalParkLobby_Text_YouHaveNoRoomForSixMorePokemon WaitABXPadPress CloseMessage ReleaseAll @@ -201,17 +206,17 @@ _02CC: _02D8: LockAll - SetVar VAR_UNK_0x40F3, 0 + SetVar VAR_PAL_PARK_STATE, 0 ApplyMovement LOCALID_PLAYER, _03E4 WaitMovement - ApplyMovement 7, _03D8 + ApplyMovement LOCALID_RECEPCIONIST, _03D8 WaitMovement ReleaseAll End -_02F8: +PalParkLobby_Trigger_TallyScore: LockAll - SetVar VAR_UNK_0x40F3, 0 + SetVar VAR_PAL_PARK_STATE, 0 ApplyMovement LOCALID_PLAYER, _03EC WaitMovement CalcCatchingShowPoints CATCHING_SHOW_CATCHING_POINTS, VAR_RESULT @@ -222,46 +227,46 @@ _02F8: BufferNumber 2, VAR_RESULT CalcCatchingShowPoints CATCHING_SHOW_TOTAL_POINTS, VAR_RESULT BufferNumber 3, VAR_RESULT - Message 38 + Message PalParkLobby_Text_CongratulationsThatsAllSixPokemonCaught CalcCatchingShowPoints CATCHING_SHOW_TOTAL_POINTS, VAR_RESULT - GoToIfGt VAR_RESULT, VAR_UNK_0x40E0, _035B - Message 40 - Call _07BE - GoTo _0370 + GoToIfGt VAR_RESULT, VAR_CATCHING_SHOW_RECORD, PalParkLobby_Receptionist_RecordBroken + Message PalParkLobby_Text_GoodThatsADecentRecord + Call PalParkLobby_Receptionist_SetPrize + GoTo PalParkLobby_Receptionist_AskToStoreCaughtMon -_035B: - Message 39 - Call _07BE - CalcCatchingShowPoints CATCHING_SHOW_TOTAL_POINTS, VAR_UNK_0x40E0 - GoTo _0370 +PalParkLobby_Receptionist_RecordBroken: + Message PalParkLobby_Text_WowThatsAnOutstandingRecord + Call PalParkLobby_Receptionist_SetPrize + CalcCatchingShowPoints CATCHING_SHOW_TOTAL_POINTS, VAR_CATCHING_SHOW_RECORD + GoTo PalParkLobby_Receptionist_AskToStoreCaughtMon -_0370: - Message 41 +PalParkLobby_Receptionist_AskToStoreCaughtMon: + Message PalParkLobby_Text_AskToStoreCaughtMon ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _03AB - Message 46 + GoToIfEq VAR_RESULT, MENU_YES, PalParkLobby_Receptionist_StoreCaughtMon + Message PalParkLobby_Text_AskToRedoCatchingShow ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _039E - GoTo _0370 + GoToIfEq VAR_RESULT, MENU_YES, PalParkLobby_Receptionist_DontStoreCaughtMon + GoTo PalParkLobby_Receptionist_AskToStoreCaughtMon -_039E: - Message 43 +PalParkLobby_Receptionist_DontStoreCaughtMon: + Message PalParkLobby_Text_OhThenItMightBeFunForYouToGoForAnEvenBetterScore WaitABPress CloseMessage - GoTo _03BD + GoTo PalParkLobby_Receptionist_End -_03AB: - ScrCmd_255 - Message 42 - Message 44 +PalParkLobby_Receptionist_StoreCaughtMon: + MoveCatchingShowMonsToPCBoxes + Message PalParkLobby_Text_DoneYourPokemonHaveBeenBoxedAway + Message PalParkLobby_Text_IfYouWantToDoAnotherCatchingShowComeSeeUsAgain WaitABPress CloseMessage - GoTo _03BD + GoTo PalParkLobby_Receptionist_End -_03BD: +PalParkLobby_Receptionist_End: ApplyMovement LOCALID_PLAYER, _03F8 WaitMovement - ApplyMovement 7, _03D8 + ApplyMovement LOCALID_RECEPCIONIST, _03D8 WaitMovement ReleaseAll End @@ -288,121 +293,122 @@ _03F8: WalkNormalSouth 4 EndMovement -_0400: +PalParkLobby_RecordUnused: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 57 + Message PalParkLobby_Text_TheCurrentRecordHolderIsXWithYPoints WaitABXPadPress CloseMessage ReleaseAll End -_0413: +PalParkLobby_Daughter: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer BufferPlayerName 0 - GoToIfEq VAR_RESULT, 2, _0454 - GoToIfEq VAR_RESULT, 1, _0449 - GoTo _043E + /* These seem to go functionally unused? Even after doing a Catching Show, they don't trigger */ + GoToIfEq VAR_RESULT, 2, PalParkLobby_Daughter_IHopeYouDoBetterNextTime + GoToIfEq VAR_RESULT, 1, PalParkLobby_Daughter_YourCatchingShowWasFantastic + GoTo PalParkLobby_Daughter_ICameToSeePlayersCatchingShow -_043E: - Message 52 +PalParkLobby_Daughter_ICameToSeePlayersCatchingShow: + Message PalParkLobby_Text_ICameToSeePlayersCatchingShowWithDaddy WaitABXPadPress CloseMessage ReleaseAll End -_0449: - Message 53 +PalParkLobby_Daughter_YourCatchingShowWasFantastic: + Message PalParkLobby_Text_EekPlayerYourCatchingShowWasFantastic WaitABXPadPress CloseMessage ReleaseAll End -_0454: - Message 54 +PalParkLobby_Daughter_IHopeYouDoBetterNextTime: + Message PalParkLobby_Text_OhPlayerIHopeYouDoBetterNextTime WaitABXPadPress CloseMessage ReleaseAll End -_045F: +PalParkLobby_Dad: BufferPlayerName 0 PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 55 + Message PalParkLobby_Text_PlayerMyDaughterIsABigFanOfYours WaitABXPadPress CloseMessage ReleaseAll End -_0475: +PalParkLobby_ShowWatcherBoy: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 56 + Message PalParkLobby_Text_WeGetToSeeRareAndExoticPokemon WaitABXPadPress CloseMessage ReleaseAll End -_0488: +PalParkLobby_ComplaintsLady: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 65 + Message PalParkLobby_Text_RarePokemonTakeLongerToAppear WaitABXPadPress CloseMessage ReleaseAll End -_049B: - Call _005D +PalParkLobby_RecordGuy: + Call PalParkLobby_BufferRecord PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 57 + Message PalParkLobby_Text_TheCurrentRecordHolderIsXWithYPoints WaitABXPadPress CloseMessage ReleaseAll End -_04B4: +PalParkLobby_Oak: LockAll - ClearFlag FLAG_UNK_0x0242 - SetVar VAR_UNK_0x40E0, 0x7D0 - ApplyMovement 1, _0548 + ClearFlag FLAG_ETERNA_CITY_SOUTH_HOUSE_HIDE_PROF_OAK + SetVar VAR_CATCHING_SHOW_RECORD, 2000 + ApplyMovement LOCALID_OAK, _0548 WaitMovement GetPlayerGender VAR_MAP_LOCAL_0 BufferPlayerName 0 - GoToIfEq VAR_MAP_LOCAL_0, GENDER_MALE, _04E4 - GoTo _04ED + GoToIfEq VAR_MAP_LOCAL_0, GENDER_MALE, PalParkLobby_Oak_ThisIsPalPark_PlayerMale + GoTo PalParkLobby_Oak_ThisIsPalPark_PlayerFemale -_04E4: - Message 0 - GoTo _04F6 +PalParkLobby_Oak_ThisIsPalPark_PlayerMale: + Message PalParkLobby_Text_Oak_AhPlayerThisIsItThisIsPalPark_PlayerMale + GoTo PalParkLobby_Oak_PokemonFromAroundTheCountryCanBeBroughtHere -_04ED: - Message 1 - GoTo _04F6 +PalParkLobby_Oak_ThisIsPalPark_PlayerFemale: + Message PalParkLobby_Text_Oak_AhPlayerThisIsItThisIsPalPark_PlayerFemale + GoTo PalParkLobby_Oak_PokemonFromAroundTheCountryCanBeBroughtHere -_04F6: - Message 2 +PalParkLobby_Oak_PokemonFromAroundTheCountryCanBeBroughtHere: + Message PalParkLobby_Text_Oak_PokemonFromAroundTheCountryCanBeBroughtHere CloseMessage - ApplyMovement 1, _0558 + ApplyMovement LOCALID_OAK, _0558 WaitMovement - Message 3 + Message PalParkLobby_Text_Oak_LetMeMakeAGiftOfThisTrainerCounterApp SetVar VAR_0x8004, 19 CallCommonScript 0x7D9 - Message 4 + Message PalParkLobby_Text_Oak_IPlanToBeInEternaCityForSomeTime CloseMessage WaitTime 15, VAR_RESULT ApplyMovement LOCALID_PLAYER, _0570 WaitMovement - ApplyMovement 1, _0564 + ApplyMovement LOCALID_OAK, _0564 WaitMovement PlayFanfare SEQ_SE_DP_KAIDAN2 RemoveObject 1 @@ -436,22 +442,22 @@ _0570: WalkOnSpotNormalWest EndMovement -_057C: +PalParkLobby_PoketchAppLady: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_MAP_LOCAL_A, 1, _062C - GoToIfEq VAR_MAP_LOCAL_A, 2, _063C + GoToIfEq VAR_MAP_LOCAL_A, 1, PalParkLobby_PoketchAppLady_JustReceivedKitchenTimer + GoToIfEq VAR_MAP_LOCAL_A, 2, PalParkLobby_PoketchAppLady_JustReceivedColorChanger CheckPoketchAppRegistered POKETCH_APPID_COLORCHANGER, VAR_RESULT - GoToIfEq VAR_RESULT, 1, _0657 - Message 5 - Message 6 + GoToIfEq VAR_RESULT, 1, PalParkLobby_PoketchAppLady_ReceivedAllPoketchApps + Message PalParkLobby_Text_PalParkIsSoScintillating + Message PalParkLobby_Text_IveNeverSeenSomePokemon CheckPoketchAppRegistered POKETCH_APPID_KITCHENTIMER, VAR_RESULT - GoToIfEq VAR_RESULT, 1, _05FB - Message 10 + GoToIfEq VAR_RESULT, 1, PalParkLobby_PoketchAppLady_CheckKecleon + Message PalParkLobby_Text_APokemonThatDoesNothingButEatAndSleep CheckPartyHasSpecies VAR_RESULT, SPECIES_SNORLAX - GoToIfEq VAR_RESULT, 0, _064C - Message 11 + GoToIfEq VAR_RESULT, 0, PalParkLobby_PoketchAppLady_DoesntHaveSpecies + Message PalParkLobby_Text_OhASnorlaxItSureLooksLikeItCanEat SetVar VAR_0x8004, 20 CallCommonScript 0x7D9 WaitABXPadPress @@ -460,11 +466,11 @@ _057C: ReleaseAll End -_05FB: - Message 13 +PalParkLobby_PoketchAppLady_CheckKecleon: + Message PalParkLobby_Text_APokemonThatChangesColorWheneverSomethingHappens CheckPartyHasSpecies VAR_RESULT, SPECIES_KECLEON - GoToIfEq VAR_RESULT, 0, _064C - Message 14 + GoToIfEq VAR_RESULT, 0, PalParkLobby_PoketchAppLady_DoesntHaveSpecies + Message PalParkLobby_Text_OhAKecleonHowColorful SetVar VAR_0x8004, 21 CallCommonScript 0x7D9 WaitABXPadPress @@ -473,288 +479,288 @@ _05FB: ReleaseAll End -_062C: +PalParkLobby_PoketchAppLady_JustReceivedKitchenTimer: BufferPoketchAppName 0, POKETCH_APPID_KITCHENTIMER - Message 12 + Message PalParkLobby_Text_DoesntThatKitchenTimerMakeYouWantToCookSomething WaitABXPadPress CloseMessage ReleaseAll End -_063C: +PalParkLobby_PoketchAppLady_JustReceivedColorChanger: BufferPoketchAppName 0, POKETCH_APPID_COLORCHANGER - Message 15 + Message PalParkLobby_Text_ChangingColorsCanChangeYourMoodToo WaitABXPadPress CloseMessage ReleaseAll End -_064C: - Message 19 +PalParkLobby_PoketchAppLady_DoesntHaveSpecies: + Message PalParkLobby_Text_WhatWasThatPokemonNameNow WaitABXPadPress CloseMessage ReleaseAll End -_0657: - Message 20 +PalParkLobby_PoketchAppLady_ReceivedAllPoketchApps: + Message PalParkLobby_Text_PalParkIsSoScintillatingAreYouTakingTheChallengeToo WaitABXPadPress CloseMessage ReleaseAll End -_0662: +PalParkLobby_GBASlotGiftLady: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_MAP_LOCAL_9, 1, _06CF + GoToIfEq VAR_MAP_LOCAL_9, 1, PalParkLobby_GBASlotGiftLady_JustReceivedGift GetGBACartridgeVersion VAR_RESULT - GoToIfEq VAR_RESULT, 4, _06DA - GoToIfEq VAR_RESULT, 5, _0706 - GoToIfEq VAR_RESULT, 1, _0732 - GoToIfEq VAR_RESULT, 2, _0756 - GoToIfEq VAR_RESULT, 3, _077A - GoTo _06C4 + GoToIfEq VAR_RESULT, VERSION_FIRERED, PalParkLobby_GBASlotGiftLady_FireRed + GoToIfEq VAR_RESULT, VERSION_LEAFGREEN, PalParkLobby_GBASlotGiftLady_LeafGreen + GoToIfEq VAR_RESULT, VERSION_SAPPHIRE, PalParkLobby_GBASlotGiftLady_Sapphire + GoToIfEq VAR_RESULT, VERSION_RUBY, PalParkLobby_GBASlotGiftLady_Ruby + GoToIfEq VAR_RESULT, VERSION_EMERALD, PalParkLobby_GBASlotGiftLady_Emerald + GoTo PalParkLobby_GBASlotGiftLady_NoGBAGame End -_06C4: - Message 66 +PalParkLobby_GBASlotGiftLady_NoGBAGame: + Message PalParkLobby_Text_IEspeciallyLookForwardToSeeingPokemonFromKantoAndHoenn WaitABXPadPress CloseMessage ReleaseAll End -_06CF: - Message 72 +PalParkLobby_GBASlotGiftLady_JustReceivedGift: + Message PalParkLobby_Text_NotOnlyAreThereCatchingShowsThereAreAlsoPokemonContests WaitABXPadPress CloseMessage ReleaseAll End -_06DA: +PalParkLobby_GBASlotGiftLady_FireRed: SetVar VAR_0x8004, ACCESSORY_CROWN SetVar VAR_0x8005, 1 CanFitAccessory VAR_0x8004, VAR_0x8005, VAR_RESULT - GoToIfEq VAR_RESULT, 0, _06C4 - Message 67 - GoTo _079E + GoToIfEq VAR_RESULT, FALSE, PalParkLobby_GBASlotGiftLady_NoGBAGame + Message PalParkLobby_Text_YourPerformanceLeftMyHeartFlutterToday_Crown + GoTo PalParkLobby_GBASlotGiftLady_GiveAccessory End -_0706: +PalParkLobby_GBASlotGiftLady_LeafGreen: SetVar VAR_0x8004, ACCESSORY_TIARA SetVar VAR_0x8005, 1 CanFitAccessory VAR_0x8004, VAR_0x8005, VAR_RESULT - GoToIfEq VAR_RESULT, 0, _06C4 - Message 68 - GoTo _079E + GoToIfEq VAR_RESULT, FALSE, PalParkLobby_GBASlotGiftLady_NoGBAGame + Message PalParkLobby_Text_YourPerformanceLeftMyHeartFlutterToday_Tiara + GoTo PalParkLobby_GBASlotGiftLady_GiveAccessory End -_0732: - SetVar VAR_0x8004, 14 - ScrCmd_1D6 VAR_0x8004, VAR_RESULT - GoToIfEq VAR_RESULT, 1, _06C4 - Message 69 - GoTo _07AE +PalParkLobby_GBASlotGiftLady_Sapphire: + SetVar VAR_0x8004, BACKDROP_SEAFLOOR + CheckBackdrop VAR_0x8004, VAR_RESULT + GoToIfEq VAR_RESULT, TRUE, PalParkLobby_GBASlotGiftLady_NoGBAGame + Message PalParkLobby_Text_YourPerformanceLeftMyHeartFlutterToday_Seafloor + GoTo PalParkLobby_GBASlotGiftLady_GiveBackdrop End -_0756: - SetVar VAR_0x8004, 15 - ScrCmd_1D6 VAR_0x8004, VAR_RESULT - GoToIfEq VAR_RESULT, 1, _06C4 - Message 70 - GoTo _07AE +PalParkLobby_GBASlotGiftLady_Ruby: + SetVar VAR_0x8004, BACKDROP_UNDERGROUND + CheckBackdrop VAR_0x8004, VAR_RESULT + GoToIfEq VAR_RESULT, TRUE, PalParkLobby_GBASlotGiftLady_NoGBAGame + Message PalParkLobby_Text_YourPerformanceLeftMyHeartFlutterToday_Underground + GoTo PalParkLobby_GBASlotGiftLady_GiveBackdrop End -_077A: - SetVar VAR_0x8004, 16 - ScrCmd_1D6 VAR_0x8004, VAR_RESULT - GoToIfEq VAR_RESULT, 1, _06C4 - Message 71 - GoTo _07AE +PalParkLobby_GBASlotGiftLady_Emerald: + SetVar VAR_0x8004, BACKDROP_SKY + CheckBackdrop VAR_0x8004, VAR_RESULT + GoToIfEq VAR_RESULT, TRUE, PalParkLobby_GBASlotGiftLady_NoGBAGame + Message PalParkLobby_Text_YourPerformanceLeftMyHeartFlutterToday_Sky + GoTo PalParkLobby_GBASlotGiftLady_GiveBackdrop End -_079E: +PalParkLobby_GBASlotGiftLady_GiveAccessory: CallCommonScript 0x7DF SetVar VAR_MAP_LOCAL_9, 1 CloseMessage ReleaseAll End -_07AE: +PalParkLobby_GBASlotGiftLady_GiveBackdrop: CallCommonScript 0x7F4 SetVar VAR_MAP_LOCAL_9, 1 CloseMessage ReleaseAll End -_07BE: +PalParkLobby_Receptionist_SetPrize: CalcCatchingShowPoints CATCHING_SHOW_TOTAL_POINTS, VAR_RESULT - CallIfLt VAR_RESULT, 0xBB8, _07FA - CallIfLt VAR_RESULT, 0xCE4, _0870 - CallIfLt VAR_RESULT, 0xDAC, _08BF - CallIfLt VAR_RESULT, 0x2710, _0928 + CallIfLt VAR_RESULT, 3000, PalParkLobby_Receptionist_SetPrize_Level1 + CallIfLt VAR_RESULT, 3300, PalParkLobby_Receptionist_SetPrize_Level2 + CallIfLt VAR_RESULT, 3500, PalParkLobby_Receptionist_SetPrize_Level3 + CallIfLt VAR_RESULT, 10000, PalParkLobby_Receptionist_SetPrize_Level4 Return -_07FA: +PalParkLobby_Receptionist_SetPrize_Level1: GetRandom VAR_0x8006, 8 - CallIfEq VAR_0x8006, 0, _09B6 - CallIfEq VAR_0x8006, 1, _09BE - CallIfEq VAR_0x8006, 2, _09C6 - CallIfEq VAR_0x8006, 3, _09CE - CallIfEq VAR_0x8006, 4, _09D6 - CallIfEq VAR_0x8006, 5, _09DE - CallIfEq VAR_0x8006, 6, _09E6 - CallIfEq VAR_0x8006, 7, _09EE - Call _0984 + CallIfEq VAR_0x8006, 0, PalParkLobby_SetPrize_CheriBerry + CallIfEq VAR_0x8006, 1, PalParkLobby_SetPrize_ChestoBerry + CallIfEq VAR_0x8006, 2, PalParkLobby_SetPrize_PechaBerry + CallIfEq VAR_0x8006, 3, PalParkLobby_SetPrize_RawstBerry + CallIfEq VAR_0x8006, 4, PalParkLobby_SetPrize_AspearBerry + CallIfEq VAR_0x8006, 5, PalParkLobby_SetPrize_LeppaBerry + CallIfEq VAR_0x8006, 6, PalParkLobby_SetPrize_OranBerry + CallIfEq VAR_0x8006, 7, PalParkLobby_SetPrize_PersimBerry + Call PalParkLobby_Receptionist_CheckIfCanGivePrize Return -_0870: +PalParkLobby_Receptionist_SetPrize_Level2: GetRandom VAR_0x8006, 5 - CallIfEq VAR_0x8006, 0, _09F6 - CallIfEq VAR_0x8006, 1, _09FE - CallIfEq VAR_0x8006, 2, _0A06 - CallIfEq VAR_0x8006, 3, _0A0E - CallIfEq VAR_0x8006, 4, _0A16 - Call _0984 + CallIfEq VAR_0x8006, 0, PalParkLobby_SetPrize_FigyBerry + CallIfEq VAR_0x8006, 1, PalParkLobby_SetPrize_WikiBerry + CallIfEq VAR_0x8006, 2, PalParkLobby_SetPrize_MagoBerry + CallIfEq VAR_0x8006, 3, PalParkLobby_SetPrize_AguavBerry + CallIfEq VAR_0x8006, 4, PalParkLobby_SetPrize_IapapaBerry + Call PalParkLobby_Receptionist_CheckIfCanGivePrize Return -_08BF: +PalParkLobby_Receptionist_SetPrize_Level3: GetRandom VAR_0x8006, 7 - CallIfEq VAR_0x8006, 0, _0A1E - CallIfEq VAR_0x8006, 1, _0A26 - CallIfEq VAR_0x8006, 2, _0A2E - CallIfEq VAR_0x8006, 3, _0A36 - CallIfEq VAR_0x8006, 4, _0A3E - CallIfEq VAR_0x8006, 5, _0A46 - CallIfEq VAR_0x8006, 6, _0A4E - Call _0984 + CallIfEq VAR_0x8006, 0, PalParkLobby_SetPrize_RazzBerry + CallIfEq VAR_0x8006, 1, PalParkLobby_SetPrize_BlukBerry + CallIfEq VAR_0x8006, 2, PalParkLobby_SetPrize_NanabBerry + CallIfEq VAR_0x8006, 3, PalParkLobby_SetPrize_WepearBerry + CallIfEq VAR_0x8006, 4, PalParkLobby_SetPrize_PinapBerry + CallIfEq VAR_0x8006, 5, PalParkLobby_SetPrize_LumBerry + CallIfEq VAR_0x8006, 6, PalParkLobby_SetPrize_SitrusBerry + Call PalParkLobby_Receptionist_CheckIfCanGivePrize Return -_0928: +PalParkLobby_Receptionist_SetPrize_Level4: GetRandom VAR_0x8006, 6 - CallIfEq VAR_0x8006, 0, _0A56 - CallIfEq VAR_0x8006, 1, _0A5E - CallIfEq VAR_0x8006, 2, _0A66 - CallIfEq VAR_0x8006, 3, _0A6E - CallIfEq VAR_0x8006, 4, _0A76 - CallIfEq VAR_0x8006, 5, _0A7E - Call _0984 + CallIfEq VAR_0x8006, 0, PalParkLobby_SetPrize_PomegBerry + CallIfEq VAR_0x8006, 1, PalParkLobby_SetPrize_KelpsyBerry + CallIfEq VAR_0x8006, 2, PalParkLobby_SetPrize_QualotBerry + CallIfEq VAR_0x8006, 3, PalParkLobby_SetPrize_HondewBerry + CallIfEq VAR_0x8006, 4, PalParkLobby_SetPrize_GrepaBerry + CallIfEq VAR_0x8006, 5, PalParkLobby_SetPrize_TamatoBerry + Call PalParkLobby_Receptionist_CheckIfCanGivePrize Return -_0984: +PalParkLobby_Receptionist_CheckIfCanGivePrize: CanFitItem VAR_0x8006, 1, VAR_0x8007 - CallIfNe VAR_0x8007, 0, _09A1 + CallIfNe VAR_0x8007, 0, PalParkLobby_Receptionist_GivePrize SetVar VAR_RESULT, 0x2710 Return -_09A1: - Message 45 +PalParkLobby_Receptionist_GivePrize: + Message PalParkLobby_Text_ItsTimeForYourPrize SetVar VAR_0x8004, VAR_0x8006 SetVar VAR_0x8005, 1 CallCommonScript 0x7FC Return -_09B6: +PalParkLobby_SetPrize_CheriBerry: SetVar VAR_0x8006, ITEM_CHERI_BERRY Return -_09BE: +PalParkLobby_SetPrize_ChestoBerry: SetVar VAR_0x8006, ITEM_CHESTO_BERRY Return -_09C6: +PalParkLobby_SetPrize_PechaBerry: SetVar VAR_0x8006, ITEM_PECHA_BERRY Return -_09CE: +PalParkLobby_SetPrize_RawstBerry: SetVar VAR_0x8006, ITEM_RAWST_BERRY Return -_09D6: +PalParkLobby_SetPrize_AspearBerry: SetVar VAR_0x8006, ITEM_ASPEAR_BERRY Return -_09DE: +PalParkLobby_SetPrize_LeppaBerry: SetVar VAR_0x8006, ITEM_LEPPA_BERRY Return -_09E6: +PalParkLobby_SetPrize_OranBerry: SetVar VAR_0x8006, ITEM_ORAN_BERRY Return -_09EE: +PalParkLobby_SetPrize_PersimBerry: SetVar VAR_0x8006, ITEM_PERSIM_BERRY Return -_09F6: +PalParkLobby_SetPrize_FigyBerry: SetVar VAR_0x8006, ITEM_FIGY_BERRY Return -_09FE: +PalParkLobby_SetPrize_WikiBerry: SetVar VAR_0x8006, ITEM_WIKI_BERRY Return -_0A06: +PalParkLobby_SetPrize_MagoBerry: SetVar VAR_0x8006, ITEM_MAGO_BERRY Return -_0A0E: +PalParkLobby_SetPrize_AguavBerry: SetVar VAR_0x8006, ITEM_AGUAV_BERRY Return -_0A16: +PalParkLobby_SetPrize_IapapaBerry: SetVar VAR_0x8006, ITEM_IAPAPA_BERRY Return -_0A1E: +PalParkLobby_SetPrize_RazzBerry: SetVar VAR_0x8006, ITEM_RAZZ_BERRY Return -_0A26: +PalParkLobby_SetPrize_BlukBerry: SetVar VAR_0x8006, ITEM_BLUK_BERRY Return -_0A2E: +PalParkLobby_SetPrize_NanabBerry: SetVar VAR_0x8006, ITEM_NANAB_BERRY Return -_0A36: +PalParkLobby_SetPrize_WepearBerry: SetVar VAR_0x8006, ITEM_WEPEAR_BERRY Return -_0A3E: +PalParkLobby_SetPrize_PinapBerry: SetVar VAR_0x8006, ITEM_PINAP_BERRY Return -_0A46: +PalParkLobby_SetPrize_LumBerry: SetVar VAR_0x8006, ITEM_LUM_BERRY Return -_0A4E: +PalParkLobby_SetPrize_SitrusBerry: SetVar VAR_0x8006, ITEM_SITRUS_BERRY Return -_0A56: +PalParkLobby_SetPrize_PomegBerry: SetVar VAR_0x8006, ITEM_POMEG_BERRY Return -_0A5E: +PalParkLobby_SetPrize_KelpsyBerry: SetVar VAR_0x8006, ITEM_KELPSY_BERRY Return -_0A66: +PalParkLobby_SetPrize_QualotBerry: SetVar VAR_0x8006, ITEM_QUALOT_BERRY Return -_0A6E: +PalParkLobby_SetPrize_HondewBerry: SetVar VAR_0x8006, ITEM_HONDEW_BERRY Return -_0A76: +PalParkLobby_SetPrize_GrepaBerry: SetVar VAR_0x8006, ITEM_GREPA_BERRY Return -_0A7E: +PalParkLobby_SetPrize_TamatoBerry: SetVar VAR_0x8006, ITEM_TAMATO_BERRY Return diff --git a/res/field/scripts/scripts_pastoria_city.s b/res/field/scripts/scripts_pastoria_city.s index 376130147f..731dacf59e 100644 --- a/res/field/scripts/scripts_pastoria_city.s +++ b/res/field/scripts/scripts_pastoria_city.s @@ -39,7 +39,7 @@ _005E: _009C: SetObjectEventPos 21, 0x27D, 0x32C - ScrCmd_189 21, 3 + SetObjectEventDir 21, DIR_EAST ScrCmd_188 21, 17 End @@ -546,7 +546,7 @@ _04C8: ClearFlag FLAG_UNK_0x01A9 SetObjectEventPos 26, 0x253, 0x333 ScrCmd_188 26, 16 - ScrCmd_189 26, 2 + SetObjectEventDir 26, DIR_WEST AddObject 26 ApplyMovement 26, _05B0 WaitMovement @@ -632,7 +632,7 @@ _05E0: ClearFlag FLAG_UNK_0x01A9 SetObjectEventPos 26, 0x253, 0x333 ScrCmd_188 26, 15 - ScrCmd_189 26, 1 + SetObjectEventDir 26, DIR_SOUTH AddObject 26 ScrCmd_062 26 ApplyMovement 26, _0798 @@ -649,7 +649,7 @@ _05E0: WaitMovement ClearFlag FLAG_UNK_0x01FB SetObjectEventPos 27, 0x24D, 0x33B - ScrCmd_189 27, 0 + SetObjectEventDir 27, DIR_NORTH ScrCmd_188 27, 14 AddObject 27 ScrCmd_062 27 @@ -700,19 +700,19 @@ _05E0: _0721: SetObjectEventPos 26, 0x260, 0x32E - ScrCmd_189 26, 1 + SetObjectEventDir 26, DIR_SOUTH ScrCmd_188 26, 15 Return _0737: SetObjectEventPos 27, 0x263, 0x32A - ScrCmd_189 27, 0 + SetObjectEventDir 27, DIR_NORTH ScrCmd_188 27, 14 Return _074D: SetObjectEventPos 26, 0x263, 0x32A - ScrCmd_189 26, 0 + SetObjectEventDir 26, DIR_NORTH ScrCmd_188 26, 14 Return @@ -832,7 +832,7 @@ _086F: CloseMessage ClearFlag FLAG_UNK_0x020C SetObjectEventPos 21, 0x262, 0x328 - ScrCmd_189 21, 3 + SetObjectEventDir 21, DIR_EAST ScrCmd_188 21, 17 AddObject 21 ScrCmd_062 21 @@ -854,7 +854,7 @@ _08FA: ClearFlag FLAG_UNK_0x020C SetObjectEventPos 21, 0x27D, 0x32C ScrCmd_188 21, 17 - ScrCmd_189 21, 3 + SetObjectEventDir 21, DIR_EAST AddObject 21 Return diff --git a/res/field/scripts/scripts_pastoria_city_observatory_gate_1f.s b/res/field/scripts/scripts_pastoria_city_observatory_gate_1f.s index 8efd4557a0..8461c72b1a 100644 --- a/res/field/scripts/scripts_pastoria_city_observatory_gate_1f.s +++ b/res/field/scripts/scripts_pastoria_city_observatory_gate_1f.s @@ -32,7 +32,7 @@ _0022: End _006A: - ScrCmd_252 VAR_RESULT + GetPCBoxesFreeSlotCount VAR_RESULT GoToIfNe VAR_RESULT, 0, _008C GetPartyCount VAR_RESULT GoToIfEq VAR_RESULT, 6, _0168 diff --git a/res/field/scripts/scripts_resort_area_ribbon_syndicate_1f.s b/res/field/scripts/scripts_resort_area_ribbon_syndicate_1f.s index 30ea8dea73..b3ae100119 100644 --- a/res/field/scripts/scripts_resort_area_ribbon_syndicate_1f.s +++ b/res/field/scripts/scripts_resort_area_ribbon_syndicate_1f.s @@ -20,7 +20,7 @@ _0022: _002F: SetObjectEventPos 0, 16, 14 - ScrCmd_189 0, 1 + SetObjectEventDir 0, DIR_SOUTH End _003F: diff --git a/res/field/scripts/scripts_route_202.s b/res/field/scripts/scripts_route_202.s index 17019ff894..0382858461 100644 --- a/res/field/scripts/scripts_route_202.s +++ b/res/field/scripts/scripts_route_202.s @@ -29,7 +29,7 @@ _0053: _005B: SetObjectEventPos 3, 186, 0x331 - ScrCmd_189 3, 1 + SetObjectEventDir 3, DIR_SOUTH ScrCmd_188 3, 15 Return diff --git a/res/field/scripts/scripts_route_213.s b/res/field/scripts/scripts_route_213.s index f781b7819e..382f713900 100644 --- a/res/field/scripts/scripts_route_213.s +++ b/res/field/scripts/scripts_route_213.s @@ -33,7 +33,7 @@ _0051: _0062: SetObjectEventPos 30, 0x28E, 0x32C - ScrCmd_189 30, 3 + SetObjectEventDir 30, DIR_EAST ScrCmd_188 30, 17 Return @@ -78,7 +78,7 @@ _010B: SetFlag FLAG_UNK_0x0118 RemoveObject 30 SetObjectEventPos 30, 0x2AB, 0x341 - ScrCmd_189 30, 3 + SetObjectEventDir 30, DIR_EAST ScrCmd_188 30, 17 ClearFlag FLAG_UNK_0x021A AddObject 30 diff --git a/res/field/scripts/scripts_sandgem_town.s b/res/field/scripts/scripts_sandgem_town.s index 50ad03183e..4bd7150b97 100644 --- a/res/field/scripts/scripts_sandgem_town.s +++ b/res/field/scripts/scripts_sandgem_town.s @@ -26,7 +26,7 @@ _0032: _005F: SetObjectEventPos 4, 168, 0x34D - ScrCmd_189 4, 0 + SetObjectEventDir 4, DIR_NORTH ScrCmd_188 4, 14 Return diff --git a/res/field/scripts/scripts_sandgem_town_pokemon_research_lab.s b/res/field/scripts/scripts_sandgem_town_pokemon_research_lab.s index 7268cb7984..c1a55abbd4 100644 --- a/res/field/scripts/scripts_sandgem_town_pokemon_research_lab.s +++ b/res/field/scripts/scripts_sandgem_town_pokemon_research_lab.s @@ -28,11 +28,11 @@ _003E: _005A: ClearFlag FLAG_UNK_0x0198 SetObjectEventPos 0, 7, 14 - ScrCmd_189 0, 1 + SetObjectEventDir 0, DIR_SOUTH ScrCmd_188 0, 15 ClearFlag FLAG_UNK_0x0199 SetObjectEventPos 3, 6, 14 - ScrCmd_189 3, 1 + SetObjectEventDir 3, DIR_SOUTH ScrCmd_188 3, 15 Return diff --git a/res/field/scripts/scripts_solaceon_town.s b/res/field/scripts/scripts_solaceon_town.s index ee81bb1156..2dae877241 100644 --- a/res/field/scripts/scripts_solaceon_town.s +++ b/res/field/scripts/scripts_solaceon_town.s @@ -26,7 +26,7 @@ _0034: End _0047: - ScrCmd_189 3, 3 + SetObjectEventDir 3, DIR_EAST End _004F: diff --git a/res/field/scripts/scripts_spear_pillar_distorted.s b/res/field/scripts/scripts_spear_pillar_distorted.s index f021ca4259..22e4f99cd6 100644 --- a/res/field/scripts/scripts_spear_pillar_distorted.s +++ b/res/field/scripts/scripts_spear_pillar_distorted.s @@ -19,7 +19,7 @@ _0022: AddObject 1 ScrCmd_1B2 1 SetObjectEventPos 0, 32, 34 - ScrCmd_189 0, 0 + SetObjectEventDir 0, DIR_NORTH ScrCmd_188 0, 14 ClearFlag FLAG_UNK_0x01CD AddObject 0 diff --git a/res/field/scripts/scripts_stark_mountain_room_2.s b/res/field/scripts/scripts_stark_mountain_room_2.s index 4c578b2649..f823dac5fb 100644 --- a/res/field/scripts/scripts_stark_mountain_room_2.s +++ b/res/field/scripts/scripts_stark_mountain_room_2.s @@ -44,7 +44,7 @@ _0031: _007D: SetObjectEventPos 14, 42, 78 - ScrCmd_189 14, 0 + SetObjectEventDir 14, DIR_NORTH ScrCmd_188 14, 14 ClearFlag FLAG_UNK_0x01DA AddObject 14 @@ -59,7 +59,7 @@ _007D: _00B7: SetObjectEventPos 14, 42, 68 - ScrCmd_189 14, 0 + SetObjectEventDir 14, DIR_NORTH ScrCmd_188 14, 14 ApplyMovement 14, _0144 WaitMovement diff --git a/res/field/scripts/scripts_sunyshore_city.s b/res/field/scripts/scripts_sunyshore_city.s index c2da4a06e7..665304c26f 100644 --- a/res/field/scripts/scripts_sunyshore_city.s +++ b/res/field/scripts/scripts_sunyshore_city.s @@ -38,7 +38,7 @@ _0077: _0083: SetObjectEventPos 18, 0x349, 0x316 ScrCmd_188 18, 16 - ScrCmd_189 18, 2 + SetObjectEventDir 18, DIR_WEST End _0099: @@ -480,7 +480,7 @@ _05D7: WaitTime 1, VAR_RESULT SetObjectEventPos 18, 0x34D, 0x2EC ScrCmd_188 18, 15 - ScrCmd_189 18, 1 + SetObjectEventDir 18, DIR_SOUTH ClearFlag FLAG_UNK_0x0239 AddObject 18 SetVar VAR_UNK_0x407E, 1 diff --git a/res/field/scripts/scripts_team_galactic_eterna_building_1f.s b/res/field/scripts/scripts_team_galactic_eterna_building_1f.s index ad6939f618..a6e7569555 100644 --- a/res/field/scripts/scripts_team_galactic_eterna_building_1f.s +++ b/res/field/scripts/scripts_team_galactic_eterna_building_1f.s @@ -67,7 +67,7 @@ _006A: ClearFlag FLAG_UNK_0x01BB SetObjectEventPos 5, 12, 15 ScrCmd_188 5, 16 - ScrCmd_189 5, 2 + SetObjectEventDir 5, DIR_WEST AddObject 5 RemoveObject 4 SetFlag FLAG_UNK_0x0071 @@ -79,7 +79,7 @@ _006A: ClearFlag FLAG_UNK_0x01C2 SetObjectEventPos 4, 12, 15 ScrCmd_188 4, 16 - ScrCmd_189 4, 2 + SetObjectEventDir 4, DIR_WEST AddObject 4 RemoveObject 5 CloseMessage diff --git a/res/field/scripts/scripts_twinleaf_town_player_house_1f.s b/res/field/scripts/scripts_twinleaf_town_player_house_1f.s index 8f7e102cc2..93b5a58441 100644 --- a/res/field/scripts/scripts_twinleaf_town_player_house_1f.s +++ b/res/field/scripts/scripts_twinleaf_town_player_house_1f.s @@ -23,7 +23,7 @@ _002E: _0048: SetObjectEventPos 0, 2, 4 - ScrCmd_189 0, 0 + SetObjectEventDir 0, DIR_NORTH ScrCmd_188 0, 14 Return diff --git a/res/field/scripts/scripts_unk_0212.s b/res/field/scripts/scripts_unk_0212.s index 206198b8e9..89c29865b9 100644 --- a/res/field/scripts/scripts_unk_0212.s +++ b/res/field/scripts/scripts_unk_0212.s @@ -151,7 +151,7 @@ _01B1: _01BE: SetObjectEventPos 9, 24, 6 ScrCmd_188 9, 15 - ScrCmd_189 9, 1 + SetObjectEventDir 9, DIR_SOUTH Return _01D4: diff --git a/res/field/scripts/scripts_valley_windworks_building.s b/res/field/scripts/scripts_valley_windworks_building.s index 6ab6a931cc..cde313ae3c 100644 --- a/res/field/scripts/scripts_valley_windworks_building.s +++ b/res/field/scripts/scripts_valley_windworks_building.s @@ -20,10 +20,10 @@ _0022: _0035: SetObjectEventPos 5, 21, 5 - ScrCmd_189 5, 2 + SetObjectEventDir 5, DIR_WEST ScrCmd_188 5, 16 SetObjectEventPos 2, 18, 4 - ScrCmd_189 2, 1 + SetObjectEventDir 2, DIR_SOUTH ScrCmd_188 2, 15 End diff --git a/res/field/scripts/scripts_valor_lakefront.s b/res/field/scripts/scripts_valor_lakefront.s index 44c6031f86..fd35bbcfa9 100644 --- a/res/field/scripts/scripts_valor_lakefront.s +++ b/res/field/scripts/scripts_valor_lakefront.s @@ -23,7 +23,7 @@ _0026: _004B: SetObjectEventPos 5, 0x2D3, 0x301 - ScrCmd_189 5, 0 + SetObjectEventDir 5, DIR_NORTH ScrCmd_188 5, 14 Return @@ -183,7 +183,7 @@ _0248: CallIfEq VAR_0x8000, 2, _0400 CallIfEq VAR_0x8000, 3, _040A ClearFlag FLAG_UNK_0x01AD - ScrCmd_189 0, 1 + SetObjectEventDir 0, DIR_SOUTH ScrCmd_188 0, 15 AddObject 0 ApplyMovement 0, _0594 @@ -195,7 +195,7 @@ _0248: CallIfEq VAR_0x8000, 2, _0458 CallIfEq VAR_0x8000, 3, _0462 ClearFlag FLAG_UNK_0x01D5 - ScrCmd_189 10, 0 + SetObjectEventDir 10, DIR_NORTH ScrCmd_188 10, 14 AddObject 10 CallCommonScript 0x7FA diff --git a/res/field/scripts/scripts_veilstone_city.s b/res/field/scripts/scripts_veilstone_city.s index f94bbb980d..c063f22037 100644 --- a/res/field/scripts/scripts_veilstone_city.s +++ b/res/field/scripts/scripts_veilstone_city.s @@ -48,7 +48,7 @@ _0082: _00BA: SetObjectEventPos 6, 0x2B8, 0x254 ScrCmd_188 6, 17 - ScrCmd_189 6, 3 + SetObjectEventDir 6, DIR_EAST Return _00D0: @@ -62,7 +62,7 @@ _00D8: _00E0: SetObjectEventPos 26, 0x2CD, 0x251 ScrCmd_188 26, 14 - ScrCmd_189 26, 0 + SetObjectEventDir 26, DIR_NORTH Return _00F6: @@ -1220,7 +1220,7 @@ _0DBE: SetFlag FLAG_UNK_0x0155 SetObjectEventPos 26, 0x2D3, 0x259 ScrCmd_188 26, 14 - ScrCmd_189 26, 0 + SetObjectEventDir 26, DIR_NORTH ClearFlag FLAG_UNK_0x028A AddObject 26 GetPlayerDir VAR_RESULT diff --git a/res/field/scripts/scripts_veilstone_city_galactic_warehouse.s b/res/field/scripts/scripts_veilstone_city_galactic_warehouse.s index 40567f00fd..7f9520b1e6 100644 --- a/res/field/scripts/scripts_veilstone_city_galactic_warehouse.s +++ b/res/field/scripts/scripts_veilstone_city_galactic_warehouse.s @@ -17,7 +17,7 @@ _0016: _0025: SetObjectEventPos 4, 8, 10 ScrCmd_188 4, 14 - ScrCmd_189 4, 0 + SetObjectEventDir 4, DIR_NORTH Return _003B: @@ -145,7 +145,7 @@ _0197: LockAll SetObjectEventPos 4, 8, 11 ScrCmd_188 4, 14 - ScrCmd_189 4, 0 + SetObjectEventDir 4, DIR_NORTH ClearFlag FLAG_UNK_0x020D AddObject 4 GetPlayerMapPos VAR_0x8004, VAR_0x8005 diff --git a/res/field/scripts/scripts_villa.s b/res/field/scripts/scripts_villa.s index 1311eb105a..207294251f 100644 --- a/res/field/scripts/scripts_villa.s +++ b/res/field/scripts/scripts_villa.s @@ -802,7 +802,7 @@ _0AF4: ClearFlag FLAG_UNK_0x02B0 SetObjectEventPos 6, 11, 11 ScrCmd_188 6, 14 - ScrCmd_189 6, 0 + SetObjectEventDir 6, DIR_NORTH AddObject 6 WaitFanfare SEQ_SE_DP_DOOR_OPEN ApplyMovement LOCALID_PLAYER, _0B3C @@ -833,7 +833,7 @@ _0B5C: ClearFlag FLAG_UNK_0x02B3 SetObjectEventPos 9, 11, 11 ScrCmd_188 9, 14 - ScrCmd_189 9, 0 + SetObjectEventDir 9, DIR_NORTH AddObject 9 WaitFanfare SEQ_SE_DP_DOOR_OPEN ApplyMovement LOCALID_PLAYER, _0BAC @@ -862,7 +862,7 @@ _0BBC: ClearFlag FLAG_UNK_0x02B6 SetObjectEventPos 10, 11, 11 ScrCmd_188 10, 14 - ScrCmd_189 10, 0 + SetObjectEventDir 10, DIR_NORTH AddObject 10 WaitFanfare SEQ_SE_DP_DOOR_OPEN ApplyMovement LOCALID_PLAYER, _0C14 @@ -893,7 +893,7 @@ _0C24: ClearFlag FLAG_UNK_0x02B8 SetObjectEventPos 12, 11, 11 ScrCmd_188 12, 14 - ScrCmd_189 12, 0 + SetObjectEventDir 12, DIR_NORTH AddObject 12 WaitFanfare SEQ_SE_DP_DOOR_OPEN ApplyMovement LOCALID_PLAYER, _0C78 @@ -1211,13 +1211,13 @@ _10DA: GoToIfEq VAR_RESORT_VILLA_VISITOR, 0, _1103 SetObjectEventPos 1, 11, 11 ScrCmd_188 1, 14 - ScrCmd_189 1, 0 + SetObjectEventDir 1, DIR_NORTH Return _1103: SetObjectEventPos 1, 10, 8 ScrCmd_188 1, 14 - ScrCmd_189 1, 0 + SetObjectEventDir 1, DIR_NORTH ClearFlag FLAG_UNK_0x02A7 AddObject 1 Return @@ -1227,13 +1227,13 @@ _1121: GoToIfEq VAR_RESORT_VILLA_VISITOR, 1, _114A SetObjectEventPos 0, 11, 11 ScrCmd_188 0, 14 - ScrCmd_189 0, 0 + SetObjectEventDir 0, DIR_NORTH Return _114A: SetObjectEventPos 0, 10, 8 ScrCmd_188 0, 14 - ScrCmd_189 0, 0 + SetObjectEventDir 0, DIR_NORTH ClearFlag FLAG_UNK_0x02A8 AddObject 0 Return @@ -1247,14 +1247,14 @@ _1168: _1183: SetObjectEventPos 2, 11, 11 ScrCmd_188 2, 14 - ScrCmd_189 2, 0 + SetObjectEventDir 2, DIR_NORTH Return _1199: GoToIfUnset FLAG_VILLA_VISITOR_INSIDE, _1183 SetObjectEventPos 2, 10, 8 ScrCmd_188 2, 14 - ScrCmd_189 2, 0 + SetObjectEventDir 2, DIR_NORTH ClearFlag FLAG_UNK_0x02A9 AddObject 2 Return @@ -1268,14 +1268,14 @@ _11C2: _11DD: SetObjectEventPos 5, 11, 11 ScrCmd_188 5, 14 - ScrCmd_189 5, 0 + SetObjectEventDir 5, DIR_NORTH Return _11F3: GoToIfUnset FLAG_VILLA_VISITOR_INSIDE, _11DD SetObjectEventPos 5, 10, 8 ScrCmd_188 5, 14 - ScrCmd_189 5, 0 + SetObjectEventDir 5, DIR_NORTH ClearFlag FLAG_UNK_0x02AE AddObject 5 Return @@ -1285,13 +1285,13 @@ _121C: GoToIfEq VAR_RESORT_VILLA_VISITOR, 12, _1245 SetObjectEventPos 12, 11, 11 ScrCmd_188 12, 14 - ScrCmd_189 12, 0 + SetObjectEventDir 12, DIR_NORTH Return _1245: SetObjectEventPos 12, 10, 8 ScrCmd_188 12, 14 - ScrCmd_189 12, 0 + SetObjectEventDir 12, DIR_NORTH ClearFlag FLAG_UNK_0x02B8 AddObject 12 Return diff --git a/res/text/common_strings_2.gmm b/res/text/menu_entries.gmm similarity index 98% rename from res/text/common_strings_2.gmm rename to res/text/menu_entries.gmm index 8c06929597..f3787f24c8 100644 --- a/res/text/common_strings_2.gmm +++ b/res/text/menu_entries.gmm @@ -828,35 +828,35 @@ used {STRVAR_1 54, 0, 0} Coins - + used BASIC RULES - + used CATCHING SHOW - + used STOCKING POKéMON - + used STOCKING 2 - + used UNDERSTOOD! - + used ENTER - + used INFO - + used EXIT diff --git a/res/text/pal_park.gmm b/res/text/pal_park.gmm index dab51a72f0..9ee1b2e68d 100644 --- a/res/text/pal_park.gmm +++ b/res/text/pal_park.gmm @@ -1,62 +1,62 @@ - + used You haven’t caught all your\nPokémon yet, but...\rWould you like to retire from your\nCatching Show? - + used I see...\rI’m disappointed that you dropped\nout. Make up for it next time!\r - + used That’s the spirit, {STRVAR_1 3, 0, 0}!\nI like how you don’t give up! - + used That’s the spirit, {STRVAR_1 3, 0, 0}!\nI like how you don’t give up! - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + used Ding-dong!\nCongratulations!\r{STRVAR_1 3, 0, 0} has successfully\ncaught the stocked Pokémon!\r - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + used Would you like to retire? - + used Let the countdown begin! - + used Three... - + used Two... - + used One... - + used Start! diff --git a/res/text/pal_park_lobby.gmm b/res/text/pal_park_lobby.gmm index eab519b8b6..85299e9df1 100644 --- a/res/text/pal_park_lobby.gmm +++ b/res/text/pal_park_lobby.gmm @@ -1,153 +1,153 @@ - + used Oak: Ah, {STRVAR_1 3, 0, 0}!\nThis is it! This is Pal Park!\r - + used Oak: Ah, {STRVAR_1 3, 0, 0}!\nThis is it! This is Pal Park!\r - + used Pokémon from around the country\ncan be brought here.\rIn other words, Pokémon from\nplaces like Kanto and Hoenn.\rThis place also happens to be where\nyou compete to see how quickly you\fcan catch those Pokémon!\r - + used It’s good to see you’ve come\nto join us for a visit.\rLet me make a gift of this Trainer\nCounter app for your Pokétch.\r - + used Oak: I plan to be in Eterna City\nfor some time.\rBeing here, I should make the best\nof my time studying the Pokémon of\fthe Sinnoh region.\r - + used Pal Park is so scintillating!\rTrainers and Pokémon are so full of\nintensity here!\r - + used I’ve never seen some Pokémon.\nWould you show me if you had one?\r - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + used Let me see...\rA Pokémon that does nothing but\neat and sleep.\r - + used Oh, a SNORLAX?\nIt sure looks like it can eat!\rI have a Pokétch app that has\na SNORLAX motif.\rYou can have it for showing me\na real SNORLAX!\r - + used Doesn’t that {STRVAR_1 24, 0, 0}\nmake you want to cook something?\n - + used Let me see...\rA Pokémon that changes color\nwhenever something happens.\r - + used Oh, a KECLEON!\nHow colorful!\rI have a Pokétch app that features\na KECLEON design.\rYou can have it for showing me\na real KECLEON!\r - + used Changing colors can change your\nmood, too. - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + used What was that Pokémon’s name now...?\nOh, it’s on the tip of my tongue! - + used Pal Park is so scintillating!\rTrainers and Pokémon are so full of\nintensity here!\rAre you taking the challenge, too? - + used Welcome to Pal Park!\rThis is where top-notch Trainers come\nto demonstrate their Pokémon-catching\ftechniques to their peers.\r...Oh?\rAre you maybe...\nAh, you are {STRVAR_1 3, 0, 0}!\rWe’ve all heard rumors about you!\nWord is, you’re a hotshot Trainer?!\rWe’d be honored if you would\nparticipate in our Catching Shows. - + used Welcome to Pal Park!\rThis is where top-notch Trainers come\nto demonstrate their Pokémon-catching\ftechniques to their peers.\r...Oh?\rAre you maybe...\nAh, you are {STRVAR_1 3, 0, 0}!\rWe’ve all heard rumors about you!\nWord is, you’re a hotshot Trainer?!\rWe’d be honored if you would\nparticipate in our Catching Shows. - + used Yes! You agreed to participate!\nIt’s a happy day for me!\rLet’s not waste any time!\nLet me explain how Pal Park works.\rI wrote the Pal Park manual for\nsituations just like this.\rWhat should I explain? - + used Pal Park is a place where you are\ntimed on the catching of six Pokémon.\rYou are provided with six special\nPoké Balls for the challenge.\rParticipating Trainers are required to\nsupply the six Pokémon that are to\fbe caught.\rIf you do not supply the stock of six\nPokémon, you may not participate in\fthe Catching Show.\r...Do you want me to explain anything\nelse? - + used At the start of the Catching Show,\nyou will be given six Park Balls.\rUse the Park Balls to catch the\nsix Pokémon you provide.\r...Do you want me to explain anything\nelse? - + used You may make Pokémon migrate from\nKanto or Hoenn. Doing so will stock\fyour Catching Game.\rInsert a Game Boy Advance Pokémon\nRuby, Sapphire, Emerald, FireRed,\for LeafGreen in the Game Pak slot.\rWhen your DS is turned on, currently\ncaught Pokémon can migrate from\fthe Game Pak to the DS Game Card.\r...Do you want me to explain anything\nelse? - + used Pokémon caught in Sinnoh may also\nbe used to stock your Catching Game.\rPlease ask the guy next to me who’s\nin charge of stocking Pokémon.\r...Do you want me to explain anything\nelse? - + used Would you like to take part in\na Catching Show now? - + used Aww, that’s too bad.\rWell, just give me a shout if you’d\nlike to participate. - + used Hi there, {STRVAR_1 3, 0, 0}!\rDid you come to participate in\na Catching Show? - + used Hi there, {STRVAR_1 3, 0, 0}!\rDid you come to participate in\na Catching Show? - + used OK, here are your Park Balls!\r{STRVAR_1 3, 0, 0} received\nsix Park Balls.\rThe current record holder is\n{STRVAR_1 3, 1, 0} with {STRVAR_1 53, 2, 0} points.\rOK, off you go, {STRVAR_1 3, 0, 0}.\rDazzle us with a masterful display\nof Pokémon catching!\r - + used OK, here are your Park Balls!\r{STRVAR_1 3, 0, 0} received\nsix Park Balls.\rThe current record holder is\n{STRVAR_1 3, 1, 0} with {STRVAR_1 53, 2, 0} points.\rOK, off you go, {STRVAR_1 3, 0, 0}.\rDazzle us with a masterful display\nof Pokémon catching!\r - + used Oh, hold on. You don’t have enough\nPokémon for a Catching Show.\rYou’ll need to stock us with six\nPokémon to participate.\rYou should make some Pokémon migrate\nfrom Kanto or Hoenn! - + used Very well, let me explain how things\nwork around here.\rI’ll read to you from the Pal Park\nmanual I wrote. @@ -155,92 +155,92 @@ used I’m sorry you had to retire.\nWe hope you try harder next time.\rI’ll take what Park Balls you\nhave left.\rNext time, please do stay to catch\nall six Pokémon. - + used Oh, your PC Boxes are filled. You\nhave no room for six more Pokémon.\rYou won’t be able to accept them,\neven if you do catch them.\rMake enough room in a PC Box and\ncome back for your Catching Show. - + used Congratulations!\nThat’s all six Pokémon caught!\rThe audience sure enjoyed watching\nyour Catching Show.\rAll right, let’s see your all-important\nscore from this show!\r...\n...\rCatching Points: {STRVAR_1 53, 0, 0}!\rTime Points: {STRVAR_1 53, 1, 0}!\rType Points: {STRVAR_1 53, 2, 0}!\rThe total is...\r...\n...\r{STRVAR_1 53, 3, 0} points!\r - + used Wow! That’s an outstanding record!\nKudos to you!\r - + used Good! That’s a decent record.\nProps to you!\r - + used Would you like to put all the Pokémon\nyou’ve caught in PC Boxes? - + used Done!\nYour Pokémon have been boxed away.\rYou’ll now have to save the game.\r - + used Oh, then it might be fun for you to\ngo for an even better score by\ftrying to catch these six again.\rIf you want to do another Catching\nShow, just come see us! - + used If you want to do another Catching\nShow, come see us again! - + used It’s time for your prize!\nHere you are!\r - + used Would you like to do another Catching\nShow with the same Pokémon? - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXX - + used I came to see {STRVAR_1 3, 0, 0}’s Catching\nShow with Daddy.\rI hope it starts soon... - + used Eek! {STRVAR_1 3, 0, 0}!\nYour Catching Show was fantastic!\rI hope I can become an expert\nTrainer like you one day! - + used Oh, {STRVAR_1 3, 0, 0}!\nI hope you do better next time. - + used {STRVAR_1 3, 0, 0}, my daughter is a big\nfan of yours.\rA day doesn’t go by without her\ndemanding we come see Catching Shows. - + used People come here not only to see\nthe Catching Show.\rWe get to see rare and exotic\nPokémon on top of the catches.\rThe excitement gets me all jacked up! - + used The current record holder is\n{STRVAR_1 3, 1, 0} with {STRVAR_1 53, 2, 0} points.\fCan you top that? @@ -272,44 +272,44 @@ used Your Bag is full.\nYou should come back later. - + used I’ve heard Trainers complain that\nrare Pokémon take longer to appear.\rIs it easier to start with common\nPokémon? - + used The Catching Show...\rIt’s a head-on clash of will and\nwits between Trainer and Pokémon.\rI especially look forward to seeing\nPokémon from Kanto and Hoenn.\rBut it tugs at my heartstrings to\nknow they’re so far away from home. - + used Your performance left my heart\naflutter today...\rI must crown you with this...\nCrown.\rOh, before you get the wrong idea,\nit’s an Accessory for Pokémon.\r - + used Your performance left my heart\naflutter today...\rI feel compelled to give you this\nTiara.\rOh, before you get the wrong idea,\nit’s an Accessory for Pokémon.\r - + used Your performance left my heart\naflutter today...\rI wish you would take this\n“Seafloor” Backdrop.\rPlease try using it when dressing up\nyour Pokémon with Accessories.\r - + used Your performance left my heart\naflutter today...\rI wish you would take this\n“Underground” Backdrop.\rPlease try using it when dressing up\nyour Pokémon with Accessories.\r - + used Your performance left my heart\naflutter today...\rI wish you would take this\n“Sky” Backdrop.\rPlease try using it when dressing up\nyour Pokémon with Accessories.\r - + used Not only are there Catching Shows,\nthere are also Pokémon Contests...\rIt’s so dreamy...\nSinnoh sets my heart aflutter. - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX - + garbage XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX diff --git a/src/menu.c b/src/menu.c index 3beac47c63..16500135d7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -14,7 +14,7 @@ #include "system.h" #include "text.h" -#include "res/text/bank/common_strings_2.h" +#include "res/text/bank/menu_entries.h" static BOOL TryMovingCursorAndPlaySound(Menu *menu, u8 direction, u16 sound); static u8 TryMovingCursor(Menu *menu, u8 direction); @@ -357,7 +357,7 @@ Menu *Menu_MakeYesNoChoiceWithCursorAt(BgConfig *bgConfig, const WindowTemplate MessageLoader *msgLoader; StringList *choices; - msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, heapID); + msgLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, heapID); choices = StringList_New(2, heapID); StringList_AddFromMessageBank(choices, msgLoader, pl_msg_00000361_00041, 0); diff --git a/src/meson.build b/src/meson.build index 56ae4a87e5..56f8af8487 100644 --- a/src/meson.build +++ b/src/meson.build @@ -185,7 +185,7 @@ pokeplatinum_c = files( 'unk_0204AEE8.c', 'unk_0204B64C.c', 'scrcmd_mystery_gift.c', - 'unk_0204C500.c', + 'scrcmd_catching_show.c', 'scrcmd_coins.c', 'scrcmd_money.c', 'scrcmd_daycare.c', diff --git a/src/overlay005/field_menu.c b/src/overlay005/field_menu.c index 99196bd2e3..62b997f032 100644 --- a/src/overlay005/field_menu.c +++ b/src/overlay005/field_menu.c @@ -30,7 +30,7 @@ #include "trainer_info.h" #include "unk_0202D05C.h" -#include "res/text/bank/common_strings_2.h" +#include "res/text/bank/menu_entries.h" #include "res/text/bank/unk_0543.h" #define MENU_LOOPAROUND_MIN_OPTIONS 4 @@ -84,7 +84,7 @@ static void FieldMenuManager_Init(FieldSystem *fieldSystem, FieldMenuManager *me int i; if (messageLoader == NULL) { - menuManager->messageLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, HEAP_ID_FIELD); + menuManager->messageLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, HEAP_ID_FIELD); menuManager->freeMsgLoaderOnDelete = TRUE; } else { menuManager->messageLoader = messageLoader; @@ -753,7 +753,7 @@ void FieldMenu_PrintCoinsToWindow(FieldSystem *fieldSystem, Window *window) { Window_FillTilemap(window, 15); - MessageLoader *messageLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, HEAP_ID_FIELD); + MessageLoader *messageLoader = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, HEAP_ID_FIELD); StringTemplate *stringTemplate = StringTemplate_Default(HEAP_ID_FIELD); Strbuf *strbuf = Strbuf_Init(16, HEAP_ID_FIELD); Strbuf *fmtString = MessageLoader_GetNewStrbuf(messageLoader, pl_msg_00000361_00197); @@ -789,7 +789,7 @@ void FieldMenu_PrintBPToWindow(FieldSystem *fieldSystem, Window *window) { Window_FillTilemap(window, 15); - MessageLoader *messageLaoder = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, HEAP_ID_FIELD); + MessageLoader *messageLaoder = MessageLoader_Init(MESSAGE_LOADER_BANK_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, HEAP_ID_FIELD); StringTemplate *stringTemplate = StringTemplate_Default(HEAP_ID_FIELD); Strbuf *strbuf = Strbuf_Init(16, HEAP_ID_FIELD); Strbuf *fmtString = MessageLoader_GetNewStrbuf(messageLaoder, pl_msg_00000361_00230); diff --git a/src/overlay005/ov5_021F6454.c b/src/overlay005/ov5_021F6454.c index fc3a6f8dc6..f31b601917 100644 --- a/src/overlay005/ov5_021F6454.c +++ b/src/overlay005/ov5_021F6454.c @@ -167,7 +167,7 @@ BOOL ScrCmd_2DE(ScriptContext *ctx) Heap_FreeToHeap(v1); } - v7 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, HEAP_ID_FIELD_TASK); + v7 = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, HEAP_ID_FIELD_TASK); ov5_021F661C(v9, v7); ov5_021F6760(v9, 12, 0xff, 0xfffe); diff --git a/src/overlay005/scrcmd_move_tutor.c b/src/overlay005/scrcmd_move_tutor.c index 128008c3af..8c2f24d7be 100644 --- a/src/overlay005/scrcmd_move_tutor.c +++ b/src/overlay005/scrcmd_move_tutor.c @@ -36,7 +36,7 @@ #include "unk_02054884.h" #include "res/pokemon/species_learnsets_by_tutor.h" -#include "res/text/bank/common_strings_2.h" +#include "res/text/bank/menu_entries.h" typedef struct { FieldSystem *fieldSystem; @@ -364,7 +364,7 @@ BOOL ScrCmd_ShowMoveTutorMoveSelectionMenu(ScriptContext *scriptContext) MoveTutorManager_AddMenuEntry(moveTutorManager, learnableMoves[i], 0xff, learnableMoves[i]); } - miscMessageLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, HEAP_ID_FIELD_TASK); + miscMessageLoader = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, HEAP_ID_FIELD_TASK); MoveTutorManager_SetMessageLoader(moveTutorManager, miscMessageLoader); MoveTutorManager_AddMenuEntry(moveTutorManager, pl_msg_00000361_00005, 0xff, (u16)LIST_CANCEL); // cast required to match diff --git a/src/overlay006/npc_trade.c b/src/overlay006/npc_trade.c index b8ef0b9beb..8c92b036d9 100644 --- a/src/overlay006/npc_trade.c +++ b/src/overlay006/npc_trade.c @@ -71,7 +71,7 @@ u32 NpcTrade_GetRequestedSpecies(const NpcTradeData *data) void NpcTrade_ReceiveMon(FieldSystem *fieldSystem, NpcTradeData *data, int slot) { Party_AddPokemonBySlotIndex(SaveData_GetParty(fieldSystem->saveData), slot, data->mon); - sub_0202F180(fieldSystem->saveData, data->mon); + SaveData_UpdateCatchRecords(fieldSystem->saveData, data->mon); } void ov6_02246254(FieldSystem *fieldSystem, NpcTradeData *data, int slot, UnkStruct_ov6_02246254 *param3, Pokemon *givingMon, Pokemon *receivingMon) diff --git a/src/overlay088/ov88_0223B140.c b/src/overlay088/ov88_0223B140.c index 6fecd72ef8..8a19043c6d 100644 --- a/src/overlay088/ov88_0223B140.c +++ b/src/overlay088/ov88_0223B140.c @@ -2500,7 +2500,7 @@ static void ov88_0223E694(Party *param0, Party *param1, int param2, int param3, ResetChatotCryDataStatus(v4); } - sub_0202F180(param4->saveData, v1); + SaveData_UpdateCatchRecords(param4->saveData, v1); Pokemon_Copy(v1, Party_GetPokemonBySlotIndex(param0, param2)); Pokemon_Copy(v0, Party_GetPokemonBySlotIndex(param1, param3)); ov88_0223E7F0(param4->unk_1C, v1); diff --git a/src/overlay094/ov94_02242AD0.c b/src/overlay094/ov94_02242AD0.c index 8038481f57..dcdd1627fe 100644 --- a/src/overlay094/ov94_02242AD0.c +++ b/src/overlay094/ov94_02242AD0.c @@ -1276,7 +1276,7 @@ static void ov94_02243BC4(UnkStruct_ov94_0223FD4C *param0, Pokemon *param1, int { int v0 = Pokemon_GetValue(param1, MON_DATA_HELD_ITEM, NULL); - sub_0202F180(param0->unk_00->saveData, param1); + SaveData_UpdateCatchRecords(param0->unk_00->saveData, param1); param2 = 18; if (Party_GetCurrentCount(param0->unk_00->unk_08) == 6) { @@ -1325,7 +1325,7 @@ static void ov94_02243BC4(UnkStruct_ov94_0223FD4C *param0, Pokemon *param1, int static void ov94_02243CE4(UnkStruct_ov94_0223FD4C *param0, Pokemon *param1, int param2) { - sub_0202F180(param0->unk_00->saveData, param1); + SaveData_UpdateCatchRecords(param0->unk_00->saveData, param1); param2 = 18; diff --git a/src/overlay104/ov104_02231F74.c b/src/overlay104/ov104_02231F74.c index 873fa982fe..b9a952e876 100644 --- a/src/overlay104/ov104_02231F74.c +++ b/src/overlay104/ov104_02231F74.c @@ -231,7 +231,7 @@ static void ov104_0223214C(UnkStruct_ov104_022320B4 *param0, UnkStruct_ov104_022 int v0; if (param8 == NULL) { - param1->unk_8C = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS_2, param0->heapID); + param1->unk_8C = MessageLoader_Init(MESSAGE_LOADER_NARC_HANDLE, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_MENU_ENTRIES, param0->heapID); param1->unk_97_1 = 1; } else { param1->unk_8C = param8; diff --git a/src/scrcmd.c b/src/scrcmd.c index 54154e0efa..af580eb340 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -141,6 +141,7 @@ #include "save_player.h" #include "savedata.h" #include "scrcmd_amity_square.h" +#include "scrcmd_catching_show.h" #include "scrcmd_coins.h" #include "scrcmd_daycare.h" #include "scrcmd_dummy_23F_242.h" @@ -188,7 +189,6 @@ #include "unk_020494DC.h" #include "unk_0204AEE8.h" #include "unk_0204B64C.h" -#include "unk_0204C500.h" #include "unk_0204CFFC.h" #include "unk_0204E240.h" #include "unk_0204E974.h" @@ -501,7 +501,7 @@ static BOOL ScrCmd_152(ScriptContext *ctx); static BOOL ScrCmd_SetObjectEventPos(ScriptContext *ctx); static BOOL ScrCmd_187(ScriptContext *ctx); static BOOL ScrCmd_188(ScriptContext *ctx); -static BOOL ScrCmd_189(ScriptContext *ctx); +static BOOL ScrCmd_SetObjectEventDir(ScriptContext *ctx); static BOOL ScrCmd_SetWarpEventPos(ScriptContext *ctx); static BOOL ScrCmd_18B(ScriptContext *ctx); static BOOL ScrCmd_18C(ScriptContext *ctx); @@ -569,7 +569,7 @@ static BOOL ScrCmd_1D2(ScriptContext *ctx); static BOOL ScrCmd_CanFitAccessory(ScriptContext *ctx); static BOOL ScrCmd_1D4(ScriptContext *ctx); static BOOL ScrCmd_1D5(ScriptContext *ctx); -static BOOL ScrCmd_1D6(ScriptContext *ctx); +static BOOL ScrCmd_CheckBackdrop(ScriptContext *ctx); static BOOL ScrCmd_192(ScriptContext *ctx); static BOOL ScrCmd_194(ScriptContext *ctx); static BOOL ScrCmd_195(ScriptContext *ctx); @@ -631,7 +631,7 @@ static BOOL ScrCmd_24A(ScriptContext *ctx); static BOOL ScrCmd_24B(ScriptContext *ctx); static BOOL ScrCmd_24C(ScriptContext *ctx); static BOOL ScrCmd_24D(ScriptContext *ctx); -static BOOL ScrCmd_252(ScriptContext *ctx); +static BOOL ScrCmd_GetPCBoxesFreeSlotCount(ScriptContext *ctx); static BOOL ScrCmd_258(ScriptContext *ctx); static BOOL ScrCmd_259(ScriptContext *ctx); static BOOL ScrCmd_25A(ScriptContext *ctx); @@ -1162,7 +1162,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_SetObjectEventPos, ScrCmd_187, ScrCmd_188, - ScrCmd_189, + ScrCmd_SetObjectEventDir, ScrCmd_SetWarpEventPos, ScrCmd_18B, ScrCmd_18C, @@ -1239,7 +1239,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_CanFitAccessory, ScrCmd_1D4, ScrCmd_1D5, - ScrCmd_1D6, + ScrCmd_CheckBackdrop, ScrCmd_1D7, ScrCmd_1D8, ScrCmd_1D9, @@ -1363,10 +1363,10 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_CheckForJubilifeLotteryWinner, ScrCmd_RandomizeJubilifeLottery, ScrCmd_251, - ScrCmd_252, - ScrCmd_253, - ScrCmd_254, - ScrCmd_255, + ScrCmd_GetPCBoxesFreeSlotCount, + ScrCmd_SetClearInCatchingShowFlag, + ScrCmd_CheckHasEnoughMonForCatchingShow, + ScrCmd_MoveCatchingShowMonsToPCBoxes, ScrCmd_CalcCatchingShowPoints, ScrCmd_ShowAccessoryShop, ScrCmd_258, @@ -5452,12 +5452,12 @@ static BOOL ScrCmd_188(ScriptContext *ctx) return FALSE; } -static BOOL ScrCmd_189(ScriptContext *ctx) +static BOOL ScrCmd_SetObjectEventDir(ScriptContext *ctx) { - u16 v0 = ScriptContext_GetVar(ctx); - u16 v1 = ScriptContext_GetVar(ctx); + u16 localID = ScriptContext_GetVar(ctx); + u16 dir = ScriptContext_GetVar(ctx); - MapHeaderData_SetObjectEventDir(ctx->fieldSystem, v0, v1); + MapHeaderData_SetObjectEventDir(ctx->fieldSystem, localID, dir); return FALSE; } @@ -5982,14 +5982,14 @@ static BOOL ScrCmd_1D5(ScriptContext *ctx) return FALSE; } -static BOOL ScrCmd_1D6(ScriptContext *ctx) +static BOOL ScrCmd_CheckBackdrop(ScriptContext *ctx) { - u16 v2 = ScriptContext_GetVar(ctx); - u16 *v3 = ScriptContext_GetVarPointer(ctx); + u16 backdrop = ScriptContext_GetVar(ctx); + u16 *destVar = ScriptContext_GetVarPointer(ctx); UnkStruct_0202A750 *v0 = sub_0202A750(ctx->fieldSystem->saveData); UnkStruct_02029D04 *v1 = sub_02029D04(v0); - *v3 = sub_02029D80(v1, v2); + *destVar = sub_02029D80(v1, backdrop); return FALSE; } @@ -6515,11 +6515,11 @@ static BOOL ScrCmd_WriteSpeciesSeen(ScriptContext *ctx) return FALSE; } -static BOOL ScrCmd_252(ScriptContext *ctx) +static BOOL ScrCmd_GetPCBoxesFreeSlotCount(ScriptContext *ctx) { - u16 *v0 = ScriptContext_GetVarPointer(ctx); - u16 v1 = PCBoxes_CountAllBoxMons(SaveData_GetPCBoxes(ctx->fieldSystem->saveData)); - *v0 = 18 * (5 * 6) - v1; + u16 *destVar = ScriptContext_GetVarPointer(ctx); + u16 boxMonCount = PCBoxes_CountAllBoxMons(SaveData_GetPCBoxes(ctx->fieldSystem->saveData)); + *destVar = MAX_PC_BOXES * MAX_MONS_PER_BOX - boxMonCount; return FALSE; } diff --git a/src/unk_0204C500.c b/src/scrcmd_catching_show.c similarity index 71% rename from src/unk_0204C500.c rename to src/scrcmd_catching_show.c index 5a348f6c34..fc9bf5348d 100644 --- a/src/unk_0204C500.c +++ b/src/scrcmd_catching_show.c @@ -1,4 +1,4 @@ -#include "unk_0204C500.h" +#include "scrcmd_catching_show.h" #include #include @@ -26,61 +26,61 @@ #include "unk_02092494.h" #include "vars_flags.h" -BOOL ScrCmd_253(ScriptContext *param0) +BOOL ScrCmd_SetClearInCatchingShowFlag(ScriptContext *ctx) { - VarsFlags *v0 = SaveData_GetVarsFlags(param0->fieldSystem->saveData); - u16 v1 = ScriptContext_GetVar(param0); + VarsFlags *varsFlags = SaveData_GetVarsFlags(ctx->fieldSystem->saveData); + u16 setClear = ScriptContext_GetVar(ctx); - if (v1 == 0) { - SystemFlag_SetInPalPark(v0); - CatchingShow_Start(param0->fieldSystem); - } else if (v1 == 1) { - SystemFlag_ClearInPalPark(v0); - CatchingShow_End(param0->fieldSystem); + if (setClear == 0) { + SystemFlag_SetInPalPark(varsFlags); + CatchingShow_Start(ctx->fieldSystem); + } else if (setClear == 1) { + SystemFlag_ClearInPalPark(varsFlags); + CatchingShow_End(ctx->fieldSystem); } else { GF_ASSERT(0); } - return 0; -} - -BOOL ScrCmd_254(ScriptContext *ctx) -{ - PalParkTransfer *transferData = SaveData_GetPalParkTransfer(ctx->fieldSystem->saveData); - Pokemon *v1 = Pokemon_New(HEAP_ID_FIELD_TASK); - u16 *destVar = ScriptContext_GetVarPointer(ctx); - - if (GetPalParkTransferMonCount(transferData) == CATCHING_SHOW_MONS) { - *destVar = 1; - } else { - *destVar = 0; - } - - Heap_FreeToHeap(v1); return FALSE; } -BOOL ScrCmd_255(ScriptContext *ctx) +BOOL ScrCmd_CheckHasEnoughMonForCatchingShow(ScriptContext *ctx) +{ + PalParkTransfer *transferData = SaveData_GetPalParkTransfer(ctx->fieldSystem->saveData); + Pokemon *dummy = Pokemon_New(HEAP_ID_FIELD_TASK); + u16 *destVar = ScriptContext_GetVarPointer(ctx); + + if (GetPalParkTransferMonCount(transferData) == CATCHING_SHOW_MONS) { + *destVar = TRUE; + } else { + *destVar = FALSE; + } + + Heap_FreeToHeap(dummy); + return FALSE; +} + +BOOL ScrCmd_MoveCatchingShowMonsToPCBoxes(ScriptContext *ctx) { PalParkTransfer *transferData = SaveData_GetPalParkTransfer(ctx->fieldSystem->saveData); PCBoxes *boxes = SaveData_GetPCBoxes(ctx->fieldSystem->saveData); Pokemon *mon = Pokemon_New(HEAP_ID_FIELD_TASK); TrainerInfo *trainerInfo = SaveData_GetTrainerInfo(ctx->fieldSystem->saveData); Pokedex *pokedex = SaveData_GetPokedex(ctx->fieldSystem->saveData); - BOOL v5; + BOOL success; for (int i = 0; i < CATCHING_SHOW_MONS; i++) { TransferDataToMon(transferData, i, mon); UpdateMonStatusAndTrainerInfo(mon, trainerInfo, 2, 0, HEAP_ID_FIELD_TASK); - v5 = PCBoxes_TryStoreBoxMon(boxes, Pokemon_GetBoxPokemon(mon)); - GF_ASSERT(v5); - sub_0202F180(ctx->fieldSystem->saveData, mon); + success = PCBoxes_TryStoreBoxMon(boxes, Pokemon_GetBoxPokemon(mon)); + GF_ASSERT(success); + SaveData_UpdateCatchRecords(ctx->fieldSystem->saveData, mon); } Heap_FreeToHeap(mon); ClearPalParkTransferPokemonData(transferData); - return 0; + return FALSE; } BOOL ScrCmd_CalcCatchingShowPoints(ScriptContext *ctx) diff --git a/src/scrcmd_mystery_gift.c b/src/scrcmd_mystery_gift.c index 4bdebcd0fc..34a2774693 100644 --- a/src/scrcmd_mystery_gift.c +++ b/src/scrcmd_mystery_gift.c @@ -304,7 +304,7 @@ static void GivePokemon(FieldSystem *fieldSystem, GiftData *dummy) BOOL added = Party_AddPokemon(party, pokemon); if (added) { - sub_0202F180(fieldSystem->saveData, pokemon); + SaveData_UpdateCatchRecords(fieldSystem->saveData, pokemon); } if (tmpPoke) { diff --git a/src/string_template.c b/src/string_template.c index ff8d6813ee..c3958462d6 100644 --- a/src/string_template.c +++ b/src/string_template.c @@ -31,7 +31,7 @@ #include "unk_020996D0.h" #include "res/text/bank/common_strings.h" -#include "res/text/bank/common_strings_2.h" +#include "res/text/bank/menu_entries.h" #include "res/text/bank/mystery_gift_event_names.h" #include "res/text/bank/special_met_location_names.h" @@ -611,7 +611,7 @@ void StringTemplate_CapitalizeArgAtIndex(StringTemplate *template, u32 idx) void StringTemplate_SetDepartmentStoreFloor(StringTemplate *template, u32 idx, u32 floor) { - MessageLoader *loader = InitMessageLoader(TEXT_BANK_COMMON_STRINGS_2, template->heapID); + MessageLoader *loader = InitMessageLoader(TEXT_BANK_MENU_ENTRIES, template->heapID); GF_ASSERT(floor <= 5); diff --git a/src/unk_0202F180.c b/src/unk_0202F180.c index 130560050a..e7263262fa 100644 --- a/src/unk_0202F180.c +++ b/src/unk_0202F180.c @@ -11,13 +11,13 @@ #include "poketch.h" #include "savedata.h" -void sub_0202F180(SaveData *saveData, const Pokemon *mon) +void SaveData_UpdateCatchRecords(SaveData *saveData, const Pokemon *mon) { - if (Pokemon_GetValue((Pokemon *)mon, MON_DATA_IS_EGG, NULL) == FALSE) { + if (Pokemon_GetValue(mon, MON_DATA_IS_EGG, NULL) == FALSE) { Pokedex *pokedex = SaveData_GetPokedex(saveData); - GameRecords_IncrementTrainerScoreOnCatch(SaveData_GetGameRecords(saveData), pokedex, Pokemon_GetValue((Pokemon *)mon, MON_DATA_SPECIES, NULL)); - Pokedex_Capture(pokedex, (Pokemon *)mon); + GameRecords_IncrementTrainerScoreOnCatch(SaveData_GetGameRecords(saveData), pokedex, Pokemon_GetValue(mon, MON_DATA_SPECIES, NULL)); + Pokedex_Capture(pokedex, mon); Poketch_PokemonHistoryEnqueue(SaveData_GetPoketch(saveData), (const BoxPokemon *)mon); } } diff --git a/src/unk_02054884.c b/src/unk_02054884.c index 7bee6001d5..610992c8b3 100644 --- a/src/unk_02054884.c +++ b/src/unk_02054884.c @@ -49,7 +49,7 @@ BOOL Pokemon_GiveMonFromScript(enum HeapId heapID, SaveData *saveData, u16 speci result = Party_AddPokemon(party, mon); if (result) { - sub_0202F180(saveData, mon); + SaveData_UpdateCatchRecords(saveData, mon); } Heap_FreeToHeap(mon); diff --git a/src/unk_02098218.c b/src/unk_02098218.c index e34d156b56..1edf453b18 100644 --- a/src/unk_02098218.c +++ b/src/unk_02098218.c @@ -221,7 +221,7 @@ static BOOL sub_0209843C(FieldTask *param0) } { - sub_0202F180(FieldSystem_GetSaveData(fieldSystem), v0->unk_0C.unk_00); + SaveData_UpdateCatchRecords(FieldSystem_GetSaveData(fieldSystem), v0->unk_0C.unk_00); } if (v0->unk_04 == 1) {