From ba54d74b3bb481269ba50f851d1e38cf4f2d87ea Mon Sep 17 00:00:00 2001 From: Viperio <146665252+Viperio19@users.noreply.github.com> Date: Fri, 9 Jan 2026 01:28:34 +0100 Subject: [PATCH] Document pokemon league scripts (#869) --- asm/macros/scrcmd.inc | 5 +- generated/game_records.txt | 2 +- generated/map_headers.txt | 2 +- generated/text_banks.txt | 2 +- generated/vars_flags.txt | 80 ++--- include/clear_game.h | 8 + include/constants/roamer_states.h | 9 + include/data/map_headers.h | 10 +- include/overlay099/struct_ov99_021D2CB0.h | 4 +- include/struct_defs/clear_game_player_info.h | 12 + include/struct_defs/struct_0203E274.h | 12 - include/unk_0203D1B8.h | 4 +- include/unk_02052C6C.h | 8 - platinum.us/main.lsf | 2 +- .../events/events_canalave_library_1f.json | 2 +- .../events/events_fullmoon_island_forest.json | 2 +- res/field/events/events_pokemon_day_care.json | 2 +- res/field/events/events_pokemon_league.json | 4 +- .../events_pokemon_league_aaron_room.json | 10 +- .../events_pokemon_league_bertha_room.json | 10 +- .../events_pokemon_league_champion_room.json | 4 +- .../events_pokemon_league_flint_room.json | 10 +- .../events_pokemon_league_hall_of_fame.json | 6 +- ...kemon_league_hallway_to_hall_of_fame.json} | 8 +- .../events_pokemon_league_lucian_room.json | 10 +- ...ts_pokemon_league_north_pokecenter_1f.json | 16 +- ...ts_pokemon_league_north_pokecenter_2f.json | 6 +- ...s_pokemon_league_north_pokecenter_b1f.json | 6 +- ...ts_pokemon_league_south_pokecenter_1f.json | 6 +- ...ts_pokemon_league_south_pokecenter_2f.json | 6 +- ...s_pokemon_league_south_pokecenter_b1f.json | 6 +- res/field/events/events_sandgem_town.json | 2 +- res/field/events/events_sendoff_spring.json | 2 +- .../events/events_snowpoint_temple_b5f.json | 2 +- .../events/events_stark_mountain_room_3.json | 4 +- .../events_turnback_cave_giratina_room.json | 2 +- res/field/events/meson.build | 2 +- res/field/events/zone_event.order | 2 +- res/field/scripts/meson.build | 4 +- res/field/scripts/scripts.order | 4 +- res/field/scripts/scripts_acuity_cavern.s | 2 +- res/field/scripts/scripts_battleground.s | 2 +- .../scripts/scripts_celestic_town_cave.s | 4 +- res/field/scripts/scripts_common.s | 6 +- .../scripts_distortion_world_giratina_room.s | 4 +- .../scripts/scripts_eterna_city_south_house.s | 18 +- .../scripts/scripts_fullmoon_island_forest.s | 6 +- res/field/scripts/scripts_init_new_game.s | 8 +- ..._pokemon_league_hallway_to_hall_of_fame.s} | 0 ...ripts_init_twinleaf_town_player_house_1f.s | 2 +- res/field/scripts/scripts_mt_coronet_6f.s | 8 +- res/field/scripts/scripts_pokemon_day_care.s | 2 +- res/field/scripts/scripts_pokemon_league.s | 18 +- .../scripts_pokemon_league_aaron_room.s | 51 +-- .../scripts_pokemon_league_bertha_room.s | 51 +-- .../scripts_pokemon_league_champion_room.s | 73 ++-- ...ts_pokemon_league_elevator_to_aaron_room.s | 8 +- ...s_pokemon_league_elevator_to_bertha_room.s | 8 +- ...pokemon_league_elevator_to_champion_room.s | 8 +- ...ts_pokemon_league_elevator_to_flint_room.s | 8 +- ..._pokemon_league_elevator_to_hall_of_fame.s | 140 -------- ...s_pokemon_league_elevator_to_lucian_room.s | 8 +- .../scripts_pokemon_league_flint_room.s | 87 ++--- .../scripts_pokemon_league_hall_of_fame.s | 175 +++++----- ...s_pokemon_league_hallway_to_hall_of_fame.s | 141 ++++++++ .../scripts_pokemon_league_lucian_room.s | 51 +-- ...ripts_pokemon_league_north_pokecenter_1f.s | 215 ++++++------ ...ripts_pokemon_league_south_pokecenter_1f.s | 30 +- res/field/scripts/scripts_route_202.s | 2 +- ...cripts_sandgem_town_pokemon_research_lab.s | 2 +- res/field/scripts/scripts_sendoff_spring.s | 2 +- .../scripts/scripts_snowpoint_temple_b5f.s | 4 +- .../scripts/scripts_spear_pillar_dialga.s | 8 +- .../scripts/scripts_spear_pillar_palkia.s | 8 +- .../scripts/scripts_stark_mountain_room_3.s | 16 +- res/field/scripts/scripts_survival_area.s | 6 +- .../scripts/scripts_turnback_cave_entrance.s | 2 +- .../scripts_turnback_cave_giratina_room.s | 8 +- .../scripts_twinleaf_town_player_house_1f.s | 2 +- res/field/scripts/scripts_unk_1051.s | 4 +- res/field/scripts/scripts_valor_cavern.s | 2 +- res/field/scripts/scripts_verity_cavern.s | 4 +- res/text/common_strings.json | 6 +- res/text/pokemon_league.json | 6 +- res/text/pokemon_league_aaron_room.json | 6 +- res/text/pokemon_league_bertha_room.json | 6 +- res/text/pokemon_league_champion_room.json | 8 +- res/text/pokemon_league_flint_room.json | 14 +- res/text/pokemon_league_hall_of_fame.json | 14 +- ...kemon_league_hallway_to_hall_of_fame.json} | 18 +- res/text/pokemon_league_lucian_room.json | 6 +- .../pokemon_league_north_pokecenter_1f.json | 14 +- .../pokemon_league_south_pokecenter_1f.json | 4 +- src/clear_game.c | 319 +++++++++++++++++ src/game_records.c | 2 +- src/meson.build | 2 +- src/overlay005/ov5_021F6454.c | 2 +- src/overlay006/roamer_after_battle.c | 9 +- src/overlay099/ov99_021D0D80.c | 2 +- src/overlay099/ov99_021D1A54.c | 4 +- src/overlay099/ov99_021D4134.c | 6 +- src/scrcmd.c | 42 +-- src/unk_0203D1B8.c | 4 +- src/unk_02052C6C.c | 320 ------------------ 104 files changed, 1167 insertions(+), 1149 deletions(-) create mode 100644 include/clear_game.h create mode 100644 include/constants/roamer_states.h create mode 100644 include/struct_defs/clear_game_player_info.h delete mode 100644 include/struct_defs/struct_0203E274.h delete mode 100644 include/unk_02052C6C.h rename res/field/events/{events_pokemon_league_elevator_to_hall_of_fame.json => events_pokemon_league_hallway_to_hall_of_fame.json} (82%) rename res/field/scripts/{scripts_init_pokemon_league_elevator_to_hall_of_fame.s => scripts_init_pokemon_league_hallway_to_hall_of_fame.s} (100%) delete mode 100644 res/field/scripts/scripts_pokemon_league_elevator_to_hall_of_fame.s create mode 100644 res/field/scripts/scripts_pokemon_league_hallway_to_hall_of_fame.s rename res/text/{pokemon_league_elevator_to_hall_of_fame.json => pokemon_league_hallway_to_hall_of_fame.json} (63%) create mode 100644 src/clear_game.c delete mode 100644 src/unk_02052C6C.c diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index e96be69828..8707035a4a 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -41,6 +41,7 @@ #include "constants/init_script_types.h" #include "constants/items.h" #include "constants/map_object.h" +#include "constants/roamer_states.h" #include "constants/savedata/vars_flags.h" #include "constants/scrcmd.h" #include "constants/tv_broadcast.h" @@ -1087,7 +1088,7 @@ .short 175 .endm - .macro ScrCmd_0B0 + .macro ClearGame .short 176 .endm @@ -3868,7 +3869,7 @@ .short \arg0 .endm - .macro ScrCmd_28F arg0 + .macro GetLeagueVictories arg0 .short 655 .short \arg0 .endm diff --git a/generated/game_records.txt b/generated/game_records.txt index 116b878cd1..e241271ea7 100644 --- a/generated/game_records.txt +++ b/generated/game_records.txt @@ -71,7 +71,7 @@ RECORD_UNK_069 RECORD_UNK_070 RECORD_UNK_071 RECORD_UNK_072 -RECORD_UNK_073 +RECORD_TIMES_ENTERED_HALL_OF_FAME RECORD_UNK_074 RECORD_UNK_075 RECORD_USED_SPLASH diff --git a/generated/map_headers.txt b/generated/map_headers.txt index 398d2552fe..a54f7d8a03 100644 --- a/generated/map_headers.txt +++ b/generated/map_headers.txt @@ -184,7 +184,7 @@ MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_LUCIAN_ROOM MAP_HEADER_POKEMON_LEAGUE_LUCIAN_ROOM MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_CHAMPION_ROOM MAP_HEADER_POKEMON_LEAGUE_CHAMPION_ROOM -MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME +MAP_HEADER_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME MAP_HEADER_POKEMON_LEAGUE_HALL_OF_FAME MAP_HEADER_FIGHT_AREA MAP_HEADER_FIGHT_AREA_POKECENTER_1F diff --git a/generated/text_banks.txt b/generated/text_banks.txt index 26ad7e19ed..dc00124162 100644 --- a/generated/text_banks.txt +++ b/generated/text_banks.txt @@ -188,7 +188,7 @@ TEXT_BANK_POKEMON_LEAGUE_BERTHA_ROOM TEXT_BANK_POKEMON_LEAGUE_FLINT_ROOM TEXT_BANK_POKEMON_LEAGUE_LUCIAN_ROOM TEXT_BANK_POKEMON_LEAGUE_CHAMPION_ROOM -TEXT_BANK_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME +TEXT_BANK_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME TEXT_BANK_POKEMON_LEAGUE_HALL_OF_FAME TEXT_BANK_FIGHT_AREA TEXT_BANK_FIGHT_AREA_MART diff --git a/generated/vars_flags.txt b/generated/vars_flags.txt index 499e4316ce..468b98064b 100644 --- a/generated/vars_flags.txt +++ b/generated/vars_flags.txt @@ -173,12 +173,12 @@ FLAG_LOCAL_DEX_DIPLOMA_RECEIVED FLAG_NATIONAL_DEX_DIPLOMA_RECEIVED FLAG_UNK_0x00AD FLAG_UNK_0x00AE -FLAG_UNK_0x00AF -FLAG_UNK_0x00B0 -FLAG_UNK_0x00B1 -FLAG_UNK_0x00B2 -FLAG_UNK_0x00B3 -FLAG_UNK_0x00B4 +FLAG_POKEMON_LEAGUE_DOOR_GUARD_MOVED_AWAY +FLAG_DEFEATED_AARON +FLAG_DEFEATED_BERTHA +FLAG_DEFEATED_FLINT +FLAG_DEFEATED_LUCIAN +FLAG_DEFEATED_CYNTHIA FLAG_UNK_0x00B5 FLAG_OBTAINED_VOLKNER_TM57 FLAG_UNK_0x00B7 @@ -206,8 +206,8 @@ FLAG_UNK_0x00CC FLAG_UNK_0x00CD FLAG_UNK_0x00CE FLAG_UNK_0x00CF -FLAG_UNK_0x00D0 -FLAG_UNK_0x00D1 +FLAG_CAUGHT_DIALGA +FLAG_CAUGHT_PALKIA FLAG_UNK_0x00D2 FLAG_PAL_PARK_TALKED_TO_RECEPTIONIST FLAG_UNK_0x00D4 @@ -281,19 +281,19 @@ FLAG_UNK_0x0117 FLAG_UNK_0x0118 FLAG_UNK_0x0119 FLAG_UNK_0x011A -FLAG_UNK_0x011B +FLAG_CAUGHT_REGIGIGAS FLAG_UNK_0x011C FLAG_UNK_0x011D FLAG_UNK_0x011E FLAG_UNK_0x011F -FLAG_UNK_0x0120 -FLAG_UNK_0x0121 +FLAG_CAUGHT_HEATRAN +FLAG_CAUGHT_GIRATINA FLAG_UNK_0x0122 FLAG_UNK_0x0123 -FLAG_UNK_0x0124 -FLAG_MESPRIT_CAUGHT -FLAG_AZELF_CAUGHT -FLAG_UXIE_CAUGHT +FLAG_TALKED_TO_CELESTIC_TOWN_CAVE_CYNTHIA +FLAG_CAUGHT_MESPRIT +FLAG_CAUGHT_AZELF +FLAG_CAUGHT_UXIE FLAG_UNK_0x0128 FLAG_VEILSTONE_STORE_1F_RECEIVED_MASK FLAG_UNK_0x012A @@ -373,7 +373,7 @@ FLAG_UNK_0x0173 FLAG_UNK_0x0174 FLAG_UNK_0x0175 FLAG_UNK_0x0176 -FLAG_UNK_0x0177 +FLAG_HIDE_SANDGEM_TOWN_COUNTERPART FLAG_UNK_0x0178 FLAG_UNK_0x0179 FLAG_HIDE_JUBILIFE_COUNTERPART @@ -388,7 +388,7 @@ FLAG_UNK_0x0182 FLAG_UNK_0x0183 FLAG_UNK_0x0184 FLAG_VEILSTONE_STORE_B1F_HIDE_PROF_ROWAN -FLAG_UNK_0x0186 +FLAG_HIDE_CANALAVE_LIBRARY_1F_LUCIAN FLAG_UNK_0x0187 FLAG_UNK_0x0188 FLAG_UNK_0x0189 @@ -463,7 +463,7 @@ FLAG_UNK_0x01CD FLAG_UNK_0x01CE FLAG_UNK_0x01CF FLAG_UNK_0x01D0 -FLAG_UNK_0x01D1 +FLAG_HIDE_DAY_CARE_GYM_GUIDE FLAG_UNK_0x01D2 FLAG_UNK_0x01D3 FLAG_UNK_0x01D4 @@ -473,9 +473,9 @@ FLAG_UNK_0x01D7 FLAG_UNK_0x01D8 FLAG_UNK_0x01D9 FLAG_UNK_0x01DA -FLAG_UNK_0x01DB +FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_BUCK FLAG_UNK_0x01DC -FLAG_UNK_0x01DD +FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN FLAG_UNK_0x01DE FLAG_MESPRIT_DISAPPEARED FLAG_AZELF_DISAPPEARED @@ -539,7 +539,7 @@ FLAG_UNK_0x0219 FLAG_UNK_0x021A FLAG_UNK_0x021B FLAG_UNK_0x021C -FLAG_UNK_0x021D +FLAG_HIDE_POKEMON_LEAGUE_NORTH_POKECENTER_1F_BARRY FLAG_UNK_0x021E FLAG_UNK_0x021F FLAG_UNK_0x0220 @@ -568,8 +568,8 @@ FLAG_UNK_0x0236 FLAG_UNK_0x0237 FLAG_UNK_0x0238 FLAG_UNK_0x0239 -FLAG_UNK_0x023A -FLAG_UNK_0x023B +FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_CYNTHIA +FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_PROF_ROWAN FLAG_UNK_0x023C FLAG_UNK_0x023D FLAG_UNK_0x023E @@ -577,7 +577,7 @@ FLAG_HIDE_BLOCK_POKECENTER_BASEMENT FLAG_UNK_0x0240 FLAG_UNK_0x0241 FLAG_ETERNA_CITY_SOUTH_HOUSE_HIDE_PROF_OAK -FLAG_UNK_0x0243 +FLAG_HIDE_SNOWPOINT_TEMPLE_B5F_REGIGIGAS FLAG_UNK_0x0244 FLAG_UNK_0x0245 FLAG_UNK_0x0246 @@ -589,8 +589,8 @@ FLAG_UNK_0x024B FLAG_UNK_0x024C FLAG_UNK_0x024D FLAG_UNK_0x024E -FLAG_UNK_0x024F -FLAG_UNK_0x0250 +FLAG_HIDE_FULLMOON_ISLAND_FOREST_CRESSELIA +FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA FLAG_UNK_0x0251 FLAG_UNK_0x0252 FLAG_UNK_0x0253 @@ -640,14 +640,14 @@ FLAG_UNK_0x027E FLAG_UNK_0x027F FLAG_UNK_0x0280 FLAG_UNK_0x0281 -FLAG_UNK_0x0282 -FLAG_UNK_0x0283 -FLAG_UNK_0x0284 -FLAG_UNK_0x0285 -FLAG_UNK_0x0286 -FLAG_UNK_0x0287 -FLAG_UNK_0x0288 -FLAG_UNK_0x0289 +FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_ENTRANCE_DOOR +FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_ENTRANCE_DOOR +FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_ENTRANCE_DOOR +FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_ENTRANCE_DOOR +FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_EXIT_DOOR +FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_EXIT_DOOR +FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_EXIT_DOOR +FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_EXIT_DOOR FLAG_UNK_0x028A FLAG_UNK_0x028B FLAG_UNK_0x028C @@ -670,7 +670,7 @@ FLAG_HIDE_HEARTHOME_GYM_BOLLARDS FLAG_UNK_0x029D FLAG_UNK_0x029E FLAG_UNK_0x029F -FLAG_UNK_0x02A0 +FLAG_HIDE_SENDOFF_SPRING_CYNTHIA FLAG_UNK_0x02A1 FLAG_UNK_0x02A2 FLAG_UNK_0x02A3 @@ -2496,7 +2496,7 @@ FLAG_UNK_0x09BC FLAG_UNK_0x09BD FLAG_UNK_0x09BE FLAG_UNK_0x09BF -FLAG_UNK_0x09C0 +FLAG_FIRST_ARRIVAL_OUTSIDE_VICTORY_ROAD FLAG_UNK_0x09C1 FLAG_UNK_0x09C2 FLAG_UNK_0x09C3 @@ -2548,7 +2548,7 @@ FLAG_UNK_0x09F0 FLAG_UNK_0x09F1 FLAG_UNK_0x09F2 FLAG_FIRST_ARRIVAL_POKE_PARK_FRONT_GATE -FLAG_UNK_0x09F4 +FLAG_FIRST_ARRIVAL_POKEMON_LEAGUE FLAG_UNK_0x09F5 FLAG_UNK_0x09F6 FLAG_UNK_0x09F7 @@ -4295,8 +4295,8 @@ VAR_UNK_0x40C0 VAR_UNK_0x40C1 VAR_UNK_0x40C2 VAR_UNK_0x40C3 -VAR_UNK_0x40C4 -VAR_UNK_0x40C5 +VAR_SPEAR_PILLAR_DIALGA_STATE +VAR_SPEAR_PILLAR_PALKIA_STATE VAR_UNK_0x40C6 VAR_UNK_0x40C7 VAR_UNK_0x40C8 @@ -4370,7 +4370,7 @@ VAR_TURNBACK_CAVE_PILLARS_SEEN VAR_TURNBACK_CAVE_ROOMS_VISITED VAR_UNK_0x410D VAR_UNK_0x410E -VAR_UNK_0x410F +VAR_TWINLEAF_TOWN_PLAYER_HOUSE_STATE VAR_UNK_0x4110 VAR_UNK_0x4111 VAR_UNK_0x4112 diff --git a/include/clear_game.h b/include/clear_game.h new file mode 100644 index 0000000000..fa8fb6ec45 --- /dev/null +++ b/include/clear_game.h @@ -0,0 +1,8 @@ +#ifndef POKEPLATINUM_CLEAR_GAME_H +#define POKEPLATINUM_CLEAR_GAME_H + +#include "field_task.h" + +void ClearGame(FieldTask *task); + +#endif // POKEPLATINUM_CLEAR_GAME_H diff --git a/include/constants/roamer_states.h b/include/constants/roamer_states.h new file mode 100644 index 0000000000..03c6d5b1d9 --- /dev/null +++ b/include/constants/roamer_states.h @@ -0,0 +1,9 @@ +#ifndef POKEPLATINUM_CONSTANTS_ROAMER_STATES_H +#define POKEPLATINUM_CONSTANTS_ROAMER_STATES_H + +#define ROAMER_STATE_ROAMING 0 +#define ROAMER_STATE_CAPTURED 1 +#define ROAMER_STATE_DEFEATED 2 +#define ROAMER_STATE_RESET 3 + +#endif // POKEPLATINUM_CONSTANTS_ROAMER_STATES_H diff --git a/include/data/map_headers.h b/include/data/map_headers.h index ea1fa146a1..a27d64d2ec 100644 --- a/include/data/map_headers.h +++ b/include/data/map_headers.h @@ -4105,17 +4105,17 @@ static const MapHeader sMapHeaders[] = { .isEscapeRopeAllowed = FALSE, .isFlyAllowed = FALSE, }, - [MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME] = { + [MAP_HEADER_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME] = { .areaDataArchiveID = 36, .unk_01 = 0xF, .mapMatrixID = 192, - .scriptsArchiveID = scripts_pokemon_league_elevator_to_hall_of_fame, - .initScriptsArchiveID = scripts_init_pokemon_league_elevator_to_hall_of_fame, - .msgArchiveID = TEXT_BANK_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME, + .scriptsArchiveID = scripts_pokemon_league_hallway_to_hall_of_fame, + .initScriptsArchiveID = scripts_init_pokemon_league_hallway_to_hall_of_fame, + .msgArchiveID = TEXT_BANK_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME, .dayMusicID = SEQ_BLD_DENDO, .nightMusicID = SEQ_BLD_DENDO, .wildEncountersArchiveID = ENCOUNTERS_NONE, - .eventsArchiveID = events_pokemon_league_elevator_to_hall_of_fame, + .eventsArchiveID = events_pokemon_league_hallway_to_hall_of_fame, .mapLabelTextID = LocationNames_Text_PokemonLeague, .mapLabelWindowID = 0x6, .weather = OVERWORLD_WEATHER_CLEAR, diff --git a/include/overlay099/struct_ov99_021D2CB0.h b/include/overlay099/struct_ov99_021D2CB0.h index fdc1a1e55e..ec4027fc9a 100644 --- a/include/overlay099/struct_ov99_021D2CB0.h +++ b/include/overlay099/struct_ov99_021D2CB0.h @@ -1,7 +1,7 @@ #ifndef POKEPLATINUM_STRUCT_OV99_021D2CB0_H #define POKEPLATINUM_STRUCT_OV99_021D2CB0_H -#include "struct_defs/struct_0203E274.h" +#include "struct_defs/clear_game_player_info.h" #include "overlay099/struct_ov99_021D2CB0_sub1.h" #include "overlay099/struct_ov99_021D2CB0_sub2.h" @@ -19,7 +19,7 @@ #include "sys_task_manager.h" typedef struct { - UnkStruct_0203E274 *unk_00; + ClearGamePlayerInfo *unk_00; BOOL unk_04; BgConfig *unk_08; PaletteData *unk_0C; diff --git a/include/struct_defs/clear_game_player_info.h b/include/struct_defs/clear_game_player_info.h new file mode 100644 index 0000000000..d3d82e0238 --- /dev/null +++ b/include/struct_defs/clear_game_player_info.h @@ -0,0 +1,12 @@ +#ifndef POKEPLATINUM_CLEAR_GAME_PLAYER_INFO_H +#define POKEPLATINUM_CLEAR_GAME_PLAYER_INFO_H + +#include "struct_decls/pokedexdata_decl.h" + +typedef struct ClearGamePlayerInfo { + int gender; + BOOL gameCompleted; + const Pokedex *pokedex; +} ClearGamePlayerInfo; + +#endif // POKEPLATINUM_CLEAR_GAME_PLAYER_INFO_H diff --git a/include/struct_defs/struct_0203E274.h b/include/struct_defs/struct_0203E274.h deleted file mode 100644 index 8991cebd90..0000000000 --- a/include/struct_defs/struct_0203E274.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef POKEPLATINUM_STRUCT_0203E274_H -#define POKEPLATINUM_STRUCT_0203E274_H - -#include "struct_decls/pokedexdata_decl.h" - -typedef struct { - int unk_00; - BOOL unk_04; - const Pokedex *unk_08; -} UnkStruct_0203E274; - -#endif // POKEPLATINUM_STRUCT_0203E274_H diff --git a/include/unk_0203D1B8.h b/include/unk_0203D1B8.h index e574aca661..5f18afddd1 100644 --- a/include/unk_0203D1B8.h +++ b/include/unk_0203D1B8.h @@ -7,8 +7,8 @@ #include "struct_decls/struct_0209747C_decl.h" #include "struct_defs/choose_starter_data.h" +#include "struct_defs/clear_game_player_info.h" #include "struct_defs/struct_0203E234.h" -#include "struct_defs/struct_0203E274.h" #include "struct_defs/struct_0203E348.h" #include "struct_defs/struct_02097728.h" @@ -93,7 +93,7 @@ void *sub_0203E1AC(FieldSystem *fieldSystem, int param1, int param2); void sub_0203E224(FieldSystem *fieldSystem); void FieldTask_StartHallOfFame(FieldSystem *fieldSystem, HallOfFameDisplayData *displayData); void *FieldTask_OpenPCHallOfFameScreen(FieldSystem *fieldSystem); -void sub_0203E274(FieldSystem *fieldSystem, UnkStruct_0203E274 *param1); +void sub_0203E274(FieldSystem *fieldSystem, ClearGamePlayerInfo *param1); void FieldSystem_OpenMoveReminderMenu(FieldSystem *fieldSystem, MoveReminderData *moveReminderData); void FieldTask_PlayBoatCutscene_CanalaveShip(FieldSystem *fieldSystem, void *taskEnv); void FieldTask_PlayBoatCutscene_SnowpointShip(FieldSystem *fieldSystem, void *taskEnv); diff --git a/include/unk_02052C6C.h b/include/unk_02052C6C.h deleted file mode 100644 index d2e551a639..0000000000 --- a/include/unk_02052C6C.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef POKEPLATINUM_UNK_02052C6C_H -#define POKEPLATINUM_UNK_02052C6C_H - -#include "field_task.h" - -void sub_02052E58(FieldTask *param0); - -#endif // POKEPLATINUM_UNK_02052C6C_H diff --git a/platinum.us/main.lsf b/platinum.us/main.lsf index 00af87ebb0..4b4cb11d76 100644 --- a/platinum.us/main.lsf +++ b/platinum.us/main.lsf @@ -223,7 +223,7 @@ Static main Object main.nef.p/src_enc_effects.c.o Object main.nef.p/src_field_battle_data_transfer.c.o Object main.nef.p/src_unk_020528D0.c.o - Object main.nef.p/src_unk_02052C6C.c.o + Object main.nef.p/src_clear_game.c.o Object main.nef.p/src_field_map_change.c.o Object main.nef.p/src_unk_02054884.c.o Object main.nef.p/src_terrain_attributes.c.o diff --git a/res/field/events/events_canalave_library_1f.json b/res/field/events/events_canalave_library_1f.json index b5f907fa52..9ce744a823 100644 --- a/res/field/events/events_canalave_library_1f.json +++ b/res/field/events/events_canalave_library_1f.json @@ -205,7 +205,7 @@ "graphics_id": "OBJ_EVENT_GFX_LUCIAN", "movement_type": "MOVEMENT_TYPE_LOOK_NORTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0186", + "hidden_flag": "FLAG_HIDE_CANALAVE_LIBRARY_1F_LUCIAN", "script": 5, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_fullmoon_island_forest.json b/res/field/events/events_fullmoon_island_forest.json index ef91270cff..13819a5655 100644 --- a/res/field/events/events_fullmoon_island_forest.json +++ b/res/field/events/events_fullmoon_island_forest.json @@ -6,7 +6,7 @@ "graphics_id": "OBJ_EVENT_GFX_CRESSELIA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x024F", + "hidden_flag": "FLAG_HIDE_FULLMOON_ISLAND_FOREST_CRESSELIA", "script": 2, "initial_dir": 1, "data": [], diff --git a/res/field/events/events_pokemon_day_care.json b/res/field/events/events_pokemon_day_care.json index 689225ca09..6613d837a7 100644 --- a/res/field/events/events_pokemon_day_care.json +++ b/res/field/events/events_pokemon_day_care.json @@ -30,7 +30,7 @@ "graphics_id": "OBJ_EVENT_GFX_GYM_GUIDE", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01D1", + "hidden_flag": "FLAG_HIDE_DAY_CARE_GYM_GUIDE", "script": 2, "initial_dir": 3, "data": [], diff --git a/res/field/events/events_pokemon_league.json b/res/field/events/events_pokemon_league.json index 30485ddef6..6aa6f4cf03 100644 --- a/res/field/events/events_pokemon_league.json +++ b/res/field/events/events_pokemon_league.json @@ -75,7 +75,7 @@ ], "object_events": [ { - "id": "POKEMON_LEAGUE_SIGNBOARD_0", + "id": "LOCALID_SIGNBOARD", "graphics_id": "OBJ_EVENT_GFX_SIGNBOARD", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -90,7 +90,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_ARROW_SIGNPOST_1", + "id": "LOCALID_ARROW_SIGNPOST", "graphics_id": "OBJ_EVENT_GFX_ARROW_SIGNPOST", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_pokemon_league_aaron_room.json b/res/field/events/events_pokemon_league_aaron_room.json index 5fe50eb9ba..88de0646b7 100644 --- a/res/field/events/events_pokemon_league_aaron_room.json +++ b/res/field/events/events_pokemon_league_aaron_room.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_AARON_ROOM_AARON_0", + "id": "LOCALID_AARON", "graphics_id": "OBJ_EVENT_GFX_AARON", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,11 +17,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_AARON_ROOM_ELITE_FOUR_ROOM_DOOR_1", + "id": "LOCALID_ENTRANCE_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0282", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_ENTRANCE_DOOR", "script": 2037, "initial_dir": 0, "data": [], @@ -32,11 +32,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_AARON_ROOM_ELITE_FOUR_ROOM_DOOR_2", + "id": "LOCALID_EXIT_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0286", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_EXIT_DOOR", "script": 2037, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_pokemon_league_bertha_room.json b/res/field/events/events_pokemon_league_bertha_room.json index 54cbd269e1..202ab8fb68 100644 --- a/res/field/events/events_pokemon_league_bertha_room.json +++ b/res/field/events/events_pokemon_league_bertha_room.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_BERTHA_ROOM_BERTHA_0", + "id": "LOCALID_BERTHA", "graphics_id": "OBJ_EVENT_GFX_BERTHA", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,11 +17,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_BERTHA_ROOM_ELITE_FOUR_ROOM_DOOR_1", + "id": "LOCALID_ENTRANCE_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0283", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_ENTRANCE_DOOR", "script": 2037, "initial_dir": 0, "data": [], @@ -32,11 +32,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_BERTHA_ROOM_ELITE_FOUR_ROOM_DOOR_2", + "id": "LOCALID_EXIT_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0287", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_EXIT_DOOR", "script": 2037, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_pokemon_league_champion_room.json b/res/field/events/events_pokemon_league_champion_room.json index 01100ceb11..ec3965a048 100644 --- a/res/field/events/events_pokemon_league_champion_room.json +++ b/res/field/events/events_pokemon_league_champion_room.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_CHAMPION_ROOM_CYNTHIA_0", + "id": "LOCALID_CYNTHIA", "graphics_id": "OBJ_EVENT_GFX_CYNTHIA", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", @@ -21,7 +21,7 @@ { "x": 8, "z": 2, - "dest_header_id": "MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME", + "dest_header_id": "MAP_HEADER_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME", "dest_warp_id": 1 }, { diff --git a/res/field/events/events_pokemon_league_flint_room.json b/res/field/events/events_pokemon_league_flint_room.json index 0650cd3861..41745727de 100644 --- a/res/field/events/events_pokemon_league_flint_room.json +++ b/res/field/events/events_pokemon_league_flint_room.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_FLINT_ROOM_FLINT_0", + "id": "LOCALID_FLINT", "graphics_id": "OBJ_EVENT_GFX_FLINT", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,11 +17,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_FLINT_ROOM_ELITE_FOUR_ROOM_DOOR_1", + "id": "LOCALID_EXIT_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0288", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_EXIT_DOOR", "script": 2037, "initial_dir": 0, "data": [], @@ -32,11 +32,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_FLINT_ROOM_ELITE_FOUR_ROOM_DOOR_2", + "id": "LOCALID_ENTRANCE_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0284", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_ENTRANCE_DOOR", "script": 2037, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_pokemon_league_hall_of_fame.json b/res/field/events/events_pokemon_league_hall_of_fame.json index bc51d89806..f0db04e47a 100644 --- a/res/field/events/events_pokemon_league_hall_of_fame.json +++ b/res/field/events/events_pokemon_league_hall_of_fame.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_HALL_OF_FAME_CYNTHIA_0", + "id": "LOCALID_CYNTHIA", "graphics_id": "OBJ_EVENT_GFX_CYNTHIA", "movement_type": "MOVEMENT_TYPE_LOOK_LEFT", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_HALL_OF_FAME_PROF_ROWAN_1", + "id": "LOCALID_PROF_ROWAN", "graphics_id": "OBJ_EVENT_GFX_PROF_ROWAN", "movement_type": "MOVEMENT_TYPE_LOOK_RIGHT", "trainer_type": "TRAINER_TYPE_NONE", @@ -36,7 +36,7 @@ { "x": 8, "z": 15, - "dest_header_id": "MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME", + "dest_header_id": "MAP_HEADER_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME", "dest_warp_id": 0 } ], diff --git a/res/field/events/events_pokemon_league_elevator_to_hall_of_fame.json b/res/field/events/events_pokemon_league_hallway_to_hall_of_fame.json similarity index 82% rename from res/field/events/events_pokemon_league_elevator_to_hall_of_fame.json rename to res/field/events/events_pokemon_league_hallway_to_hall_of_fame.json index eb3179e1eb..7c3f95f907 100644 --- a/res/field/events/events_pokemon_league_elevator_to_hall_of_fame.json +++ b/res/field/events/events_pokemon_league_hallway_to_hall_of_fame.json @@ -2,11 +2,11 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME_CYNTHIA_0", + "id": "LOCALID_CYNTHIA", "graphics_id": "OBJ_EVENT_GFX_CYNTHIA", "movement_type": "MOVEMENT_TYPE_LOOK_NORTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x023A", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_CYNTHIA", "script": 0, "initial_dir": 0, "data": [], @@ -17,11 +17,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME_PROF_ROWAN_1", + "id": "LOCALID_PROF_ROWAN", "graphics_id": "OBJ_EVENT_GFX_PROF_ROWAN", "movement_type": "MOVEMENT_TYPE_LOOK_NORTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x023B", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_PROF_ROWAN", "script": 0, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_pokemon_league_lucian_room.json b/res/field/events/events_pokemon_league_lucian_room.json index f1f2de9bd2..ddd5e28920 100644 --- a/res/field/events/events_pokemon_league_lucian_room.json +++ b/res/field/events/events_pokemon_league_lucian_room.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_LUCIAN_ROOM_LUCIAN_0", + "id": "LOCALID_LUCIAN", "graphics_id": "OBJ_EVENT_GFX_LUCIAN", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,11 +17,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_LUCIAN_ROOM_ELITE_FOUR_ROOM_DOOR_1", + "id": "LOCALID_EXIT_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0289", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_EXIT_DOOR", "script": 2037, "initial_dir": 0, "data": [], @@ -32,11 +32,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_LUCIAN_ROOM_ELITE_FOUR_ROOM_DOOR_2", + "id": "LOCALID_ENTRANCE_DOOR", "graphics_id": "OBJ_EVENT_GFX_ELITE_FOUR_ROOM_DOOR", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0285", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_ENTRANCE_DOOR", "script": 2037, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_pokemon_league_north_pokecenter_1f.json b/res/field/events/events_pokemon_league_north_pokecenter_1f.json index 62adb2e30b..c111277f8c 100644 --- a/res/field/events/events_pokemon_league_north_pokecenter_1f.json +++ b/res/field/events/events_pokemon_league_north_pokecenter_1f.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_ACE_TRAINER_M_0", + "id": "LOCALID_ACE_TRAINER_M", "graphics_id": "OBJ_EVENT_GFX_ACE_TRAINER_M", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_CASHIER_F_1", + "id": "LOCALID_CASHIER_F", "graphics_id": "OBJ_EVENT_GFX_CASHIER_F", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_CASHIER_M_2", + "id": "LOCALID_CASHIER_M", "graphics_id": "OBJ_EVENT_GFX_CASHIER_M", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -47,7 +47,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_POKECENTER_NURSE_3", + "id": "LOCALID_POKECENTER_NURSE", "graphics_id": "OBJ_EVENT_GFX_POKECENTER_NURSE", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -62,7 +62,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_ACE_TRAINER_F_4", + "id": "LOCALID_ACE_TRAINER_F", "graphics_id": "OBJ_EVENT_GFX_ACE_TRAINER_F", "movement_type": "MOVEMENT_TYPE_LOOK_NORTH_SOUTH_AND_EAST", "trainer_type": "TRAINER_TYPE_NONE", @@ -77,11 +77,11 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_BARRY_5", + "id": "LOCALID_BARRY", "graphics_id": "OBJ_EVENT_GFX_BARRY", "movement_type": "MOVEMENT_TYPE_LOOK_NORTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x021D", + "hidden_flag": "FLAG_HIDE_POKEMON_LEAGUE_NORTH_POKECENTER_1F_BARRY", "script": 0, "initial_dir": 0, "data": [], @@ -92,7 +92,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_1F_GUITARIST_6", + "id": "LOCALID_GUITARIST", "graphics_id": "OBJ_EVENT_GFX_GUITARIST", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_pokemon_league_north_pokecenter_2f.json b/res/field/events/events_pokemon_league_north_pokecenter_2f.json index c0a8000dda..e012be63d1 100644 --- a/res/field/events/events_pokemon_league_north_pokecenter_2f.json +++ b/res/field/events/events_pokemon_league_north_pokecenter_2f.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_2F_TEALA_0", + "id": "LOCALID_TEALA_0", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_2F_TEALA_1", + "id": "LOCALID_TEALA_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_2F_TEALA_2", + "id": "LOCALID_TEALA_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_pokemon_league_north_pokecenter_b1f.json b/res/field/events/events_pokemon_league_north_pokecenter_b1f.json index 56f4f4115e..1d4bf37119 100644 --- a/res/field/events/events_pokemon_league_north_pokecenter_b1f.json +++ b/res/field/events/events_pokemon_league_north_pokecenter_b1f.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_B1FWIFI_PLAZA_ATTENDANT_F_0", + "id": "LOCALID_WIFI_PLAZA_ATTENDANT_F", "graphics_id": "OBJ_EVENT_GFX_WIFI_PLAZA_ATTENDANT_F", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_B1F_TEALA_1", + "id": "LOCALID_TEALA_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_NORTH_POKECENTER_B1F_TEALA_2", + "id": "LOCALID_TEALA_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_pokemon_league_south_pokecenter_1f.json b/res/field/events/events_pokemon_league_south_pokecenter_1f.json index 8c20520cce..26404837f4 100644 --- a/res/field/events/events_pokemon_league_south_pokecenter_1f.json +++ b/res/field/events/events_pokemon_league_south_pokecenter_1f.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_1F_POKECENTER_NURSE_0", + "id": "LOCALID_POKECENTER_NURSE", "graphics_id": "OBJ_EVENT_GFX_POKECENTER_NURSE", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_1F_POKEFAN_M_1", + "id": "LOCALID_POKEFAN_M", "graphics_id": "OBJ_EVENT_GFX_POKEFAN_M", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH_AND_WEST", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_1F_ACE_TRAINER_F_2", + "id": "LOCALID_ACE_TRAINER_F", "graphics_id": "OBJ_EVENT_GFX_ACE_TRAINER_F", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH_AND_WEST", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_pokemon_league_south_pokecenter_2f.json b/res/field/events/events_pokemon_league_south_pokecenter_2f.json index a2377de703..352ae91230 100644 --- a/res/field/events/events_pokemon_league_south_pokecenter_2f.json +++ b/res/field/events/events_pokemon_league_south_pokecenter_2f.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_2F_TEALA_0", + "id": "LOCALID_TEALA_0", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_2F_TEALA_1", + "id": "LOCALID_TEALA_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_2F_TEALA_2", + "id": "LOCALID_TEALA_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_pokemon_league_south_pokecenter_b1f.json b/res/field/events/events_pokemon_league_south_pokecenter_b1f.json index 236cabdba0..b73dc4a9a5 100644 --- a/res/field/events/events_pokemon_league_south_pokecenter_b1f.json +++ b/res/field/events/events_pokemon_league_south_pokecenter_b1f.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_B1FWIFI_PLAZA_ATTENDANT_F_0", + "id": "LOCALID_WIFI_PLAZA_ATTENDANT_F", "graphics_id": "OBJ_EVENT_GFX_WIFI_PLAZA_ATTENDANT_F", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_B1F_TEALA_1", + "id": "LOCALID_TEALA_1", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "POKEMON_LEAGUE_SOUTH_POKECENTER_B1F_TEALA_2", + "id": "LOCALID_TEALA_2", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/events/events_sandgem_town.json b/res/field/events/events_sandgem_town.json index e2cb97e0d7..31884fd300 100644 --- a/res/field/events/events_sandgem_town.json +++ b/res/field/events/events_sandgem_town.json @@ -66,7 +66,7 @@ "graphics_id": "OBJ_EVENT_GFX_COUNTERPART", "movement_type": "MOVEMENT_TYPE_LOOK_LEFT", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0177", + "hidden_flag": "FLAG_HIDE_SANDGEM_TOWN_COUNTERPART", "script": 10300, "initial_dir": 2, "data": [], diff --git a/res/field/events/events_sendoff_spring.json b/res/field/events/events_sendoff_spring.json index ddb0515a67..153e0cd33b 100644 --- a/res/field/events/events_sendoff_spring.json +++ b/res/field/events/events_sendoff_spring.json @@ -6,7 +6,7 @@ "graphics_id": "OBJ_EVENT_GFX_CYNTHIA", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x02A0", + "hidden_flag": "FLAG_HIDE_SENDOFF_SPRING_CYNTHIA", "script": 2, "initial_dir": 1, "data": [], diff --git a/res/field/events/events_snowpoint_temple_b5f.json b/res/field/events/events_snowpoint_temple_b5f.json index a08c0fa683..168b3c2bc6 100644 --- a/res/field/events/events_snowpoint_temple_b5f.json +++ b/res/field/events/events_snowpoint_temple_b5f.json @@ -6,7 +6,7 @@ "graphics_id": "OBJ_EVENT_GFX_REGIGIGAS", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0243", + "hidden_flag": "FLAG_HIDE_SNOWPOINT_TEMPLE_B5F_REGIGIGAS", "script": 2, "initial_dir": 1, "data": [], diff --git a/res/field/events/events_stark_mountain_room_3.json b/res/field/events/events_stark_mountain_room_3.json index c9ee5820b5..28809cb72f 100644 --- a/res/field/events/events_stark_mountain_room_3.json +++ b/res/field/events/events_stark_mountain_room_3.json @@ -21,7 +21,7 @@ "graphics_id": "OBJ_EVENT_GFX_HEATRAN", "movement_type": "MOVEMENT_TYPE_LOOK_SOUTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01DD", + "hidden_flag": "FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN", "script": 4, "initial_dir": 1, "data": [], @@ -36,7 +36,7 @@ "graphics_id": "OBJ_EVENT_GFX_BUCK", "movement_type": "MOVEMENT_TYPE_LOOK_NORTH", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01DB", + "hidden_flag": "FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_BUCK", "script": 0, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_turnback_cave_giratina_room.json b/res/field/events/events_turnback_cave_giratina_room.json index aa9dd8cded..4a76c9fc97 100644 --- a/res/field/events/events_turnback_cave_giratina_room.json +++ b/res/field/events/events_turnback_cave_giratina_room.json @@ -39,7 +39,7 @@ "graphics_id": "OBJ_EVENT_GFX_GIRATINA_ALTERED", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x0250", + "hidden_flag": "FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA", "script": 2, "initial_dir": 1, "data": [], diff --git a/res/field/events/meson.build b/res/field/events/meson.build index 6a9a86ee0b..321057f5c4 100644 --- a/res/field/events/meson.build +++ b/res/field/events/meson.build @@ -191,7 +191,7 @@ events_files = files( 'events_pokemon_league_lucian_room.json', 'events_pokemon_league_elevator_to_champion_room.json', 'events_pokemon_league_champion_room.json', - 'events_pokemon_league_elevator_to_hall_of_fame.json', + 'events_pokemon_league_hallway_to_hall_of_fame.json', 'events_pokemon_league_hall_of_fame.json', 'events_fight_area.json', 'events_fight_area_pokecenter_1f.json', diff --git a/res/field/events/zone_event.order b/res/field/events/zone_event.order index 1a57c4b243..42bceae2ca 100644 --- a/res/field/events/zone_event.order +++ b/res/field/events/zone_event.order @@ -183,7 +183,7 @@ events_pokemon_league_elevator_to_lucian_room events_pokemon_league_lucian_room events_pokemon_league_elevator_to_champion_room events_pokemon_league_champion_room -events_pokemon_league_elevator_to_hall_of_fame +events_pokemon_league_hallway_to_hall_of_fame events_pokemon_league_hall_of_fame events_fight_area events_fight_area_pokecenter_1f diff --git a/res/field/scripts/meson.build b/res/field/scripts/meson.build index c8c10cf6ce..30692fe112 100644 --- a/res/field/scripts/meson.build +++ b/res/field/scripts/meson.build @@ -230,7 +230,7 @@ scr_seq_files = files( 'scripts_pokemon_league_lucian_room.s', 'scripts_pokemon_league_elevator_to_champion_room.s', 'scripts_pokemon_league_champion_room.s', - 'scripts_pokemon_league_elevator_to_hall_of_fame.s', + 'scripts_pokemon_league_hallway_to_hall_of_fame.s', 'scripts_pokemon_league_hall_of_fame.s', 'scripts_pokemon_league_north_pokecenter_2f.s', 'scripts_pokemon_league_north_pokecenter_b1f.s', @@ -730,7 +730,7 @@ scr_seq_files = files( 'scripts_init_pokemon_league_lucian_room.s', 'scripts_init_pokemon_league_elevator_to_champion_room.s', 'scripts_init_pokemon_league_champion_room.s', - 'scripts_init_pokemon_league_elevator_to_hall_of_fame.s', + 'scripts_init_pokemon_league_hallway_to_hall_of_fame.s', 'scripts_init_pokemon_league_hall_of_fame.s', 'scripts_init_pokemon_league_north_pokecenter_2f.s', 'scripts_init_pokemon_league_north_pokecenter_b1f.s', diff --git a/res/field/scripts/scripts.order b/res/field/scripts/scripts.order index 559a82c188..67fd331618 100644 --- a/res/field/scripts/scripts.order +++ b/res/field/scripts/scripts.order @@ -195,7 +195,7 @@ scripts_pokemon_league_elevator_to_lucian_room scripts_pokemon_league_lucian_room scripts_pokemon_league_elevator_to_champion_room scripts_pokemon_league_champion_room -scripts_pokemon_league_elevator_to_hall_of_fame +scripts_pokemon_league_hallway_to_hall_of_fame scripts_pokemon_league_hall_of_fame scripts_pokemon_league_north_pokecenter_2f scripts_pokemon_league_north_pokecenter_b1f @@ -695,7 +695,7 @@ scripts_init_pokemon_league_elevator_to_lucian_room scripts_init_pokemon_league_lucian_room scripts_init_pokemon_league_elevator_to_champion_room scripts_init_pokemon_league_champion_room -scripts_init_pokemon_league_elevator_to_hall_of_fame +scripts_init_pokemon_league_hallway_to_hall_of_fame scripts_init_pokemon_league_hall_of_fame scripts_init_pokemon_league_north_pokecenter_2f scripts_init_pokemon_league_north_pokecenter_b1f diff --git a/res/field/scripts/scripts_acuity_cavern.s b/res/field/scripts/scripts_acuity_cavern.s index 1889bc0782..8036ea541a 100644 --- a/res/field/scripts/scripts_acuity_cavern.s +++ b/res/field/scripts/scripts_acuity_cavern.s @@ -37,7 +37,7 @@ AcuityCavern_Uxie: GoToIfEq VAR_RESULT, FALSE, AcuityCavern_LostBattle CheckDidNotCapture VAR_RESULT GoToIfEq VAR_RESULT, TRUE, AcuityCavern_UxieDisappeared - SetFlag FLAG_UXIE_CAUGHT + SetFlag FLAG_CAUGHT_UXIE ReleaseAll End diff --git a/res/field/scripts/scripts_battleground.s b/res/field/scripts/scripts_battleground.s index e7d1ab0724..2115c8c39b 100644 --- a/res/field/scripts/scripts_battleground.s +++ b/res/field/scripts/scripts_battleground.s @@ -106,7 +106,7 @@ _0183: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - SetFlag FLAG_MESPRIT_CAUGHT + SetFlag FLAG_CAUGHT_MESPRIT Message 5 CloseMessage GetPlayerMapPos VAR_0x8004, VAR_0x8005 diff --git a/res/field/scripts/scripts_celestic_town_cave.s b/res/field/scripts/scripts_celestic_town_cave.s index e26835769a..3ae901a301 100644 --- a/res/field/scripts/scripts_celestic_town_cave.s +++ b/res/field/scripts/scripts_celestic_town_cave.s @@ -444,8 +444,8 @@ _0585: End _0596: - GoToIfSet FLAG_UNK_0x0124, _0027 - SetFlag FLAG_UNK_0x0124 + GoToIfSet FLAG_TALKED_TO_CELESTIC_TOWN_CAVE_CYNTHIA, _0027 + SetFlag FLAG_TALKED_TO_CELESTIC_TOWN_CAVE_CYNTHIA ClearFlag FLAG_UNK_0x01A6 SetObjectEventPos 2, 4, 11 AddObject 2 diff --git a/res/field/scripts/scripts_common.s b/res/field/scripts/scripts_common.s index 32b7764f10..0d3483ce93 100644 --- a/res/field/scripts/scripts_common.s +++ b/res/field/scripts/scripts_common.s @@ -399,7 +399,7 @@ CommonScript_SaveGame_DoSave: CommonScript_SaveGame_SaveComplete: GoToIfEq VAR_RESULT, 0, CommonScript_SaveGame_SaveError BufferPlayerName 0 - Message pl_msg_00000213_00016 + Message CommonStrings_Text_PlayerSavedTheGame PlayFanfare SEQ_SE_DP_SAVE WaitFanfare SEQ_SE_DP_SAVE WaitABPressTime 30 @@ -412,7 +412,7 @@ CommonScript_SaveGame_Cancel: Return CommonScript_SaveGame_SaveError: - Message pl_msg_00000213_00018 + Message CommonStrings_Text_SaveError WaitABPress CloseSaveInfo Return @@ -428,7 +428,7 @@ CommonScript_SaveGame_SaveExtraBlock: Return CommonScript_QuickSave_Save: - Message pl_msg_00000213_00015 + Message CommonStrings_Text_SavingDontTurnOffThePower GoTo CommonScript_SaveGame_StartSave End diff --git a/res/field/scripts/scripts_distortion_world_giratina_room.s b/res/field/scripts/scripts_distortion_world_giratina_room.s index b02f32b931..cea8bd20e7 100644 --- a/res/field/scripts/scripts_distortion_world_giratina_room.s +++ b/res/field/scripts/scripts_distortion_world_giratina_room.s @@ -96,8 +96,8 @@ _014E: GoTo _0194 _016E: - SetFlag FLAG_UNK_0x0121 - SetFlag FLAG_UNK_0x0250 + SetFlag FLAG_CAUGHT_GIRATINA + SetFlag FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA ClearFlag FLAG_UNK_0x0278 ScrCmd_311 130 ScrCmd_311 129 diff --git a/res/field/scripts/scripts_eterna_city_south_house.s b/res/field/scripts/scripts_eterna_city_south_house.s index 7e3e65e98e..7be5881417 100644 --- a/res/field/scripts/scripts_eterna_city_south_house.s +++ b/res/field/scripts/scripts_eterna_city_south_house.s @@ -49,25 +49,25 @@ _009B: End _00B3: - CallIfEq VAR_ROAMING_MOLTRES_STATE, 3, _00E5 - CallIfEq VAR_ROAMING_ZAPDOS_STATE, 3, _00F0 - CallIfEq VAR_ROAMING_ARTICUNO_STATE, 3, _00FB + CallIfEq VAR_ROAMING_MOLTRES_STATE, ROAMER_STATE_RESET, _00E5 + CallIfEq VAR_ROAMING_ZAPDOS_STATE, ROAMER_STATE_RESET, _00F0 + CallIfEq VAR_ROAMING_ARTICUNO_STATE, ROAMER_STATE_RESET, _00FB Message 4 GoTo _0150 End _00E5: - SetVar VAR_ROAMING_MOLTRES_STATE, 0 + SetVar VAR_ROAMING_MOLTRES_STATE, ROAMER_STATE_ROAMING ActivateRoamingPokemon ROAMING_SLOT_MOLTRES Return _00F0: - SetVar VAR_ROAMING_ZAPDOS_STATE, 0 + SetVar VAR_ROAMING_ZAPDOS_STATE, ROAMER_STATE_ROAMING ActivateRoamingPokemon ROAMING_SLOT_ZAPDOS Return _00FB: - SetVar VAR_ROAMING_ARTICUNO_STATE, 0 + SetVar VAR_ROAMING_ARTICUNO_STATE, ROAMER_STATE_ROAMING ActivateRoamingPokemon ROAMING_SLOT_ARTICUNO Return @@ -82,9 +82,9 @@ _0113: End _0119: - GoToIfNe VAR_ROAMING_MOLTRES_STATE, 1, _0148 - GoToIfNe VAR_ROAMING_ZAPDOS_STATE, 1, _0148 - GoToIfNe VAR_ROAMING_ARTICUNO_STATE, 1, _0148 + GoToIfNe VAR_ROAMING_MOLTRES_STATE, ROAMER_STATE_CAPTURED, _0148 + GoToIfNe VAR_ROAMING_ZAPDOS_STATE, ROAMER_STATE_CAPTURED, _0148 + GoToIfNe VAR_ROAMING_ARTICUNO_STATE, ROAMER_STATE_CAPTURED, _0148 SetVar VAR_RESULT, 1 Return diff --git a/res/field/scripts/scripts_fullmoon_island_forest.s b/res/field/scripts/scripts_fullmoon_island_forest.s index f45520b85e..14cccf8368 100644 --- a/res/field/scripts/scripts_fullmoon_island_forest.s +++ b/res/field/scripts/scripts_fullmoon_island_forest.s @@ -22,10 +22,10 @@ _000C: ReleaseObject 0 ScrCmd_26A 0, 6, 8 LockObject 0 - SetFlag FLAG_UNK_0x024F + SetFlag FLAG_HIDE_FULLMOON_ISLAND_FOREST_CRESSELIA RemoveObject 0 ActivateRoamingPokemon ROAMING_SLOT_CRESSELIA - GoToIfEq VAR_ROAMING_CRESSELIA_STATE, 3, _0074 + GoToIfEq VAR_ROAMING_CRESSELIA_STATE, ROAMER_STATE_RESET, _0074 ClearFlag FLAG_UNK_0x0452 AddObject 1 SetFlag FLAG_UNK_0x011F @@ -36,7 +36,7 @@ _000C: End _0074: - SetVar VAR_ROAMING_CRESSELIA_STATE, 0 + SetVar VAR_ROAMING_CRESSELIA_STATE, ROAMER_STATE_ROAMING ReleaseAll End diff --git a/res/field/scripts/scripts_init_new_game.s b/res/field/scripts/scripts_init_new_game.s index d88db6eb9e..afcf4b9ebc 100644 --- a/res/field/scripts/scripts_init_new_game.s +++ b/res/field/scripts/scripts_init_new_game.s @@ -47,7 +47,7 @@ _0006: SetFlag FLAG_HIDE_CANALAVE_LIBRARY_COUNTERPART SetFlag FLAG_HIDE_CANALAVE_LIBRARY_ROWAN SetFlag FLAG_HIDE_CANALAVE_LIBRARY_RIVAL - SetFlag FLAG_UNK_0x0186 + SetFlag FLAG_HIDE_CANALAVE_LIBRARY_1F_LUCIAN SetFlag FLAG_HIDE_CANALAVE_CITY_RIVAL SetFlag FLAG_UNK_0x019A SetVar VAR_UNK_0x4093, 1 @@ -76,7 +76,7 @@ _0006: SetFlag FLAG_UNK_0x020D SetFlag FLAG_VEILSTONE_STORE_B1F_HIDE_PROF_ROWAN SetFlag FLAG_UNK_0x01CC - SetFlag FLAG_UNK_0x021D + SetFlag FLAG_HIDE_POKEMON_LEAGUE_NORTH_POKECENTER_1F_BARRY SetFlag FLAG_UNK_0x019E SetFlag FLAG_UNK_0x01CB SetFlag FLAG_UNK_0x01E9 @@ -88,11 +88,11 @@ _0006: SetFlag FLAG_UNK_0x0231 SetFlag FLAG_UNK_0x0230 SetFlag FLAG_UNK_0x0232 - SetFlag FLAG_UNK_0x01DD + SetFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN SetFlag FLAG_UNK_0x01DA SetFlag FLAG_UNK_0x022E SetFlag FLAG_UNK_0x022D - SetFlag FLAG_UNK_0x01D1 + SetFlag FLAG_HIDE_DAY_CARE_GYM_GUIDE SetFlag FLAG_UNK_0x021E SetFlag FLAG_UNK_0x01F3 SetFlag FLAG_UNK_0x0256 diff --git a/res/field/scripts/scripts_init_pokemon_league_elevator_to_hall_of_fame.s b/res/field/scripts/scripts_init_pokemon_league_hallway_to_hall_of_fame.s similarity index 100% rename from res/field/scripts/scripts_init_pokemon_league_elevator_to_hall_of_fame.s rename to res/field/scripts/scripts_init_pokemon_league_hallway_to_hall_of_fame.s diff --git a/res/field/scripts/scripts_init_twinleaf_town_player_house_1f.s b/res/field/scripts/scripts_init_twinleaf_town_player_house_1f.s index 13c3aec412..b0ec7d7f62 100644 --- a/res/field/scripts/scripts_init_twinleaf_town_player_house_1f.s +++ b/res/field/scripts/scripts_init_twinleaf_town_player_house_1f.s @@ -7,7 +7,7 @@ InitScriptFrameTable: InitScriptGoToIfEqual VAR_UNK_0x40A4, 0, 2 - InitScriptGoToIfEqual VAR_UNK_0x410F, 1, 11 + InitScriptGoToIfEqual VAR_TWINLEAF_TOWN_PLAYER_HOUSE_STATE, 1, 11 InitScriptGoToIfEqual VAR_UNK_0x40A4, 3, 3 InitScriptFrameTableEnd diff --git a/res/field/scripts/scripts_mt_coronet_6f.s b/res/field/scripts/scripts_mt_coronet_6f.s index 4e60d7560d..5200481c43 100644 --- a/res/field/scripts/scripts_mt_coronet_6f.s +++ b/res/field/scripts/scripts_mt_coronet_6f.s @@ -31,8 +31,8 @@ _005F: _0069: GoToIfUnset FLAG_UNK_0x0145, _005F - GoToIfSet FLAG_UNK_0x00D0, _00BC - GoToIfGe VAR_UNK_0x40C4, 1, _00BC + GoToIfSet FLAG_CAUGHT_DIALGA, _00BC + GoToIfGe VAR_SPEAR_PILLAR_DIALGA_STATE, 1, _00BC CheckItem ITEM_ADAMANT_ORB, 1, VAR_MAP_LOCAL_1 GoToIfEq VAR_MAP_LOCAL_1, 1, _0104 CheckPartyHasHeldItem ITEM_ADAMANT_ORB, VAR_MAP_LOCAL_1 @@ -41,8 +41,8 @@ _0069: End _00BC: - GoToIfSet FLAG_UNK_0x00D1, _005F - GoToIfGe VAR_UNK_0x40C5, 1, _005F + GoToIfSet FLAG_CAUGHT_PALKIA, _005F + GoToIfGe VAR_SPEAR_PILLAR_PALKIA_STATE, 1, _005F CheckItem ITEM_LUSTROUS_ORB, 1, VAR_MAP_LOCAL_1 GoToIfEq VAR_MAP_LOCAL_1, 1, _010E CheckPartyHasHeldItem ITEM_LUSTROUS_ORB, VAR_MAP_LOCAL_1 diff --git a/res/field/scripts/scripts_pokemon_day_care.s b/res/field/scripts/scripts_pokemon_day_care.s index dc7a65e01c..2d30309240 100644 --- a/res/field/scripts/scripts_pokemon_day_care.s +++ b/res/field/scripts/scripts_pokemon_day_care.s @@ -12,7 +12,7 @@ _000E: End _001B: - ClearFlag FLAG_UNK_0x01D1 + ClearFlag FLAG_HIDE_DAY_CARE_GYM_GUIDE Return _0021: diff --git a/res/field/scripts/scripts_pokemon_league.s b/res/field/scripts/scripts_pokemon_league.s index 22cf08a4df..3334e1bc47 100644 --- a/res/field/scripts/scripts_pokemon_league.s +++ b/res/field/scripts/scripts_pokemon_league.s @@ -2,23 +2,23 @@ #include "res/text/bank/pokemon_league.h" - ScriptEntry _000E - ScriptEntry _0025 - ScriptEntry _003C + ScriptEntry PokemonLeague_ArrowSignPokemonleague + ScriptEntry PokemonLeague_SignboardVictoryRoad + ScriptEntry PokemonLeague_Statue ScriptEntryEnd -_000E: - ShowArrowSign 1 +PokemonLeague_ArrowSignPokemonleague: + ShowArrowSign PokemonLeague_Text_PokemonLeagueAhead End -_0025: - ShowLandmarkSign 2 +PokemonLeague_SignboardVictoryRoad: + ShowLandmarkSign PokemonLeague_Text_VictoryRoadAhead End -_003C: +PokemonLeague_Statue: PlayFanfare SEQ_SE_CONFIRM LockAll - Message 0 + Message PokemonLeague_Text_PokemonLeagueThePinnacleOfTrainerdom WaitABXPadPress CloseMessage ReleaseAll diff --git a/res/field/scripts/scripts_pokemon_league_aaron_room.s b/res/field/scripts/scripts_pokemon_league_aaron_room.s index 6868d094c3..5ac3405abb 100644 --- a/res/field/scripts/scripts_pokemon_league_aaron_room.s +++ b/res/field/scripts/scripts_pokemon_league_aaron_room.s @@ -1,74 +1,75 @@ #include "macros/scrcmd.inc" #include "res/text/bank/pokemon_league_aaron_room.h" +#include "res/field/events/events_pokemon_league_aaron_room.h" - ScriptEntry _000A - ScriptEntry _00B7 + ScriptEntry PokemonLeagueAaronRoom_Aaron + ScriptEntry PokemonLeagueAaronRoom_OnFrame ScriptEntryEnd -_000A: +PokemonLeagueAaronRoom_Aaron: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfSet FLAG_UNK_0x00B0, _00AC + GoToIfSet FLAG_DEFEATED_AARON, PokemonLeagueAaronRoom_AaronPostBattle PlayTrainerEncounterBGM TRAINER_ELITE_FOUR_AARON - Message 0 + Message PokemonLeagueAaronRoom_Text_AaronIntro CloseMessage - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _007A - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0082 + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueAaronRoom_StartAaronBattle + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueAaronRoom_StartAaronRematchBattle CheckWonBattle VAR_RESULT - GoToIfEq VAR_RESULT, FALSE, _00A6 - SetFlag FLAG_UNK_0x00B0 + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueAaronRoom_BlackOut + SetFlag FLAG_DEFEATED_AARON PlayFanfare SEQ_SE_DP_KI_GASYAN - RemoveObject 2 - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _008A - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0098 - Message 1 + RemoveObject LOCALID_EXIT_DOOR + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueAaronRoom_CreateJournalEventDefeatedAaron + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueAaronRoom_CreateJournalEventDefeatedRematchAaron + Message PokemonLeagueAaronRoom_Text_AaronDefeat WaitABXPadPress CloseMessage ReleaseAll End -_007A: +PokemonLeagueAaronRoom_StartAaronBattle: StartTrainerBattle TRAINER_ELITE_FOUR_AARON Return -_0082: +PokemonLeagueAaronRoom_StartAaronRematchBattle: StartTrainerBattle TRAINER_ELITE_FOUR_AARON_REMATCH Return -_008A: +PokemonLeagueAaronRoom_CreateJournalEventDefeatedAaron: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_AARON, 0, 0, 0 Return -_0098: +PokemonLeagueAaronRoom_CreateJournalEventDefeatedRematchAaron: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_AARON_REMATCH, 0, 0, 0 Return -_00A6: +PokemonLeagueAaronRoom_BlackOut: BlackOutFromBattle ReleaseAll End -_00AC: - Message 2 +PokemonLeagueAaronRoom_AaronPostBattle: + Message PokemonLeagueAaronRoom_Text_AaronPostBattle WaitABXPadPress CloseMessage ReleaseAll End -_00B7: +PokemonLeagueAaronRoom_OnFrame: LockAll - ApplyMovement LOCALID_PLAYER, _00DC + ApplyMovement LOCALID_PLAYER, PokemonLeagueAaronRoom_Movement_PlayerEnterRoom WaitMovement PlayFanfare SEQ_SE_DP_KI_GASYAN - ClearFlag FLAG_UNK_0x0282 - AddObject 1 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_ENTRANCE_DOOR + AddObject LOCALID_ENTRANCE_DOOR SetVar VAR_MAP_LOCAL_1, 1 ReleaseAll End .balign 4, 0 -_00DC: +PokemonLeagueAaronRoom_Movement_PlayerEnterRoom: WalkNormalNorth 2 EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_bertha_room.s b/res/field/scripts/scripts_pokemon_league_bertha_room.s index 7b22dabbdd..cd2b05f506 100644 --- a/res/field/scripts/scripts_pokemon_league_bertha_room.s +++ b/res/field/scripts/scripts_pokemon_league_bertha_room.s @@ -1,74 +1,75 @@ #include "macros/scrcmd.inc" #include "res/text/bank/pokemon_league_bertha_room.h" +#include "res/field/events/events_pokemon_league_bertha_room.h" - ScriptEntry _000A - ScriptEntry _00B7 + ScriptEntry PokemonLeagueBerthaRoom_Bertha + ScriptEntry PokemonLeagueBerthaRoom_OnFrame ScriptEntryEnd -_000A: +PokemonLeagueBerthaRoom_Bertha: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfSet FLAG_UNK_0x00B1, _00AC + GoToIfSet FLAG_DEFEATED_BERTHA, PokemonLeagueBerthaRoom_BerthaPostBattle PlayTrainerEncounterBGM TRAINER_ELITE_FOUR_BERTHA - Message 0 + Message PokemonLeagueBerthaRoom_Text_BerthaIntro CloseMessage - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _007A - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0082 + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueBerthaRoom_StartBerthaBattle + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueBerthaRoom_StartBerthaRematchBattle CheckWonBattle VAR_RESULT - GoToIfEq VAR_RESULT, FALSE, _00A6 - SetFlag FLAG_UNK_0x00B1 + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueBerthaRoom_BlackOut + SetFlag FLAG_DEFEATED_BERTHA PlayFanfare SEQ_SE_DP_KI_GASYAN - RemoveObject 2 - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _008A - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0098 - Message 1 + RemoveObject LOCALID_EXIT_DOOR + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueBerthaRoom_CreateJournalEventDefeatedBertha + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueBerthaRoom_CreateJournalEventDefeatedRematchBertha + Message PokemonLeagueBerthaRoom_Text_BerthaDefeat WaitABXPadPress CloseMessage ReleaseAll End -_007A: +PokemonLeagueBerthaRoom_StartBerthaBattle: StartTrainerBattle TRAINER_ELITE_FOUR_BERTHA Return -_0082: +PokemonLeagueBerthaRoom_StartBerthaRematchBattle: StartTrainerBattle TRAINER_ELITE_FOUR_BERTHA_REMATCH Return -_008A: +PokemonLeagueBerthaRoom_CreateJournalEventDefeatedBertha: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_BERTHA, 0, 0, 0 Return -_0098: +PokemonLeagueBerthaRoom_CreateJournalEventDefeatedRematchBertha: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_BERTHA_REMATCH, 0, 0, 0 Return -_00A6: +PokemonLeagueBerthaRoom_BlackOut: BlackOutFromBattle ReleaseAll End -_00AC: - Message 2 +PokemonLeagueBerthaRoom_BerthaPostBattle: + Message PokemonLeagueBerthaRoom_Text_BerthaPostBattle WaitABXPadPress CloseMessage ReleaseAll End -_00B7: +PokemonLeagueBerthaRoom_OnFrame: LockAll - ApplyMovement LOCALID_PLAYER, _00DC + ApplyMovement LOCALID_PLAYER, PokemonLeagueBerthaRoom_Movement_PlayerEnterRoom WaitMovement PlayFanfare SEQ_SE_DP_KI_GASYAN - ClearFlag FLAG_UNK_0x0283 - AddObject 1 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_ENTRANCE_DOOR + AddObject LOCALID_ENTRANCE_DOOR SetVar VAR_MAP_LOCAL_1, 1 ReleaseAll End .balign 4, 0 -_00DC: +PokemonLeagueBerthaRoom_Movement_PlayerEnterRoom: WalkNormalNorth 2 EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_champion_room.s b/res/field/scripts/scripts_pokemon_league_champion_room.s index 472cbd1bff..8c333624ed 100644 --- a/res/field/scripts/scripts_pokemon_league_champion_room.s +++ b/res/field/scripts/scripts_pokemon_league_champion_room.s @@ -1,107 +1,108 @@ #include "macros/scrcmd.inc" #include "res/text/bank/pokemon_league_champion_room.h" +#include "res/field/events/events_pokemon_league_champion_room.h" - ScriptEntry _000A - ScriptEntry _000E + ScriptEntry PokemonLeagueChampionRoom_OnTransition + ScriptEntry PokemonLeagueChampionRoom_OnFrame ScriptEntryEnd -_000A: +PokemonLeagueChampionRoom_OnTransition: InitPersistedMapFeaturesForPlatformLift End -_000E: - ApplyMovement LOCALID_PLAYER, _012C +PokemonLeagueChampionRoom_OnFrame: + ApplyMovement LOCALID_PLAYER, PokemonLeagueChampionRoom_Movement_PlayerApproachCynthia WaitMovement PlayTrainerEncounterBGM TRAINER_CHAMPION_CYNTHIA - CallIfUnset FLAG_GAME_COMPLETED, _00EB - CallIfSet FLAG_GAME_COMPLETED, _00F0 + CallIfUnset FLAG_GAME_COMPLETED, PokemonLeagueChampionRoom_CynthiaIntro + CallIfSet FLAG_GAME_COMPLETED, PokemonLeagueChampionRoom_CynthiaGameCompletedIntro CloseMessage SetFlag FLAG_ALT_MUSIC_CHAMPION_ROOM - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _00F5 - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _00FD + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueChampionRoom_StartCynthiaBattle + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueChampionRoom_StartCynthiaRematchBattle CheckWonBattle VAR_RESULT - GoToIfEq VAR_RESULT, FALSE, _0121 - Message 1 - SetFlag FLAG_UNK_0x00B4 - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0105 - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0113 - Message 2 + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueChampionRoom_BlackOut + Message PokemonLeagueChampionRoom_Text_CynthiaDefeat + SetFlag FLAG_DEFEATED_CYNTHIA + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueChampionRoom_CreateJournalEventDefeatedCynthia + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueChampionRoom_CreateJournalEventDefeatedRematchCynthia + Message PokemonLeagueChampionRoom_Text_ComeWithMe CloseMessage - ApplyMovement 0, _0144 + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueChampionRoom_CynthiaMoveAwayFromElevator WaitMovement - ApplyMovement LOCALID_PLAYER, _0134 + ApplyMovement LOCALID_PLAYER, PokemonLeagueChampionRoom_PlayerEnterElevator WaitMovement - ApplyMovement 0, _0150 + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueChampionRoom_CynthiaFacePlayer WaitMovement WaitTime 30, VAR_RESULT TriggerPlatformLift WaitTime 30, VAR_RESULT - SetFlag FLAG_UNK_0x023A - SetFlag FLAG_UNK_0x023B - ApplyMovement LOCALID_PLAYER, _013C + SetFlag FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_CYNTHIA + SetFlag FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_PROF_ROWAN + ApplyMovement LOCALID_PLAYER, PokemonLeagueChampionRoom_EnterHallwayToHallOfFame WaitMovement PlayFanfare SEQ_SE_DP_KAIDAN2 FadeScreenOut WaitFadeScreen - Warp MAP_HEADER_POKEMON_LEAGUE_ELEVATOR_TO_HALL_OF_FAME, 0, 5, 23, 0 + Warp MAP_HEADER_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME, 0, 5, 23, 0 FadeScreenIn WaitFadeScreen ReleaseAll End -_00EB: - Message 0 +PokemonLeagueChampionRoom_CynthiaIntro: + Message PokemonLeagueChampionRoom_Text_CynthiaIntro Return -_00F0: - Message 3 +PokemonLeagueChampionRoom_CynthiaGameCompletedIntro: + Message PokemonLeagueChampionRoom_Text_CynthiaGameCompletedIntro Return -_00F5: +PokemonLeagueChampionRoom_StartCynthiaBattle: StartTrainerBattle TRAINER_CHAMPION_CYNTHIA Return -_00FD: +PokemonLeagueChampionRoom_StartCynthiaRematchBattle: StartTrainerBattle TRAINER_CHAMPION_CYNTHIA_REMATCH Return -_0105: +PokemonLeagueChampionRoom_CreateJournalEventDefeatedCynthia: CreateJournalEvent LOCATION_EVENT_BEAT_CHAMPION, TRAINER_CHAMPION_CYNTHIA, 0, 0, 0 Return -_0113: +PokemonLeagueChampionRoom_CreateJournalEventDefeatedRematchCynthia: CreateJournalEvent LOCATION_EVENT_BEAT_CHAMPION, TRAINER_CHAMPION_CYNTHIA_REMATCH, 0, 0, 0 Return -_0121: +PokemonLeagueChampionRoom_BlackOut: ClearFlag FLAG_ALT_MUSIC_CHAMPION_ROOM BlackOutFromBattle ReleaseAll End .balign 4, 0 -_012C: +PokemonLeagueChampionRoom_Movement_PlayerApproachCynthia: WalkNormalNorth 4 EndMovement .balign 4, 0 -_0134: +PokemonLeagueChampionRoom_PlayerEnterElevator: WalkNormalNorth 6 EndMovement .balign 4, 0 -_013C: +PokemonLeagueChampionRoom_EnterHallwayToHallOfFame: WalkNormalNorth 6 EndMovement .balign 4, 0 -_0144: +PokemonLeagueChampionRoom_CynthiaMoveAwayFromElevator: WalkNormalWest WalkOnSpotNormalSouth EndMovement .balign 4, 0 -_0150: +PokemonLeagueChampionRoom_CynthiaFacePlayer: WalkOnSpotNormalNorth EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_elevator_to_aaron_room.s b/res/field/scripts/scripts_pokemon_league_elevator_to_aaron_room.s index f1642919a9..96141177c6 100644 --- a/res/field/scripts/scripts_pokemon_league_elevator_to_aaron_room.s +++ b/res/field/scripts/scripts_pokemon_league_elevator_to_aaron_room.s @@ -1,12 +1,12 @@ #include "macros/scrcmd.inc" - ScriptEntry _000E + ScriptEntry PokemonLeagueElevatorToAaronRoom_OnTransition ScriptEntry _0029 - ScriptEntry _0031 + ScriptEntry PokemonLeagueElevatorToAaronRoom_TriggerPlatformLift ScriptEntryEnd -_000E: +PokemonLeagueElevatorToAaronRoom_OnTransition: SetVar VAR_MAP_LOCAL_0, 0 InitPersistedMapFeaturesForPlatformLift CheckPlatformLiftNotUsedWhenEnteredMap VAR_MAP_LOCAL_1 @@ -17,7 +17,7 @@ _0029: SetVar VAR_MAP_LOCAL_0, 1 End -_0031: +PokemonLeagueElevatorToAaronRoom_TriggerPlatformLift: TriggerPlatformLift SetVar VAR_MAP_LOCAL_0, 1 End diff --git a/res/field/scripts/scripts_pokemon_league_elevator_to_bertha_room.s b/res/field/scripts/scripts_pokemon_league_elevator_to_bertha_room.s index f1642919a9..3750762a54 100644 --- a/res/field/scripts/scripts_pokemon_league_elevator_to_bertha_room.s +++ b/res/field/scripts/scripts_pokemon_league_elevator_to_bertha_room.s @@ -1,12 +1,12 @@ #include "macros/scrcmd.inc" - ScriptEntry _000E + ScriptEntry PokemonLeagueElevatorToBerthaRoom_OnTransition ScriptEntry _0029 - ScriptEntry _0031 + ScriptEntry PokemonLeagueElevatorToBerthaRoom_TriggerPlatformLift ScriptEntryEnd -_000E: +PokemonLeagueElevatorToBerthaRoom_OnTransition: SetVar VAR_MAP_LOCAL_0, 0 InitPersistedMapFeaturesForPlatformLift CheckPlatformLiftNotUsedWhenEnteredMap VAR_MAP_LOCAL_1 @@ -17,7 +17,7 @@ _0029: SetVar VAR_MAP_LOCAL_0, 1 End -_0031: +PokemonLeagueElevatorToBerthaRoom_TriggerPlatformLift: TriggerPlatformLift SetVar VAR_MAP_LOCAL_0, 1 End diff --git a/res/field/scripts/scripts_pokemon_league_elevator_to_champion_room.s b/res/field/scripts/scripts_pokemon_league_elevator_to_champion_room.s index f1642919a9..f023408742 100644 --- a/res/field/scripts/scripts_pokemon_league_elevator_to_champion_room.s +++ b/res/field/scripts/scripts_pokemon_league_elevator_to_champion_room.s @@ -1,12 +1,12 @@ #include "macros/scrcmd.inc" - ScriptEntry _000E + ScriptEntry PokemonLeagueElevatorToChampionRoom_OnTransition ScriptEntry _0029 - ScriptEntry _0031 + ScriptEntry PokemonLeagueElevatorToChampionRoom_TriggerPlatformLift ScriptEntryEnd -_000E: +PokemonLeagueElevatorToChampionRoom_OnTransition: SetVar VAR_MAP_LOCAL_0, 0 InitPersistedMapFeaturesForPlatformLift CheckPlatformLiftNotUsedWhenEnteredMap VAR_MAP_LOCAL_1 @@ -17,7 +17,7 @@ _0029: SetVar VAR_MAP_LOCAL_0, 1 End -_0031: +PokemonLeagueElevatorToChampionRoom_TriggerPlatformLift: TriggerPlatformLift SetVar VAR_MAP_LOCAL_0, 1 End diff --git a/res/field/scripts/scripts_pokemon_league_elevator_to_flint_room.s b/res/field/scripts/scripts_pokemon_league_elevator_to_flint_room.s index f1642919a9..1f3875c02f 100644 --- a/res/field/scripts/scripts_pokemon_league_elevator_to_flint_room.s +++ b/res/field/scripts/scripts_pokemon_league_elevator_to_flint_room.s @@ -1,12 +1,12 @@ #include "macros/scrcmd.inc" - ScriptEntry _000E + ScriptEntry PokemonLeagueElevatorToFlintRoom_OnTransition ScriptEntry _0029 - ScriptEntry _0031 + ScriptEntry PokemonLeagueElevatorToFlintRoom_TriggerPlatformLift ScriptEntryEnd -_000E: +PokemonLeagueElevatorToFlintRoom_OnTransition: SetVar VAR_MAP_LOCAL_0, 0 InitPersistedMapFeaturesForPlatformLift CheckPlatformLiftNotUsedWhenEnteredMap VAR_MAP_LOCAL_1 @@ -17,7 +17,7 @@ _0029: SetVar VAR_MAP_LOCAL_0, 1 End -_0031: +PokemonLeagueElevatorToFlintRoom_TriggerPlatformLift: TriggerPlatformLift SetVar VAR_MAP_LOCAL_0, 1 End diff --git a/res/field/scripts/scripts_pokemon_league_elevator_to_hall_of_fame.s b/res/field/scripts/scripts_pokemon_league_elevator_to_hall_of_fame.s deleted file mode 100644 index 4f5a2872c9..0000000000 --- a/res/field/scripts/scripts_pokemon_league_elevator_to_hall_of_fame.s +++ /dev/null @@ -1,140 +0,0 @@ -#include "macros/scrcmd.inc" -#include "res/text/bank/pokemon_league_elevator_to_hall_of_fame.h" - - - ScriptEntry _000A - ScriptEntry _000A - ScriptEntryEnd - -_000A: - LockAll - ApplyMovement LOCALID_PLAYER, _016C - WaitMovement - SetObjectEventPos 0, 6, 14 - ClearFlag FLAG_UNK_0x023A - AddObject 0 - LockObject 0 - ApplyMovement 0, _0138 - ApplyMovement LOCALID_PLAYER, _017C - WaitMovement - Message 0 - CloseMessage - SetObjectEventPos 1, 4, 14 - ClearFlag FLAG_UNK_0x023B - AddObject 1 - LockObject 1 - ApplyMovement 1, _0114 - WaitMovement - ApplyMovement LOCALID_PLAYER, _0190 - WaitMovement - BufferPlayerName 0 - Message 1 - CloseMessage - ApplyMovement 0, _0144 - WaitMovement - Message 2 - BufferPlayerName 0 - Message 3 - ApplyMovement 0, _0150 - WaitMovement - Message 4 - GetPlayerGender VAR_RESULT - GoToIfEq VAR_RESULT, GENDER_MALE, _00B1 - GoToIfEq VAR_RESULT, 1, _00BD - End - -_00B1: - BufferPlayerName 0 - Message 5 - GoTo _00C9 - -_00BD: - BufferPlayerName 0 - Message 6 - GoTo _00C9 - -_00C9: - Message 7 - CloseMessage - ApplyMovement 0, _0158 - ApplyMovement 1, _0120 - ApplyMovement LOCALID_PLAYER, _0198 - WaitMovement - PlayFanfare SEQ_SE_DP_KAIDAN2 - FadeScreenOut - WaitFadeScreen - Warp MAP_HEADER_POKEMON_LEAGUE_HALL_OF_FAME, 0, 8, 15, 0 - FadeScreenIn - WaitFadeScreen - ReleaseAll - End - - .balign 4, 0 -_0114: - WalkNormalNorth 8 - WalkOnSpotNormalEast - EndMovement - - .balign 4, 0 -_0120: - Delay8 3 - WalkNormalNorth 2 - WalkNormalEast - WalkNormalNorth 2 - SetInvisible - EndMovement - - .balign 4, 0 -_0138: - WalkNormalNorth 8 - WalkOnSpotNormalWest - EndMovement - - .balign 4, 0 -_0144: - WalkOnSpotNormalWest - EmoteExclamationMark - EndMovement - - .balign 4, 0 -_0150: - WalkOnSpotNormalWest - EndMovement - - .balign 4, 0 -_0158: - WalkNormalNorth 2 - WalkNormalWest - WalkNormalNorth 2 - SetInvisible - EndMovement - - .balign 4, 0 -_016C: - WalkNormalNorth 17 - Delay8 - WalkOnSpotNormalSouth - EndMovement - - .balign 4, 0 -_017C: - Delay8 6 - WalkOnSpotNormalEast - EndMovement - -PokemonLeagueElevatorToHallOfFame_UnusedMovement: - WalkOnSpotNormalEast - EndMovement - - .balign 4, 0 -_0190: - WalkOnSpotNormalWest - EndMovement - - .balign 4, 0 -_0198: - Delay8 - WalkOnSpotNormalNorth - Delay8 6 - WalkNormalNorth 4 - EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_elevator_to_lucian_room.s b/res/field/scripts/scripts_pokemon_league_elevator_to_lucian_room.s index f1642919a9..6f2bed2f31 100644 --- a/res/field/scripts/scripts_pokemon_league_elevator_to_lucian_room.s +++ b/res/field/scripts/scripts_pokemon_league_elevator_to_lucian_room.s @@ -1,12 +1,12 @@ #include "macros/scrcmd.inc" - ScriptEntry _000E + ScriptEntry PokemonLeagueElevatorToLucianRoom_OnTransition ScriptEntry _0029 - ScriptEntry _0031 + ScriptEntry PokemonLeagueElevatorToLucianRoom_TriggerPlatformLift ScriptEntryEnd -_000E: +PokemonLeagueElevatorToLucianRoom_OnTransition: SetVar VAR_MAP_LOCAL_0, 0 InitPersistedMapFeaturesForPlatformLift CheckPlatformLiftNotUsedWhenEnteredMap VAR_MAP_LOCAL_1 @@ -17,7 +17,7 @@ _0029: SetVar VAR_MAP_LOCAL_0, 1 End -_0031: +PokemonLeagueElevatorToLucianRoom_TriggerPlatformLift: TriggerPlatformLift SetVar VAR_MAP_LOCAL_0, 1 End diff --git a/res/field/scripts/scripts_pokemon_league_flint_room.s b/res/field/scripts/scripts_pokemon_league_flint_room.s index 67adc60428..172d1f93b5 100644 --- a/res/field/scripts/scripts_pokemon_league_flint_room.s +++ b/res/field/scripts/scripts_pokemon_league_flint_room.s @@ -1,95 +1,96 @@ #include "macros/scrcmd.inc" #include "res/text/bank/pokemon_league_flint_room.h" +#include "res/field/events/events_pokemon_league_flint_room.h" - ScriptEntry _000A - ScriptEntry _0138 + ScriptEntry PokemonLeagueFlintRoom_Flint + ScriptEntry PokemonLeagueFlintRoom_OnFrame ScriptEntryEnd -_000A: +PokemonLeagueFlintRoom_Flint: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfSet FLAG_UNK_0x00B2, _00D2 + GoToIfSet FLAG_DEFEATED_FLINT, PokemonLeagueFlintRoom_PostBattle PlayTrainerEncounterBGM TRAINER_ELITE_FOUR_FLINT - CallIfUnset FLAG_GAME_COMPLETED, _00F0 - CallIfSet FLAG_GAME_COMPLETED, _0104 + CallIfUnset FLAG_GAME_COMPLETED, PokemonLeagueFlintRoom_FlintIntro + CallIfSet FLAG_GAME_COMPLETED, PokemonLeagueFlintRoom_FlintGameCompletedIntro CloseMessage - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _00A0 - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _00A8 + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueFlintRoom_StartFlintBattle + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueFlintRoom_StartFlintRematchBattle CheckWonBattle VAR_RESULT - GoToIfEq VAR_RESULT, FALSE, _00CC - SetFlag FLAG_UNK_0x00B2 + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueFlintRoom_BlackOut + SetFlag FLAG_DEFEATED_FLINT PlayFanfare SEQ_SE_DP_KI_GASYAN - RemoveObject 1 - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _00B0 - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _00BE - CallIfUnset FLAG_GAME_COMPLETED, _0109 - CallIfSet FLAG_GAME_COMPLETED, _010E + RemoveObject LOCALID_EXIT_DOOR + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueFlintRoom_CreateJournalEventDefeatedFlint + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueFlintRoom_CreateJournalEventDefeatedRematchFlint + CallIfUnset FLAG_GAME_COMPLETED, PokemonLeagueFlintRoom_FlintDefeat + CallIfSet FLAG_GAME_COMPLETED, PokemonLeagueFlintRoom_FlintGameCompletedDefeat WaitABXPadPress CloseMessage ReleaseAll End -_00A0: +PokemonLeagueFlintRoom_StartFlintBattle: StartTrainerBattle TRAINER_ELITE_FOUR_FLINT Return -_00A8: +PokemonLeagueFlintRoom_StartFlintRematchBattle: StartTrainerBattle TRAINER_ELITE_FOUR_FLINT_REMATCH Return -_00B0: +PokemonLeagueFlintRoom_CreateJournalEventDefeatedFlint: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_FLINT, 0, 0, 0 Return -_00BE: +PokemonLeagueFlintRoom_CreateJournalEventDefeatedRematchFlint: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_FLINT_REMATCH, 0, 0, 0 Return -_00CC: +PokemonLeagueFlintRoom_BlackOut: BlackOutFromBattle ReleaseAll End -_00D2: - CallIfUnset FLAG_GAME_COMPLETED, _0113 - CallIfSet FLAG_GAME_COMPLETED, _0118 +PokemonLeagueFlintRoom_PostBattle: + CallIfUnset FLAG_GAME_COMPLETED, PokemonLeagueFlintRoom_FlintPostBattle + CallIfSet FLAG_GAME_COMPLETED, PokemonLeagueFlintRoom_FlintGameCompletedPostBattle WaitABXPadPress CloseMessage ReleaseAll End -_00F0: - Message 0 +PokemonLeagueFlintRoom_FlintIntro: + Message PokemonLeagueFlintRoom_Text_FlintIntroPart1 CloseMessage - ApplyMovement 0, _0120 + ApplyMovement LOCALID_FLINT, PokemonLeagueFlintRoom_Movement_WalkFastInPlace WaitMovement - Message 1 + Message PokemonLeagueFlintRoom_Text_FlintIntroPart2 Return -_0104: - Message 4 +PokemonLeagueFlintRoom_FlintGameCompletedIntro: + Message PokemonLeagueFlintRoom_Text_FlintGameCompletedIntro Return -_0109: - Message 2 +PokemonLeagueFlintRoom_FlintDefeat: + Message PokemonLeagueFlintRoom_Text_FlintDefeat Return -_010E: - Message 5 +PokemonLeagueFlintRoom_FlintGameCompletedDefeat: + Message PokemonLeagueFlintRoom_Text_FlintGameCompletedDefeat Return -_0113: - Message 3 +PokemonLeagueFlintRoom_FlintPostBattle: + Message PokemonLeagueFlintRoom_Text_FlintPostBattle Return -_0118: - Message 6 +PokemonLeagueFlintRoom_FlintGameCompletedPostBattle: + Message PokemonLeagueFlintRoom_Text_FlintGameCompletedPostBattle Return .balign 4, 0 -_0120: +PokemonLeagueFlintRoom_Movement_WalkFastInPlace: LockDir WalkOnSpotNormalSouth 3 WalkOnSpotFastSouth 4 @@ -97,18 +98,18 @@ _0120: UnlockDir EndMovement -_0138: +PokemonLeagueFlintRoom_OnFrame: LockAll - ApplyMovement LOCALID_PLAYER, _015C + ApplyMovement LOCALID_PLAYER, PokemonLeagueFlintRoom_Movement_PlayerEnterRoom WaitMovement PlayFanfare SEQ_SE_DP_KI_GASYAN - ClearFlag FLAG_UNK_0x0284 - AddObject 2 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_ENTRANCE_DOOR + AddObject LOCALID_ENTRANCE_DOOR SetVar VAR_MAP_LOCAL_1, 1 ReleaseAll End .balign 4, 0 -_015C: +PokemonLeagueFlintRoom_Movement_PlayerEnterRoom: WalkNormalNorth 2 EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_hall_of_fame.s b/res/field/scripts/scripts_pokemon_league_hall_of_fame.s index b4c882a70d..f2069ffeb6 100644 --- a/res/field/scripts/scripts_pokemon_league_hall_of_fame.s +++ b/res/field/scripts/scripts_pokemon_league_hall_of_fame.s @@ -1,59 +1,60 @@ #include "macros/scrcmd.inc" #include "generated/hidden_locations.h" #include "res/text/bank/pokemon_league_hall_of_fame.h" +#include "res/field/events/events_pokemon_league_hall_of_fame.h" - ScriptEntry _0006 + ScriptEntry PokemonLeagueHallOfFame_OnFrame ScriptEntryEnd -_0006: +PokemonLeagueHallOfFame_OnFrame: LockAll - ApplyMovement LOCALID_PLAYER, _0124 + ApplyMovement LOCALID_PLAYER, PokemonLeague_HallOfFame_Movement_WalkUp WaitMovement - ApplyMovement 1, _0134 + ApplyMovement LOCALID_PROF_ROWAN, PokemonLeague_HallOfFame_Movement_TurnAroundInPlace WaitMovement - ScrCmd_28F VAR_RESULT - CallIfEq VAR_RESULT, 0, _0111 - CallIfNe VAR_RESULT, 0, _0119 + GetLeagueVictories VAR_RESULT + CallIfEq VAR_RESULT, 0, PokemonLeagueHallOfFame_FirstVictoryMessages + CallIfNe VAR_RESULT, 0, PokemonLeagueHallOfFame_RepeatVictoryMessages CloseMessage - ApplyMovement 1, _0144 - ApplyMovement 0, _015C + ApplyMovement LOCALID_PROF_ROWAN, PokemonLeagueHallOfFame_Movement_RowanFacePlayer + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueHallOfFame_Movement_CynthiaFacePlayer WaitMovement WaitTime 15, VAR_RESULT GetPlayerGender VAR_RESULT - GoToIfEq VAR_RESULT, GENDER_MALE, _0074 - GoToIfEq VAR_RESULT, GENDER_FEMALE, _0080 + GoToIfEq VAR_RESULT, GENDER_MALE, PokemonLeagueHallOfFame_WelcomeToTheHallOfFameMale + GoToIfEq VAR_RESULT, GENDER_FEMALE, PokemonLeagueHallOfFame_WelcomeToTheHallOfFameFemale End -_0074: +PokemonLeagueHallOfFame_WelcomeToTheHallOfFameMale: BufferPlayerName 0 - Message 4 - GoTo _008C + Message PokemonLeagueHallOfFame_Text_WelcomeToTheHallOfFameMale + GoTo PokemonLeagueHallOfFame_EnterHallOfFame -_0080: +PokemonLeagueHallOfFame_WelcomeToTheHallOfFameFemale: BufferPlayerName 0 - Message 5 - GoTo _008C + Message PokemonLeagueHallOfFame_Text_WelcomeToTheHallOfFameFemale + GoTo PokemonLeagueHallOfFame_EnterHallOfFame -_008C: +PokemonLeagueHallOfFame_EnterHallOfFame: CloseMessage - ApplyMovement LOCALID_PLAYER, _012C - ApplyMovement 1, _014C - ApplyMovement 0, _0164 + ApplyMovement LOCALID_PLAYER, PokemonLeagueHallOfFame_Movement_PlayerApproachMachine + ApplyMovement LOCALID_PROF_ROWAN, PokemonLeagueHallOfFame_Movement_RowanFaceMachine + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueHallOfFame_Movement_CynthiaFaceMachine WaitMovement - Message 6 + Message PokemonLeagueHallOfFame_Text_TimeToRecordYourNameAndYourPokemon CloseMessage SetFlag FLAG_UNLOCKED_VS_SEEKER_LVL_4 GetNationalDexEnabled VAR_RESULT - CallIfEq VAR_RESULT, 1, _010A + CallIfEq VAR_RESULT, TRUE, PokemonLeagueHallOfFame_EnableHiddenLocationSpringPath CallIfEq VAR_UNK_0x40F4, 0, _0102 GetPartyCount VAR_RESULT PlayHallOfFameHealingAnimation VAR_RESULT FadeScreenOut FADE_SCREEN_SPEED_MEDIUM WaitFadeScreen IncrementTrainerScore2 TRAINER_SCORE_EVENT_HALL_OF_FAME_ENTRY - Call _0174 - ScrCmd_0B0 + Call PokemonLeagueHallOfFame_SetHallOfFameVictoryFlagsAndVars + ClearGame ReturnToField FadeScreenIn WaitFadeScreen @@ -64,108 +65,108 @@ _0102: SetVar VAR_UNK_0x40F4, 1 Return -_010A: +PokemonLeagueHallOfFame_EnableHiddenLocationSpringPath: EnableHiddenLocation HIDDEN_LOCATION_SPRING_PATH Return -_0111: - Message 0 - Message 2 +PokemonLeagueHallOfFame_FirstVictoryMessages: + Message PokemonLeagueHallOfFame_Text_BeenAWhileSinceIEnteredThisRoom + Message PokemonLeagueHallOfFame_Text_LastTimeWasLongTimeAgo Return -_0119: - Message 1 - Message 3 +PokemonLeagueHallOfFame_RepeatVictoryMessages: + Message PokemonLeagueHallOfFame_Text_AlwaysStraighterThanUsual + Message PokemonLeagueHallOfFame_Text_ThisRoomIsALegacyToPokemonAndTrainers Return .balign 4, 0 -_0124: +PokemonLeague_HallOfFame_Movement_WalkUp: WalkNormalNorth 8 EndMovement .balign 4, 0 -_012C: +PokemonLeagueHallOfFame_Movement_PlayerApproachMachine: WalkNormalNorth 2 EndMovement .balign 4, 0 -_0134: +PokemonLeague_HallOfFame_Movement_TurnAroundInPlace: WalkOnSpotNormalNorth Delay8 2 WalkOnSpotNormalEast EndMovement .balign 4, 0 -_0144: +PokemonLeagueHallOfFame_Movement_RowanFacePlayer: WalkOnSpotNormalSouth EndMovement .balign 4, 0 -_014C: +PokemonLeagueHallOfFame_Movement_RowanFaceMachine: Delay8 WalkOnSpotNormalEast WalkOnSpotNormalNorth EndMovement .balign 4, 0 -_015C: +PokemonLeagueHallOfFame_Movement_CynthiaFacePlayer: WalkOnSpotNormalSouth EndMovement .balign 4, 0 -_0164: +PokemonLeagueHallOfFame_Movement_CynthiaFaceMachine: Delay8 WalkOnSpotNormalWest WalkOnSpotNormalNorth EndMovement -_0174: - ClearFlag FLAG_UNK_0x01D1 +PokemonLeagueHallOfFame_SetHallOfFameVictoryFlagsAndVars: + ClearFlag FLAG_HIDE_DAY_CARE_GYM_GUIDE ClearFlag FLAG_ALT_MUSIC_CHAMPION_ROOM - CallIfUnset FLAG_UNK_0x00D0, _023C - CallIfUnset FLAG_UNK_0x00D1, _0244 - CallIfUnset FLAG_UNK_0x0120, _024C - CallIfUnset FLAG_UNK_0x011B, _0263 - CallIfUnset FLAG_AZELF_CAUGHT, PokemonLeagueHallOfFame_ClearFlagAzelfDisappeared - CallIfUnset FLAG_UXIE_CAUGHT, PokemonLeagueHallOfFame_ClearFlagUxieDisappeared - CallIfUnset FLAG_UNK_0x0121, _0287 - CallIfEq VAR_ROAMING_MESPRIT_STATE, 2, PokemonLeagueHallOfFame_ClearFlagMespritDisappeared - CallIfEq VAR_ROAMING_CRESSELIA_STATE, 2, _0299 - CallIfEq VAR_ROAMING_MOLTRES_STATE, 2, _02A5 - CallIfEq VAR_ROAMING_ZAPDOS_STATE, 2, _02AD - CallIfEq VAR_ROAMING_ARTICUNO_STATE, 2, _02B5 - CallIfEq VAR_UNK_0x410F, 0, _0234 - ClearFlag FLAG_UNK_0x0177 - CallIfUnset FLAG_VEILSTONE_STORE_B1F_SPOKEN_TO_PROF_ROWAN, _02BD - ClearFlag FLAG_UNK_0x0186 - ClearFlag FLAG_UNK_0x0124 - SetFlag FLAG_UNK_0x02A0 + CallIfUnset FLAG_CAUGHT_DIALGA, PokemonLeagueHallOfFame_ResetSpearPillarDialgaState + CallIfUnset FLAG_CAUGHT_PALKIA, PokemonLeagueHallOfFame_ResetSpearPillarPalkiaState + CallIfUnset FLAG_CAUGHT_HEATRAN, PokemonLeagueHallOfFame_TryShowStarkMountainHeatran + CallIfUnset FLAG_CAUGHT_REGIGIGAS, PokemonLeagueHallOfFame_TryShowSnowpointTempleRegigigas + CallIfUnset FLAG_CAUGHT_AZELF, PokemonLeagueHallOfFame_ClearFlagAzelfDisappeared + CallIfUnset FLAG_CAUGHT_UXIE, PokemonLeagueHallOfFame_ClearFlagUxieDisappeared + CallIfUnset FLAG_CAUGHT_GIRATINA, PokemonLeagueHallOfFame_ShowTurnbackCaveGiratina + CallIfEq VAR_ROAMING_MESPRIT_STATE, ROAMER_STATE_DEFEATED, PokemonLeagueHallOfFame_ResetRoamingMesprit + CallIfEq VAR_ROAMING_CRESSELIA_STATE, ROAMER_STATE_DEFEATED, PokemonLeagueHallOfFame_ResetRoamingCresselia + CallIfEq VAR_ROAMING_MOLTRES_STATE, ROAMER_STATE_DEFEATED, PokemonLeagueHallOfFame_ResetRoamingMoltres + CallIfEq VAR_ROAMING_ZAPDOS_STATE, ROAMER_STATE_DEFEATED, PokemonLeagueHallOfFame_ResetRoamingZapdos + CallIfEq VAR_ROAMING_ARTICUNO_STATE, ROAMER_STATE_DEFEATED, PokemonLeagueHallOfFame_ResetRoamingArticuno + CallIfEq VAR_TWINLEAF_TOWN_PLAYER_HOUSE_STATE, 0, PokemonLeagueHallOfFame_IncreaseTwinleafTownPlayerHouseState + ClearFlag FLAG_HIDE_SANDGEM_TOWN_COUNTERPART + CallIfUnset FLAG_VEILSTONE_STORE_B1F_SPOKEN_TO_PROF_ROWAN, PokemonLeagueHallOfFame_ShowVeilstoneStoreB1FProfRowan + ClearFlag FLAG_HIDE_CANALAVE_LIBRARY_1F_LUCIAN + ClearFlag FLAG_TALKED_TO_CELESTIC_TOWN_CAVE_CYNTHIA + SetFlag FLAG_HIDE_SENDOFF_SPRING_CYNTHIA Return -_0234: - SetVar VAR_UNK_0x410F, 1 +PokemonLeagueHallOfFame_IncreaseTwinleafTownPlayerHouseState: + SetVar VAR_TWINLEAF_TOWN_PLAYER_HOUSE_STATE, 1 Return -_023C: - SetVar VAR_UNK_0x40C4, 0 +PokemonLeagueHallOfFame_ResetSpearPillarDialgaState: + SetVar VAR_SPEAR_PILLAR_DIALGA_STATE, 0 Return -_0244: - SetVar VAR_UNK_0x40C5, 0 +PokemonLeagueHallOfFame_ResetSpearPillarPalkiaState: + SetVar VAR_SPEAR_PILLAR_PALKIA_STATE, 0 Return -_024C: - GoToIfUnset FLAG_MESPRIT_CAUGHT, _0261 - ClearFlag FLAG_UNK_0x01DD +PokemonLeagueHallOfFame_TryShowStarkMountainHeatran: + GoToIfUnset FLAG_CAUGHT_MESPRIT, PokemonLeagueHallOfFame_DontShowStarkMountainHeatran + ClearFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN SetVar VAR_UNK_0x409E, 1 -_0261: +PokemonLeagueHallOfFame_DontShowStarkMountainHeatran: Return -_0263: +PokemonLeagueHallOfFame_TryShowSnowpointTempleRegigigas: GetNationalDexEnabled VAR_RESULT - GoToIfEq VAR_RESULT, 0, _0279 - ClearFlag FLAG_UNK_0x0243 -_0279: + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueHallOfFame_DontShowSnowpointTempleRegigigas + ClearFlag FLAG_HIDE_SNOWPOINT_TEMPLE_B5F_REGIGIGAS +PokemonLeagueHallOfFame_DontShowSnowpointTempleRegigigas: Return PokemonLeagueHallOfFame_ClearFlagAzelfDisappeared: @@ -176,33 +177,33 @@ PokemonLeagueHallOfFame_ClearFlagUxieDisappeared: ClearFlag FLAG_UXIE_DISAPPEARED Return -_0287: - ClearFlag FLAG_UNK_0x0250 +PokemonLeagueHallOfFame_ShowTurnbackCaveGiratina: + ClearFlag FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA Return -PokemonLeagueHallOfFame_ClearFlagMespritDisappeared: +PokemonLeagueHallOfFame_ResetRoamingMesprit: ClearFlag FLAG_MESPRIT_DISAPPEARED - SetVar VAR_ROAMING_MESPRIT_STATE, 3 + SetVar VAR_ROAMING_MESPRIT_STATE, ROAMER_STATE_RESET Return -_0299: - ClearFlag FLAG_UNK_0x024F - SetVar VAR_ROAMING_CRESSELIA_STATE, 3 +PokemonLeagueHallOfFame_ResetRoamingCresselia: + ClearFlag FLAG_HIDE_FULLMOON_ISLAND_FOREST_CRESSELIA + SetVar VAR_ROAMING_CRESSELIA_STATE, ROAMER_STATE_RESET Return -_02A5: - SetVar VAR_ROAMING_MOLTRES_STATE, 3 +PokemonLeagueHallOfFame_ResetRoamingMoltres: + SetVar VAR_ROAMING_MOLTRES_STATE, ROAMER_STATE_RESET Return -_02AD: - SetVar VAR_ROAMING_ZAPDOS_STATE, 3 +PokemonLeagueHallOfFame_ResetRoamingZapdos: + SetVar VAR_ROAMING_ZAPDOS_STATE, ROAMER_STATE_RESET Return -_02B5: - SetVar VAR_ROAMING_ARTICUNO_STATE, 3 +PokemonLeagueHallOfFame_ResetRoamingArticuno: + SetVar VAR_ROAMING_ARTICUNO_STATE, ROAMER_STATE_RESET Return -_02BD: +PokemonLeagueHallOfFame_ShowVeilstoneStoreB1FProfRowan: ClearFlag FLAG_VEILSTONE_STORE_B1F_HIDE_PROF_ROWAN Return diff --git a/res/field/scripts/scripts_pokemon_league_hallway_to_hall_of_fame.s b/res/field/scripts/scripts_pokemon_league_hallway_to_hall_of_fame.s new file mode 100644 index 0000000000..b784ee1358 --- /dev/null +++ b/res/field/scripts/scripts_pokemon_league_hallway_to_hall_of_fame.s @@ -0,0 +1,141 @@ +#include "macros/scrcmd.inc" +#include "res/text/bank/pokemon_league_hallway_to_hall_of_fame.h" +#include "res/field/events/events_pokemon_league_hallway_to_hall_of_fame.h" + + + ScriptEntry PokemonLeagueHallwayToHallOfFame_OnFrame + ScriptEntry PokemonLeagueHallwayToHallOfFame_OnFrame + ScriptEntryEnd + +PokemonLeagueHallwayToHallOfFame_OnFrame: + LockAll + ApplyMovement LOCALID_PLAYER, PokemonLeagueHallwayToHallOfFame_Movement_PlayerEnterHallway + WaitMovement + SetObjectEventPos LOCALID_CYNTHIA, 6, 14 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_CYNTHIA + AddObject LOCALID_CYNTHIA + LockObject LOCALID_CYNTHIA + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueHallwayToHallOfFame_Movement_CynthiaApproachPlayer + ApplyMovement LOCALID_PLAYER, PokemonLeagueHallwayToHallOfFame_Movement_PlayerFaceCynthia + WaitMovement + Message PokemonLeagueHallwayToHallOfFame_Text_TheRoomAheadIsTheHallOfFame + CloseMessage + SetObjectEventPos LOCALID_PROF_ROWAN, 4, 14 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_HALLWAY_TO_HALL_OF_FAME_PROF_ROWAN + AddObject LOCALID_PROF_ROWAN + LockObject LOCALID_PROF_ROWAN + ApplyMovement LOCALID_PROF_ROWAN, PokemonLeagueHallwayToHallOfFame_Movement_RowanApproachPlayer + WaitMovement + ApplyMovement LOCALID_PLAYER, PokemonLeagueHallwayToHallOfFame_Movement_PlayerFaceRowan + WaitMovement + BufferPlayerName 0 + Message PokemonLeagueHallwayToHallOfFame_Text_YourLastBattleWasSplendid + CloseMessage + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueHallwayToHallOfFame_Movement_ExclamationMark + WaitMovement + Message PokemonLeagueHallwayToHallOfFame_Text_HelloProfessorRowan + BufferPlayerName 0 + Message PokemonLeagueHallwayToHallOfFame_Text_YouveGrownIntoARealChampion + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueHallwayToHallOfFame_Movement_WalkInPlaceWest + WaitMovement + Message PokemonLeagueHallwayToHallOfFame_Text_ProfessorYouStillEnjoyEnthusiasm + GetPlayerGender VAR_RESULT + GoToIfEq VAR_RESULT, GENDER_MALE, PokemonLeagueHallwayToHallOfFame_StepThisWayPleaseMale + GoToIfEq VAR_RESULT, GENDER_FEMALE, PokemonLeagueHallwayToHallOfFame_StepThisWayPleaseFemale + End + +PokemonLeagueHallwayToHallOfFame_StepThisWayPleaseMale: + BufferPlayerName 0 + Message PokemonLeagueHallwayToHallOfFame_Text_StepThisWayPleaseMale + GoTo PokemonLeagueHallwayToHallOfFame_EnterHallOfFameRoom + +PokemonLeagueHallwayToHallOfFame_StepThisWayPleaseFemale: + BufferPlayerName 0 + Message PokemonLeagueHallwayToHallOfFame_Text_StepThisWayPleaseFemale + GoTo PokemonLeagueHallwayToHallOfFame_EnterHallOfFameRoom + +PokemonLeagueHallwayToHallOfFame_EnterHallOfFameRoom: + Message PokemonLeagueHallwayToHallOfFame_Text_ProfessorRowanPleaseJoinUs + CloseMessage + ApplyMovement LOCALID_CYNTHIA, PokemonLeagueHallwayToHallOfFame_Movement_CynthiaEnterHallOfFameRoom + ApplyMovement LOCALID_PROF_ROWAN, PokemonLeagueHallwayToHallOfFame_Movement_RowanEnterHallOfFameRoom + ApplyMovement LOCALID_PLAYER, PokemonLeagueHallwayToHallOfFame_Movement_PlayerEnterHallOfFameRoom + WaitMovement + PlayFanfare SEQ_SE_DP_KAIDAN2 + FadeScreenOut + WaitFadeScreen + Warp MAP_HEADER_POKEMON_LEAGUE_HALL_OF_FAME, 0, 8, 15, 0 + FadeScreenIn + WaitFadeScreen + ReleaseAll + End + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_RowanApproachPlayer: + WalkNormalNorth 8 + WalkOnSpotNormalEast + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_RowanEnterHallOfFameRoom: + Delay8 3 + WalkNormalNorth 2 + WalkNormalEast + WalkNormalNorth 2 + SetInvisible + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_CynthiaApproachPlayer: + WalkNormalNorth 8 + WalkOnSpotNormalWest + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_ExclamationMark: + WalkOnSpotNormalWest + EmoteExclamationMark + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_WalkInPlaceWest: + WalkOnSpotNormalWest + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_CynthiaEnterHallOfFameRoom: + WalkNormalNorth 2 + WalkNormalWest + WalkNormalNorth 2 + SetInvisible + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_PlayerEnterHallway: + WalkNormalNorth 17 + Delay8 + WalkOnSpotNormalSouth + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_PlayerFaceCynthia: + Delay8 6 + WalkOnSpotNormalEast + EndMovement + +PokemonLeagueElevatorToHallOfFame_UnusedMovement: + WalkOnSpotNormalEast + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_PlayerFaceRowan: + WalkOnSpotNormalWest + EndMovement + + .balign 4, 0 +PokemonLeagueHallwayToHallOfFame_Movement_PlayerEnterHallOfFameRoom: + Delay8 + WalkOnSpotNormalNorth + Delay8 6 + WalkNormalNorth 4 + EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_lucian_room.s b/res/field/scripts/scripts_pokemon_league_lucian_room.s index db32212e98..97b06f5eb2 100644 --- a/res/field/scripts/scripts_pokemon_league_lucian_room.s +++ b/res/field/scripts/scripts_pokemon_league_lucian_room.s @@ -1,74 +1,75 @@ #include "macros/scrcmd.inc" #include "res/text/bank/pokemon_league_lucian_room.h" +#include "res/field/events/events_pokemon_league_lucian_room.h" - ScriptEntry _000A - ScriptEntry _00B7 + ScriptEntry PokemonLeagueLucianRoom_Lucian + ScriptEntry PokemonLeagueLucianRoom_OnFrame ScriptEntryEnd -_000A: +PokemonLeagueLucianRoom_Lucian: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfSet FLAG_UNK_0x00B3, _00AC + GoToIfSet FLAG_DEFEATED_LUCIAN, PokemonLeagueLucianRoom_LucianPostBattle PlayTrainerEncounterBGM TRAINER_ELITE_FOUR_LUCIAN - Message 0 + Message PokemonLeagueLucianRoom_Text_LucianIntro CloseMessage - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _007A - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0082 + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueLucianRoom_StartLucianBattle + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueLucianRoom_StartLucianRematchBattle CheckWonBattle VAR_RESULT - GoToIfEq VAR_RESULT, FALSE, _00A6 - SetFlag FLAG_UNK_0x00B3 + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueLucianRoom_BlackOut + SetFlag FLAG_DEFEATED_LUCIAN PlayFanfare SEQ_SE_DP_KI_GASYAN - RemoveObject 1 - CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _008A - CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, _0098 - Message 1 + RemoveObject LOCALID_EXIT_DOOR + CallIfUnset FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueLucianRoom_CreateJournalEventDefeatedLucian + CallIfSet FLAG_ARRESTED_CHARON_STARK_MOUNTAIN, PokemonLeagueLucianRoom_CreateJournalEventDefeatedRematchLucian + Message PokemonLeagueLucianRoom_Text_LucianDefeat WaitABXPadPress CloseMessage ReleaseAll End -_007A: +PokemonLeagueLucianRoom_StartLucianBattle: StartTrainerBattle TRAINER_ELITE_FOUR_LUCIAN Return -_0082: +PokemonLeagueLucianRoom_StartLucianRematchBattle: StartTrainerBattle TRAINER_ELITE_FOUR_LUCIAN_REMATCH Return -_008A: +PokemonLeagueLucianRoom_CreateJournalEventDefeatedLucian: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_LUCIAN, 0, 0, 0 Return -_0098: +PokemonLeagueLucianRoom_CreateJournalEventDefeatedRematchLucian: CreateJournalEvent LOCATION_EVENT_BEAT_ELITE_FOUR_MEMBER, TRAINER_ELITE_FOUR_LUCIAN_REMATCH, 0, 0, 0 Return -_00A6: +PokemonLeagueLucianRoom_BlackOut: BlackOutFromBattle ReleaseAll End -_00AC: - Message 2 +PokemonLeagueLucianRoom_LucianPostBattle: + Message PokemonLeagueLucianRoom_Text_LucianPostBattle WaitABXPadPress CloseMessage ReleaseAll End -_00B7: +PokemonLeagueLucianRoom_OnFrame: LockAll - ApplyMovement LOCALID_PLAYER, _00DC + ApplyMovement LOCALID_PLAYER, PokemonLeagueLucianRoom_Movement_PlayerEnterRoom WaitMovement PlayFanfare SEQ_SE_DP_KI_GASYAN - ClearFlag FLAG_UNK_0x0285 - AddObject 2 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_ENTRANCE_DOOR + AddObject LOCALID_ENTRANCE_DOOR SetVar VAR_MAP_LOCAL_1, 1 ReleaseAll End .balign 4, 0 -_00DC: +PokemonLeagueLucianRoom_Movement_PlayerEnterRoom: WalkNormalNorth 2 EndMovement diff --git a/res/field/scripts/scripts_pokemon_league_north_pokecenter_1f.s b/res/field/scripts/scripts_pokemon_league_north_pokecenter_1f.s index a6dfcb6d70..5a229b5816 100644 --- a/res/field/scripts/scripts_pokemon_league_north_pokecenter_1f.s +++ b/res/field/scripts/scripts_pokemon_league_north_pokecenter_1f.s @@ -1,102 +1,103 @@ #include "macros/scrcmd.inc" #include "res/text/bank/pokemon_league_north_pokecenter_1f.h" +#include "res/field/events/events_pokemon_league_north_pokecenter_1f.h" - ScriptEntry _006D - ScriptEntry _0128 - ScriptEntry _013E - ScriptEntry _0154 - ScriptEntry _0022 - ScriptEntry _0310 - ScriptEntry _0323 - ScriptEntry _0336 + ScriptEntry PokemonLeagueNorthPokecenter1F_DoorGuard + ScriptEntry PokemonLeagueNorthPokecenter1F_VendorCommon + ScriptEntry PokemonLeagueNorthPokecenter1F_VendorSpecial + ScriptEntry PokemonLeagueNorthPokecenter1F_RivalTrigger + ScriptEntry PokemonLeagueNorthPokecenter1F_OnTransition + ScriptEntry PokemonLeagueNorthPokecenter1F_AceTrainerF + ScriptEntry PokemonLeagueNorthPokecenter1F_Guitarist + ScriptEntry PokemonLeagueNorthPokecenter1F_Nurse ScriptEntryEnd -_0022: - SetFlag FLAG_UNK_0x09F4 - SetFlag FLAG_UNK_0x0282 - SetFlag FLAG_UNK_0x0283 - SetFlag FLAG_UNK_0x0284 - SetFlag FLAG_UNK_0x0285 - ClearFlag FLAG_UNK_0x0286 - ClearFlag FLAG_UNK_0x0287 - ClearFlag FLAG_UNK_0x0288 - ClearFlag FLAG_UNK_0x0289 - ClearFlag FLAG_UNK_0x00B0 - ClearFlag FLAG_UNK_0x00B1 - ClearFlag FLAG_UNK_0x00B2 - ClearFlag FLAG_UNK_0x00B3 - GoToIfSet FLAG_UNK_0x00AF, _0063 +PokemonLeagueNorthPokecenter1F_OnTransition: + SetFlag FLAG_FIRST_ARRIVAL_POKEMON_LEAGUE + SetFlag FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_ENTRANCE_DOOR + SetFlag FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_ENTRANCE_DOOR + SetFlag FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_ENTRANCE_DOOR + SetFlag FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_ENTRANCE_DOOR + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_AARON_ROOM_EXIT_DOOR + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_BERTHA_ROOM_EXIT_DOOR + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_FLINT_ROOM_EXIT_DOOR + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_LUCIAN_ROOM_EXIT_DOOR + ClearFlag FLAG_DEFEATED_AARON + ClearFlag FLAG_DEFEATED_BERTHA + ClearFlag FLAG_DEFEATED_FLINT + ClearFlag FLAG_DEFEATED_LUCIAN + GoToIfSet FLAG_POKEMON_LEAGUE_DOOR_GUARD_MOVED_AWAY, PokemonLeagueNorthPokecenter1F_MoveDoorGuardAwayFromDoor End -_0063: +PokemonLeagueNorthPokecenter1F_MoveDoorGuardAwayFromDoor: SetObjectEventPos 0, 12, 3 End -_006D: +PokemonLeagueNorthPokecenter1F_DoorGuard: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfSet FLAG_UNK_0x00AF, _00F7 - Message 2 + GoToIfSet FLAG_POKEMON_LEAGUE_DOOR_GUARD_MOVED_AWAY, PokemonLeagueNorthPokecenter1F_DoorGuardAfterMovingAway + Message PokemonLeagueNorthPokecenter1F_Text_LetUsExamineYourGymBadges CloseMessage PlaySound SEQ_BADGE WaitSound GetPlayerDir VAR_RESULT - GoToIfEq VAR_RESULT, 0, _00B8 - GoToIfEq VAR_RESULT, 2, _00C8 - GoToIfEq VAR_RESULT, 3, _00D8 + GoToIfEq VAR_RESULT, DIR_NORTH, PokemonLeagueNorthPokecenter1F_DoorGuardMoveAwayEastSouth + GoToIfEq VAR_RESULT, DIR_WEST, PokemonLeagueNorthPokecenter1F_DoorGuardMoveAwayWest + GoToIfEq VAR_RESULT, DIR_EAST, PokemonLeagueNorthPokecenter1F_DoorGuardMoveAwayEastWest End -_00B8: - ApplyMovement 0, _0104 +PokemonLeagueNorthPokecenter1F_DoorGuardMoveAwayEastSouth: + ApplyMovement LOCALID_ACE_TRAINER_M, PokemonLeagueNorthPokecenter1F_Movement_DoorGuardMoveAwayEastSouth WaitMovement - GoTo _00E8 + GoTo PokemonLeagueNorthPokecenter1F_DoorGuardMovedAway -_00C8: - ApplyMovement 0, _0110 +PokemonLeagueNorthPokecenter1F_DoorGuardMoveAwayWest: + ApplyMovement LOCALID_ACE_TRAINER_M, PokemonLeagueNorthPokecenter1F_Movement_DoorGuardMoveAwayWest WaitMovement - GoTo _00E8 + GoTo PokemonLeagueNorthPokecenter1F_DoorGuardMovedAway -_00D8: - ApplyMovement 0, _011C +PokemonLeagueNorthPokecenter1F_DoorGuardMoveAwayEastWest: + ApplyMovement LOCALID_ACE_TRAINER_M, PokemonLeagueNorthPokecenter1F_Movement_DoorGuardMoveAwayEastWest WaitMovement - GoTo _00E8 + GoTo PokemonLeagueNorthPokecenter1F_DoorGuardMovedAway -_00E8: - SetFlag FLAG_UNK_0x00AF - Message 3 +PokemonLeagueNorthPokecenter1F_DoorGuardMovedAway: + SetFlag FLAG_POKEMON_LEAGUE_DOOR_GUARD_MOVED_AWAY + Message PokemonLeagueNorthPokecenter1F_Text_YouveCollectedAllGymBadges WaitABXPadPress CloseMessage ReleaseAll End -_00F7: - Message 4 +PokemonLeagueNorthPokecenter1F_DoorGuardAfterMovingAway: + Message PokemonLeagueNorthPokecenter1F_Text_YouWillBeFacingTheEliteFour WaitABXPadPress CloseMessage ReleaseAll End .balign 4, 0 -_0104: +PokemonLeagueNorthPokecenter1F_Movement_DoorGuardMoveAwayEastSouth: WalkNormalEast WalkOnSpotNormalSouth EndMovement .balign 4, 0 -_0110: +PokemonLeagueNorthPokecenter1F_Movement_DoorGuardMoveAwayWest: WalkNormalWest WalkOnSpotNormalEast EndMovement .balign 4, 0 -_011C: +PokemonLeagueNorthPokecenter1F_Movement_DoorGuardMoveAwayEastWest: WalkNormalEast WalkOnSpotNormalWest EndMovement -_0128: +PokemonLeagueNorthPokecenter1F_VendorCommon: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer @@ -106,7 +107,7 @@ _0128: ReleaseAll End -_013E: +PokemonLeagueNorthPokecenter1F_VendorSpecial: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer @@ -116,161 +117,161 @@ _013E: ReleaseAll End -_0154: +PokemonLeagueNorthPokecenter1F_RivalTrigger: LockAll - ClearFlag FLAG_UNK_0x021D - AddObject 5 + ClearFlag FLAG_HIDE_POKEMON_LEAGUE_NORTH_POKECENTER_1F_BARRY + AddObject LOCALID_BARRY SetRivalBGM GetPlayerMapPos VAR_0x8004, VAR_0x8005 - GoToIfEq VAR_0x8004, 10, _0191 - GoToIfEq VAR_0x8004, 11, _01A1 - GoToIfEq VAR_0x8004, 12, _01B1 + GoToIfEq VAR_0x8004, 10, PokemonLeagueNorthPokecenter1F_RivalEnterWest + GoToIfEq VAR_0x8004, 11, PokemonLeagueNorthPokecenter1F_RivalEnterNorth + GoToIfEq VAR_0x8004, 12, PokemonLeagueNorthPokecenter1F_RivalEnterEast End -_0191: - ApplyMovement 5, _02C0 +PokemonLeagueNorthPokecenter1F_RivalEnterWest: + ApplyMovement LOCALID_BARRY, PokemonLeagueNorthPokecenter1F_Movement_RivalEnterWest WaitMovement - GoTo _01C1 + GoTo PokemonLeagueNorthPokecenter1F_RivalIntro -_01A1: - ApplyMovement 5, _02D0 +PokemonLeagueNorthPokecenter1F_RivalEnterNorth: + ApplyMovement LOCALID_BARRY, PokemonLeagueNorthPokecenter1F_Movement_RivalEnterNorth WaitMovement - GoTo _01C1 + GoTo PokemonLeagueNorthPokecenter1F_RivalIntro -_01B1: - ApplyMovement 5, _02D8 +PokemonLeagueNorthPokecenter1F_RivalEnterEast: + ApplyMovement LOCALID_BARRY, PokemonLeagueNorthPokecenter1F_Movement_RivalEnterEast WaitMovement - GoTo _01C1 + GoTo PokemonLeagueNorthPokecenter1F_RivalIntro -_01C1: - ApplyMovement LOCALID_PLAYER, _02B8 +PokemonLeagueNorthPokecenter1F_RivalIntro: + ApplyMovement LOCALID_PLAYER, PokemonLeagueNorthPokecenter1F_Movement_PlayerFaceRival WaitMovement BufferRivalName 0 - Message 0 + Message PokemonLeagueNorthPokecenter1F_Text_RivalIntro CloseMessage GetPlayerStarterSpecies VAR_RESULT - GoToIfEq VAR_RESULT, SPECIES_TURTWIG, _0203 - GoToIfEq VAR_RESULT, SPECIES_CHIMCHAR, _020F - GoTo _01F7 + GoToIfEq VAR_RESULT, SPECIES_TURTWIG, PokemonLeagueNorthPokecenter1F_StartRivalTurtwigBattle + GoToIfEq VAR_RESULT, SPECIES_CHIMCHAR, PokemonLeagueNorthPokecenter1F_StartRivalChimcharBattle + GoTo PokemonLeagueNorthPokecenter1F_StartRivalPiplupBattle -_01F7: +PokemonLeagueNorthPokecenter1F_StartRivalPiplupBattle: StartTrainerBattle TRAINER_RIVAL_POKEMON_LEAGUE_PIPLUP - GoTo _021B + GoTo PokemonLeagueNorthPokecenter1F_RivalPostBattle -_0203: +PokemonLeagueNorthPokecenter1F_StartRivalTurtwigBattle: StartTrainerBattle TRAINER_RIVAL_POKEMON_LEAGUE_TURTWIG - GoTo _021B + GoTo PokemonLeagueNorthPokecenter1F_RivalPostBattle -_020F: +PokemonLeagueNorthPokecenter1F_StartRivalChimcharBattle: StartTrainerBattle TRAINER_RIVAL_POKEMON_LEAGUE_CHIMCHAR - GoTo _021B + GoTo PokemonLeagueNorthPokecenter1F_RivalPostBattle -_021B: +PokemonLeagueNorthPokecenter1F_RivalPostBattle: CheckWonBattle VAR_RESULT - GoToIfEq VAR_RESULT, FALSE, _02AC + GoToIfEq VAR_RESULT, FALSE, PokemonLeagueNorthPokecenter1F_BlackOutFromRivalBattle BufferRivalName 0 BufferPlayerName 1 - Message 1 + Message PokemonLeagueNorthPokecenter1F_Text_RivalDefeat CloseMessage GetPlayerMapPos VAR_0x8004, VAR_0x8005 - GoToIfEq VAR_0x8004, 10, _0266 - GoToIfEq VAR_0x8004, 11, _0276 - GoToIfEq VAR_0x8004, 12, _0286 + GoToIfEq VAR_0x8004, 10, PokemonLeagueNorthPokecenter1F_RivalLeaveEast + GoToIfEq VAR_0x8004, 11, PokemonLeagueNorthPokecenter1F_RivalLeaveSouth + GoToIfEq VAR_0x8004, 12, PokemonLeagueNorthPokecenter1F_RivalLeaveWest End -_0266: - ApplyMovement 5, _02E8 +PokemonLeagueNorthPokecenter1F_RivalLeaveEast: + ApplyMovement LOCALID_BARRY, PokemonLeagueNorthPokecenter1F_Movement_RivalLeaveEast WaitMovement - GoTo _0296 + GoTo PokemonLeagueNorthPokecenter1F_RemoveRival -_0276: - ApplyMovement 5, _02F8 +PokemonLeagueNorthPokecenter1F_RivalLeaveSouth: + ApplyMovement LOCALID_BARRY, PokemonLeagueNorthPokecenter1F_Movement_RivalLeaveSouth WaitMovement - GoTo _0296 + GoTo PokemonLeagueNorthPokecenter1F_RemoveRival -_0286: - ApplyMovement 5, _0300 +PokemonLeagueNorthPokecenter1F_RivalLeaveWest: + ApplyMovement LOCALID_BARRY, PokemonLeagueNorthPokecenter1F_Movement_RivalLeaveWest WaitMovement - GoTo _0296 + GoTo PokemonLeagueNorthPokecenter1F_RemoveRival -_0296: +PokemonLeagueNorthPokecenter1F_RemoveRival: PlayFanfare SEQ_SE_DP_KAIDAN2 - RemoveObject 5 + RemoveObject LOCALID_BARRY WaitFanfare SEQ_SE_DP_KAIDAN2 SetVar VAR_RIVAL_BEAT_SUNYSHORE_GYM, 1 ReleaseAll End -_02AC: - SetFlag FLAG_UNK_0x021D +PokemonLeagueNorthPokecenter1F_BlackOutFromRivalBattle: + SetFlag FLAG_HIDE_POKEMON_LEAGUE_NORTH_POKECENTER_1F_BARRY BlackOutFromBattle ReleaseAll End .balign 4, 0 -_02B8: +PokemonLeagueNorthPokecenter1F_Movement_PlayerFaceRival: WalkOnSpotFastSouth EndMovement .balign 4, 0 -_02C0: +PokemonLeagueNorthPokecenter1F_Movement_RivalEnterWest: WalkFastNorth 3 WalkFastWest WalkFastNorth 3 EndMovement .balign 4, 0 -_02D0: +PokemonLeagueNorthPokecenter1F_Movement_RivalEnterNorth: WalkFastNorth 6 EndMovement .balign 4, 0 -_02D8: +PokemonLeagueNorthPokecenter1F_Movement_RivalEnterEast: WalkFastNorth 3 WalkFastEast WalkFastNorth 3 EndMovement .balign 4, 0 -_02E8: +PokemonLeagueNorthPokecenter1F_Movement_RivalLeaveEast: WalkFastSouth 3 WalkFastEast WalkFastSouth 3 EndMovement .balign 4, 0 -_02F8: +PokemonLeagueNorthPokecenter1F_Movement_RivalLeaveSouth: WalkFastSouth 6 EndMovement .balign 4, 0 -_0300: +PokemonLeagueNorthPokecenter1F_Movement_RivalLeaveWest: WalkFastSouth 3 WalkFastWest WalkFastSouth 3 EndMovement -_0310: +PokemonLeagueNorthPokecenter1F_AceTrainerF: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 5 + Message PokemonLeagueNorthPokecenter1F_Text_ImNeverGivingUp WaitABXPadPress CloseMessage ReleaseAll End -_0323: +PokemonLeagueNorthPokecenter1F_Guitarist: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 6 + Message PokemonLeagueNorthPokecenter1F_Text_ExperienceItForYourself WaitABXPadPress CloseMessage ReleaseAll End -_0336: +PokemonLeagueNorthPokecenter1F_Nurse: CallPokecenterNurse 3 End diff --git a/res/field/scripts/scripts_pokemon_league_south_pokecenter_1f.s b/res/field/scripts/scripts_pokemon_league_south_pokecenter_1f.s index 83e8438da0..164e2d852d 100644 --- a/res/field/scripts/scripts_pokemon_league_south_pokecenter_1f.s +++ b/res/field/scripts/scripts_pokemon_league_south_pokecenter_1f.s @@ -2,23 +2,23 @@ #include "res/text/bank/pokemon_league_south_pokecenter_1f.h" - ScriptEntry _0020 - ScriptEntry _002C - ScriptEntry _0042 - ScriptEntry _001A - ScriptEntry _0058 - ScriptEntry _006B + ScriptEntry PokemonLeagueSouthPokecenter1F_Nurse + ScriptEntry PokemonLeagueSouthPokecenter1F_UnusedVendor2 + ScriptEntry PokemonLeagueSouthPokecenter1F_UnusedVendor3 + ScriptEntry PokemonLeagueSouthPokecenter1F_OnTransition + ScriptEntry PokemonLeagueSouthPokecenter1F_Pokefan + ScriptEntry PokemonLeagueSouthPokecenter1F_AceTrainer ScriptEntryEnd -_001A: - SetFlag FLAG_UNK_0x09C0 +PokemonLeagueSouthPokecenter1F_OnTransition: + SetFlag FLAG_FIRST_ARRIVAL_OUTSIDE_VICTORY_ROAD End -_0020: +PokemonLeagueSouthPokecenter1F_Nurse: CallPokecenterNurse 0 End -_002C: +PokemonLeagueSouthPokecenter1F_UnusedVendor2: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer @@ -28,7 +28,7 @@ _002C: ReleaseAll End -_0042: +PokemonLeagueSouthPokecenter1F_UnusedVendor3: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer @@ -38,21 +38,21 @@ _0042: ReleaseAll End -_0058: +PokemonLeagueSouthPokecenter1F_Pokefan: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 0 + Message PokemonLeagueSouthPokecenter1F_Text_TheObjectiveIsToReachThePokemonLeague WaitABXPadPress CloseMessage ReleaseAll End -_006B: +PokemonLeagueSouthPokecenter1F_AceTrainer: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - Message 1 + Message PokemonLeagueSouthPokecenter1F_Text_VictoryRoadConfusesMe WaitABXPadPress CloseMessage ReleaseAll diff --git a/res/field/scripts/scripts_route_202.s b/res/field/scripts/scripts_route_202.s index de32b28edb..33b2803994 100644 --- a/res/field/scripts/scripts_route_202.s +++ b/res/field/scripts/scripts_route_202.s @@ -445,7 +445,7 @@ _0635: _0641: RemoveObject 3 - ClearFlag FLAG_UNK_0x0177 + ClearFlag FLAG_HIDE_SANDGEM_TOWN_COUNTERPART SetVar VAR_UNK_0x4087, 3 ReleaseAll End 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 3916b4178a..11e36af7b9 100644 --- a/res/field/scripts/scripts_sandgem_town_pokemon_research_lab.s +++ b/res/field/scripts/scripts_sandgem_town_pokemon_research_lab.s @@ -307,7 +307,7 @@ _044D: ApplyMovement 3, _04D8 WaitMovement RemoveObject 3 - ClearFlag FLAG_UNK_0x0177 + ClearFlag FLAG_HIDE_SANDGEM_TOWN_COUNTERPART SetVar VAR_UNK_0x40A6, 1 ReleaseAll End diff --git a/res/field/scripts/scripts_sendoff_spring.s b/res/field/scripts/scripts_sendoff_spring.s index f3551f9b92..9745e33fa3 100644 --- a/res/field/scripts/scripts_sendoff_spring.s +++ b/res/field/scripts/scripts_sendoff_spring.s @@ -8,7 +8,7 @@ ScriptEntryEnd _000E: - CallIfSet FLAG_UNK_0x0121, _001B + CallIfSet FLAG_CAUGHT_GIRATINA, _001B End _001B: diff --git a/res/field/scripts/scripts_snowpoint_temple_b5f.s b/res/field/scripts/scripts_snowpoint_temple_b5f.s index f86695df25..abb25e5aee 100644 --- a/res/field/scripts/scripts_snowpoint_temple_b5f.s +++ b/res/field/scripts/scripts_snowpoint_temple_b5f.s @@ -11,7 +11,7 @@ _000A: End _0017: - SetFlag FLAG_UNK_0x0243 + SetFlag FLAG_HIDE_SNOWPOINT_TEMPLE_B5F_REGIGIGAS RemoveObject 0 ClearFlag FLAG_MAP_LOCAL End @@ -53,7 +53,7 @@ _0081: GoToIfEq VAR_RESULT, FALSE, _00D1 CheckDidNotCapture VAR_RESULT GoToIfEq VAR_RESULT, TRUE, _00C6 - SetFlag FLAG_UNK_0x011B + SetFlag FLAG_CAUGHT_REGIGIGAS ReleaseAll End diff --git a/res/field/scripts/scripts_spear_pillar_dialga.s b/res/field/scripts/scripts_spear_pillar_dialga.s index 34843ab328..7788345e13 100644 --- a/res/field/scripts/scripts_spear_pillar_dialga.s +++ b/res/field/scripts/scripts_spear_pillar_dialga.s @@ -31,8 +31,8 @@ _0075: _0077: PlayFanfare SEQ_SE_CONFIRM LockAll - GoToIfGe VAR_UNK_0x40C4, 1, _00F4 - GoToIfSet FLAG_UNK_0x00D0, _00F4 + GoToIfGe VAR_SPEAR_PILLAR_DIALGA_STATE, 1, _00F4 + GoToIfSet FLAG_CAUGHT_DIALGA, _00F4 Message 0 ShowYesNoMenu VAR_RESULT GoToIfEq VAR_RESULT, MENU_NO, _0101 @@ -43,7 +43,7 @@ _0077: StartLegendaryBattle SPECIES_DIALGA, 70 CheckWonBattle VAR_RESULT GoToIfEq VAR_RESULT, FALSE, _00E8 - SetVar VAR_UNK_0x40C4, 1 + SetVar VAR_SPEAR_PILLAR_DIALGA_STATE, 1 CheckDidNotCapture VAR_RESULT CallIfEq VAR_RESULT, FALSE, _00EE ReleaseAll @@ -55,7 +55,7 @@ _00E8: End _00EE: - SetFlag FLAG_UNK_0x00D0 + SetFlag FLAG_CAUGHT_DIALGA Return _00F4: diff --git a/res/field/scripts/scripts_spear_pillar_palkia.s b/res/field/scripts/scripts_spear_pillar_palkia.s index 7905312122..9efa003ac5 100644 --- a/res/field/scripts/scripts_spear_pillar_palkia.s +++ b/res/field/scripts/scripts_spear_pillar_palkia.s @@ -31,8 +31,8 @@ _0075: _0077: PlayFanfare SEQ_SE_CONFIRM LockAll - GoToIfGe VAR_UNK_0x40C5, 1, _00F4 - GoToIfSet FLAG_UNK_0x00D1, _00F4 + GoToIfGe VAR_SPEAR_PILLAR_PALKIA_STATE, 1, _00F4 + GoToIfSet FLAG_CAUGHT_PALKIA, _00F4 Message 0 ShowYesNoMenu VAR_RESULT GoToIfEq VAR_RESULT, MENU_NO, _0101 @@ -43,7 +43,7 @@ _0077: StartLegendaryBattle SPECIES_PALKIA, 70 CheckWonBattle VAR_RESULT GoToIfEq VAR_RESULT, FALSE, _00E8 - SetVar VAR_UNK_0x40C5, 1 + SetVar VAR_SPEAR_PILLAR_PALKIA_STATE, 1 CheckDidNotCapture VAR_RESULT CallIfEq VAR_RESULT, FALSE, _00EE ReleaseAll @@ -55,7 +55,7 @@ _00E8: End _00EE: - SetFlag FLAG_UNK_0x00D1 + SetFlag FLAG_CAUGHT_PALKIA Return _00F4: diff --git a/res/field/scripts/scripts_stark_mountain_room_3.s b/res/field/scripts/scripts_stark_mountain_room_3.s index 2498c6aea6..f12eb9b3cb 100644 --- a/res/field/scripts/scripts_stark_mountain_room_3.s +++ b/res/field/scripts/scripts_stark_mountain_room_3.s @@ -16,22 +16,22 @@ _0016: End _0031: - SetFlag FLAG_UNK_0x01DB + SetFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_BUCK Return _0037: - GoToIfSet FLAG_UNK_0x0120, _0083 + GoToIfSet FLAG_CAUGHT_HEATRAN, _0083 CheckGameCompleted VAR_MAP_LOCAL_0 GoToIfEq VAR_MAP_LOCAL_0, 0, _0083 GetNationalDexEnabled VAR_MAP_LOCAL_0 GoToIfEq VAR_MAP_LOCAL_0, 0, _0083 - GoToIfUnset FLAG_MESPRIT_CAUGHT, _0083 + GoToIfUnset FLAG_CAUGHT_MESPRIT, _0083 GoToIfNe VAR_UNK_0x409E, 1, _0083 - ClearFlag FLAG_UNK_0x01DD + ClearFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN Return _0083: - SetFlag FLAG_UNK_0x01DD + SetFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN Return _0089: @@ -39,7 +39,7 @@ _0089: End _0096: - SetFlag FLAG_UNK_0x01DD + SetFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_HEATRAN RemoveObject 1 ClearFlag FLAG_MAP_LOCAL End @@ -97,7 +97,7 @@ _00E6: End _0155: - SetFlag FLAG_UNK_0x0120 + SetFlag FLAG_CAUGHT_HEATRAN ReleaseAll End @@ -229,7 +229,7 @@ _019C: Message 14 CloseMessage SetVar VAR_UNK_0x40A0, 2 - SetFlag FLAG_UNK_0x01DB + SetFlag FLAG_HIDE_STARK_MOUNTAIN_ROOM_3_BUCK SetFlag FLAG_UNK_0x0231 SetVar VAR_UNK_0x409E, 1 SetFlag FLAG_ARRESTED_CHARON_STARK_MOUNTAIN diff --git a/res/field/scripts/scripts_survival_area.s b/res/field/scripts/scripts_survival_area.s index 46c120e798..9d7e6d0e9c 100644 --- a/res/field/scripts/scripts_survival_area.s +++ b/res/field/scripts/scripts_survival_area.s @@ -173,7 +173,7 @@ _01BE: End _01FA: - ScrCmd_28F VAR_RESULT + GetLeagueVictories VAR_RESULT GoToIfLt VAR_RESULT, 20, _021A GoToIfGe VAR_RESULT, 20, _0228 End @@ -189,7 +189,7 @@ _0228: End _0236: - ScrCmd_28F VAR_RESULT + GetLeagueVictories VAR_RESULT GoToIfLt VAR_RESULT, 20, _0256 GoToIfGe VAR_RESULT, 20, _0264 End @@ -205,7 +205,7 @@ _0264: End _0272: - ScrCmd_28F VAR_RESULT + GetLeagueVictories VAR_RESULT GoToIfLt VAR_RESULT, 20, _0292 GoToIfGe VAR_RESULT, 20, _02A0 End diff --git a/res/field/scripts/scripts_turnback_cave_entrance.s b/res/field/scripts/scripts_turnback_cave_entrance.s index aad6faae99..caf908cb5b 100644 --- a/res/field/scripts/scripts_turnback_cave_entrance.s +++ b/res/field/scripts/scripts_turnback_cave_entrance.s @@ -18,7 +18,7 @@ _001C: Return _002A: - GoToIfSet FLAG_UNK_0x0121, _0046 + GoToIfSet FLAG_CAUGHT_GIRATINA, _0046 PlayFanfare SEQ_SE_CONFIRM LockAll Message 0 diff --git a/res/field/scripts/scripts_turnback_cave_giratina_room.s b/res/field/scripts/scripts_turnback_cave_giratina_room.s index 08ac6d688d..b0f3b7c6e2 100644 --- a/res/field/scripts/scripts_turnback_cave_giratina_room.s +++ b/res/field/scripts/scripts_turnback_cave_giratina_room.s @@ -18,7 +18,7 @@ _001C: End _0029: - SetFlag FLAG_UNK_0x0250 + SetFlag FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA RemoveObject 0 ClearFlag FLAG_MAP_LOCAL End @@ -41,8 +41,8 @@ _0037: End _0084: - SetFlag FLAG_UNK_0x0121 - SetFlag FLAG_UNK_0x0250 + SetFlag FLAG_CAUGHT_GIRATINA + SetFlag FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA ReleaseAll End @@ -54,7 +54,7 @@ _0090: End _009B: - ClearFlag FLAG_UNK_0x0250 + ClearFlag FLAG_HIDE_TURNBACK_CAVE_GIRATINA_ROOM_GIRATINA BlackOutFromBattle ReleaseAll End 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 6c0f96b788..fbd07afcf5 100644 --- a/res/field/scripts/scripts_twinleaf_town_player_house_1f.s +++ b/res/field/scripts/scripts_twinleaf_town_player_house_1f.s @@ -73,7 +73,7 @@ _00CC: _00E0: LockAll - SetVar VAR_UNK_0x410F, 2 + SetVar VAR_TWINLEAF_TOWN_PLAYER_HOUSE_STATE, 2 GoToIfSet FLAG_UNK_0x015C, _014B GoToIfUnset FLAG_UNK_0x015D, _0110 GetNationalDexEnabled VAR_RESULT diff --git a/res/field/scripts/scripts_unk_1051.s b/res/field/scripts/scripts_unk_1051.s index 3e3d78e3cb..44cff45b27 100644 --- a/res/field/scripts/scripts_unk_1051.s +++ b/res/field/scripts/scripts_unk_1051.s @@ -341,8 +341,8 @@ _0494: EndMovement _04A4: - GoToIfEq VAR_UNK_0x40C4, 1, _04C6 - GoToIfEq VAR_UNK_0x40C5, 1, _04C6 + GoToIfEq VAR_SPEAR_PILLAR_DIALGA_STATE, 1, _04C6 + GoToIfEq VAR_SPEAR_PILLAR_PALKIA_STATE, 1, _04C6 SetVar VAR_RESULT, 1 Return diff --git a/res/field/scripts/scripts_valor_cavern.s b/res/field/scripts/scripts_valor_cavern.s index 96f9f3c502..0b30e9b0eb 100644 --- a/res/field/scripts/scripts_valor_cavern.s +++ b/res/field/scripts/scripts_valor_cavern.s @@ -52,7 +52,7 @@ ValorCavern_Azelf: GoToIfEq VAR_RESULT, FALSE, ValorCavern_LostBattleAzelf CheckDidNotCapture VAR_RESULT GoToIfEq VAR_RESULT, TRUE, ValorCavern_AzelfDisappeared - SetFlag FLAG_AZELF_CAUGHT + SetFlag FLAG_CAUGHT_AZELF ReleaseAll End diff --git a/res/field/scripts/scripts_verity_cavern.s b/res/field/scripts/scripts_verity_cavern.s index 22d4240e1e..c627c3f0e8 100644 --- a/res/field/scripts/scripts_verity_cavern.s +++ b/res/field/scripts/scripts_verity_cavern.s @@ -46,7 +46,7 @@ VerityCavern_Mesprit: ActivateRoamingPokemon ROAMING_SLOT_MESPRIT Message VerityCavern_Text_MespritFlewOff CloseMessage - GoToIfEq VAR_ROAMING_MESPRIT_STATE, 3, VerityCavern_ResetRoamingMespritState + GoToIfEq VAR_ROAMING_MESPRIT_STATE, ROAMER_STATE_RESET, VerityCavern_ResetRoamingMespritState WaitTime 30, VAR_RESULT GetPlayerDir VAR_RESULT GoToIfEq VAR_RESULT, DIR_NORTH, VerityCavern_EnterProfessorRowanNorth @@ -105,7 +105,7 @@ VerityCavern_ProfessorRowanNoMarkingMap: Return VerityCavern_ResetRoamingMespritState: - SetVar VAR_ROAMING_MESPRIT_STATE, 0 + SetVar VAR_ROAMING_MESPRIT_STATE, ROAMER_STATE_ROAMING ReleaseAll End diff --git a/res/text/common_strings.json b/res/text/common_strings.json index 7bf554c26c..2162f0e359 100644 --- a/res/text/common_strings.json +++ b/res/text/common_strings.json @@ -112,14 +112,14 @@ ] }, { - "id": "pl_msg_00000213_00015", + "id": "CommonStrings_Text_SavingDontTurnOffThePower", "en_US": [ "Saving...\n", "Don’t turn off the power." ] }, { - "id": "pl_msg_00000213_00016", + "id": "CommonStrings_Text_PlayerSavedTheGame", "en_US": "{STRVAR_1 3, 0, 0} saved the game." }, { @@ -135,7 +135,7 @@ ] }, { - "id": "pl_msg_00000213_00018", + "id": "CommonStrings_Text_SaveError", "en_US": "Save error." }, { diff --git a/res/text/pokemon_league.json b/res/text/pokemon_league.json index f1d7df68c6..4a0c82c927 100644 --- a/res/text/pokemon_league.json +++ b/res/text/pokemon_league.json @@ -2,18 +2,18 @@ "key": 17303, "messages": [ { - "id": "pl_msg_00000182_00000", + "id": "PokemonLeague_Text_PokemonLeagueThePinnacleOfTrainerdom", "en_US": [ "Pokémon League\n", "The Pinnacle of Trainerdom!" ] }, { - "id": "pl_msg_00000182_00001", + "id": "PokemonLeague_Text_PokemonLeagueAhead", "en_US": "Pokémon League Ahead" }, { - "id": "pl_msg_00000182_00002", + "id": "PokemonLeague_Text_VictoryRoadAhead", "en_US": "Victory Road Ahead" } ] diff --git a/res/text/pokemon_league_aaron_room.json b/res/text/pokemon_league_aaron_room.json index e5399cd55e..469833805f 100644 --- a/res/text/pokemon_league_aaron_room.json +++ b/res/text/pokemon_league_aaron_room.json @@ -2,7 +2,7 @@ "key": 54314, "messages": [ { - "id": "pl_msg_00000185_00000", + "id": "PokemonLeagueAaronRoom_Text_AaronIntro", "en_US": [ "Hello!\n", "Welcome to the Pokémon League!\r", @@ -20,7 +20,7 @@ ] }, { - "id": "pl_msg_00000185_00001", + "id": "PokemonLeagueAaronRoom_Text_AaronDefeat", "en_US": [ "I lost with the most beautiful and\n", "toughest of the bug Pokémon...\r", @@ -35,7 +35,7 @@ ] }, { - "id": "pl_msg_00000185_00002", + "id": "PokemonLeagueAaronRoom_Text_AaronPostBattle", "en_US": [ "Go on, go to the next room.\r", "I’m going to become a top-level\n", diff --git a/res/text/pokemon_league_bertha_room.json b/res/text/pokemon_league_bertha_room.json index 076bb0b2f9..f3fb82438e 100644 --- a/res/text/pokemon_league_bertha_room.json +++ b/res/text/pokemon_league_bertha_room.json @@ -2,7 +2,7 @@ "key": 54322, "messages": [ { - "id": "pl_msg_00000186_00000", + "id": "PokemonLeagueBerthaRoom_Text_BerthaIntro", "en_US": [ "Well, well.\r", "You’re quite the adorable Trainer,\n", @@ -16,7 +16,7 @@ ] }, { - "id": "pl_msg_00000186_00001", + "id": "PokemonLeagueBerthaRoom_Text_BerthaDefeat", "en_US": [ "You’re quite something, youngster.\r", "I like how you and your Pokémon\n", @@ -27,7 +27,7 @@ ] }, { - "id": "pl_msg_00000186_00002", + "id": "PokemonLeagueBerthaRoom_Text_BerthaPostBattle", "en_US": [ "The Trainer in the next room is a\n", "much more formidable opponent.\r", diff --git a/res/text/pokemon_league_champion_room.json b/res/text/pokemon_league_champion_room.json index 5133254292..b77b835a5c 100644 --- a/res/text/pokemon_league_champion_room.json +++ b/res/text/pokemon_league_champion_room.json @@ -2,7 +2,7 @@ "key": 53282, "messages": [ { - "id": "pl_msg_00000189_00000", + "id": "PokemonLeagueChampionRoom_Text_CynthiaIntro", "en_US": [ "Cynthia: Have you been keeping well?\r", "Thank you for Mt. Coronet.\n", @@ -22,7 +22,7 @@ ] }, { - "id": "pl_msg_00000189_00001", + "id": "PokemonLeagueChampionRoom_Text_CynthiaDefeat", "en_US": [ "Cynthia: That was excellent.\n", "Truly, an outstanding battle.\r", @@ -42,14 +42,14 @@ ] }, { - "id": "pl_msg_00000189_00002", + "id": "PokemonLeagueChampionRoom_Text_ComeWithMe", "en_US": [ "Come with me.\n", "We’ll take the lift.\r" ] }, { - "id": "pl_msg_00000189_00003", + "id": "PokemonLeagueChampionRoom_Text_CynthiaGameCompletedIntro", "en_US": [ "Cynthia: One look at you tells\n", "me many things about you.\r", diff --git a/res/text/pokemon_league_flint_room.json b/res/text/pokemon_league_flint_room.json index 241bd17342..407c61c8d6 100644 --- a/res/text/pokemon_league_flint_room.json +++ b/res/text/pokemon_league_flint_room.json @@ -2,7 +2,7 @@ "key": 54330, "messages": [ { - "id": "pl_msg_00000187_00000", + "id": "PokemonLeagueFlintRoom_Text_FlintIntroPart1", "en_US": [ "Yo, Trainer!\r", "You had me counting the days on my\n", @@ -16,7 +16,7 @@ ] }, { - "id": "pl_msg_00000187_00001", + "id": "PokemonLeagueFlintRoom_Text_FlintIntroPart2", "en_US": [ "You’re facing a Fire-type Pokémon\n", "user with me.\r", @@ -25,7 +25,7 @@ ] }, { - "id": "pl_msg_00000187_00002", + "id": "PokemonLeagueFlintRoom_Text_FlintDefeat", "en_US": [ "...\n", "...\r", @@ -38,7 +38,7 @@ ] }, { - "id": "pl_msg_00000187_00003", + "id": "PokemonLeagueFlintRoom_Text_FlintPostBattle", "en_US": [ "...\n", "...\r", @@ -50,7 +50,7 @@ ] }, { - "id": "pl_msg_00000187_00004", + "id": "PokemonLeagueFlintRoom_Text_FlintGameCompletedIntro", "en_US": [ "I was waiting for you, challenger!\r", "Flint, the master of the Fire type,\n", @@ -64,7 +64,7 @@ ] }, { - "id": "pl_msg_00000187_00005", + "id": "PokemonLeagueFlintRoom_Text_FlintGameCompletedDefeat", "en_US": [ "...\n", "...\r", @@ -73,7 +73,7 @@ ] }, { - "id": "pl_msg_00000187_00006", + "id": "PokemonLeagueFlintRoom_Text_FlintGameCompletedPostBattle", "en_US": [ "...\n", "...\r", diff --git a/res/text/pokemon_league_hall_of_fame.json b/res/text/pokemon_league_hall_of_fame.json index df3a18e048..19988b6f58 100644 --- a/res/text/pokemon_league_hall_of_fame.json +++ b/res/text/pokemon_league_hall_of_fame.json @@ -2,14 +2,14 @@ "key": 53290, "messages": [ { - "id": "pl_msg_00000191_00000", + "id": "PokemonLeagueHallOfFame_Text_BeenAWhileSinceIEnteredThisRoom", "en_US": [ "Rowan: It’s been a long while since\n", "I last entered this room...\r" ] }, { - "id": "pl_msg_00000191_00001", + "id": "PokemonLeagueHallOfFame_Text_AlwaysStraighterThanUsual", "en_US": [ "Rowan: No matter how many times\n", "I come here, I always find myself\f", @@ -17,7 +17,7 @@ ] }, { - "id": "pl_msg_00000191_00002", + "id": "PokemonLeagueHallOfFame_Text_LastTimeWasLongTimeAgo", "en_US": [ "Cynthia: If your last time here was\n", "when I became Champion, then yes,\f", @@ -25,7 +25,7 @@ ] }, { - "id": "pl_msg_00000191_00003", + "id": "PokemonLeagueHallOfFame_Text_ThisRoomIsALegacyToPokemonAndTrainers", "en_US": [ "Cynthia: It’s a natural reaction,\n", "Professor.\r", @@ -35,21 +35,21 @@ ] }, { - "id": "pl_msg_00000191_00004", + "id": "PokemonLeagueHallOfFame_Text_WelcomeToTheHallOfFameMale", "en_US": [ "Cynthia: {STRVAR_1 3, 0, 0}, welcome\n", "to the Hall of Fame.\r" ] }, { - "id": "pl_msg_00000191_00005", + "id": "PokemonLeagueHallOfFame_Text_WelcomeToTheHallOfFameFemale", "en_US": [ "Cynthia: {STRVAR_1 3, 0, 0}, welcome\n", "to the Hall of Fame.\r" ] }, { - "id": "pl_msg_00000191_00006", + "id": "PokemonLeagueHallOfFame_Text_TimeToRecordYourNameAndYourPokemon", "en_US": [ "Your names will be recorded for\n", "posterity here.\r", diff --git a/res/text/pokemon_league_elevator_to_hall_of_fame.json b/res/text/pokemon_league_hallway_to_hall_of_fame.json similarity index 63% rename from res/text/pokemon_league_elevator_to_hall_of_fame.json rename to res/text/pokemon_league_hallway_to_hall_of_fame.json index b49deb710e..e5a4cce011 100644 --- a/res/text/pokemon_league_elevator_to_hall_of_fame.json +++ b/res/text/pokemon_league_hallway_to_hall_of_fame.json @@ -2,25 +2,25 @@ "key": 53294, "messages": [ { - "id": "pl_msg_00000190_00000", + "id": "PokemonLeagueHallwayToHallOfFame_Text_TheRoomAheadIsTheHallOfFame", "en_US": [ "Cynthia: The room ahead is the Hall\n", "of Fame...\r" ] }, { - "id": "pl_msg_00000190_00001", + "id": "PokemonLeagueHallwayToHallOfFame_Text_YourLastBattleWasSplendid", "en_US": [ "Rowan: {STRVAR_1 3, 0, 0}!\n", "Your last battle was splendid!\r" ] }, { - "id": "pl_msg_00000190_00002", + "id": "PokemonLeagueHallwayToHallOfFame_Text_HelloProfessorRowan", "en_US": "Cynthia: Oh, hello, Professor Rowan.\r" }, { - "id": "pl_msg_00000190_00003", + "id": "PokemonLeagueHallwayToHallOfFame_Text_YouveGrownIntoARealChampion", "en_US": [ "Rowan: Hm!\r", "A child I enlisted for my Pokédex\n", @@ -33,7 +33,7 @@ ] }, { - "id": "pl_msg_00000190_00004", + "id": "PokemonLeagueHallwayToHallOfFame_Text_ProfessorYouStillEnjoyEnthusiasm", "en_US": [ "Cynthia: Professor, you still enjoy\n", "the enthusiasm kids bring to your\f", @@ -41,25 +41,25 @@ ] }, { - "id": "pl_msg_00000190_00005", + "id": "PokemonLeagueHallwayToHallOfFame_Text_StepThisWayPleaseMale", "en_US": [ "{STRVAR_1 3, 0, 0}, step this way,\n", "please.\r" ] }, { - "id": "pl_msg_00000190_00006", + "id": "PokemonLeagueHallwayToHallOfFame_Text_StepThisWayPleaseFemale", "en_US": [ "{STRVAR_1 3, 0, 0}, step this way,\n", "please.\r" ] }, { - "id": "pl_msg_00000190_00007", + "id": "PokemonLeagueHallwayToHallOfFame_Text_ProfessorRowanPleaseJoinUs", "en_US": "Professor Rowan, please join us.\r" }, { - "id": "pl_msg_00000190_00008", + "id": "PokemonLeagueHallwayToHallOfFame_Text_Dummy_00008", "garbage": 39 } ] diff --git a/res/text/pokemon_league_lucian_room.json b/res/text/pokemon_league_lucian_room.json index ec902fa3d1..6fa9f63b47 100644 --- a/res/text/pokemon_league_lucian_room.json +++ b/res/text/pokemon_league_lucian_room.json @@ -2,7 +2,7 @@ "key": 54274, "messages": [ { - "id": "pl_msg_00000188_00000", + "id": "PokemonLeagueLucianRoom_Text_LucianIntro", "en_US": [ "Ah, you timed your arrival well.\r", "I’ve just finished reading a book,\n", @@ -21,7 +21,7 @@ ] }, { - "id": "pl_msg_00000188_00001", + "id": "PokemonLeagueLucianRoom_Text_LucianDefeat", "en_US": [ "Congratulations.\n", "You’ve now beaten the Elite Four.\r", @@ -35,7 +35,7 @@ ] }, { - "id": "pl_msg_00000188_00002", + "id": "PokemonLeagueLucianRoom_Text_LucianPostBattle", "en_US": [ "I’ll be reading books until the next\n", "challenger arrives.\r", diff --git a/res/text/pokemon_league_north_pokecenter_1f.json b/res/text/pokemon_league_north_pokecenter_1f.json index ecc3136b1e..d3dc392504 100644 --- a/res/text/pokemon_league_north_pokecenter_1f.json +++ b/res/text/pokemon_league_north_pokecenter_1f.json @@ -2,7 +2,7 @@ "key": 54306, "messages": [ { - "id": "pl_msg_00000184_00000", + "id": "PokemonLeagueNorthPokecenter1F_Text_RivalIntro", "en_US": [ "{STRVAR_1 3, 0, 0}: Hold it!\n", "Don’t go off without me!\r", @@ -14,7 +14,7 @@ ] }, { - "id": "pl_msg_00000184_00001", + "id": "PokemonLeagueNorthPokecenter1F_Text_RivalDefeat", "en_US": [ "{STRVAR_1 3, 0, 0}: I guess I’m not ready\n", "for the Pokémon League if I’m losing\f", @@ -30,7 +30,7 @@ ] }, { - "id": "pl_msg_00000184_00002", + "id": "PokemonLeagueNorthPokecenter1F_Text_LetUsExamineYourGymBadges", "en_US": [ "Let me confirm that you are qualified\n", "to challenge the Pokémon League.\r", @@ -48,7 +48,7 @@ ] }, { - "id": "pl_msg_00000184_00003", + "id": "PokemonLeagueNorthPokecenter1F_Text_YouveCollectedAllGymBadges", "en_US": [ "Very well!\r", "Trainer, you’ve indeed collected\n", @@ -58,7 +58,7 @@ ] }, { - "id": "pl_msg_00000184_00004", + "id": "PokemonLeagueNorthPokecenter1F_Text_YouWillBeFacingTheEliteFour", "en_US": [ "You will be facing the Elite Four\n", "of the Pokémon League.\r", @@ -68,7 +68,7 @@ ] }, { - "id": "pl_msg_00000184_00005", + "id": "PokemonLeagueNorthPokecenter1F_Text_ImNeverGivingUp", "en_US": [ "It doesn’t matter if the going is slow.\r", "Nor does it matter how many challenges\n", @@ -78,7 +78,7 @@ ] }, { - "id": "pl_msg_00000184_00006", + "id": "PokemonLeagueNorthPokecenter1F_Text_ExperienceItForYourself", "en_US": [ "What is the Pokémon League?\n", "Don’t take my word for it.\r", diff --git a/res/text/pokemon_league_south_pokecenter_1f.json b/res/text/pokemon_league_south_pokecenter_1f.json index e1e0a2a9cb..8e1a2dc349 100644 --- a/res/text/pokemon_league_south_pokecenter_1f.json +++ b/res/text/pokemon_league_south_pokecenter_1f.json @@ -2,7 +2,7 @@ "key": 2963, "messages": [ { - "id": "pl_msg_00000183_00000", + "id": "PokemonLeagueSouthPokecenter1F_Text_TheObjectiveIsToReachThePokemonLeague", "en_US": [ "The objective is to reach the Pokémon\n", "League.\r", @@ -13,7 +13,7 @@ ] }, { - "id": "pl_msg_00000183_00001", + "id": "PokemonLeagueSouthPokecenter1F_Text_VictoryRoadConfusesMe", "en_US": [ "Victory Road confuses me.\n", "I should draw up a map." diff --git a/src/clear_game.c b/src/clear_game.c new file mode 100644 index 0000000000..caeffdb503 --- /dev/null +++ b/src/clear_game.c @@ -0,0 +1,319 @@ +#include "clear_game.h" + +#include +#include + +#include "constants/field_base_tiles.h" +#include "constants/heap.h" +#include "constants/narc.h" +#include "generated/game_records.h" +#include "generated/text_banks.h" + +#include "struct_defs/clear_game_player_info.h" +#include "struct_defs/struct_0203E234.h" +#include "struct_defs/struct_02099F80.h" + +#include "field/field_system.h" +#include "savedata/save_table.h" + +#include "bg_window.h" +#include "field_message.h" +#include "field_overworld_state.h" +#include "field_task.h" +#include "game_options.h" +#include "game_records.h" +#include "gx_layers.h" +#include "hall_of_fame_entries.h" +#include "heap.h" +#include "item_use_pokemon.h" +#include "location.h" +#include "main.h" +#include "message.h" +#include "message_util.h" +#include "party.h" +#include "pokedex.h" +#include "render_window.h" +#include "rtc.h" +#include "save_player.h" +#include "savedata.h" +#include "screen_fade.h" +#include "sound_playback.h" +#include "string_gf.h" +#include "string_template.h" +#include "system_flags.h" +#include "trainer_info.h" +#include "unk_0203D1B8.h" +#include "unk_02054884.h" +#include "unk_020559DC.h" +#include "vars_flags.h" + +#include "res/text/bank/common_strings.h" + +typedef struct ClearGameStruct { + BOOL gameCompleted; + HallOfFameDisplayData displayData; + ClearGamePlayerInfo playerInfo; + Window window; + String *string; + void *dial; + int printerID; + int delay; +} ClearGameStruct; + +static void sub_02052F28(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct); +static void sub_02052FA8(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct); +static void sub_02053028(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct, int saveResult); +static void ClearGame_FreeStringDestroyDialClearWindow(ClearGameStruct *clearGameStruct); +static void ClearGame_FreeStringRemoveWindowFreeTilemapBuffer(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct); +static BOOL ClearGame_FieldMessageFinishedPrinting(ClearGameStruct *clearGameStruct); + +static void ClearGame_AddHallOfFameEntry(FieldSystem *fieldSystem, BOOL gameCompleted) +{ + Party *party; + RTCDate date; + int resultCode; + HallOfFame *hallOfFame = SaveData_HallOfFame(fieldSystem->saveData, HEAP_ID_FIELD2, &resultCode); + + if (resultCode != LOAD_RESULT_OK || !gameCompleted) { + HallOfFame_Init(hallOfFame); + } + + party = SaveData_GetParty(fieldSystem->saveData); + + GetCurrentDate(&date); + HallOfFame_AddEntry(hallOfFame, party, &date); + SaveData_SaveHallOfFame(fieldSystem->saveData, hallOfFame); + Heap_Free(hallOfFame); +} + +static BOOL FieldTask_DoClearGameSequence(FieldTask *task) +{ + FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task); + ClearGameStruct *clearGameStruct = FieldTask_GetEnv(task); + int *state = FieldTask_GetState(task); + HallOfFameDisplayData *displayData = &clearGameStruct->displayData; + + switch (*state) { + case 0: + FieldTask_StartHallOfFame(fieldSystem, displayData); + (*state)++; + break; + case 1: + if (!FieldSystem_IsRunningApplication(fieldSystem)) { + Heap_Create(HEAP_ID_APPLICATION, HEAP_ID_FIELD1, HEAP_SIZE_FIELD1); + sub_02052F28(fieldSystem, clearGameStruct); + StartScreenFade(FADE_MAIN_ONLY, FADE_TYPE_BRIGHTNESS_IN, FADE_TYPE_BRIGHTNESS_IN, COLOR_BLACK, 8, 1, HEAP_ID_FIELD3); + (*state)++; + } + break; + case 2: + if (IsScreenFadeDone()) { + if (SaveData_OverwriteCheck(fieldSystem->saveData) == FALSE) { + sub_02052FA8(fieldSystem, clearGameStruct); + (*state)++; + } else { + (*state) = 7; + } + } + break; + case 3: + if (ClearGame_FieldMessageFinishedPrinting(clearGameStruct)) { + (*state)++; + } + break; + case 4: { + int saveResult; + + Party_HealAllMembers(SaveData_GetParty(fieldSystem->saveData)); + SaveData_SetFullSaveRequired(); + saveResult = SaveData_Save(fieldSystem->saveData); + ClearGame_AddHallOfFameEntry(fieldSystem, clearGameStruct->gameCompleted); + ClearGame_FreeStringDestroyDialClearWindow(clearGameStruct); + sub_02053028(fieldSystem, clearGameStruct, saveResult); + (*state)++; + } break; + case 5: + if (ClearGame_FieldMessageFinishedPrinting(clearGameStruct)) { + Sound_PlayEffect(SEQ_SE_DP_SAVE); + clearGameStruct->delay = 18; + (*state)++; + } + break; + case 6: + if (clearGameStruct->delay) { + clearGameStruct->delay--; + } else { + (*state)++; + } + break; + case 7: + StartScreenFade(FADE_MAIN_ONLY, FADE_TYPE_BRIGHTNESS_OUT, FADE_TYPE_BRIGHTNESS_OUT, COLOR_BLACK, 8, 1, HEAP_ID_FIELD3); + (*state)++; + break; + case 8: + if (IsScreenFadeDone()) { + ClearGame_FreeStringRemoveWindowFreeTilemapBuffer(fieldSystem, clearGameStruct); + sub_0203E274(fieldSystem, &(clearGameStruct->playerInfo)); + (*state)++; + } + break; + case 9: + if (!FieldSystem_IsRunningApplication(fieldSystem)) { + Heap_Free(clearGameStruct); + Heap_Destroy(HEAP_ID_FIELD1); + OS_ResetSystem(RESET_CLEAN); + return TRUE; + } + break; + } + + return FALSE; +} + +void ClearGame(FieldTask *task) +{ + FieldSystem *fieldSystem = FieldTask_GetFieldSystem(task); + Location *startLocation, *firstRespawnLocation; + VarsFlags *varsFlags; + TrainerInfo *trainerInfo; + ClearGameStruct *clearGameStruct = Heap_Alloc(HEAP_ID_FIELD3, sizeof(ClearGameStruct)); + GameRecords *gameRecords; + Party *party; + + varsFlags = SaveData_GetVarsFlags(fieldSystem->saveData); + trainerInfo = SaveData_GetTrainerInfo(fieldSystem->saveData); + startLocation = FieldOverworldState_GetSpecialLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData)); + firstRespawnLocation = FieldOverworldState_GetExitLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData)); + + clearGameStruct->gameCompleted = SystemFlag_CheckGameCompleted(varsFlags); + clearGameStruct->displayData.trainerInfo = SaveData_GetTrainerInfo(fieldSystem->saveData); + clearGameStruct->displayData.party = SaveData_GetParty(fieldSystem->saveData); + clearGameStruct->displayData.playTime = SaveData_GetPlayTime(fieldSystem->saveData); + clearGameStruct->playerInfo.gender = TrainerInfo_Gender(SaveData_GetTrainerInfo(fieldSystem->saveData)); + clearGameStruct->playerInfo.gameCompleted = SystemFlag_CheckGameCompleted(varsFlags); + clearGameStruct->playerInfo.pokedex = SaveData_GetPokedex(fieldSystem->saveData); + + if (SystemFlag_CheckGameCompleted(varsFlags) == FALSE) { + FieldSystem_RecordFirstCompletion(fieldSystem); + } + + party = SaveData_GetParty(fieldSystem->saveData); + + Party_GiveChampionRibbons(party); + SetPlayerStartLocation(startLocation); + SetPlayerFirstRespawnLocation(firstRespawnLocation); + SystemFlag_SetCommunicationClubAccessible(varsFlags); + SystemFlag_SetGameCompleted(varsFlags); + TrainerInfo_SetMainStoryCleared(trainerInfo); + + gameRecords = SaveData_GetGameRecords(fieldSystem->saveData); + + GameRecords_IncrementRecordValue(gameRecords, RECORD_TIMES_ENTERED_HALL_OF_FAME); + FieldTask_InitCall(task, FieldTask_DoClearGameSequence, clearGameStruct); +} + +static void sub_02052F28(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct) +{ + static const UnkStruct_02099F80 v0 = { + GX_VRAM_BG_128_B, + GX_VRAM_BGEXTPLTT_NONE, + GX_VRAM_SUB_BG_128_C, + GX_VRAM_SUB_BGEXTPLTT_NONE, + GX_VRAM_OBJ_64_E, + GX_VRAM_OBJEXTPLTT_NONE, + GX_VRAM_SUB_OBJ_16_I, + GX_VRAM_SUB_OBJEXTPLTT_NONE, + GX_VRAM_TEX_0_A, + GX_VRAM_TEXPLTT_01_FG + }; + static const GraphicsModes v1 = { + GX_DISPMODE_GRAPHICS, + GX_BGMODE_0, + GX_BGMODE_0, + GX_BG0_AS_2D + }; + static const BgTemplate v2 = { + .x = 0, + .y = 0, + .bufferSize = 0x800, + .baseTile = 0, + .screenSize = BG_SCREEN_SIZE_256x256, + .colorMode = GX_BG_COLORMODE_16, + .screenBase = 0, + .charBase = 0, + .bgExtPltt = GX_BG_EXTPLTT_01, + .priority = 1, + .areaOver = 0, + .mosaic = FALSE, + }; + + clearGameStruct->string = NULL; + clearGameStruct->dial = NULL; + + Window_Init(&clearGameStruct->window); + GXLayers_SetBanks(&v0); + + GX_SetDispSelect(GX_DISP_SELECT_MAIN_SUB); + + SetAllGraphicsModes(&v1); + Bg_MaskPalette(BG_LAYER_MAIN_3, 0x0); + Bg_InitFromTemplate(fieldSystem->bgConfig, BG_LAYER_MAIN_3, &v2, 0); + Bg_ClearTilesRange(BG_LAYER_MAIN_3, 0x20, 0, HEAP_ID_FIELD3); + Bg_FillTilemapRect(fieldSystem->bgConfig, BG_LAYER_MAIN_3, 0x0, 0, 0, 32, 32, TILEMAP_FILL_VAL_INCLUDES_PALETTE); + Bg_CopyTilemapBufferToVRAM(fieldSystem->bgConfig, 3); +} + +static void sub_02052FA8(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct) +{ + Options *options = SaveData_GetOptions(fieldSystem->saveData); + + clearGameStruct->string = MessageBank_GetNewStringFromNARC(NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS, CommonStrings_Text_SavingDontTurnOffThePower, HEAP_ID_FIELD3); + + FieldMessage_AddWindow(fieldSystem->bgConfig, &clearGameStruct->window, BG_LAYER_MAIN_3); + FieldMessage_DrawWindow(&clearGameStruct->window, options); + + clearGameStruct->printerID = FieldMessage_Print(&clearGameStruct->window, clearGameStruct->string, options, 1); + clearGameStruct->dial = Window_AddWaitDial(&clearGameStruct->window, BASE_TILE_SCROLLING_MESSAGE_BOX); +} + +static BOOL ClearGame_FieldMessageFinishedPrinting(ClearGameStruct *clearGameStruct) +{ + return FieldMessage_FinishedPrinting(clearGameStruct->printerID); +} + +static void ClearGame_FreeStringDestroyDialClearWindow(ClearGameStruct *clearGameStruct) +{ + String_Free(clearGameStruct->string); + DestroyWaitDial(clearGameStruct->dial); + FieldMessage_ClearWindow(&clearGameStruct->window); +} + +static void sub_02053028(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct, int saveResult) +{ + MessageLoader *msgLoader = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS, HEAP_ID_FIELD1); + + if (saveResult == SAVE_RESULT_OK) { + StringTemplate *strTemplate = StringTemplate_Default(HEAP_ID_FIELD1); + StringTemplate_SetPlayerName(strTemplate, 0, SaveData_GetTrainerInfo(fieldSystem->saveData)); + clearGameStruct->string = MessageUtil_ExpandedString(strTemplate, msgLoader, CommonStrings_Text_PlayerSavedTheGame, HEAP_ID_FIELD1); + StringTemplate_Free(strTemplate); + } else { + clearGameStruct->string = MessageLoader_GetNewString(msgLoader, CommonStrings_Text_SaveError); + } + + MessageLoader_Free(msgLoader); + clearGameStruct->printerID = FieldMessage_Print(&clearGameStruct->window, clearGameStruct->string, SaveData_GetOptions(fieldSystem->saveData), 1); +} + +static void ClearGame_FreeStringRemoveWindowFreeTilemapBuffer(FieldSystem *fieldSystem, ClearGameStruct *clearGameStruct) +{ + if (clearGameStruct->string) { + String_Free(clearGameStruct->string); + } + + if (Window_IsInUse(&clearGameStruct->window)) { + Window_Remove(&clearGameStruct->window); + } + + Bg_FreeTilemapBuffer(fieldSystem->bgConfig, BG_LAYER_MAIN_3); +} diff --git a/src/game_records.c b/src/game_records.c index 9f6f5cb107..12a7b8ec47 100644 --- a/src/game_records.c +++ b/src/game_records.c @@ -160,7 +160,7 @@ static u8 sUsesHighLimit[MAX_RECORDS] = { [RECORD_UNK_070] = FALSE, [RECORD_UNK_071] = TRUE, [RECORD_UNK_072] = TRUE, - [RECORD_UNK_073] = FALSE, + [RECORD_TIMES_ENTERED_HALL_OF_FAME] = FALSE, [RECORD_UNK_074] = TRUE, [RECORD_UNK_075] = TRUE, [RECORD_USED_SPLASH] = FALSE, diff --git a/src/meson.build b/src/meson.build index 408c057045..bdc150d493 100644 --- a/src/meson.build +++ b/src/meson.build @@ -210,7 +210,7 @@ pokeplatinum_c = files( 'encounter.c', 'field_battle_data_transfer.c', 'unk_020528D0.c', - 'unk_02052C6C.c', + 'clear_game.c', 'field_map_change.c', 'unk_02054884.c', 'terrain_attributes.c', diff --git a/src/overlay005/ov5_021F6454.c b/src/overlay005/ov5_021F6454.c index 6779282c76..83fbb7cb75 100644 --- a/src/overlay005/ov5_021F6454.c +++ b/src/overlay005/ov5_021F6454.c @@ -845,7 +845,7 @@ BOOL ScrCmd_30F(ScriptContext *param0) } break; case 15: - if (GameRecords_GetRecordValue(v1, RECORD_UNK_073) < 10) { + if (GameRecords_GetRecordValue(v1, RECORD_TIMES_ENTERED_HALL_OF_FAME) < 10) { *v4 = 0; } break; diff --git a/src/overlay006/roamer_after_battle.c b/src/overlay006/roamer_after_battle.c index 8259d82926..c1ac745f89 100644 --- a/src/overlay006/roamer_after_battle.c +++ b/src/overlay006/roamer_after_battle.c @@ -4,6 +4,7 @@ #include #include "constants/battle.h" +#include "constants/roamer_states.h" #include "struct_defs/special_encounter.h" @@ -18,7 +19,7 @@ #include "system_vars.h" #include "vars_flags.h" -static void MoveRoamersOffMap(SpecialEncounter *param0, const int param1); +static void MoveRoamersOffMap(SpecialEncounter *param0, const int currentMap); static Roamer *GetBattledRoamer(SpecialEncounter *speEnc, const int species); void RoamerAfterBattle_UpdateRoamers(FieldSystem *fieldSystem, FieldBattleDTO *battleParams) @@ -38,12 +39,12 @@ void RoamerAfterBattle_UpdateRoamers(FieldSystem *fieldSystem, FieldBattleDTO *b roamerHP = (u16)(Pokemon_GetValue(enemyMon, MON_DATA_HP, NULL)); roamerStatus = (u8)(Pokemon_GetValue(enemyMon, MON_DATA_STATUS, NULL)); - if ((battleParams->resultMask == BATTLE_RESULT_WIN) && (roamerHP == 0)) { + if (battleParams->resultMask == BATTLE_RESULT_WIN && roamerHP == 0) { SpecialEncounter_ZeroRoamerData(&roamer); - SystemVars_SetRoamingSpeciesState(SaveData_GetVarsFlags(fieldSystem->saveData), wildSpecies, 2); + SystemVars_SetRoamingSpeciesState(SaveData_GetVarsFlags(fieldSystem->saveData), wildSpecies, ROAMER_STATE_DEFEATED); } else if (battleParams->resultMask == BATTLE_RESULT_CAPTURED_MON) { SpecialEncounter_ZeroRoamerData(&roamer); - SystemVars_SetRoamingSpeciesState(SaveData_GetVarsFlags(fieldSystem->saveData), wildSpecies, 1); + SystemVars_SetRoamingSpeciesState(SaveData_GetVarsFlags(fieldSystem->saveData), wildSpecies, ROAMER_STATE_CAPTURED); } else { Roamer_SetData(roamer, ROAMER_DATA_CURRENT_HP, roamerHP); Roamer_SetData(roamer, ROAMER_DATA_STATUS, roamerStatus); diff --git a/src/overlay099/ov99_021D0D80.c b/src/overlay099/ov99_021D0D80.c index def1dc7144..163443a0d2 100644 --- a/src/overlay099/ov99_021D0D80.c +++ b/src/overlay099/ov99_021D0D80.c @@ -186,7 +186,7 @@ int ov99_021D1028(ApplicationManager *appMan, int *param1) v0->unk_1110 = ov99_021D3F6C(v0->unk_110C, 1); } - if (v0->unk_00->unk_04 && (gSystem.pressedKeys & PAD_BUTTON_START)) { + if (v0->unk_00->gameCompleted && (gSystem.pressedKeys & PAD_BUTTON_START)) { if ((v0->unk_1100 == 0) && (v0->unk_1101 < 6)) { StartScreenFade(FADE_BOTH_SCREENS, FADE_TYPE_BRIGHTNESS_OUT, FADE_TYPE_BRIGHTNESS_OUT, COLOR_BLACK, 6, 1, HEAP_ID_75); v0->unk_1100 = 1; diff --git a/src/overlay099/ov99_021D1A54.c b/src/overlay099/ov99_021D1A54.c index cb3e1bfcc4..221ed5a409 100644 --- a/src/overlay099/ov99_021D1A54.c +++ b/src/overlay099/ov99_021D1A54.c @@ -320,7 +320,7 @@ static void ov99_021D1A54(UnkStruct_ov99_021D2CB0 *param0) { u8 v0; - if (param0->unk_00->unk_00 == 0) { + if (param0->unk_00->gender == 0) { v0 = SpriteSystem_LoadPaletteBufferFromOpenNarc(param0->unk_0C, PLTTBUF_MAIN_OBJ, param0->unk_18, param0->unk_1C, param0->unk_10F8, 31, FALSE, 1, NNS_G2D_VRAM_TYPE_2DMAIN, 10001); SpriteSystem_LoadCharResObjFromOpenNarc(param0->unk_18, param0->unk_1C, param0->unk_10F8, 28, FALSE, NNS_G2D_VRAM_TYPE_2DMAIN, 10001); SpriteSystem_LoadCellResObjFromOpenNarc(param0->unk_18, param0->unk_1C, param0->unk_10F8, 29, FALSE, 10001); @@ -382,7 +382,7 @@ static void ov99_021D1BC4(UnkStruct_ov99_021D2CB0 *param0, ManagedSprite **param GF_ASSERT(param0->unk_10F4 == NULL); - if (param0->unk_00->unk_00 == 0) { + if (param0->unk_00->gender == 0) { v5 = 27; } else { v5 = 32; diff --git a/src/overlay099/ov99_021D4134.c b/src/overlay099/ov99_021D4134.c index 66ae21dbe1..b199efc92d 100644 --- a/src/overlay099/ov99_021D4134.c +++ b/src/overlay099/ov99_021D4134.c @@ -163,7 +163,7 @@ void ov99_021D439C(UnkStruct_ov99_021D2CB0 *param0, int param1, int param2, int case 0: GF_ASSERT(NELEMS(Unk_ov99_021D5394) > param1); - if (param0->unk_00->unk_00 == 0) { + if (param0->unk_00->gender == 0) { v3 = &Unk_ov99_021D5394[param1]; } else { v3 = &Unk_ov99_021D52F4[param1]; @@ -172,7 +172,7 @@ void ov99_021D439C(UnkStruct_ov99_021D2CB0 *param0, int param1, int param2, int case 1: GF_ASSERT(NELEMS(Unk_ov99_021D52F4) > param1); - if (param0->unk_00->unk_00 == 0) { + if (param0->unk_00->gender == 0) { v3 = &Unk_ov99_021D5274[param1]; } else { v3 = &Unk_ov99_021D52B4[param1]; @@ -219,7 +219,7 @@ void ov99_021D44CC(UnkStruct_ov99_021D2CB0 *param0, ManagedSprite *param1) v0 = G2_GetOBJCharPtr(); v2 = Sprite_GetImageProxy(param1->sprite); - if (param0->unk_00->unk_00 == 0) { + if (param0->unk_00->gender == 0) { MI_CpuCopy32(¶m0->unk_10F4[param0->unk_1114.unk_02 * ((0x20 * 8) / 2)], (void *)((u32)v0 + 0x1d * 0x20 + v2->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), 0x20); MI_CpuCopy32(¶m0->unk_10F4[param0->unk_1114.unk_02 * ((0x20 * 8) / 2) + 0x20], (void *)((u32)v0 + 0x1e * 0x20 + v2->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), 0x20); MI_CpuCopy32(¶m0->unk_10F4[param0->unk_1114.unk_02 * ((0x20 * 8) / 2) + 0x40], (void *)((u32)v0 + 0x25 * 0x20 + v2->vramLocation.baseAddrOfVram[NNS_G2D_VRAM_TYPE_2DMAIN]), 0x20); diff --git a/src/scrcmd.c b/src/scrcmd.c index f2aea4fcf0..93f7dd495b 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -100,6 +100,7 @@ #include "bag.h" #include "bg_window.h" #include "camera.h" +#include "clear_game.h" #include "comm_player_manager.h" #include "communication_system.h" #include "daycare_save.h" @@ -203,7 +204,6 @@ #include "unk_0205003C.h" #include "unk_02050568.h" #include "unk_020528D0.h" -#include "unk_02052C6C.h" #include "unk_020553DC.h" #include "unk_020559DC.h" #include "unk_0205749C.h" @@ -395,7 +395,7 @@ static BOOL ScrCmd_0AC(ScriptContext *ctx); static BOOL ScrCmd_0AD(ScriptContext *ctx); static BOOL ScrCmd_0AE(ScriptContext *ctx); static BOOL ScrCmd_0AF(ScriptContext *ctx); -static BOOL ScrCmd_0B0(ScriptContext *ctx); +static BOOL ScrCmd_ClearGame(ScriptContext *ctx); static BOOL ScrCmd_0B1(ScriptContext *ctx); static BOOL ScrCmd_336(ScriptContext *ctx); static BOOL ScrCmd_TryStartGTSApp(ScriptContext *ctx); @@ -677,7 +677,7 @@ static BOOL ScrCmd_DrawPokemonPreviewFromPartySlot(ScriptContext *ctx); static BOOL ScrCmd_28D(ScriptContext *ctx); static BOOL ScrCmd_28E(ScriptContext *ctx); static BOOL sub_02041FF8(ScriptContext *ctx); -static BOOL ScrCmd_28F(ScriptContext *ctx); +static BOOL ScrCmd_GetLeagueVictories(ScriptContext *ctx); static BOOL ScrCmd_292(ScriptContext *ctx); static BOOL ScrCmd_OpenPartyMenuForDaycare(ScriptContext *ctx); static BOOL ScrCmd_291(ScriptContext *ctx); @@ -945,7 +945,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_0AD, ScrCmd_0AE, ScrCmd_0AF, - ScrCmd_0B0, + ScrCmd_ClearGame, ScrCmd_0B1, ScrCmd_TryStartGTSApp, ScrCmd_0B3, @@ -1424,7 +1424,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_DrawPokemonPreviewFromPartySlot, ScrCmd_28D, ScrCmd_28E, - ScrCmd_28F, + ScrCmd_GetLeagueVictories, ScrCmd_OpenPartyMenuForDaycare, ScrCmd_291, ScrCmd_292, @@ -4182,9 +4182,9 @@ static BOOL ScrCmd_0AF(ScriptContext *ctx) return TRUE; } -static BOOL ScrCmd_0B0(ScriptContext *ctx) +static BOOL ScrCmd_ClearGame(ScriptContext *ctx) { - sub_02052E58(ctx->fieldSystem->task); + ClearGame(ctx->fieldSystem->task); return TRUE; } @@ -7110,28 +7110,28 @@ static BOOL ScrCmd_CheckDistributionEvent(ScriptContext *ctx) return FALSE; } -static BOOL ScrCmd_28F(ScriptContext *ctx) +static BOOL ScrCmd_GetLeagueVictories(ScriptContext *ctx) { - int v0; - u16 *v2 = ScriptContext_GetVarPointer(ctx); + int resultCode; + u16 *destVar = ScriptContext_GetVarPointer(ctx); - const HallOfFame *v1 = SaveData_HallOfFame(ctx->fieldSystem->saveData, 32, &v0); + const HallOfFame *hallOfFame = SaveData_HallOfFame(ctx->fieldSystem->saveData, 32, &resultCode); - if (v0 == 0) { - *v2 = 0; - Heap_Free((void *)v1); + if (resultCode == LOAD_RESULT_EMPTY) { + *destVar = 0; + Heap_Free((void *)hallOfFame); return TRUE; - } else if (v0 == 1) { - *v2 = HallOfFame_GetEntryNum(v1, 0); - Heap_Free((void *)v1); + } else if (resultCode == LOAD_RESULT_OK) { + *destVar = HallOfFame_GetEntryNum(hallOfFame, 0); + Heap_Free((void *)hallOfFame); return TRUE; - } else if (v0 == 2) { - *v2 = 0; - Heap_Free((void *)v1); + } else if (resultCode == LOAD_RESULT_CORRUPT) { + *destVar = 0; + Heap_Free((void *)hallOfFame); return TRUE; } - *v2 = 0; + *destVar = 0; return TRUE; } diff --git a/src/unk_0203D1B8.c b/src/unk_0203D1B8.c index 9415464e03..4e3972df9b 100644 --- a/src/unk_0203D1B8.c +++ b/src/unk_0203D1B8.c @@ -13,12 +13,12 @@ #include "struct_decls/struct_0202A750_decl.h" #include "struct_decls/struct_0209747C_decl.h" #include "struct_defs/choose_starter_data.h" +#include "struct_defs/clear_game_player_info.h" #include "struct_defs/gts_player_data.h" #include "struct_defs/struct_0203DA00.h" #include "struct_defs/struct_0203DDFC.h" #include "struct_defs/struct_0203DE34.h" #include "struct_defs/struct_0203E234.h" -#include "struct_defs/struct_0203E274.h" #include "struct_defs/struct_0203E2FC.h" #include "struct_defs/struct_0203E348.h" #include "struct_defs/struct_0203E564.h" @@ -1430,7 +1430,7 @@ void *FieldTask_OpenPCHallOfFameScreen(FieldSystem *fieldSystem) } } -void sub_0203E274(FieldSystem *fieldSystem, UnkStruct_0203E274 *param1) +void sub_0203E274(FieldSystem *fieldSystem, ClearGamePlayerInfo *param1) { FS_EXTERN_OVERLAY(overlay99); diff --git a/src/unk_02052C6C.c b/src/unk_02052C6C.c deleted file mode 100644 index ad5996dbb9..0000000000 --- a/src/unk_02052C6C.c +++ /dev/null @@ -1,320 +0,0 @@ -#include "unk_02052C6C.h" - -#include -#include - -#include "generated/game_records.h" - -#include "struct_defs/struct_0203E234.h" -#include "struct_defs/struct_0203E274.h" -#include "struct_defs/struct_02099F80.h" - -#include "field/field_system.h" -#include "savedata/save_table.h" - -#include "bg_window.h" -#include "field_message.h" -#include "field_overworld_state.h" -#include "field_task.h" -#include "game_options.h" -#include "game_records.h" -#include "gx_layers.h" -#include "hall_of_fame_entries.h" -#include "heap.h" -#include "item_use_pokemon.h" -#include "location.h" -#include "message.h" -#include "message_util.h" -#include "party.h" -#include "pokedex.h" -#include "render_window.h" -#include "rtc.h" -#include "save_player.h" -#include "savedata.h" -#include "screen_fade.h" -#include "sound_playback.h" -#include "string_gf.h" -#include "string_template.h" -#include "system_flags.h" -#include "trainer_info.h" -#include "unk_0203D1B8.h" -#include "unk_02054884.h" -#include "unk_020559DC.h" -#include "vars_flags.h" - -typedef struct { - BOOL unk_00; - HallOfFameDisplayData displayData; - UnkStruct_0203E274 unk_10; - Window unk_1C; - String *unk_2C; - void *unk_30; - int unk_34; - int unk_38; -} UnkStruct_0205300C; - -static void sub_02052F28(FieldSystem *fieldSystem, UnkStruct_0205300C *param1); -static void sub_02052FA8(FieldSystem *fieldSystem, UnkStruct_0205300C *param1); -static void sub_02053028(FieldSystem *fieldSystem, UnkStruct_0205300C *param1, int param2); -static void sub_0205300C(UnkStruct_0205300C *param0); -static void sub_02053098(FieldSystem *fieldSystem, UnkStruct_0205300C *param1); -static BOOL sub_02052FFC(UnkStruct_0205300C *param0); - -static void sub_02052C6C(FieldSystem *fieldSystem, BOOL param1) -{ - HallOfFame *v0; - Party *v1; - RTCDate v2; - int v3; - - v0 = SaveData_HallOfFame(fieldSystem->saveData, 11, &v3); - - if ((v3 != 1) || !param1) { - HallOfFame_Init(v0); - } - - v1 = SaveData_GetParty(fieldSystem->saveData); - - GetCurrentDate(&v2); - HallOfFame_AddEntry(v0, v1, &v2); - SaveData_SaveHallOfFame(fieldSystem->saveData, v0); - Heap_Free(v0); -} - -static BOOL sub_02052CBC(FieldTask *param0) -{ - Location *v0; - VarsFlags *v1; - FieldSystem *fieldSystem = FieldTask_GetFieldSystem(param0); - UnkStruct_0205300C *v3 = FieldTask_GetEnv(param0); - int *v4 = FieldTask_GetState(param0); - HallOfFameDisplayData *displayData = &v3->displayData; - - switch (*v4) { - case 0: - FieldTask_StartHallOfFame(fieldSystem, displayData); - (*v4)++; - break; - case 1: - if (!FieldSystem_IsRunningApplication(fieldSystem)) { - Heap_Create(HEAP_ID_APPLICATION, HEAP_ID_FIELD1, HEAP_SIZE_FIELD1); - sub_02052F28(fieldSystem, v3); - StartScreenFade(FADE_MAIN_ONLY, FADE_TYPE_BRIGHTNESS_IN, FADE_TYPE_BRIGHTNESS_IN, COLOR_BLACK, 8, 1, HEAP_ID_FIELD3); - (*v4)++; - } - break; - case 2: - if (IsScreenFadeDone()) { - if (SaveData_OverwriteCheck(fieldSystem->saveData) == 0) { - sub_02052FA8(fieldSystem, v3); - (*v4)++; - } else { - (*v4) = 7; - } - } - break; - case 3: - if (sub_02052FFC(v3)) { - (*v4)++; - } - break; - case 4: { - int v6; - - Party_HealAllMembers(SaveData_GetParty(fieldSystem->saveData)); - SaveData_SetFullSaveRequired(); - v6 = SaveData_Save(fieldSystem->saveData); - sub_02052C6C(fieldSystem, v3->unk_00); - sub_0205300C(v3); - sub_02053028(fieldSystem, v3, v6); - (*v4)++; - } break; - case 5: - if (sub_02052FFC(v3)) { - Sound_PlayEffect(SEQ_SE_DP_SAVE); - v3->unk_38 = 18; - (*v4)++; - } - break; - case 6: - if (v3->unk_38) { - v3->unk_38--; - } else { - (*v4)++; - } - break; - case 7: - StartScreenFade(FADE_MAIN_ONLY, FADE_TYPE_BRIGHTNESS_OUT, FADE_TYPE_BRIGHTNESS_OUT, COLOR_BLACK, 8, 1, HEAP_ID_FIELD3); - (*v4)++; - break; - case 8: - if (IsScreenFadeDone()) { - sub_02053098(fieldSystem, v3); - sub_0203E274(fieldSystem, &(v3->unk_10)); - (*v4)++; - } - break; - case 9: - if (!FieldSystem_IsRunningApplication(fieldSystem)) { - Heap_Free(v3); - Heap_Destroy(HEAP_ID_FIELD1); - OS_ResetSystem(0); - return 1; - } - break; - } - - return 0; -} - -void sub_02052E58(FieldTask *param0) -{ - FieldSystem *fieldSystem; - Location *v1, *v2; - VarsFlags *v3; - TrainerInfo *v4; - UnkStruct_0205300C *v5; - GameRecords *v6; - Party *v7; - - fieldSystem = FieldTask_GetFieldSystem(param0); - v5 = Heap_Alloc(HEAP_ID_FIELD3, sizeof(UnkStruct_0205300C)); - v3 = SaveData_GetVarsFlags(fieldSystem->saveData); - v4 = SaveData_GetTrainerInfo(fieldSystem->saveData); - v1 = FieldOverworldState_GetSpecialLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData)); - v2 = FieldOverworldState_GetExitLocation(SaveData_GetFieldOverworldState(fieldSystem->saveData)); - - v5->unk_00 = SystemFlag_CheckGameCompleted(v3); - v5->displayData.trainerInfo = SaveData_GetTrainerInfo(fieldSystem->saveData); - v5->displayData.party = SaveData_GetParty(fieldSystem->saveData); - v5->displayData.playTime = SaveData_GetPlayTime(fieldSystem->saveData); - v5->unk_10.unk_00 = TrainerInfo_Gender(SaveData_GetTrainerInfo(fieldSystem->saveData)); - v5->unk_10.unk_04 = SystemFlag_CheckGameCompleted(v3); - v5->unk_10.unk_08 = SaveData_GetPokedex(fieldSystem->saveData); - - if (SystemFlag_CheckGameCompleted(v3) == 0) { - FieldSystem_RecordFirstCompletion(fieldSystem); - } - - v7 = SaveData_GetParty(fieldSystem->saveData); - - Party_GiveChampionRibbons(v7); - SetPlayerStartLocation(v1); - SetPlayerFirstRespawnLocation(v2); - SystemFlag_SetCommunicationClubAccessible(v3); - SystemFlag_SetGameCompleted(v3); - TrainerInfo_SetMainStoryCleared(v4); - - v6 = SaveData_GetGameRecords(fieldSystem->saveData); - - GameRecords_IncrementRecordValue(v6, RECORD_UNK_073); - FieldTask_InitCall(param0, sub_02052CBC, v5); -} - -static void sub_02052F28(FieldSystem *fieldSystem, UnkStruct_0205300C *param1) -{ - static const UnkStruct_02099F80 v0 = { - GX_VRAM_BG_128_B, - GX_VRAM_BGEXTPLTT_NONE, - GX_VRAM_SUB_BG_128_C, - GX_VRAM_SUB_BGEXTPLTT_NONE, - GX_VRAM_OBJ_64_E, - GX_VRAM_OBJEXTPLTT_NONE, - GX_VRAM_SUB_OBJ_16_I, - GX_VRAM_SUB_OBJEXTPLTT_NONE, - GX_VRAM_TEX_0_A, - GX_VRAM_TEXPLTT_01_FG - }; - static const GraphicsModes v1 = { - GX_DISPMODE_GRAPHICS, - GX_BGMODE_0, - GX_BGMODE_0, - GX_BG0_AS_2D - }; - static const BgTemplate v2 = { - .x = 0, - .y = 0, - .bufferSize = 0x800, - .baseTile = 0, - .screenSize = BG_SCREEN_SIZE_256x256, - .colorMode = GX_BG_COLORMODE_16, - .screenBase = 0, - .charBase = 0, - .bgExtPltt = GX_BG_EXTPLTT_01, - .priority = 1, - .areaOver = 0, - .mosaic = FALSE, - }; - - param1->unk_2C = NULL; - param1->unk_30 = NULL; - - Window_Init(¶m1->unk_1C); - GXLayers_SetBanks(&v0); - - GX_SetDispSelect(GX_DISP_SELECT_MAIN_SUB); - - SetAllGraphicsModes(&v1); - Bg_MaskPalette(BG_LAYER_MAIN_3, 0x0); - Bg_InitFromTemplate(fieldSystem->bgConfig, BG_LAYER_MAIN_3, &v2, 0); - Bg_ClearTilesRange(BG_LAYER_MAIN_3, 0x20, 0, HEAP_ID_FIELD3); - Bg_FillTilemapRect(fieldSystem->bgConfig, 3, 0x0, 0, 0, 32, 32, 17); - Bg_CopyTilemapBufferToVRAM(fieldSystem->bgConfig, 3); -} - -static void sub_02052FA8(FieldSystem *fieldSystem, UnkStruct_0205300C *param1) -{ - Options *options = SaveData_GetOptions(fieldSystem->saveData); - - param1->unk_2C = MessageBank_GetNewStringFromNARC(26, 213, 15, 32); - - FieldMessage_AddWindow(fieldSystem->bgConfig, ¶m1->unk_1C, 3); - FieldMessage_DrawWindow(¶m1->unk_1C, options); - - param1->unk_34 = FieldMessage_Print(¶m1->unk_1C, param1->unk_2C, options, 1); - param1->unk_30 = Window_AddWaitDial(¶m1->unk_1C, 1024 - (18 + 12)); -} - -static BOOL sub_02052FFC(UnkStruct_0205300C *param0) -{ - return FieldMessage_FinishedPrinting(param0->unk_34); -} - -static void sub_0205300C(UnkStruct_0205300C *param0) -{ - String_Free(param0->unk_2C); - DestroyWaitDial(param0->unk_30); - FieldMessage_ClearWindow(¶m0->unk_1C); -} - -static void sub_02053028(FieldSystem *fieldSystem, UnkStruct_0205300C *param1, int param2) -{ - MessageLoader *v0 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_COMMON_STRINGS, HEAP_ID_FIELD1); - - if (param2 == 2) { - StringTemplate *v1; - - v1 = StringTemplate_Default(HEAP_ID_FIELD1); - StringTemplate_SetPlayerName(v1, 0, SaveData_GetTrainerInfo(fieldSystem->saveData)); - param1->unk_2C = MessageUtil_ExpandedString(v1, v0, 16, HEAP_ID_FIELD1); - StringTemplate_Free(v1); - } else { - param1->unk_2C = MessageLoader_GetNewString(v0, 18); - } - - MessageLoader_Free(v0); - param1->unk_34 = FieldMessage_Print(¶m1->unk_1C, param1->unk_2C, SaveData_GetOptions(fieldSystem->saveData), 1); -} - -static void sub_02053098(FieldSystem *fieldSystem, UnkStruct_0205300C *param1) -{ - if (param1->unk_2C) { - String_Free(param1->unk_2C); - } - - if (Window_IsInUse(¶m1->unk_1C)) { - Window_Remove(¶m1->unk_1C); - } - - Bg_FreeTilemapBuffer(fieldSystem->bgConfig, BG_LAYER_MAIN_3); -}