From 2de495199ae13ac8c0456cad3be334ff9a57470b Mon Sep 17 00:00:00 2001 From: Viperio <146665252+Viperio19@users.noreply.github.com> Date: Fri, 5 Dec 2025 22:21:17 +0100 Subject: [PATCH] Document battle tower battle salon and multi corridor (#825) --- asm/macros/scrcmd.inc | 21 +- generated/battle_tower_functions.txt | 8 +- generated/frontier_trainers.txt | 315 ++++++++++++ generated/meson.build | 2 + generated/vars_flags.txt | 20 +- include/constants/battle_tower.h | 15 + include/field/field_system.h | 2 +- include/overlay104/frontier_data_transfer.h | 8 +- include/overlay104/ov104_0222DCE0.h | 2 +- include/overlay104/ov104_022394A4.h | 2 +- include/overlay104/ov104_0223A0C4.h | 6 +- include/overlay104/struct_ov104_0223ADA0.h | 2 +- include/overlay104/struct_ov104_0223B5C0.h | 2 +- include/overlay104/struct_ov104_0223BA10.h | 2 +- include/overlay104/struct_ov104_0223BFFC.h | 2 +- .../{struct_0204AFC4.h => battle_tower.h} | 22 +- include/unk_0202D05C.h | 2 +- include/unk_020494DC.h | 2 +- include/unk_02049D08.h | 6 +- include/unk_0204AEE8.h | 8 +- include/unk_0209BA80.h | 2 +- .../events_battle_tower_battle_salon.json | 22 +- .../events_battle_tower_corridor_multi.json | 8 +- res/field/scripts/scripts_battle_arcade.s | 2 +- res/field/scripts/scripts_battle_castle.s | 2 +- res/field/scripts/scripts_battle_factory.s | 2 +- res/field/scripts/scripts_battle_hall.s | 2 +- res/field/scripts/scripts_battle_tower.s | 14 +- .../scripts_battle_tower_battle_room.s | 4 +- .../scripts_battle_tower_battle_salon.s | 473 +++++++++--------- .../scripts_battle_tower_corridor_multi.s | 83 +-- .../scripts/scripts_battle_tower_elevator.s | 35 +- .../scripts_battle_tower_multi_battle_room.s | 14 +- res/field/scripts/scripts_battleground.s | 12 +- res/field/scripts/scripts_common.s | 2 +- res/field/scripts/scripts_eterna_forest.s | 4 +- .../scripts_iron_island_b2f_left_room.s | 4 +- res/field/scripts/scripts_unk_0213.s | 2 +- res/field/scripts/scripts_unk_0423.s | 4 +- .../scripts/scripts_victory_road_1f_room_2.s | 4 +- res/field/scripts/scripts_wayward_cave_1f.s | 4 +- .../scripts/scripts_wifi_plaza_entrance.s | 2 +- res/text/battle_tower_battle_salon.json | 36 +- res/trainers/frontier/meson.build | 12 +- src/overlay104/ov104_0222DCE0.c | 4 +- src/overlay104/ov104_022332B4.c | 2 +- src/overlay104/ov104_02234838.c | 2 +- src/overlay104/ov104_022358E8.c | 2 +- src/overlay104/ov104_02237378.c | 2 +- src/overlay104/ov104_02239130.c | 43 +- src/overlay104/ov104_022394A4.c | 8 +- src/overlay104/ov104_022395F0.c | 8 +- src/overlay104/ov104_0223A0C4.c | 38 +- src/scrcmd.c | 36 +- src/unk_0202D05C.c | 6 +- src/unk_020494DC.c | 81 +-- src/unk_02049D08.c | 63 ++- src/unk_0204AEE8.c | 87 ++-- src/unk_0204F13C.c | 2 +- src/unk_0204FAB4.c | 2 +- src/unk_0205003C.c | 2 +- src/unk_0209BA80.c | 8 +- 62 files changed, 974 insertions(+), 620 deletions(-) create mode 100644 generated/frontier_trainers.txt create mode 100644 include/constants/battle_tower.h rename include/struct_defs/{struct_0204AFC4.h => battle_tower.h} (69%) diff --git a/asm/macros/scrcmd.inc b/asm/macros/scrcmd.inc index 31613447fa..b6bff95d75 100644 --- a/asm/macros/scrcmd.inc +++ b/asm/macros/scrcmd.inc @@ -31,6 +31,7 @@ #include "generated/trainer_score_events.h" #include "generated/trainers.h" #include "constants/animation_tags.h" +#include "constants/battle_tower.h" #include "constants/boat_cutscene.h" #include "constants/colors.h" #include "constants/elevator_dirs.h" @@ -690,11 +691,11 @@ .short \arg2 .endm - .macro ScrCmd_06B arg0, arg1, arg2 + .macro MoveCamera x, y, z .short 107 - .short \arg0 - .short \arg1 - .short \arg2 + .short \x + .short \y + .short \z .endm .macro ScrCmd_06C arg0, arg1 @@ -2743,12 +2744,12 @@ .short \destVar .endm - .macro ScrCmd_1DE arg0, arg1, arg2, arg3 + .macro GetBattleTowerPartnerSpeciesAndMove partnerID, monID, destVar1, destVar2 .short 478 - .short \arg0 - .short \arg1 - .short \arg2 - .short \arg3 + .short \partnerID + .short \monID + .short \destVar1 + .short \destVar2 .endm .macro ScrCmd_1DF arg0 @@ -2886,7 +2887,7 @@ .short \partySlot .endm - .macro ScrCmd_1F8 + .macro WaitForTransition .short 504 .endm diff --git a/generated/battle_tower_functions.txt b/generated/battle_tower_functions.txt index 70c5b86d53..12e74e5ed7 100644 --- a/generated/battle_tower_functions.txt +++ b/generated/battle_tower_functions.txt @@ -23,7 +23,7 @@ BATTLE_TOWER_FUNCTION_UNK_37 BATTLE_TOWER_FUNCTION_UNK_38 BATTLE_TOWER_FUNCTION_UNK_39 BATTLE_TOWER_FUNCTION_UNK_40 -BATTLE_TOWER_FUNCTION_UNK_41 +BATTLE_TOWER_FUNCTION_GET_OPPONENT_OBJECT_ID BATTLE_TOWER_FUNCTION_UNK_42 BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE BATTLE_TOWER_FUNCTION_UNK_44 @@ -31,12 +31,12 @@ BATTLE_TOWER_FUNCTION_UNK_45 BATTLE_TOWER_FUNCTION_UNK_47 = 47 BATTLE_TOWER_FUNCTION_UNK_48 BATTLE_TOWER_FUNCTION_UNK_49 -BATTLE_TOWER_FUNCTION_UNK_50 -BATTLE_TOWER_FUNCTION_UNK_51 +BATTLE_TOWER_FUNCTION_SET_PARTNER_ID +BATTLE_TOWER_FUNCTION_GET_PARTNER_ID BATTLE_TOWER_FUNCTION_UNK_52 BATTLE_TOWER_FUNCTION_GET_SLOT_INDEX BATTLE_TOWER_FUNCTION_UNK_54 -BATTLE_TOWER_FUNCTION_UNK_55 +BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM BATTLE_TOWER_FUNCTION_UNK_56 BATTLE_TOWER_FUNCTION_UNK_57 BATTLE_TOWER_FUNCTION_UNK_58 diff --git a/generated/frontier_trainers.txt b/generated/frontier_trainers.txt new file mode 100644 index 0000000000..1207be2cf4 --- /dev/null +++ b/generated/frontier_trainers.txt @@ -0,0 +1,315 @@ +FRONTIER_TRAINER_YOUNGSTER_JIM +FRONTIER_TRAINER_YOUNGSTER_ERROLL +FRONTIER_TRAINER_YOUNGSTER_CASIMIR +FRONTIER_TRAINER_LASS_CAMERON +FRONTIER_TRAINER_LASS_PEACHES +FRONTIER_TRAINER_LASS_YASMIN +FRONTIER_TRAINER_SCHOOL_KID_FOSTER +FRONTIER_TRAINER_SCHOOL_KID_KEN +FRONTIER_TRAINER_SCHOOL_KID_OWEN +FRONTIER_TRAINER_SCHOOL_KID_MARCY +FRONTIER_TRAINER_SCHOOL_KID_SHELLY +FRONTIER_TRAINER_SCHOOL_KID_ASPEN +FRONTIER_TRAINER_RICH_BOY_MATT +FRONTIER_TRAINER_RICH_BOY_ALVAN +FRONTIER_TRAINER_RICH_BOY_ASA +FRONTIER_TRAINER_LADY_ISABEL +FRONTIER_TRAINER_LADY_NICHOLE +FRONTIER_TRAINER_LADY_JUANITA +FRONTIER_TRAINER_CAMPER_BERNARD +FRONTIER_TRAINER_CAMPER_HERBERT +FRONTIER_TRAINER_CAMPER_COLBERT +FRONTIER_TRAINER_PICNICKER_MAGGIE +FRONTIER_TRAINER_PICNICKER_MELANIE +FRONTIER_TRAINER_PICNICKER_ANN +FRONTIER_TRAINER_TUBER_MANFORD +FRONTIER_TRAINER_TUBER_HANK +FRONTIER_TRAINER_TUBER_PERCY +FRONTIER_TRAINER_TUBER_DAKOTA +FRONTIER_TRAINER_TUBER_JENNY +FRONTIER_TRAINER_TUBER_TIA +FRONTIER_TRAINER_GUITARIST_MALCOLM +FRONTIER_TRAINER_GUITARIST_TAD +FRONTIER_TRAINER_GUITARIST_CONCORD +FRONTIER_TRAINER_IDOL_PENNY +FRONTIER_TRAINER_IDOL_LANA +FRONTIER_TRAINER_IDOL_CRIMSON +FRONTIER_TRAINER_POKEFAN_EWAN +FRONTIER_TRAINER_POKEFAN_KANE +FRONTIER_TRAINER_POKEFAN_THEO +FRONTIER_TRAINER_POKEFAN_ALEXIA +FRONTIER_TRAINER_POKEFAN_LUNA +FRONTIER_TRAINER_POKEFAN_CELENE +FRONTIER_TRAINER_WAITER_CYAN +FRONTIER_TRAINER_WAITER_INDIGO +FRONTIER_TRAINER_WAITER_ORIN +FRONTIER_TRAINER_WAITRESS_ASHLEY +FRONTIER_TRAINER_WAITRESS_NOELLE +FRONTIER_TRAINER_WAITRESS_KANDACE +FRONTIER_TRAINER_BUG_CATCHER_FLOYD +FRONTIER_TRAINER_BUG_CATCHER_HOFFMAN +FRONTIER_TRAINER_BUG_CATCHER_AMADEUS +FRONTIER_TRAINER_NINJA_BOY_SHIA +FRONTIER_TRAINER_NINJA_BOY_VINCENT +FRONTIER_TRAINER_NINJA_BOY_PIERRE +FRONTIER_TRAINER_POKE_KID_ALICE +FRONTIER_TRAINER_POKE_KID_ANITA +FRONTIER_TRAINER_POKE_KID_ALLISON +FRONTIER_TRAINER_FISHERMAN_KIEFER +FRONTIER_TRAINER_FISHERMAN_BASIL +FRONTIER_TRAINER_RUIN_MANIAC_HENRIK +FRONTIER_TRAINER_RUIN_MANIAC_AUBRY +FRONTIER_TRAINER_COLLECTOR_UPTON +FRONTIER_TRAINER_COLLECTOR_EMIL +FRONTIER_TRAINER_PARASOL_LADY_BRIDGET +FRONTIER_TRAINER_PARASOL_LADY_BLANCHE +FRONTIER_TRAINER_PARASOL_LADY_COLETTE +FRONTIER_TRAINER_BEAUTY_TIFFANY +FRONTIER_TRAINER_BEAUTY_BRITNEY +FRONTIER_TRAINER_BEAUTY_HARMONY +FRONTIER_TRAINER_AROMA_LADY_LUCY +FRONTIER_TRAINER_AROMA_LADY_JACKIE +FRONTIER_TRAINER_AROMA_LADY_KARA +FRONTIER_TRAINER_GUITARIST_BERNIE +FRONTIER_TRAINER_GUITARIST_CURTIS +FRONTIER_TRAINER_BIRD_KEEPER_NANCY +FRONTIER_TRAINER_BIRD_KEEPER_TRINITY +FRONTIER_TRAINER_BIRD_KEEPER_SHAWNA +FRONTIER_TRAINER_SAILOR_LAYTON +FRONTIER_TRAINER_SAILOR_GODWIN +FRONTIER_TRAINER_HIKER_EVERETT +FRONTIER_TRAINER_HIKER_RAIDEN +FRONTIER_TRAINER_IDOL_ADA +FRONTIER_TRAINER_IDOL_ANNIE +FRONTIER_TRAINER_IDOL_BASIA +FRONTIER_TRAINER_JOGGER_STEVE +FRONTIER_TRAINER_JOGGER_DAVE +FRONTIER_TRAINER_WORKER_SHANE +FRONTIER_TRAINER_WORKER_BENJI +FRONTIER_TRAINER_RANCHER_PIERCE +FRONTIER_TRAINER_RANCHER_ETIENNE +FRONTIER_TRAINER_RANCHER_LEON +FRONTIER_TRAINER_COWGIRL_DORIS +FRONTIER_TRAINER_COWGIRL_PAISLEY +FRONTIER_TRAINER_COWGIRL_LESLIE +FRONTIER_TRAINER_CAMERAMAN_HUDSON +FRONTIER_TRAINER_CAMERAMAN_XENON +FRONTIER_TRAINER_CAMERAMAN_AMLETH +FRONTIER_TRAINER_REPORTER_DOT +FRONTIER_TRAINER_REPORTER_MARBLE +FRONTIER_TRAINER_REPORTER_GINGHAM +FRONTIER_TRAINER_CYCLIST_GASPAR +FRONTIER_TRAINER_CYCLIST_IGNATIO +FRONTIER_TRAINER_CYCLIST_KAYLENE +FRONTIER_TRAINER_CYCLIST_KAYA +FRONTIER_TRAINER_BLACK_BELT_CLEMENT +FRONTIER_TRAINER_BLACK_BELT_MASON +FRONTIER_TRAINER_BATTLE_GIRL_KODI +FRONTIER_TRAINER_BATTLE_GIRL_AILEEN +FRONTIER_TRAINER_BLACK_BELT_JERICHO +FRONTIER_TRAINER_BLACK_BELT_HARRIS +FRONTIER_TRAINER_BLACK_BELT_SOREN +FRONTIER_TRAINER_BATTLE_GIRL_TRINA +FRONTIER_TRAINER_BATTLE_GIRL_ALTA +FRONTIER_TRAINER_BATTLE_GIRL_INGRID +FRONTIER_TRAINER_VETERAN_BECK +FRONTIER_TRAINER_VETERAN_ERIC +FRONTIER_TRAINER_VETERAN_PADGETT +FRONTIER_TRAINER_SOCIALITE_BARBARA +FRONTIER_TRAINER_SOCIALITE_ISABEL +FRONTIER_TRAINER_SOCIALITE_CARMEN +FRONTIER_TRAINER_PSYCHIC_ALPHA +FRONTIER_TRAINER_PSYCHIC_BETA +FRONTIER_TRAINER_PSYCHIC_ESSIE +FRONTIER_TRAINER_PSYCHIC_AMELIA +FRONTIER_TRAINER_PSYCHIC_CELINE +FRONTIER_TRAINER_PSYCHIC_JILLIAN +FRONTIER_TRAINER_BREEDER_HOWARD +FRONTIER_TRAINER_BREEDER_DERRELL +FRONTIER_TRAINER_BREEDER_BALDWIN +FRONTIER_TRAINER_BREEDER_ADRIANA +FRONTIER_TRAINER_BREEDER_SONYA +FRONTIER_TRAINER_BREEDER_TATYANA +FRONTIER_TRAINER_GENTLEMAN_ZANTE +FRONTIER_TRAINER_GENTLEMAN_GILIAM +FRONTIER_TRAINER_ROUGHNECK_RODNEY +FRONTIER_TRAINER_ROUGHNECK_RAINIER +FRONTIER_TRAINER_SCIENTIST_JEAN +FRONTIER_TRAINER_SCIENTIST_BRAD +FRONTIER_TRAINER_CLOWN_FRANCIS +FRONTIER_TRAINER_CLOWN_PRESCOT +FRONTIER_TRAINER_ACE_TRAINER_YARDLEY +FRONTIER_TRAINER_ACE_TRAINER_STAVROS +FRONTIER_TRAINER_ACE_TRAINER_ZANE +FRONTIER_TRAINER_ACE_TRAINER_KIM +FRONTIER_TRAINER_ACE_TRAINER_MACY +FRONTIER_TRAINER_ACE_TRAINER_FAUN +FRONTIER_TRAINER_RANGER_DOYLE +FRONTIER_TRAINER_RANGER_DUKE +FRONTIER_TRAINER_RANGER_DEACON +FRONTIER_TRAINER_RANGER_MENA +FRONTIER_TRAINER_RANGER_MERCY +FRONTIER_TRAINER_RANGER_EVITA +FRONTIER_TRAINER_DRAGON_TAMER_HAROLD +FRONTIER_TRAINER_DRAGON_TAMER_HERMAN +FRONTIER_TRAINER_DRAGON_TAMER_EMMETT +FRONTIER_TRAINER_DRAGON_TAMER_ERICH +FRONTIER_TRAINER_ACE_TRAINER_GARVEY +FRONTIER_TRAINER_ACE_TRAINER_CRUZ +FRONTIER_TRAINER_ACE_TRAINER_PAMELA +FRONTIER_TRAINER_ACE_TRAINER_DANIELA +FRONTIER_TRAINER_YOUNGSTER_KADEN +FRONTIER_TRAINER_YOUNGSTER_KOLBY +FRONTIER_TRAINER_LASS_KARISSA +FRONTIER_TRAINER_LASS_LILIANA +FRONTIER_TRAINER_SCHOOL_KID_JONAS +FRONTIER_TRAINER_SCHOOL_KID_KEON +FRONTIER_TRAINER_SCHOOL_KID_CHELSIE +FRONTIER_TRAINER_SCHOOL_KID_REGINA +FRONTIER_TRAINER_RICH_BOY_DAULTON +FRONTIER_TRAINER_RICH_BOY_HANSON +FRONTIER_TRAINER_LADY_AMORY +FRONTIER_TRAINER_LADY_JULIANA +FRONTIER_TRAINER_BUG_CATCHER_CAMUI +FRONTIER_TRAINER_BUG_CATCHER_ORLANDO +FRONTIER_TRAINER_NINJA_BOY_ZACK +FRONTIER_TRAINER_NINJA_BOY_VANCE +FRONTIER_TRAINER_POKE_KID_KYLA +FRONTIER_TRAINER_POKE_KID_RUBY +FRONTIER_TRAINER_IDOL_KILEY +FRONTIER_TRAINER_IDOL_UTAH +FRONTIER_TRAINER_JOGGER_COLT +FRONTIER_TRAINER_JOGGER_TORY +FRONTIER_TRAINER_FISHERMAN_FARLEY +FRONTIER_TRAINER_FISHERMAN_MARK +FRONTIER_TRAINER_RUIN_MANIAC_SAMUEL +FRONTIER_TRAINER_RUIN_MANIAC_PENN +FRONTIER_TRAINER_COLLECTOR_MARQUEZ +FRONTIER_TRAINER_COLLECTOR_ARNOLD +FRONTIER_TRAINER_GUITARIST_FRED +FRONTIER_TRAINER_GUITARIST_CHASE +FRONTIER_TRAINER_BIRD_KEEPER_MCKENNA +FRONTIER_TRAINER_BIRD_KEEPER_SALLY +FRONTIER_TRAINER_SAILOR_CASPER +FRONTIER_TRAINER_SAILOR_DERRIAN +FRONTIER_TRAINER_HIKER_MONTY +FRONTIER_TRAINER_HIKER_ROCKY +FRONTIER_TRAINER_POLICEMAN_REGGIE +FRONTIER_TRAINER_POLICEMAN_QUINCY +FRONTIER_TRAINER_PI_NEIL +FRONTIER_TRAINER_PI_SERGEI +FRONTIER_TRAINER_CAMPER_FREDDY +FRONTIER_TRAINER_CAMPER_ANDRE +FRONTIER_TRAINER_PICNICKER_INGA +FRONTIER_TRAINER_PICNICKER_TONYA +FRONTIER_TRAINER_GUITARIST_TOBIAS +FRONTIER_TRAINER_GUITARIST_CECIL +FRONTIER_TRAINER_IDOL_MARANDA +FRONTIER_TRAINER_IDOL_HELENE +FRONTIER_TRAINER_POKEFAN_SIMON +FRONTIER_TRAINER_POKEFAN_TURNER +FRONTIER_TRAINER_POKEFAN_EUROPA +FRONTIER_TRAINER_POKEFAN_PANDORA +FRONTIER_TRAINER_RANCHER_VERN +FRONTIER_TRAINER_RANCHER_BORIS +FRONTIER_TRAINER_COWGIRL_CARLY +FRONTIER_TRAINER_COWGIRL_GINGER +FRONTIER_TRAINER_BREEDER_PETER +FRONTIER_TRAINER_BREEDER_TYRON +FRONTIER_TRAINER_BREEDER_ZORYA +FRONTIER_TRAINER_BREEDER_ANTONIA +FRONTIER_TRAINER_ACE_TRAINER_SAWYER +FRONTIER_TRAINER_ACE_TRAINER_CHARLIE +FRONTIER_TRAINER_ACE_TRAINER_CHLOE +FRONTIER_TRAINER_ACE_TRAINER_DAPHNE +FRONTIER_TRAINER_ACE_TRAINER_THAD +FRONTIER_TRAINER_ACE_TRAINER_LEW +FRONTIER_TRAINER_ACE_TRAINER_OPAL +FRONTIER_TRAINER_ACE_TRAINER_LEDA +FRONTIER_TRAINER_RANGER_GEOFF +FRONTIER_TRAINER_RANGER_GUNTHER +FRONTIER_TRAINER_RANGER_ALMA +FRONTIER_TRAINER_RANGER_ELISE +FRONTIER_TRAINER_DRAGON_TAMER_HARVEY +FRONTIER_TRAINER_DRAGON_TAMER_NICOLAS +FRONTIER_TRAINER_BLACK_BELT_FERGUS +FRONTIER_TRAINER_BLACK_BELT_RONNI +FRONTIER_TRAINER_BATTLE_GIRL_EVE +FRONTIER_TRAINER_BATTLE_GIRL_MARIANE +FRONTIER_TRAINER_VETERAN_COSTIN +FRONTIER_TRAINER_VETERAN_ALFRED +FRONTIER_TRAINER_SOCIALITE_RIOHA +FRONTIER_TRAINER_SOCIALITE_JANICE +FRONTIER_TRAINER_PSYCHIC_DENVER +FRONTIER_TRAINER_PSYCHIC_BERKLEY +FRONTIER_TRAINER_PSYCHIC_IRENE +FRONTIER_TRAINER_PSYCHIC_SYLVIE +FRONTIER_TRAINER_WAITER_XANDER +FRONTIER_TRAINER_WAITER_WARREN +FRONTIER_TRAINER_WAITRESS_LESLIE +FRONTIER_TRAINER_WAITRESS_KATHY +FRONTIER_TRAINER_CAMERAMAN_DARREN +FRONTIER_TRAINER_CAMERAMAN_SKIP +FRONTIER_TRAINER_REPORTER_KATIE +FRONTIER_TRAINER_REPORTER_ELAINE +FRONTIER_TRAINER_CYCLIST_CLIVE +FRONTIER_TRAINER_CYCLIST_WARD +FRONTIER_TRAINER_CYCLIST_HILDA +FRONTIER_TRAINER_CYCLIST_VANITA +FRONTIER_TRAINER_PI_RALPH +FRONTIER_TRAINER_PI_CONWAY +FRONTIER_TRAINER_IDOL_KRISTI +FRONTIER_TRAINER_IDOL_TRISTA +FRONTIER_TRAINER_JOGGER_AUSTIN +FRONTIER_TRAINER_JOGGER_DIMITRI +FRONTIER_TRAINER_FISHERMAN_DELANEY +FRONTIER_TRAINER_FISHERMAN_KEATON +FRONTIER_TRAINER_SAILOR_CARLO +FRONTIER_TRAINER_SAILOR_HORATIO +FRONTIER_TRAINER_HIKER_LYLE +FRONTIER_TRAINER_HIKER_GLEN +FRONTIER_TRAINER_RUIN_MANIAC_ISADORE +FRONTIER_TRAINER_RUIN_MANIAC_WALTON +FRONTIER_TRAINER_GUITARIST_ROGET +FRONTIER_TRAINER_GUITARIST_IGGY +FRONTIER_TRAINER_COLLECTOR_LEROY +FRONTIER_TRAINER_COLLECTOR_NEWMAN +FRONTIER_TRAINER_ROUGHNECK_ROSS +FRONTIER_TRAINER_ROUGHNECK_RON +FRONTIER_TRAINER_SCIENTIST_IRWIN +FRONTIER_TRAINER_SCIENTIST_FLYNN +FRONTIER_TRAINER_GENTLEMAN_JOACHIM +FRONTIER_TRAINER_GENTLEMAN_KARSTON +FRONTIER_TRAINER_WORKER_BOYCE +FRONTIER_TRAINER_WORKER_TYRELL +FRONTIER_TRAINER_CLOWN_FRANK +FRONTIER_TRAINER_CLOWN_ENZO +FRONTIER_TRAINER_POLICEMAN_HUGH +FRONTIER_TRAINER_POLICEMAN_KEGAN +FRONTIER_TRAINER_PI_CHESTER +FRONTIER_TRAINER_PI_RIVER +FRONTIER_TRAINER_BIRD_KEEPER_KIRA +FRONTIER_TRAINER_BIRD_KEEPER_ELIZA +FRONTIER_TRAINER_PARASOL_LADY_ANGIE +FRONTIER_TRAINER_PARASOL_LADY_SAMI +FRONTIER_TRAINER_BEAUTY_NADIA +FRONTIER_TRAINER_BEAUTY_BECKY +FRONTIER_TRAINER_AROMA_LADY_ELISHA +FRONTIER_TRAINER_AROMA_LADY_AMBRE +FRONTIER_TRAINER_IDOL_COCOA +FRONTIER_TRAINER_IDOL_NISSA +FRONTIER_TRAINER_TRAINER_CHERYL_CHERYL +FRONTIER_TRAINER_TRAINER_MIRA_MIRA +FRONTIER_TRAINER_TRAINER_RILEY_RILEY +FRONTIER_TRAINER_TRAINER_MARLEY_MARLEY +FRONTIER_TRAINER_TRAINER_BUCK_BUCK +FRONTIER_TRAINER_TOWER_TYCOON_PALMER_SILVER +FRONTIER_TRAINER_TOWER_TYCOON_PALMER_GOLD +FRONTIER_TRAINER_HALL_MATRON_ARGENTA_SILVER +FRONTIER_TRAINER_HALL_MATRON_ARGENTA_GOLD +FRONTIER_TRAINER_FACTORY_HEAD_THORTON_SILVER +FRONTIER_TRAINER_FACTORY_HEAD_THORTON_GOLD +FRONTIER_TRAINER_ARCADE_STAR_DAHLIA_SILVER +FRONTIER_TRAINER_ARCADE_STAR_DAHLIA_GOLD +FRONTIER_TRAINER_CASTLE_VALET_DARACH_SILVER +FRONTIER_TRAINER_CASTLE_VALET_DARACH_GOLD diff --git a/generated/meson.build b/generated/meson.build index c75c82110f..cf3457cc71 100644 --- a/generated/meson.build +++ b/generated/meson.build @@ -54,6 +54,7 @@ metang_generators = { 'fade_types': { 'type': 'enum', 'tag': 'FadeType' }, 'first_arrival_to_zones': { 'type': 'enum', 'tag': 'FirstArrivalToZone' }, 'footprint_sizes': { 'type': 'enum', 'tag': 'FootprintSize' }, + 'frontier_trainers': { 'type': 'enum', 'tag': 'FrontierTrainerID' }, 'gender_ratios': { 'type': 'enum', 'tag': 'GenderRatio' }, 'genders': { 'type': 'enum', 'tag': 'Gender' }, 'giratina_shadow_animations': {'type': 'enum', 'tag': 'GiratinaShadowAnimation'}, @@ -159,6 +160,7 @@ species_txt = files('species.txt') text_banks_txt = files('text_banks.txt') trainer_classes_txt = files('trainer_classes.txt') trainers_txt = files('trainers.txt') +frontier_trainers_txt = files('frontier_trainers.txt') py_consts_env = environment() py_consts_env.append('PYTHONPATH', meson.project_build_root()) diff --git a/generated/vars_flags.txt b/generated/vars_flags.txt index 8b35a25195..35183efa0e 100644 --- a/generated/vars_flags.txt +++ b/generated/vars_flags.txt @@ -225,11 +225,11 @@ FLAG_UNK_0x00DF FLAG_UNK_0x00E0 FLAG_UNK_0x00E1 FLAG_UNK_0x00E2 -FLAG_UNK_0x00E3 -FLAG_UNK_0x00E4 -FLAG_UNK_0x00E5 -FLAG_UNK_0x00E6 -FLAG_UNK_0x00E7 +FLAG_TRAVELED_WITH_CHERYL +FLAG_TRAVELED_WITH_MIRA +FLAG_TRAVELED_WITH_RILEY +FLAG_TRAVELED_WITH_MARLEY +FLAG_BUCK_LEFT_BATTLEGROUND FLAG_UNK_0x00E8 FLAG_UNK_0x00E9 FLAG_UNK_0x00EA @@ -490,11 +490,11 @@ FLAG_UNK_0x01E8 FLAG_UNK_0x01E9 FLAG_UNK_0x01EA FLAG_UNK_0x01EB -FLAG_UNK_0x01EC -FLAG_UNK_0x01ED -FLAG_UNK_0x01EE -FLAG_UNK_0x01EF -FLAG_UNK_0x01F0 +FLAG_HIDE_BATTLE_SALON_CHERYL +FLAG_HIDE_BATTLE_SALON_MIRA +FLAG_HIDE_BATTLE_SALON_RILEY +FLAG_HIDE_BATTLE_SALON_MARLEY +FLAG_HIDE_BATTLE_SALON_BUCK FLAG_UNK_0x01F1 FLAG_UNK_0x01F2 FLAG_UNK_0x01F3 diff --git a/include/constants/battle_tower.h b/include/constants/battle_tower.h new file mode 100644 index 0000000000..bdfb014cb3 --- /dev/null +++ b/include/constants/battle_tower.h @@ -0,0 +1,15 @@ +#ifndef POKEPLATINUM_CONSTANTS_BATTLE_TOWER_H +#define POKEPLATINUM_CONSTANTS_BATTLE_TOWER_H + +#define BT_PARAM_PLAYER_GRAPHICS_ID 0 +#define BT_PARAM_PARTNER_GRAPHICS_ID 1 +#define BT_PARAM_PARTNER_ID 2 + +#define BT_PARTNER_CHERYL 0 +#define BT_PARTNER_MIRA 1 +#define BT_PARTNER_RILEY 2 +#define BT_PARTNER_MARLEY 3 +#define BT_PARTNER_BUCK 4 +#define BT_PARTNERS_COUNT 5 + +#endif // POKEPLATINUM_CONSTANTS_BATTLE_TOWER_H diff --git a/include/field/field_system.h b/include/field/field_system.h index d48d33a477..5caf3e1013 100644 --- a/include/field/field_system.h +++ b/include/field/field_system.h @@ -6,9 +6,9 @@ #include "struct_decls/struct_0205E884_decl.h" #include "struct_decls/struct_02061830_decl.h" #include "struct_decls/struct_02095E80_decl.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/map_load_mode.h" #include "struct_defs/struct_0202610C.h" -#include "struct_defs/struct_0204AFC4.h" #include "field/field_system_sub2_decl.h" #include "overlay005/area_data.h" diff --git a/include/overlay104/frontier_data_transfer.h b/include/overlay104/frontier_data_transfer.h index 4c2c7605d7..2e82cb3d92 100644 --- a/include/overlay104/frontier_data_transfer.h +++ b/include/overlay104/frontier_data_transfer.h @@ -62,9 +62,9 @@ typedef struct FrontierPokemonDataDTO { u16 nickname[MON_NAME_LEN + 1]; } FrontierPokemonDataDTO; -typedef struct { - FrontierTrainerDataDTO unk_00; - FrontierPokemonDataDTO unk_30[4]; -} UnkStruct_ov104_0223A348; +typedef struct FrontierDataDTO { + FrontierTrainerDataDTO trDataDTO; + FrontierPokemonDataDTO monDataDTO[4]; +} FrontierDataDTO; #endif // POKEPLATINUM_FRONTIER_DATA_TRANSFER diff --git a/include/overlay104/ov104_0222DCE0.h b/include/overlay104/ov104_0222DCE0.h index 0fd3540cda..50b550e21f 100644 --- a/include/overlay104/ov104_0222DCE0.h +++ b/include/overlay104/ov104_0222DCE0.h @@ -25,7 +25,7 @@ void ov104_0222E1C0(SaveData *saveData, Party *param1, Pokemon *param2); void ov104_0222E1D8(Sprite *param0, u8 param1); void ov104_0222E204(Sprite *param0, s16 param1, s16 param2, u8 param3); u8 ov104_0222E240(u16 param0, u16 param1); -void ov104_0222E278(UnkStruct_ov104_0223A348 *param0, u16 param1, int heapID, int param3); +void ov104_0222E278(FrontierDataDTO *param0, u16 param1, int heapID, int param3); void ov104_0222E284(FieldBattleDTO *param0, FrontierTrainerDataDTO *param1, int param2, int param3, int param4); u32 ov104_0222E2F0(FrontierPokemonDataDTO *param0, u16 param1, int param2, u8 param3, u32 param4, int param5, int param6); void ov104_0222E330(FrontierPokemonDataDTO *param0, u16 param1[], u8 param2[], u32 param3[], u32 param4[], int param5, int param6, int param7); diff --git a/include/overlay104/ov104_022394A4.h b/include/overlay104/ov104_022394A4.h index 473921315f..269d6d1fcc 100644 --- a/include/overlay104/ov104_022394A4.h +++ b/include/overlay104/ov104_022394A4.h @@ -1,7 +1,7 @@ #ifndef POKEPLATINUM_OV104_022394A4_H #define POKEPLATINUM_OV104_022394A4_H -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "savedata.h" diff --git a/include/overlay104/ov104_0223A0C4.h b/include/overlay104/ov104_0223A0C4.h index 192cf5ba96..d3a2054c54 100644 --- a/include/overlay104/ov104_0223A0C4.h +++ b/include/overlay104/ov104_0223A0C4.h @@ -1,7 +1,7 @@ #ifndef POKEPLATINUM_OV104_0223A0C4_H #define POKEPLATINUM_OV104_0223A0C4_H -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0204B404.h" #include "overlay104/frontier_data_transfer.h" @@ -10,8 +10,8 @@ #include "field_battle_data_transfer.h" #include "savedata.h" -BOOL ov104_0223A0C4(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID); -void ov104_0223A30C(SaveData *saveData, UnkStruct_ov104_0223A348 *param1, const u8 param2); +BOOL ov104_0223A0C4(BattleTower *battleTower, FrontierDataDTO *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID); +void ov104_0223A30C(SaveData *saveData, FrontierDataDTO *param1, const u8 param2); FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE4 *param1); void ov104_0223A734(BattleTower *battleTower, u16 param1); u16 ov104_0223A750(BattleTower *battleTower, const u16 *param1); diff --git a/include/overlay104/struct_ov104_0223ADA0.h b/include/overlay104/struct_ov104_0223ADA0.h index fbbadf0923..c2071961b7 100644 --- a/include/overlay104/struct_ov104_0223ADA0.h +++ b/include/overlay104/struct_ov104_0223ADA0.h @@ -23,7 +23,7 @@ typedef struct { u32 unk_10; int unk_14; u16 unk_18[14]; - UnkStruct_ov104_0223A348 unk_34[2]; + FrontierDataDTO unk_34[2]; u16 unk_254[6]; u8 unk_260[6]; u32 unk_268[6]; diff --git a/include/overlay104/struct_ov104_0223B5C0.h b/include/overlay104/struct_ov104_0223B5C0.h index d1c0dad1cf..15c75a10a2 100644 --- a/include/overlay104/struct_ov104_0223B5C0.h +++ b/include/overlay104/struct_ov104_0223B5C0.h @@ -21,7 +21,7 @@ typedef struct { u32 unk_10; int unk_14; u16 unk_18[20]; - UnkStruct_ov104_0223A348 unk_40[2]; + FrontierDataDTO unk_40[2]; u8 unk_260[2]; Party *unk_264; u16 unk_268[20]; diff --git a/include/overlay104/struct_ov104_0223BA10.h b/include/overlay104/struct_ov104_0223BA10.h index 9699e58503..f9adba1f00 100644 --- a/include/overlay104/struct_ov104_0223BA10.h +++ b/include/overlay104/struct_ov104_0223BA10.h @@ -28,7 +28,7 @@ typedef struct { Party *unk_28; Party *unk_2C; u16 unk_30[14]; - UnkStruct_ov104_0223A348 unk_4C[2]; + FrontierDataDTO unk_4C[2]; u16 unk_26C[4]; u8 unk_274[4]; u32 unk_278[4]; diff --git a/include/overlay104/struct_ov104_0223BFFC.h b/include/overlay104/struct_ov104_0223BFFC.h index bcb2179b01..62ad1cdd19 100644 --- a/include/overlay104/struct_ov104_0223BFFC.h +++ b/include/overlay104/struct_ov104_0223BFFC.h @@ -44,7 +44,7 @@ typedef struct { u32 unk_C4[4]; u32 unk_D4[4]; u32 unk_E4[4]; - UnkStruct_ov104_0223A348 unk_F4[2]; + FrontierDataDTO unk_F4[2]; u16 unk_314[4]; u8 unk_31C[4]; u32 unk_320[4]; diff --git a/include/struct_defs/struct_0204AFC4.h b/include/struct_defs/battle_tower.h similarity index 69% rename from include/struct_defs/struct_0204AFC4.h rename to include/struct_defs/battle_tower.h index ba0860af0d..0d9a1a210d 100644 --- a/include/struct_defs/struct_0204AFC4.h +++ b/include/struct_defs/battle_tower.h @@ -1,5 +1,7 @@ -#ifndef POKEPLATINUM_STRUCT_0204AFC4_H -#define POKEPLATINUM_STRUCT_0204AFC4_H +#ifndef POKEPLATINUM_STRUCT_BATTLE_TOWER_H +#define POKEPLATINUM_STRUCT_BATTLE_TOWER_H + +#include "constants/battle_tower.h" #include "struct_decls/struct_0202D060_decl.h" #include "struct_decls/struct_0202D750_decl.h" @@ -21,9 +23,9 @@ typedef struct BattleTower { u8 unk_10_1 : 2; u8 unk_10_3 : 1; u8 unk_10_4 : 1; - u8 unk_10_5 : 3; - u8 unk_11; - u8 unk_12; + u8 partnerID : 3; + u8 playerGender; + u8 partnerGender; u16 unk_14; u16 unk_16[2]; u16 unk_1A; @@ -39,10 +41,10 @@ typedef struct BattleTower { Location unk_5C; UnkStruct_0202D060 *unk_70; UnkStruct_0202D750 *unk_74; - UnkStruct_ov104_0223A348 unk_78[2]; - UnkStruct_ov104_0223A348 unk_298[5]; - UnkStruct_0204B404 unk_7E8[5]; - u8 unk_838[5]; + FrontierDataDTO unk_78[2]; + FrontierDataDTO partnersDataDTO[BT_PARTNERS_COUNT]; + UnkStruct_0204B404 unk_7E8[BT_PARTNERS_COUNT]; + u8 unk_838[BT_PARTNERS_COUNT]; u16 unk_83E[35]; u16 unk_884[35]; int unk_8CC; @@ -55,4 +57,4 @@ typedef struct BattleTower { u16 unk_8DA; } BattleTower; -#endif // POKEPLATINUM_STRUCT_0204AFC4_H +#endif // POKEPLATINUM_STRUCT_BATTLE_TOWER_H diff --git a/include/unk_0202D05C.h b/include/unk_0202D05C.h index 6ffbf1f6b9..2688fbfbe2 100644 --- a/include/unk_0202D05C.h +++ b/include/unk_0202D05C.h @@ -50,7 +50,7 @@ BOOL sub_0202D5E8(UnkStruct_0202D764 *param0); BOOL sub_0202D5F0(UnkStruct_0202D764 *param0); void sub_0202D5F8(UnkStruct_0202D764 *param0, UnkStruct_ov96_0223B450_sub1 *param1, u8 param2, u8 param3); void sub_0202D628(UnkStruct_0202D764 *param0, UnkStruct_02049A68 *param1); -void sub_0202D63C(UnkStruct_0202D764 *param0, UnkStruct_ov104_0223A348 *param1, const u8 param2); +void sub_0202D63C(UnkStruct_0202D764 *param0, FrontierDataDTO *param1, const u8 param2); void sub_0202D6DC(UnkStruct_0202D764 *param0, UnkStruct_ov96_0223B450_sub2 *param1, u8 param2, u8 param3); void sub_0202D708(UnkStruct_0202D764 *param0, UnkStruct_02049A68 *param1); UnkStruct_ov90_021D1750 *sub_0202D71C(UnkStruct_0202D764 *, int heapID); diff --git a/include/unk_020494DC.h b/include/unk_020494DC.h index 5536c43128..d71cf26531 100644 --- a/include/unk_020494DC.h +++ b/include/unk_020494DC.h @@ -7,7 +7,7 @@ BOOL ScrCmd_InitBattleTower(ScriptContext *ctx); BOOL ScrCmd_SetBattleTowerNull(ScriptContext *ctx); BOOL ScrCmd_FreeBattleTower(ScriptContext *ctx); BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx); -BOOL ScrCmd_1DE(ScriptContext *ctx); +BOOL ScrCmd_GetBattleTowerPartnerSpeciesAndMove(ScriptContext *ctx); BOOL ScrCmd_1DF(ScriptContext *ctx); BOOL ScrCmd_1E0(ScriptContext *ctx); BOOL ScrCmd_1E1(ScriptContext *ctx); diff --git a/include/unk_02049D08.h b/include/unk_02049D08.h index 9a507ab922..ed71376653 100644 --- a/include/unk_02049D08.h +++ b/include/unk_02049D08.h @@ -2,7 +2,7 @@ #define POKEPLATINUM_UNK_02049D08_H #include "struct_decls/struct_0202D060_decl.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "field/field_system_decl.h" @@ -35,7 +35,7 @@ void sub_0204A660(BattleTower *battleTower, SaveData *saveData); void sub_0204A7A4(BattleTower *battleTower, SaveData *saveData, JournalEntry *param2); void sub_0204A8C8(BattleTower *battleTower); void sub_0204A97C(BattleTower *battleTower); -u16 sub_0204A9E0(BattleTower *battleTower, u16 param1); +u16 BattleTower_GetObjectIDFromOpponentID(BattleTower *battleTower, u16 param1); u16 BattleTower_GetChallengeMode(BattleTower *battleTower); u16 sub_0204A9FC(BattleTower *battleTower); u16 sub_0204AA04(BattleTower *battleTower); @@ -44,7 +44,7 @@ u16 sub_0204AABC(BattleTower *battleTower, SaveData *saveData, u8 param2); u16 sub_0204AB68(BattleTower *battleTower, SaveData *saveData); u16 sub_0204ABA0(BattleTower *battleTower, SaveData *saveData); u16 sub_0204ABF4(BattleTower *battleTower, SaveData *saveData); -u8 sub_0204AE84(u16 param0); +u8 BattleTower_GetIVsFromTrainerID(u16 param0); u16 sub_0204AEC0(BattleTower *battleTower); #endif // POKEPLATINUM_UNK_02049D08_H diff --git a/include/unk_0204AEE8.h b/include/unk_0204AEE8.h index d7d76fd7de..ee2a6a813a 100644 --- a/include/unk_0204AEE8.h +++ b/include/unk_0204AEE8.h @@ -1,7 +1,7 @@ #ifndef POKEPLATINUM_UNK_0204AEE8_H #define POKEPLATINUM_UNK_0204AEE8_H -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0204B404.h" #include "field/field_system_decl.h" @@ -11,7 +11,7 @@ #include "string_template.h" StringTemplate *BattleFrontier_MakeSeenBanlistSpeciesMsg(SaveData *saveData, u16 numPokemonRequired, u16 unused2, u8 unused3, u8 *outNumBannedSeen); -u16 sub_0204AF9C(u8 param0); +u16 BattleFrontier_GetObjectIDFromTrainerClass(u8 trainerClass); u16 sub_0204AFC4(FieldSystem *fieldSystem, const u16 *param1); u16 sub_0204B020(FieldSystem *fieldSystem, const u16 *param1); u16 sub_0204B044(FieldSystem *fieldSystem, const u16 *param1); @@ -19,7 +19,7 @@ void sub_0204B060(BattleTower *battleTower, SaveData *saveData); void sub_0204B0BC(BattleTower *battleTower); void sub_0204B0D4(BattleTower *battleTower, u16 param1); u16 sub_0204B0F0(BattleTower *battleTower, u8 param1, u8 param2, int param3); -BOOL sub_0204B3B8(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID); -void sub_0204B404(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, BOOL param3, const UnkStruct_0204B404 *param4, int heapID); +BOOL sub_0204B3B8(BattleTower *battleTower, FrontierDataDTO *param1, u16 partnerBattleTowerID, int partysize, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID); +void sub_0204B404(BattleTower *battleTower, FrontierDataDTO *param1, u16 partnerBattleTowerID, BOOL param3, const UnkStruct_0204B404 *param4, int heapID); #endif // POKEPLATINUM_UNK_0204AEE8_H diff --git a/include/unk_0209BA80.h b/include/unk_0209BA80.h index ef765e871b..5bdb75ac30 100644 --- a/include/unk_0209BA80.h +++ b/include/unk_0209BA80.h @@ -1,7 +1,7 @@ #ifndef POKEPLATINUM_UNK_0209BA80_H #define POKEPLATINUM_UNK_0209BA80_H -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0209BBA4.h" void sub_0209BA80(void *param0); diff --git a/res/field/events/events_battle_tower_battle_salon.json b/res/field/events/events_battle_tower_battle_salon.json index 71b93af288..28f29ba306 100644 --- a/res/field/events/events_battle_tower_battle_salon.json +++ b/res/field/events/events_battle_tower_battle_salon.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "BATTLE_TOWER_BATTLE_SALON_TEALA_0", + "id": "BATTLE_TOWER_BATTLE_SALON_TEALA", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,11 +17,11 @@ "y": 0 }, { - "id": "BATTLE_TOWER_BATTLE_SALON_CHERYL_1", + "id": "BATTLE_TOWER_BATTLE_SALON_CHERYL", "graphics_id": "OBJ_EVENT_GFX_CHERYL", "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01EC", + "hidden_flag": "FLAG_HIDE_BATTLE_SALON_CHERYL", "script": 2, "initial_dir": 2, "data": [], @@ -32,11 +32,11 @@ "y": 0 }, { - "id": "BATTLE_TOWER_BATTLE_SALON_MIRA_2", + "id": "BATTLE_TOWER_BATTLE_SALON_MIRA", "graphics_id": "OBJ_EVENT_GFX_MIRA", "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01ED", + "hidden_flag": "FLAG_HIDE_BATTLE_SALON_MIRA", "script": 3, "initial_dir": 3, "data": [], @@ -47,11 +47,11 @@ "y": 0 }, { - "id": "BATTLE_TOWER_BATTLE_SALON_RILEY_3", + "id": "BATTLE_TOWER_BATTLE_SALON_RILEY", "graphics_id": "OBJ_EVENT_GFX_RILEY", "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01EE", + "hidden_flag": "FLAG_HIDE_BATTLE_SALON_RILEY", "script": 4, "initial_dir": 1, "data": [], @@ -62,11 +62,11 @@ "y": 0 }, { - "id": "BATTLE_TOWER_BATTLE_SALON_MARLEY_4", + "id": "BATTLE_TOWER_BATTLE_SALON_MARLEY", "graphics_id": "OBJ_EVENT_GFX_MARLEY", "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01EF", + "hidden_flag": "FLAG_HIDE_BATTLE_SALON_MARLEY", "script": 5, "initial_dir": 3, "data": [], @@ -77,11 +77,11 @@ "y": 0 }, { - "id": "BATTLE_TOWER_BATTLE_SALON_BUCK_5", + "id": "BATTLE_TOWER_BATTLE_SALON_BUCK", "graphics_id": "OBJ_EVENT_GFX_BUCK", "movement_type": "MOVEMENT_TYPE_LOOK_AROUND", "trainer_type": "TRAINER_TYPE_NONE", - "hidden_flag": "FLAG_UNK_0x01F0", + "hidden_flag": "FLAG_HIDE_BATTLE_SALON_BUCK", "script": 6, "initial_dir": 0, "data": [], diff --git a/res/field/events/events_battle_tower_corridor_multi.json b/res/field/events/events_battle_tower_corridor_multi.json index 44ba50b8bf..555d9a9e59 100644 --- a/res/field/events/events_battle_tower_corridor_multi.json +++ b/res/field/events/events_battle_tower_corridor_multi.json @@ -2,7 +2,7 @@ "bg_events": [], "object_events": [ { - "id": "BATTLE_TOWER_CORRIDOR_MULTI_TEALA_0", + "id": "BATTLE_TOWER_CORRIDOR_MULTI_LEFT_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -17,7 +17,7 @@ "y": 0 }, { - "id": "BATTLE_TOWER_CORRIDOR_MULTI_TEALA_1", + "id": "BATTLE_TOWER_CORRIDOR_MULTI_RIGHT_ATTENDANT", "graphics_id": "OBJ_EVENT_GFX_TEALA", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -32,7 +32,7 @@ "y": 0 }, { - "id": "BATTLE_TOWER_CORRIDOR_MULTI_COUNTERPART_2", + "id": "BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_LEADER", "graphics_id": "OBJ_EVENT_GFX_COUNTERPART", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", @@ -47,7 +47,7 @@ "y": 0 }, { - "id": "BATTLE_TOWER_CORRIDOR_MULTI_UNK_102_3", + "id": "BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_PARTNER", "graphics_id": "OBJ_EVENT_GFX_UNK_102", "movement_type": "MOVEMENT_TYPE_NONE", "trainer_type": "TRAINER_TYPE_NONE", diff --git a/res/field/scripts/scripts_battle_arcade.s b/res/field/scripts/scripts_battle_arcade.s index 90c5e5541c..7eb68b29a6 100644 --- a/res/field/scripts/scripts_battle_arcade.s +++ b/res/field/scripts/scripts_battle_arcade.s @@ -288,7 +288,7 @@ _04DC: CallIfEq VAR_UNK_0x40BE, 2, _05CD IncrementGameRecord RECORD_UNK_058 CreateJournalEvent LOCATION_EVENT_BATTLE_ARCADE, 0, 0, 0, 0 - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 15 CallIfEq VAR_UNK_0x40BE, 2, _0545 ReturnToField diff --git a/res/field/scripts/scripts_battle_castle.s b/res/field/scripts/scripts_battle_castle.s index 9930470743..6027f6cbcb 100644 --- a/res/field/scripts/scripts_battle_castle.s +++ b/res/field/scripts/scripts_battle_castle.s @@ -285,7 +285,7 @@ _04D0: CallIfEq VAR_UNK_0x40BD, 2, _05C1 IncrementGameRecord RECORD_UNK_058 CreateJournalEvent LOCATION_EVENT_BATTLE_CASTLE, 0, 0, 0, 0 - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 11 CallIfEq VAR_UNK_0x40BD, 2, _0539 ReturnToField diff --git a/res/field/scripts/scripts_battle_factory.s b/res/field/scripts/scripts_battle_factory.s index 786df79658..2216551c6b 100644 --- a/res/field/scripts/scripts_battle_factory.s +++ b/res/field/scripts/scripts_battle_factory.s @@ -237,7 +237,7 @@ _03C1: CallIfEq VAR_UNK_0x40B8, 2, _04B2 IncrementGameRecord RECORD_UNK_058 CreateJournalEvent LOCATION_EVENT_BATTLE_FACTORY, 0, 0, 0, 0 - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 3 CallIfEq VAR_UNK_0x40B8, 2, _042A ReturnToField diff --git a/res/field/scripts/scripts_battle_hall.s b/res/field/scripts/scripts_battle_hall.s index 4227190815..c14b7d92da 100644 --- a/res/field/scripts/scripts_battle_hall.s +++ b/res/field/scripts/scripts_battle_hall.s @@ -404,7 +404,7 @@ _06C3: CallIfEq VAR_UNK_0x40BB, 2, _07B4 IncrementGameRecord RECORD_UNK_058 CreateJournalEvent LOCATION_EVENT_BATTLE_HALL, 0, 0, 0, 0 - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 9 CallIfEq VAR_UNK_0x40BB, 2, _072C ReturnToField diff --git a/res/field/scripts/scripts_battle_tower.s b/res/field/scripts/scripts_battle_tower.s index 3eb6308bcc..32c2ef0b8a 100644 --- a/res/field/scripts/scripts_battle_tower.s +++ b/res/field/scripts/scripts_battle_tower.s @@ -3,9 +3,9 @@ #include "res/text/bank/menu_entries.h" - ScriptEntry BattleTower_SingleDoubleBattleRoomGuide - ScriptEntry BattleTower_MultiBattleRoomGuide - ScriptEntry BattleTower_WiFiBattleRoomGuide + ScriptEntry BattleTower_SingleDoubleBattleRoomAttendant + ScriptEntry BattleTower_MultiBattleRoomAttendant + ScriptEntry BattleTower_WiFiBattleRoomAttendant ScriptEntry _0EBF ScriptEntry _04EC ScriptEntry _0597 @@ -171,7 +171,7 @@ _0272: GoTo _020B End -BattleTower_SingleDoubleBattleRoomGuide: +BattleTower_SingleDoubleBattleRoomAttendant: LockAll PlayFanfare SEQ_SE_CONFIRM SetBattleTowerNull @@ -320,7 +320,7 @@ BattleTower_HealAndSaveBeforeEnteringMultiBattleRoom: Call _0577 CallBattleTowerFunction BATTLE_TOWER_FUNCTION_SET_COMMUNICATION_CLUB_ACCESSIBLE, 0, 0 Call BattleTower_TrySaveGame - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_51, 0, VAR_RESULT + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_ID, 0, VAR_RESULT SetVar VAR_MAP_LOCAL_9, VAR_RESULT Message BattleTower_Text_DirectToMultiBattleRoom WaitABPress @@ -486,7 +486,7 @@ _07B9: SetVar VAR_UNK_0x40DF, 0 Return -BattleTower_WiFiBattleRoomGuide: +BattleTower_WiFiBattleRoomAttendant: LockAll PlayFanfare SEQ_SE_CONFIRM SetBattleTowerNull @@ -653,7 +653,7 @@ _0AC3: WaitMovement Return -BattleTower_MultiBattleRoomGuide: +BattleTower_MultiBattleRoomAttendant: LockAll PlayFanfare SEQ_SE_CONFIRM SetBattleTowerNull diff --git a/res/field/scripts/scripts_battle_tower_battle_room.s b/res/field/scripts/scripts_battle_tower_battle_room.s index bc8ed217a1..10f473bbb2 100644 --- a/res/field/scripts/scripts_battle_tower_battle_room.s +++ b/res/field/scripts/scripts_battle_tower_battle_room.s @@ -13,7 +13,7 @@ _0016: GoToIfEq VAR_UNK_0x40D9, 0, _0035 SetFlag FLAG_UNK_0x01CB - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0 _0035: End @@ -257,7 +257,7 @@ _0448: Return _045C: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_41, 0, VAR_RESULT + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_OPPONENT_OBJECT_ID, 0, VAR_RESULT SetVar VAR_OBJ_GFX_ID_1, VAR_RESULT ClearFlag FLAG_UNK_0x01CB AddObject 1 diff --git a/res/field/scripts/scripts_battle_tower_battle_salon.s b/res/field/scripts/scripts_battle_tower_battle_salon.s index 7ea050dab2..f26141dbe4 100644 --- a/res/field/scripts/scripts_battle_tower_battle_salon.s +++ b/res/field/scripts/scripts_battle_tower_battle_salon.s @@ -1,120 +1,121 @@ #include "macros/scrcmd.inc" #include "res/text/bank/battle_tower_battle_salon.h" +#include "res/field/events/events_battle_tower_battle_salon.h" #include "constants/map_object.h" - ScriptEntry _01AC - ScriptEntry _0275 - ScriptEntry _02FE - ScriptEntry _0365 - ScriptEntry _03C6 - ScriptEntry _0427 - ScriptEntry _002A + ScriptEntry BattleTowerBattleSalon_Attendant + ScriptEntry BattleTowerBattleSalon_Cheryl + ScriptEntry BattleTowerBattleSalon_Mira + ScriptEntry BattleTowerBattleSalon_Riley + ScriptEntry BattleTowerBattleSalon_Marley + ScriptEntry BattleTowerBattleSalon_Buck + ScriptEntry BattleTowerBattleSalon_CheckShowCheryl ScriptEntry _015D - ScriptEntry _018D - ScriptEntry _0204 + ScriptEntry BattleTowerBattleSalon_Enter + ScriptEntry BattleTowerBattleSalon_EnterBattleRoom ScriptEntryEnd -_002A: - GoToIfUnset FLAG_UNK_0x00E3, _0121 - GoToIfNe VAR_UNK_0x40DF, 2, _0057 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9 - GoToIfEq VAR_MAP_LOCAL_9, 0, _0121 -_0057: - ClearFlag FLAG_UNK_0x01EC -_005B: - GoToIfUnset FLAG_UNK_0x00E4, _012D - GoToIfNe VAR_UNK_0x40DF, 2, _0088 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9 - GoToIfEq VAR_MAP_LOCAL_9, 1, _012D -_0088: - ClearFlag FLAG_UNK_0x01ED -_008C: - GoToIfUnset FLAG_UNK_0x00E5, _0139 - GoToIfNe VAR_UNK_0x40DF, 2, _00B9 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9 - GoToIfEq VAR_MAP_LOCAL_9, 2, _0139 -_00B9: - ClearFlag FLAG_UNK_0x01EE -_00BD: - GoToIfUnset FLAG_UNK_0x00E6, _0145 - GoToIfNe VAR_UNK_0x40DF, 2, _00EA - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9 - GoToIfEq VAR_MAP_LOCAL_9, 3, _0145 -_00EA: - ClearFlag FLAG_UNK_0x01EF -_00EE: - GoToIfUnset FLAG_UNK_0x00E7, _0151 - GoToIfNe VAR_UNK_0x40DF, 2, _011B - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 2, VAR_MAP_LOCAL_9 - GoToIfEq VAR_MAP_LOCAL_9, 4, _0151 -_011B: - ClearFlag FLAG_UNK_0x01F0 -_011F: +BattleTowerBattleSalon_CheckShowCheryl: + GoToIfUnset FLAG_TRAVELED_WITH_CHERYL, BattleTowerBattleSalon_HideCheryl + GoToIfNe VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_ShowCheryl + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_ID, VAR_MAP_LOCAL_9 + GoToIfEq VAR_MAP_LOCAL_9, BT_PARTNER_CHERYL, BattleTowerBattleSalon_HideCheryl +BattleTowerBattleSalon_ShowCheryl: + ClearFlag FLAG_HIDE_BATTLE_SALON_CHERYL +BattleTowerBattleSalon_CheckShowMira: + GoToIfUnset FLAG_TRAVELED_WITH_MIRA, BattleTowerBattleSalon_HideMira + GoToIfNe VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_ShowMira + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_ID, VAR_MAP_LOCAL_9 + GoToIfEq VAR_MAP_LOCAL_9, BT_PARTNER_MIRA, BattleTowerBattleSalon_HideMira +BattleTowerBattleSalon_ShowMira: + ClearFlag FLAG_HIDE_BATTLE_SALON_MIRA +BattleTowerBattleSalon_CheckShowRiley: + GoToIfUnset FLAG_TRAVELED_WITH_RILEY, BattleTowerBattleSalon_HideRiley + GoToIfNe VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_ShowRiley + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_ID, VAR_MAP_LOCAL_9 + GoToIfEq VAR_MAP_LOCAL_9, BT_PARTNER_RILEY, BattleTowerBattleSalon_HideRiley +BattleTowerBattleSalon_ShowRiley: + ClearFlag FLAG_HIDE_BATTLE_SALON_RILEY +BattleTowerBattleSalon_CheckShowMarley: + GoToIfUnset FLAG_TRAVELED_WITH_MARLEY, BattleTowerBattleSalon_HideMarley + GoToIfNe VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_ShowMarley + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_ID, VAR_MAP_LOCAL_9 + GoToIfEq VAR_MAP_LOCAL_9, BT_PARTNER_MARLEY, BattleTowerBattleSalon_HideMarley +BattleTowerBattleSalon_ShowMarley: + ClearFlag FLAG_HIDE_BATTLE_SALON_MARLEY +BattleTowerBattleSalon_CheckShowBuck: + GoToIfUnset FLAG_BUCK_LEFT_BATTLEGROUND, BattleTowerBattleSalon_HideBuck + GoToIfNe VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_ShowBuck + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_ID, VAR_MAP_LOCAL_9 + GoToIfEq VAR_MAP_LOCAL_9, BT_PARTNER_BUCK, BattleTowerBattleSalon_HideBuck +BattleTowerBattleSalon_ShowBuck: + ClearFlag FLAG_HIDE_BATTLE_SALON_BUCK +BattleTowerBattleSalon_EndCheckShowPartners: End -_0121: - SetFlag FLAG_UNK_0x01EC - GoTo _005B +BattleTowerBattleSalon_HideCheryl: + SetFlag FLAG_HIDE_BATTLE_SALON_CHERYL + GoTo BattleTowerBattleSalon_CheckShowMira End -_012D: - SetFlag FLAG_UNK_0x01ED - GoTo _008C +BattleTowerBattleSalon_HideMira: + SetFlag FLAG_HIDE_BATTLE_SALON_MIRA + GoTo BattleTowerBattleSalon_CheckShowRiley End -_0139: - SetFlag FLAG_UNK_0x01EE - GoTo _00BD +BattleTowerBattleSalon_HideRiley: + SetFlag FLAG_HIDE_BATTLE_SALON_RILEY + GoTo BattleTowerBattleSalon_CheckShowMarley End -_0145: - SetFlag FLAG_UNK_0x01EF - GoTo _00EE +BattleTowerBattleSalon_HideMarley: + SetFlag FLAG_HIDE_BATTLE_SALON_MARLEY + GoTo BattleTowerBattleSalon_CheckShowBuck End -_0151: - SetFlag FLAG_UNK_0x01F0 - GoTo _011F +BattleTowerBattleSalon_HideBuck: + SetFlag FLAG_HIDE_BATTLE_SALON_BUCK + GoTo BattleTowerBattleSalon_EndCheckShowPartners End _015D: - CallIfEq VAR_UNK_0x40DF, 1, _0179 - GoToIfEq VAR_UNK_0x40DF, 2, _017F + CallIfEq VAR_UNK_0x40DF, 1, BattleTowerBattleSalon_HidePlayer + GoToIfEq VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_SetAttendantPositionAtDoor End -_0179: +BattleTowerBattleSalon_HidePlayer: HideObject LOCALID_PLAYER Return -_017F: - SetPosition 0, 8, 0, 3, 1 +BattleTowerBattleSalon_SetAttendantPositionAtDoor: + SetPosition BATTLE_TOWER_BATTLE_SALON_TEALA, 8, 0, 3, 1 End -_018D: +BattleTowerBattleSalon_Enter: LockAll SetVar VAR_UNK_0x40DF, 0 - Call _04A6 - Message 0 + Call BattleTowerBattleSalon_PlayEnterBattleSalonAnimation + Message BattleTowerBattleSalon_Text_PleaseFindAPartner CloseMessage CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_56, 0, 0 ReleaseAll End -_01AC: +BattleTowerBattleSalon_Attendant: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer BufferPlayerName 0 - Message 1 + Message BattleTowerBattleSalon_Text_WouldYouLikeToQuit ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _01D4 - Message 0 + GoToIfEq VAR_RESULT, MENU_YES, BattleTowerBattleSalon_Quit + Message BattleTowerBattleSalon_Text_PleaseFindAPartner CloseMessage ReleaseAll End -_01D4: +BattleTowerBattleSalon_Quit: CloseMessage ReleaseAll SetVar VAR_UNK_0x40D8, 3 @@ -125,12 +126,12 @@ _01D4: WaitFadeScreen End -_0204: +BattleTowerBattleSalon_EnterBattleRoom: LockAll SetVar VAR_UNK_0x40DF, 0 - Message 2 + Message BattleTowerBattleSalon_Text_ShowYouToMultiBattleRoom CloseMessage - Call _04E0 + Call BattleTowerBattleSalon_PlayEnterBattleRoomAnimation SetVar VAR_UNK_0x40DB, 2 FadeScreenOut WaitFadeScreen @@ -140,201 +141,201 @@ _0204: ReleaseAll End -_0245: - ScrCmd_1DE VAR_MAP_LOCAL_9, 0, VAR_0x8004, VAR_0x8005 +BattleTowerBattleSalon_BufferSpeciesAndMoveNames: + GetBattleTowerPartnerSpeciesAndMove VAR_MAP_LOCAL_9, 0, VAR_0x8004, VAR_0x8005 BufferSpeciesNameFromVar 0, VAR_0x8004, 0, 0 BufferMoveName 1, VAR_0x8005 - ScrCmd_1DE VAR_MAP_LOCAL_9, 1, VAR_0x8004, VAR_0x8005 + GetBattleTowerPartnerSpeciesAndMove VAR_MAP_LOCAL_9, 1, VAR_0x8004, VAR_0x8005 BufferSpeciesNameFromVar 2, VAR_0x8004, 0, 0 BufferMoveName 3, VAR_0x8005 Return -_0275: +BattleTowerBattleSalon_Cheryl: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_UNK_0x40DF, 2, _02D2 - SetVar VAR_MAP_LOCAL_9, 0 - ScrCmd_1DE VAR_MAP_LOCAL_9, 0, VAR_0x8004, VAR_0x8005 + GoToIfEq VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_CherylDontTeamUp + SetVar VAR_MAP_LOCAL_9, BT_PARTNER_CHERYL + GetBattleTowerPartnerSpeciesAndMove VAR_MAP_LOCAL_9, 0, VAR_0x8004, VAR_0x8005 BufferSpeciesNameWithArticle 0, VAR_0x8004 BufferMoveName 1, VAR_0x8005 - ScrCmd_1DE VAR_MAP_LOCAL_9, 1, VAR_0x8004, VAR_0x8005 + GetBattleTowerPartnerSpeciesAndMove VAR_MAP_LOCAL_9, 1, VAR_0x8004, VAR_0x8005 BufferSpeciesNameWithArticle 2, VAR_0x8004 BufferMoveName 3, VAR_0x8005 - Message 6 + Message BattleTowerBattleSalon_Text_CherylWouldYouLikeToTeamUp ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _02DD -_02D2: - Message 7 + GoToIfEq VAR_RESULT, MENU_YES, BattleTowerBattleSalon_CherylTeamUp +BattleTowerBattleSalon_CherylDontTeamUp: + Message BattleTowerBattleSalon_Text_CherylDontTeamUp WaitABXPadPress CloseMessage ReleaseAll End -_02DD: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0 +BattleTowerBattleSalon_CherylTeamUp: + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_SET_PARTNER_ID, VAR_MAP_LOCAL_9, 0 SetVar VAR_UNK_0x40DF, 2 - Message 8 + Message BattleTowerBattleSalon_Text_CherylTeamUp CloseMessage ReleaseAll - LockObject 1 - GoTo _055C + LockObject BATTLE_TOWER_BATTLE_SALON_CHERYL + GoTo BattleTowerBattleSalon_CherylWalkToAttendant End -_02FE: +BattleTowerBattleSalon_Mira: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_UNK_0x40DF, 2, _0336 - SetVar VAR_MAP_LOCAL_9, 1 - Call _0245 + GoToIfEq VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_MiraDontTeamUp + SetVar VAR_MAP_LOCAL_9, BT_PARTNER_MIRA + Call BattleTowerBattleSalon_BufferSpeciesAndMoveNames BufferPlayerName 4 - Message 15 + Message BattleTowerBattleSalon_Text_MiraWouldYouLikeToTeamUp ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _0341 -_0336: - Message 16 + GoToIfEq VAR_RESULT, MENU_YES, BattleTowerBattleSalon_MiraTeamUp +BattleTowerBattleSalon_MiraDontTeamUp: + Message BattleTowerBattleSalon_Text_MiraDontTeamUp WaitABXPadPress CloseMessage ReleaseAll End -_0341: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0 +BattleTowerBattleSalon_MiraTeamUp: + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_SET_PARTNER_ID, VAR_MAP_LOCAL_9, 0 SetVar VAR_UNK_0x40DF, 2 BufferPlayerName 0 - Message 17 + Message BattleTowerBattleSalon_Text_MiraTeamUp CloseMessage ReleaseAll - LockObject 2 - GoTo _05A1 + LockObject BATTLE_TOWER_BATTLE_SALON_MIRA + GoTo BattleTowerBattleSalon_MiraWalkToAttendant End -_0365: +BattleTowerBattleSalon_Riley: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_UNK_0x40DF, 2, _039A - SetVar VAR_MAP_LOCAL_9, 2 - Call _0245 - Message 3 + GoToIfEq VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_RileyDontTeamUp + SetVar VAR_MAP_LOCAL_9, BT_PARTNER_RILEY + Call BattleTowerBattleSalon_BufferSpeciesAndMoveNames + Message BattleTowerBattleSalon_Text_RileyWouldYouLikeToTeamUp ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _03A5 -_039A: - Message 4 + GoToIfEq VAR_RESULT, MENU_YES, BattleTowerBattleSalon_RileyTeamUp +BattleTowerBattleSalon_RileyDontTeamUp: + Message BattleTowerBattleSalon_Text_RileyDontTeamUp WaitABXPadPress CloseMessage ReleaseAll End -_03A5: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0 +BattleTowerBattleSalon_RileyTeamUp: + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_SET_PARTNER_ID, VAR_MAP_LOCAL_9, 0 SetVar VAR_UNK_0x40DF, 2 - Message 5 + Message BattleTowerBattleSalon_Text_RileyTeamUp CloseMessage ReleaseAll - LockObject 3 - GoTo _05E6 + LockObject BATTLE_TOWER_BATTLE_SALON_RILEY + GoTo BattleTowerBattleSalon_RileyWalkToAttendant End -_03C6: +BattleTowerBattleSalon_Marley: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_UNK_0x40DF, 2, _03FB - SetVar VAR_MAP_LOCAL_9, 3 - Call _0245 - Message 12 + GoToIfEq VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_MarleyDontTeamUp + SetVar VAR_MAP_LOCAL_9, BT_PARTNER_MARLEY + Call BattleTowerBattleSalon_BufferSpeciesAndMoveNames + Message BattleTowerBattleSalon_Text_MarleyWouldYouLikeToTeamUp ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _0406 -_03FB: - Message 13 + GoToIfEq VAR_RESULT, MENU_YES, BattleTowerBattleSalon_MarleyTeamUp +BattleTowerBattleSalon_MarleyDontTeamUp: + Message BattleTowerBattleSalon_Text_MarleyDontTeamUp WaitABXPadPress CloseMessage ReleaseAll End -_0406: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0 +BattleTowerBattleSalon_MarleyTeamUp: + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_SET_PARTNER_ID, VAR_MAP_LOCAL_9, 0 SetVar VAR_UNK_0x40DF, 2 - Message 14 + Message BattleTowerBattleSalon_Text_MarleyTeamUp CloseMessage ReleaseAll - LockObject 4 - GoTo _062B + LockObject BATTLE_TOWER_BATTLE_SALON_MARLEY + GoTo BattleTowerBattleSalon_MarleyWalkToAttendant End -_0427: +BattleTowerBattleSalon_Buck: PlayFanfare SEQ_SE_CONFIRM LockAll FacePlayer - GoToIfEq VAR_UNK_0x40DF, 2, _045C - SetVar VAR_MAP_LOCAL_9, 4 - Call _0245 - Message 9 + GoToIfEq VAR_UNK_0x40DF, 2, BattleTowerBattleSalon_BuckDontTeamUp + SetVar VAR_MAP_LOCAL_9, BT_PARTNER_BUCK + Call BattleTowerBattleSalon_BufferSpeciesAndMoveNames + Message BattleTowerBattleSalon_Text_BuckWouldYouLikeToTeamUp ShowYesNoMenu VAR_RESULT - GoToIfEq VAR_RESULT, MENU_YES, _0467 -_045C: - Message 10 + GoToIfEq VAR_RESULT, MENU_YES, BattleTowerBattleSalon_BuckTeamUp +BattleTowerBattleSalon_BuckDontTeamUp: + Message BattleTowerBattleSalon_Text_BuckDontTeamUp WaitABXPadPress CloseMessage ReleaseAll End -_0467: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_50, VAR_MAP_LOCAL_9, 0 +BattleTowerBattleSalon_BuckTeamUp: + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_SET_PARTNER_ID, VAR_MAP_LOCAL_9, 0 SetVar VAR_UNK_0x40DF, 2 - Message 11 + Message BattleTowerBattleSalon_Text_BuckTeamUp CloseMessage ReleaseAll - LockObject 5 - GoTo _0670 + LockObject BATTLE_TOWER_BATTLE_SALON_BUCK + GoTo BattleTowerBattleSalon_BuckWalkToAttendant End -_0488: +BattleTowerBattleSalon_PlayOpenDoorAnimation: LoadDoorAnimation 0, 0, 8, 2, ANIMATION_TAG_DOOR_1 PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1 WaitForAnimation ANIMATION_TAG_DOOR_1 Return -_049B: +BattleTowerBattleSalon_PlayCloseDoorAnimation: PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1 WaitForAnimation ANIMATION_TAG_DOOR_1 UnloadAnimation ANIMATION_TAG_DOOR_1 Return -_04A6: - Call _0488 - ApplyMovement 0, _06C8 +BattleTowerBattleSalon_PlayEnterBattleSalonAnimation: + Call BattleTowerBattleSalon_PlayOpenDoorAnimation + ApplyMovement BATTLE_TOWER_BATTLE_SALON_TEALA, BattleTowerBattleSalon_AttendantEnterBattleSalonMovement WaitMovement ShowObject LOCALID_PLAYER - ApplyMovement LOCALID_PLAYER, _06B8 + ApplyMovement LOCALID_PLAYER, BattleTowerBattleSalon_PlayerEnterBattleSalonMovement WaitMovement - Call _049B - ApplyMovement 0, _06D8 + Call BattleTowerBattleSalon_PlayCloseDoorAnimation + ApplyMovement BATTLE_TOWER_BATTLE_SALON_TEALA, BattleTowerBattleSalon_AttendantBlockDoorMovement WaitMovement - ApplyMovement LOCALID_PLAYER, _06C0 + ApplyMovement LOCALID_PLAYER, BattleTowerBattleSalon_PlayerFaceNorthMovement WaitMovement Return -_04E0: - Call _0488 - ApplyMovement 0, _070C - ApplyMovement LOCALID_PLAYER, _0700 +BattleTowerBattleSalon_PlayEnterBattleRoomAnimation: + Call BattleTowerBattleSalon_PlayOpenDoorAnimation + ApplyMovement BATTLE_TOWER_BATTLE_SALON_TEALA, BattleTowerBattleSalon_AttendantEnterBattleRoomMovement + ApplyMovement LOCALID_PLAYER, BattleTowerBattleSalon_PlayerEnterBattleRoomMovement WaitMovement - Call _049B + Call BattleTowerBattleSalon_PlayCloseDoorAnimation Return -_0500: - ApplyMovement VAR_MAP_LOCAL_0, _0718 +BattleTowerBattleSalon_PartnerEnterBattleRoom: + ApplyMovement VAR_MAP_LOCAL_0, BattleTowerBattleSalon_PartnerFaceNorthMovement WaitMovement - ApplyMovement 0, _06E4 + ApplyMovement BATTLE_TOWER_BATTLE_SALON_TEALA, BattleTowerBattleSalon_AttendantMoveAwayMovement WaitMovement - Call _0488 - ApplyMovement VAR_MAP_LOCAL_0, _0720 + Call BattleTowerBattleSalon_PlayOpenDoorAnimation + ApplyMovement VAR_MAP_LOCAL_0, BattleTowerBattleSalon_PartnerEnterBattleRoomMovement WaitMovement - Call _049B - ApplyMovement 0, _06F4 + Call BattleTowerBattleSalon_PlayCloseDoorAnimation + ApplyMovement BATTLE_TOWER_BATTLE_SALON_TEALA, BattleTowerBattleSalon_AttendantMoveBackMovement WaitMovement FadeScreenOut WaitFadeScreen @@ -344,162 +345,162 @@ _0500: ReleaseAll End -_055C: - SetVar VAR_MAP_LOCAL_0, 1 +BattleTowerBattleSalon_CherylWalkToAttendant: + SetVar VAR_MAP_LOCAL_0, BATTLE_TOWER_BATTLE_SALON_CHERYL GetPlayerMapPos VAR_0x8000, VAR_0x8001 - GoToIfEq VAR_0x8000, 12, _057D - GoTo _058F + GoToIfEq VAR_0x8000, 12, BattleTowerBattleSalon_CherylWalkWestToAttendant + GoTo BattleTowerBattleSalon_CherylWalkSouthToAttendant End -_057D: - ApplyMovement 1, _072C +BattleTowerBattleSalon_CherylWalkWestToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_CHERYL, BattleTowerBattleSalon_CherylWalkSouthToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_058F: - ApplyMovement 1, _0740 +BattleTowerBattleSalon_CherylWalkSouthToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_CHERYL, BattleTowerBattleSalon_CherylWalkWestToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_05A1: - SetVar VAR_MAP_LOCAL_0, 2 +BattleTowerBattleSalon_MiraWalkToAttendant: + SetVar VAR_MAP_LOCAL_0, BATTLE_TOWER_BATTLE_SALON_MIRA GetPlayerMapPos VAR_0x8000, VAR_0x8001 - GoToIfEq VAR_0x8000, 4, _05C2 - GoTo _05D4 + GoToIfEq VAR_0x8000, 4, BattleTowerBattleSalon_MiraWalkEastToAttendant + GoTo BattleTowerBattleSalon_MiraWalkNorthToAttendant End -_05C2: - ApplyMovement 2, _0758 +BattleTowerBattleSalon_MiraWalkEastToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_MIRA, BattleTowerBattleSalon_MiraWalkEastToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_05D4: - ApplyMovement 2, _0768 +BattleTowerBattleSalon_MiraWalkNorthToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_MIRA, BattleTowerBattleSalon_MiraWalkNorthToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_05E6: - SetVar VAR_MAP_LOCAL_0, 3 +BattleTowerBattleSalon_RileyWalkToAttendant: + SetVar VAR_MAP_LOCAL_0, BATTLE_TOWER_BATTLE_SALON_RILEY GetPlayerMapPos VAR_0x8000, VAR_0x8001 - GoToIfEq VAR_0x8001, 7, _0607 - GoTo _0619 + GoToIfEq VAR_0x8001, 7, BattleTowerBattleSalon_RileyWalkWestToAttendant + GoTo BattleTowerBattleSalon_RileyWalkNorthToAttendant End -_0607: - ApplyMovement 3, _0774 +BattleTowerBattleSalon_RileyWalkWestToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_RILEY, BattleTowerBattleSalon_RileyWalkWestToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_0619: - ApplyMovement 3, _0784 +BattleTowerBattleSalon_RileyWalkNorthToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_RILEY, BattleTowerBattleSalon_RileyWalkNorthToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_062B: - SetVar VAR_MAP_LOCAL_0, 4 +BattleTowerBattleSalon_MarleyWalkToAttendant: + SetVar VAR_MAP_LOCAL_0, BATTLE_TOWER_BATTLE_SALON_MARLEY GetPlayerMapPos VAR_0x8000, VAR_0x8001 - GoToIfEq VAR_0x8001, 9, _064C - GoTo _065E + GoToIfEq VAR_0x8001, 9, BattleTowerBattleSalon_MarleyWalkSouthToAttendant + GoTo BattleTowerBattleSalon_MarleyWalkNorthToAttendant End -_064C: - ApplyMovement 4, _0790 +BattleTowerBattleSalon_MarleyWalkSouthToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_MARLEY, BattleTowerBattleSalon_MarleyWalkSouthToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_065E: - ApplyMovement 4, _07A4 +BattleTowerBattleSalon_MarleyWalkNorthToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_MARLEY, BattleTowerBattleSalon_MarleyWalkNorthToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_0670: - SetVar VAR_MAP_LOCAL_0, 5 +BattleTowerBattleSalon_BuckWalkToAttendant: + SetVar VAR_MAP_LOCAL_0, BATTLE_TOWER_BATTLE_SALON_BUCK GetPlayerMapPos VAR_0x8000, VAR_0x8001 - GoToIfEq VAR_0x8000, 8, _0691 - GoTo _06A3 + GoToIfEq VAR_0x8000, 8, BattleTowerBattleSalon_BuckWalkWestToAttendant + GoTo BattleTowerBattleSalon_BuckWalkEastToAttendant End -_0691: - ApplyMovement 5, _07B8 +BattleTowerBattleSalon_BuckWalkWestToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_BUCK, BattleTowerBattleSalon_BuckWalkWestToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End -_06A3: - ApplyMovement 5, _07C8 +BattleTowerBattleSalon_BuckWalkEastToAttendant: + ApplyMovement BATTLE_TOWER_BATTLE_SALON_BUCK, BattleTowerBattleSalon_BuckWalkEastToAttendantMovement WaitMovement - GoTo _0500 + GoTo BattleTowerBattleSalon_PartnerEnterBattleRoom End .balign 4, 0 -_06B8: +BattleTowerBattleSalon_PlayerEnterBattleSalonMovement: WalkNormalSouth 2 EndMovement .balign 4, 0 -_06C0: +BattleTowerBattleSalon_PlayerFaceNorthMovement: FaceNorth EndMovement .balign 4, 0 -_06C8: +BattleTowerBattleSalon_AttendantEnterBattleSalonMovement: WalkNormalSouth 2 WalkNormalWest FaceEast EndMovement .balign 4, 0 -_06D8: +BattleTowerBattleSalon_AttendantBlockDoorMovement: WalkNormalEast FaceSouth EndMovement .balign 4, 0 -_06E4: +BattleTowerBattleSalon_AttendantMoveAwayMovement: FaceSouth WalkFastWest FaceEast EndMovement .balign 4, 0 -_06F4: +BattleTowerBattleSalon_AttendantMoveBackMovement: WalkFastEast FaceSouth EndMovement .balign 4, 0 -_0700: +BattleTowerBattleSalon_PlayerEnterBattleRoomMovement: WalkNormalNorth 2 SetInvisible EndMovement .balign 4, 0 -_070C: +BattleTowerBattleSalon_AttendantEnterBattleRoomMovement: WalkNormalNorth SetInvisible EndMovement .balign 4, 0 -_0718: +BattleTowerBattleSalon_PartnerFaceNorthMovement: FaceNorth EndMovement .balign 4, 0 -_0720: +BattleTowerBattleSalon_PartnerEnterBattleRoomMovement: WalkFastNorth 2 SetInvisible EndMovement .balign 4, 0 -_072C: +BattleTowerBattleSalon_CherylWalkSouthToAttendantMovement: WalkFastSouth WalkFastWest 3 WalkFastNorth 7 @@ -507,7 +508,7 @@ _072C: EndMovement .balign 4, 0 -_0740: +BattleTowerBattleSalon_CherylWalkWestToAttendantMovement: WalkFastWest WalkFastNorth WalkFastWest 2 @@ -516,33 +517,33 @@ _0740: EndMovement .balign 4, 0 -_0758: +BattleTowerBattleSalon_MiraWalkEastToAttendantMovement: WalkFastEast WalkFastNorth 2 WalkFastEast 3 EndMovement .balign 4, 0 -_0768: +BattleTowerBattleSalon_MiraWalkNorthToAttendantMovement: WalkFastNorth 2 WalkFastEast 4 EndMovement .balign 4, 0 -_0774: +BattleTowerBattleSalon_RileyWalkWestToAttendantMovement: WalkFastWest WalkFastNorth 4 WalkFastWest 2 EndMovement .balign 4, 0 -_0784: +BattleTowerBattleSalon_RileyWalkNorthToAttendantMovement: WalkFastNorth 4 WalkFastWest 3 EndMovement .balign 4, 0 -_0790: +BattleTowerBattleSalon_MarleyWalkSouthToAttendantMovement: WalkFastSouth WalkFastEast 4 WalkFastNorth 7 @@ -550,7 +551,7 @@ _0790: EndMovement .balign 4, 0 -_07A4: +BattleTowerBattleSalon_MarleyWalkNorthToAttendantMovement: WalkFastNorth WalkFastEast 4 WalkFastNorth 5 @@ -558,14 +559,14 @@ _07A4: EndMovement .balign 4, 0 -_07B8: +BattleTowerBattleSalon_BuckWalkWestToAttendantMovement: WalkFastWest WalkFastNorth 5 WalkFastEast 2 EndMovement .balign 4, 0 -_07C8: +BattleTowerBattleSalon_BuckWalkEastToAttendantMovement: WalkFastEast 3 WalkFastNorth 5 WalkFastWest 2 diff --git a/res/field/scripts/scripts_battle_tower_corridor_multi.s b/res/field/scripts/scripts_battle_tower_corridor_multi.s index 76e795ddea..d28aa5a33b 100644 --- a/res/field/scripts/scripts_battle_tower_corridor_multi.s +++ b/res/field/scripts/scripts_battle_tower_corridor_multi.s @@ -1,27 +1,28 @@ #include "macros/scrcmd.inc" +#include "res/field/events/events_battle_tower_corridor_multi.h" #include "constants/map_object.h" - ScriptEntry _000E + ScriptEntry BattleTowerCorridorMulti_SetPlayerGraphics ScriptEntry _0068 - ScriptEntry _008D + ScriptEntry BattleTowerCorridorMulti_EnterCorridorAndGoToBattleRoom ScriptEntryEnd -_000E: - GoToIfEq VAR_UNK_0x40DD, 0, _0048 +BattleTowerCorridorMulti_SetPlayerGraphics: + GoToIfEq VAR_UNK_0x40DD, 0, BattleTowerCorridorMulti_DontSetPlayerGraphics GetCurNetID VAR_MAP_LOCAL_0 - GoToIfEq VAR_MAP_LOCAL_0, 1, _004A - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0 + GoToIfEq VAR_MAP_LOCAL_0, 1, BattleTowerCorridorMulti_SetPlayer2Graphics + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0 -_0048: +BattleTowerCorridorMulti_DontSetPlayerGraphics: End -_004A: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0 +BattleTowerCorridorMulti_SetPlayer2Graphics: + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0 End @@ -33,14 +34,14 @@ _0068: _007F: HideObject LOCALID_PLAYER - ScrCmd_06B 8, 0, 0 + MoveCamera 8, 0, 0 Return -_008D: +BattleTowerCorridorMulti_EnterCorridorAndGoToBattleRoom: LockAll - Call _00C9 - Call _012B - Call _014F + Call BattleTowerCorridorMulti_PlayEnterCorridorAnimation + Call BattleTowerCorridorMulti_ApplyWalkToBattleRoomMovement + Call BattleTowerCorridorMulti_ApplyEnterBattleRoomMovement FadeScreenOut WaitFadeScreen Warp MAP_HEADER_BATTLE_TOWER_MULTI_BATTLE_ROOM, 0, 7, 5, 0 @@ -49,20 +50,20 @@ _008D: ReleaseAll End -_00C9: +BattleTowerCorridorMulti_PlayEnterCorridorAnimation: LoadDoorAnimation 0, 0, 3, 2, ANIMATION_TAG_DOOR_1 LoadDoorAnimation 0, 0, 14, 2, ANIMATION_TAG_DOOR_2 PlayDoorOpenAnimation ANIMATION_TAG_DOOR_1 PlayDoorOpenAnimation ANIMATION_TAG_DOOR_2 WaitForAnimation ANIMATION_TAG_DOOR_1 WaitForAnimation ANIMATION_TAG_DOOR_2 - ApplyMovement 0, _0174 - ApplyMovement 1, _0174 + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_LEFT_ATTENDANT, BattleTowerCorridorMulti_AttendantEnterCorridorMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_RIGHT_ATTENDANT, BattleTowerCorridorMulti_AttendantEnterCorridorMovement WaitMovement - ShowObject 2 - ShowObject 3 - ApplyMovement 2, _0180 - ApplyMovement 3, _0180 + ShowObject BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_LEADER + ShowObject BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_PARTNER + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_LEADER, BattleTowerCorridorMulti_PlayerEnterCorridorMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_PARTNER, BattleTowerCorridorMulti_PlayerEnterCorridorMovement WaitMovement PlayDoorCloseAnimation ANIMATION_TAG_DOOR_1 PlayDoorCloseAnimation ANIMATION_TAG_DOOR_2 @@ -72,53 +73,53 @@ _00C9: UnloadAnimation ANIMATION_TAG_DOOR_2 Return -_012B: - ApplyMovement 0, _01AC - ApplyMovement 2, _0188 - ApplyMovement 1, _01CC - ApplyMovement 3, _0194 +BattleTowerCorridorMulti_ApplyWalkToBattleRoomMovement: + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_LEFT_ATTENDANT, BattleTowerCorridorMulti_LeftAttendantWalkToBattleRoomMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_LEADER, BattleTowerCorridorMulti_PlayerLeaderWalkToBattleRoomMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_RIGHT_ATTENDANT, BattleTowerCorridorMulti_RightAttendantWalkToBattleRoomMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_PARTNER, BattleTowerCorridorMulti_PlayerFriendWalkToBattleRoomMovement WaitMovement Return -_014F: - ApplyMovement 0, _01EC - ApplyMovement 1, _01EC - ApplyMovement 2, _01A0 - ApplyMovement 3, _01A0 +BattleTowerCorridorMulti_ApplyEnterBattleRoomMovement: + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_LEFT_ATTENDANT, BattleTowerCorridorMulti_AttendantEnterBattleRoomMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_RIGHT_ATTENDANT, BattleTowerCorridorMulti_AttendantEnterBattleRoomMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_LEADER, BattleTowerCorridorMulti_PlayerEnterBattleRoomMovement + ApplyMovement BATTLE_TOWER_CORRIDOR_MULTI_PLAYER_PARTNER, BattleTowerCorridorMulti_PlayerEnterBattleRoomMovement WaitMovement Return .balign 4, 0 -_0174: +BattleTowerCorridorMulti_AttendantEnterCorridorMovement: WalkNormalSouth 3 FaceNorth EndMovement .balign 4, 0 -_0180: +BattleTowerCorridorMulti_PlayerEnterCorridorMovement: WalkNormalSouth 2 EndMovement .balign 4, 0 -_0188: +BattleTowerCorridorMulti_PlayerLeaderWalkToBattleRoomMovement: WalkNormalSouth WalkNormalEast 5 EndMovement .balign 4, 0 -_0194: +BattleTowerCorridorMulti_PlayerFriendWalkToBattleRoomMovement: WalkNormalSouth WalkNormalWest 5 EndMovement .balign 4, 0 -_01A0: +BattleTowerCorridorMulti_PlayerEnterBattleRoomMovement: WalkNormalNorth 2 SetInvisible EndMovement .balign 4, 0 -_01AC: +BattleTowerCorridorMulti_LeftAttendantWalkToBattleRoomMovement: WalkNormalEast 5 WalkNormalNorth Delay8 @@ -129,7 +130,7 @@ _01AC: EndMovement .balign 4, 0 -_01CC: +BattleTowerCorridorMulti_RightAttendantWalkToBattleRoomMovement: WalkNormalWest 5 WalkNormalNorth Delay8 @@ -140,7 +141,7 @@ _01CC: EndMovement .balign 4, 0 -_01EC: +BattleTowerCorridorMulti_AttendantEnterBattleRoomMovement: WalkNormalNorth SetInvisible EndMovement diff --git a/res/field/scripts/scripts_battle_tower_elevator.s b/res/field/scripts/scripts_battle_tower_elevator.s index 399bc1eea9..572365836c 100644 --- a/res/field/scripts/scripts_battle_tower_elevator.s +++ b/res/field/scripts/scripts_battle_tower_elevator.s @@ -1,4 +1,5 @@ #include "macros/scrcmd.inc" +#include "generated/object_events.h" ScriptEntry BattleTowerElevator_Init @@ -10,30 +11,30 @@ BattleTowerElevator_Init: CallIfNe VAR_UNK_0x40DB, 0, _008A CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_MAP_LOCAL_A - Call _008E - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_MULTI, _009E - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_LINK_MULTI, _009E - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_SINGLE, _008E - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_DOUBLE, _008E - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_WIFI, _0096 - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_5, _0096 - CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_6, _0096 + Call BattleTowerElevator_SetSingleAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_MULTI, BattleTowerElevator_SetMultiAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_LINK_MULTI, BattleTowerElevator_SetMultiAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_SINGLE, BattleTowerElevator_SetSingleAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_DOUBLE, BattleTowerElevator_SetSingleAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_WIFI, BattleTowerElevator_SetWiFiPlazaAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_5, BattleTowerElevator_SetWiFiPlazaAttendantGraphics + CallIfEq VAR_MAP_LOCAL_A, BATTLE_TOWER_MODE_6, BattleTowerElevator_SetWiFiPlazaAttendantGraphics End _008A: HidePoketch Return -_008E: - SetVar VAR_OBJ_GFX_ID_A, 231 +BattleTowerElevator_SetSingleAttendantGraphics: + SetVar VAR_OBJ_GFX_ID_A, OBJ_EVENT_GFX_FRONTIER_SINGLE_ATTENDANT Return -_0096: - SetVar VAR_OBJ_GFX_ID_A, 235 +BattleTowerElevator_SetWiFiPlazaAttendantGraphics: + SetVar VAR_OBJ_GFX_ID_A, OBJ_EVENT_GFX_WIFI_PLAZA_ATTENDANT_F Return -_009E: - SetVar VAR_OBJ_GFX_ID_A, 232 +BattleTowerElevator_SetMultiAttendantGraphics: + SetVar VAR_OBJ_GFX_ID_A, OBJ_EVENT_GFX_FRONTIER_MULTI_ATTENDANT Return BattleTowerElevator_BattleRoomCheckWiFi: @@ -42,7 +43,7 @@ BattleTowerElevator_BattleRoomCheckWiFi: CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE, 0, VAR_RESULT GoToIfEq VAR_RESULT, BATTLE_TOWER_MODE_WIFI, BattleTowerElevator_WiFiBattleRoom GoToIfEq VAR_RESULT, BATTLE_TOWER_MODE_5, BattleTowerElevator_WiFiBattleRoom - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 5 ReturnToField Warp MAP_HEADER_BATTLE_TOWER, 0, 15, 6, 0 @@ -51,7 +52,7 @@ BattleTowerElevator_BattleRoomCheckWiFi: BattleTowerElevator_MultiBattleRoom: FadeScreenOut WaitFadeScreen - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 6 ReturnToField Warp MAP_HEADER_BATTLE_TOWER, 0, 11, 6, 0 @@ -136,7 +137,7 @@ BattleTowerElevator_PlayerExitMovement: EndMovement BattleTowerElevator_WiFiBattleRoom: - ScrCmd_1F8 + WaitForTransition ScrCmd_2C4 5 ReturnToField Warp MAP_HEADER_BATTLE_TOWER, 0, 19, 6, 0 diff --git a/res/field/scripts/scripts_battle_tower_multi_battle_room.s b/res/field/scripts/scripts_battle_tower_multi_battle_room.s index 2486d24fdc..ac01f3a147 100644 --- a/res/field/scripts/scripts_battle_tower_multi_battle_room.s +++ b/res/field/scripts/scripts_battle_tower_multi_battle_room.s @@ -15,17 +15,17 @@ _0012: SetFlag FLAG_UNK_0x01EB GetCurNetID VAR_MAP_LOCAL_0 GoToIfEq VAR_MAP_LOCAL_0, 1, _0056 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0 _0054: End _0056: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 0, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PLAYER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_1, VAR_MAP_LOCAL_0 - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_55, 1, VAR_MAP_LOCAL_0 + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM, BT_PARAM_PARTNER_GRAPHICS_ID, VAR_MAP_LOCAL_0 SetVar VAR_OBJ_GFX_ID_0, VAR_MAP_LOCAL_0 End @@ -37,7 +37,7 @@ _008E: _0090: HideObject LOCALID_PLAYER - ScrCmd_06B 8, 0, 0 + MoveCamera 8, 0, 0 Return _009E: @@ -284,9 +284,9 @@ _04A1: Return _04C5: - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_41, 0, VAR_RESULT + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_OPPONENT_OBJECT_ID, 0, VAR_RESULT SetVar VAR_OBJ_GFX_ID_2, VAR_RESULT - CallBattleTowerFunction BATTLE_TOWER_FUNCTION_UNK_41, 1, VAR_RESULT + CallBattleTowerFunction BATTLE_TOWER_FUNCTION_GET_OPPONENT_OBJECT_ID, 1, VAR_RESULT SetVar VAR_OBJ_GFX_ID_3, VAR_RESULT ClearFlag FLAG_UNK_0x01EA ClearFlag FLAG_UNK_0x01EB diff --git a/res/field/scripts/scripts_battleground.s b/res/field/scripts/scripts_battleground.s index 9e9cc7daf0..e7d1ab0724 100644 --- a/res/field/scripts/scripts_battleground.s +++ b/res/field/scripts/scripts_battleground.s @@ -58,23 +58,23 @@ _00F9: Return _00FF: - CallIfUnset FLAG_UNK_0x00E3, _00F9 + CallIfUnset FLAG_TRAVELED_WITH_CHERYL, _00F9 Return _010C: - CallIfUnset FLAG_UNK_0x00E5, _00F9 + CallIfUnset FLAG_TRAVELED_WITH_RILEY, _00F9 Return _0119: - CallIfUnset FLAG_UNK_0x00E6, _00F9 + CallIfUnset FLAG_TRAVELED_WITH_MARLEY, _00F9 Return _0126: - CallIfUnset FLAG_UNK_0x00E7, _00F9 + CallIfUnset FLAG_BUCK_LEFT_BATTLEGROUND, _00F9 Return _0133: - CallIfUnset FLAG_UNK_0x00E4, _00F9 + CallIfUnset FLAG_TRAVELED_WITH_MIRA, _00F9 Return _0140: @@ -115,7 +115,7 @@ _0183: CallIfEq VAR_0x8005, 9, _01FD PlayFanfare SEQ_SE_DP_KAIDAN2 RemoveObject 1 - SetFlag FLAG_UNK_0x00E7 + SetFlag FLAG_BUCK_LEFT_BATTLEGROUND SetFlag FLAG_UNK_0x01D6 ReleaseAll End diff --git a/res/field/scripts/scripts_common.s b/res/field/scripts/scripts_common.s index 2fff803fd3..3ca80120fe 100644 --- a/res/field/scripts/scripts_common.s +++ b/res/field/scripts/scripts_common.s @@ -323,7 +323,7 @@ _0457: FadeOutBGM 0, 10 FadeScreenOut WaitFadeScreen - ScrCmd_1F8 + WaitForTransition BlackOutFromBattle2 End diff --git a/res/field/scripts/scripts_eterna_forest.s b/res/field/scripts/scripts_eterna_forest.s index cac2eb9c8f..976676e0a9 100644 --- a/res/field/scripts/scripts_eterna_forest.s +++ b/res/field/scripts/scripts_eterna_forest.s @@ -17,7 +17,7 @@ ScriptEntryEnd _0032: - GoToIfUnset FLAG_UNK_0x00E3, _003F + GoToIfUnset FLAG_TRAVELED_WITH_CHERYL, _003F End _003F: @@ -209,7 +209,7 @@ _02CB: ClearHasPartner RemoveObject 0 WaitFanfare SEQ_SE_DP_KAIDAN2 - SetFlag FLAG_UNK_0x00E3 + SetFlag FLAG_TRAVELED_WITH_CHERYL SetVar VAR_UNK_0x40B1, 2 ReleaseAll End diff --git a/res/field/scripts/scripts_iron_island_b2f_left_room.s b/res/field/scripts/scripts_iron_island_b2f_left_room.s index 739b7404c3..b44fed99b8 100644 --- a/res/field/scripts/scripts_iron_island_b2f_left_room.s +++ b/res/field/scripts/scripts_iron_island_b2f_left_room.s @@ -16,7 +16,7 @@ _0026: InitPersistedMapFeaturesForPlatformLift - GoToIfUnset FLAG_UNK_0x00E5, _0035 + GoToIfUnset FLAG_TRAVELED_WITH_RILEY, _0035 End _0035: @@ -264,7 +264,7 @@ _0366: End _0371: - SetFlag FLAG_UNK_0x00E5 + SetFlag FLAG_TRAVELED_WITH_RILEY SetVar VAR_UNK_0x4092, 2 Return diff --git a/res/field/scripts/scripts_unk_0213.s b/res/field/scripts/scripts_unk_0213.s index 72dd06e490..197e6da380 100644 --- a/res/field/scripts/scripts_unk_0213.s +++ b/res/field/scripts/scripts_unk_0213.s @@ -461,7 +461,7 @@ _069E: End _06A0: - ScrCmd_1F8 + WaitForTransition ScrCmd_0A3 ReturnToField FadeScreenIn diff --git a/res/field/scripts/scripts_unk_0423.s b/res/field/scripts/scripts_unk_0423.s index b433a7a324..9567f94010 100644 --- a/res/field/scripts/scripts_unk_0423.s +++ b/res/field/scripts/scripts_unk_0423.s @@ -224,7 +224,7 @@ _0328: _0333: FadeScreenOut WaitFadeScreen - ScrCmd_1F8 + WaitForTransition ScrCmd_2A4 VAR_RESULT GoToIfEq VAR_RESULT, 0, _035A ScrCmd_0A3 @@ -417,7 +417,7 @@ _0526: Unk423_Unused: FadeScreenOut WaitFadeScreen - ScrCmd_1F8 + WaitForTransition ScrCmd_0B3 VAR_RESULT SetVar VAR_0x8004, VAR_RESULT ScrCmd_2F7 VAR_0x8004 diff --git a/res/field/scripts/scripts_victory_road_1f_room_2.s b/res/field/scripts/scripts_victory_road_1f_room_2.s index 7294529bac..4e0cfe5bbb 100644 --- a/res/field/scripts/scripts_victory_road_1f_room_2.s +++ b/res/field/scripts/scripts_victory_road_1f_room_2.s @@ -9,7 +9,7 @@ ScriptEntryEnd _0012: - GoToIfUnset FLAG_UNK_0x00E6, _001F + GoToIfUnset FLAG_TRAVELED_WITH_MARLEY, _001F End _001F: @@ -277,7 +277,7 @@ _0389: _03A1: RemoveObject 28 - SetFlag FLAG_UNK_0x00E6 + SetFlag FLAG_TRAVELED_WITH_MARLEY SetVar VAR_UNK_0x4090, 2 ReleaseAll End diff --git a/res/field/scripts/scripts_wayward_cave_1f.s b/res/field/scripts/scripts_wayward_cave_1f.s index 2da44c6bd0..a8dbba67cf 100644 --- a/res/field/scripts/scripts_wayward_cave_1f.s +++ b/res/field/scripts/scripts_wayward_cave_1f.s @@ -10,7 +10,7 @@ _0012: SetFlag FLAG_UNK_0x09D7 - GoToIfUnset FLAG_UNK_0x00E4, _0023 + GoToIfUnset FLAG_TRAVELED_WITH_MIRA, _0023 End _0023: @@ -120,7 +120,7 @@ _016A: _0182: RemoveObject 4 - SetFlag FLAG_UNK_0x00E4 + SetFlag FLAG_TRAVELED_WITH_MIRA SetVar VAR_UNK_0x4091, 2 ReleaseAll End diff --git a/res/field/scripts/scripts_wifi_plaza_entrance.s b/res/field/scripts/scripts_wifi_plaza_entrance.s index c63e97e5bd..cc07c8750d 100644 --- a/res/field/scripts/scripts_wifi_plaza_entrance.s +++ b/res/field/scripts/scripts_wifi_plaza_entrance.s @@ -66,7 +66,7 @@ _00D9: WaitFadeScreen SetVar VAR_MAP_LOCAL_3, 1 Warp 0x405C, 0, 5, 2, 1 - ScrCmd_1F8 + WaitForTransition ScrCmd_0B3 VAR_RESULT SetVar VAR_0x8004, VAR_RESULT ScrCmd_2F7 VAR_0x8004 diff --git a/res/text/battle_tower_battle_salon.json b/res/text/battle_tower_battle_salon.json index b072257bb8..0a4f8d46b8 100644 --- a/res/text/battle_tower_battle_salon.json +++ b/res/text/battle_tower_battle_salon.json @@ -2,14 +2,14 @@ "key": 9314, "messages": [ { - "id": "pl_msg_00000307_00000", + "id": "BattleTowerBattleSalon_Text_PleaseFindAPartner", "en_US": [ "Please find a partner from the Trainers\n", "that are gathered here.\r" ] }, { - "id": "pl_msg_00000307_00001", + "id": "BattleTowerBattleSalon_Text_WouldYouLikeToQuit", "en_US": [ "{STRVAR_1 3, 0, 0}, you have not found\n", "a partner for your tag team.\r", @@ -18,7 +18,7 @@ ] }, { - "id": "pl_msg_00000307_00002", + "id": "BattleTowerBattleSalon_Text_ShowYouToMultiBattleRoom", "en_US": [ "Thank you for choosing a partner.\r", "I will now show you to your\n", @@ -26,7 +26,7 @@ ] }, { - "id": "pl_msg_00000307_00003", + "id": "BattleTowerBattleSalon_Text_RileyWouldYouLikeToTeamUp", "en_US": [ "Riley: The partners I have now?\r", "Well, my {STRVAR_1 0, 0, 0}’s nasty with its\n", @@ -37,21 +37,21 @@ ] }, { - "id": "pl_msg_00000307_00004", + "id": "BattleTowerBattleSalon_Text_RileyDontTeamUp", "en_US": [ "Riley: ...Oh, is that so?\n", "That’s too bad." ] }, { - "id": "pl_msg_00000307_00005", + "id": "BattleTowerBattleSalon_Text_RileyTeamUp", "en_US": [ "Riley: Ahaha, thanks.\n", "I’ll be waiting for you.\r" ] }, { - "id": "pl_msg_00000307_00006", + "id": "BattleTowerBattleSalon_Text_CherylWouldYouLikeToTeamUp", "en_US": [ "Cheryl: I have {STRVAR_1 0, 0, 0} that\n", "is very good with {STRVAR_1 6, 1, 0},\r", @@ -61,18 +61,18 @@ ] }, { - "id": "pl_msg_00000307_00007", + "id": "BattleTowerBattleSalon_Text_CherylDontTeamUp", "en_US": [ "Cheryl: Oh...\n", "Too bad..." ] }, { - "id": "pl_msg_00000307_00008", + "id": "BattleTowerBattleSalon_Text_CherylTeamUp", "en_US": "Cheryl: I’ll go on ahead, then.\r" }, { - "id": "pl_msg_00000307_00009", + "id": "BattleTowerBattleSalon_Text_BuckWouldYouLikeToTeamUp", "en_US": [ "Buck: Yo, are you looking to team\n", "up? Let me tell you what I’ve got.\r", @@ -84,21 +84,21 @@ ] }, { - "id": "pl_msg_00000307_00010", + "id": "BattleTowerBattleSalon_Text_BuckDontTeamUp", "en_US": [ "Buck: Huh? What?\n", "That’s pretty cold of you!" ] }, { - "id": "pl_msg_00000307_00011", + "id": "BattleTowerBattleSalon_Text_BuckTeamUp", "en_US": [ "Buck: Hehehe! Good choice!\n", "There’s no problem when I’m around!\r" ] }, { - "id": "pl_msg_00000307_00012", + "id": "BattleTowerBattleSalon_Text_MarleyWouldYouLikeToTeamUp", "en_US": [ "Marley: ...My {STRVAR_1 0, 0, 0} uses\n", "{STRVAR_1 6, 1, 0} well...\r", @@ -109,15 +109,15 @@ ] }, { - "id": "pl_msg_00000307_00013", + "id": "BattleTowerBattleSalon_Text_MarleyDontTeamUp", "en_US": "Marley: ...Whatever..." }, { - "id": "pl_msg_00000307_00014", + "id": "BattleTowerBattleSalon_Text_MarleyTeamUp", "en_US": "Marley: ...I’ll go ahead...\r" }, { - "id": "pl_msg_00000307_00015", + "id": "BattleTowerBattleSalon_Text_MiraWouldYouLikeToTeamUp", "en_US": [ "Mira: Hi, hi!\n", "I’m with my {STRVAR_1 0, 0, 0}!\f", @@ -129,14 +129,14 @@ ] }, { - "id": "pl_msg_00000307_00016", + "id": "BattleTowerBattleSalon_Text_MiraDontTeamUp", "en_US": [ "Mira: Oh, OK.\n", "Let’s go another time!" ] }, { - "id": "pl_msg_00000307_00017", + "id": "BattleTowerBattleSalon_Text_MiraTeamUp", "en_US": [ "Mira: OK! I’ll wait for you!\n", "{STRVAR_1 3, 0, 0}, don’t be long!\r" diff --git a/res/trainers/frontier/meson.build b/res/trainers/frontier/meson.build index 2a4c2f24f9..9264789698 100644 --- a/res/trainers/frontier/meson.build +++ b/res/trainers/frontier/meson.build @@ -1,14 +1,20 @@ -pl_btdtr_order = files('frontier_trainers.order') pl_btdpm_order = files('frontier_pokemon.order') -frontier_trainer_consts = fs.read(pl_btdtr_order).splitlines() +frontier_trainer_consts = fs.read(frontier_trainers_txt).splitlines() +frontier_trainer_stems = [] +foreach trainer : frontier_trainer_consts + # `substring` here strips the `FRONTIER_TRAINER_` prefix + trainer_stem = trainer.substring(17).to_lower() + frontier_trainer_stems += trainer_stem +endforeach + frontier_pokemon_consts = fs.read(pl_btdpm_order).splitlines() frontier_trainer_data_dir = meson.current_source_dir() / 'data' frontier_pokemon_data_dir = meson.current_source_dir() / 'pokemon' frontier_env = environment() -frontier_env.append('TRAINERS', frontier_trainer_consts, separator: ';') +frontier_env.append('TRAINERS', frontier_trainer_stems, separator: ';') frontier_env.append('POKEMONS', frontier_pokemon_consts, separator: ';') datagen_frontier_out = custom_target('datagen_frontier_out', diff --git a/src/overlay104/ov104_0222DCE0.c b/src/overlay104/ov104_0222DCE0.c index 7348630a7e..b11c6e93d1 100644 --- a/src/overlay104/ov104_0222DCE0.c +++ b/src/overlay104/ov104_0222DCE0.c @@ -405,9 +405,9 @@ u8 ov104_0222E240(u16 param0, u16 param1) return 1; } -void ov104_0222E278(UnkStruct_ov104_0223A348 *param0, u16 param1, int heapID, int param3) +void ov104_0222E278(FrontierDataDTO *param0, u16 param1, int heapID, int param3) { - Heap_Free(ov104_0222DD04(¶m0->unk_00, param1, heapID, param3)); + Heap_Free(ov104_0222DD04(¶m0->trDataDTO, param1, heapID, param3)); return; } diff --git a/src/overlay104/ov104_022332B4.c b/src/overlay104/ov104_022332B4.c index ca37bb9718..4806a35b00 100644 --- a/src/overlay104/ov104_022332B4.c +++ b/src/overlay104/ov104_022332B4.c @@ -505,7 +505,7 @@ BOOL ov104_0223397C(UnkStruct_ov104_0222E930 *param0) return 0; } - v0 = v1->unk_34[v3].unk_00.unk_18; + v0 = v1->unk_34[v3].trDataDTO.unk_18; ov104_022330FC(param0, v0); return 1; diff --git a/src/overlay104/ov104_02234838.c b/src/overlay104/ov104_02234838.c index 65cf528913..a64b90d3a2 100644 --- a/src/overlay104/ov104_02234838.c +++ b/src/overlay104/ov104_02234838.c @@ -376,7 +376,7 @@ BOOL ov104_02234D18(UnkStruct_ov104_0222E930 *param0) return 0; } - v0 = v1->unk_40[v3].unk_00.unk_18; + v0 = v1->unk_40[v3].trDataDTO.unk_18; ov104_022330FC(param0, v0); return 1; diff --git a/src/overlay104/ov104_022358E8.c b/src/overlay104/ov104_022358E8.c index 8be699903b..c682061f26 100644 --- a/src/overlay104/ov104_022358E8.c +++ b/src/overlay104/ov104_022358E8.c @@ -633,7 +633,7 @@ BOOL ov104_0223617C(UnkStruct_ov104_0222E930 *param0) return 0; } - v0 = v1->unk_4C[v3].unk_00.unk_18; + v0 = v1->unk_4C[v3].trDataDTO.unk_18; ov104_022330FC(param0, v0); return 1; diff --git a/src/overlay104/ov104_02237378.c b/src/overlay104/ov104_02237378.c index 0253b630ca..bf7cba7d6b 100644 --- a/src/overlay104/ov104_02237378.c +++ b/src/overlay104/ov104_02237378.c @@ -648,7 +648,7 @@ BOOL ov104_02237D48(UnkStruct_ov104_0222E930 *param0) return 0; } - v0 = v1->unk_F4[v3].unk_00.unk_18; + v0 = v1->unk_F4[v3].trDataDTO.unk_18; ov104_022330FC(param0, v0); return 1; diff --git a/src/overlay104/ov104_02239130.c b/src/overlay104/ov104_02239130.c index db2d3f5556..28c2b34909 100644 --- a/src/overlay104/ov104_02239130.c +++ b/src/overlay104/ov104_02239130.c @@ -2,10 +2,13 @@ #include #include +#include "constants/battle_tower.h" +#include "generated/battle_tower_modes.h" #include "generated/game_records.h" +#include "generated/object_events.h" #include "struct_decls/struct_0202440C_decl.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "overlay104/ov104_0222E930.h" #include "overlay104/ov104_0222FBE4.h" @@ -124,36 +127,36 @@ BOOL ov104_02239130(UnkStruct_ov104_0222E930 *param0) return 0; } -static u16 ov104_0223927C(BattleTower *battleTower, u8 param1) +static u16 ov104_0223927C(BattleTower *battleTower, u8 param) { - static const u16 v0[] = { - 0x8d, - 0x91, - 0x8e, - 0x8f, - 0x90 + static const u16 partnerGraphics[] = { + OBJ_EVENT_GFX_CHERYL, + OBJ_EVENT_GFX_MIRA, + OBJ_EVENT_GFX_RILEY, + OBJ_EVENT_GFX_MARLEY, + OBJ_EVENT_GFX_BUCK }; - if (param1 == 2) { - return battleTower->unk_10_5; + if (param == BT_PARAM_PARTNER_ID) { + return battleTower->partnerID; } - if (param1 == 1) { - if (battleTower->challengeMode == 2) { - return v0[battleTower->unk_10_5]; + if (param == BT_PARAM_PARTNER_GRAPHICS_ID) { + if (battleTower->challengeMode == BATTLE_TOWER_MODE_MULTI) { + return partnerGraphics[battleTower->partnerID]; } else { - if (battleTower->unk_12) { - return 0x61; + if (battleTower->partnerGender) { + return OBJ_EVENT_GFX_PLAYER_F; } else { - return 0x0; + return OBJ_EVENT_GFX_PLAYER_M; } } } - if (battleTower->unk_11) { - return 0x61; + if (battleTower->playerGender) { + return OBJ_EVENT_GFX_PLAYER_F; } else { - return 0x0; + return OBJ_EVENT_GFX_PLAYER_M; } } @@ -171,7 +174,7 @@ BOOL ov104_022392C0(UnkStruct_ov104_0222E930 *param0) return 0; } - v1 = battleTower->unk_78[v4].unk_00.unk_18; + v1 = battleTower->unk_78[v4].trDataDTO.unk_18; ov104_0223310C(param0, v1, ov104_0223A790(battleTower->challengeMode)); return 1; diff --git a/src/overlay104/ov104_022394A4.c b/src/overlay104/ov104_022394A4.c index f8cc11123f..27afc7acf1 100644 --- a/src/overlay104/ov104_022394A4.c +++ b/src/overlay104/ov104_022394A4.c @@ -1,7 +1,7 @@ #include #include -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "overlay104/ov104_0222DCE0.h" #include "overlay104/ov104_0223A0C4.h" @@ -30,8 +30,8 @@ void ov104_022394A4(BattleTower *battleTower, SaveData *saveData) u16 v2[2]; for (int v0 = 0; v0 < battleTower->partySize; v0++) { - v1[v0] = battleTower->unk_78[0].unk_30[v0].species; - v2[v0] = battleTower->unk_78[0].unk_30[v0].item; + v1[v0] = battleTower->unk_78[0].monDataDTO[v0].species; + v2[v0] = battleTower->unk_78[0].monDataDTO[v0].item; } ov104_0223A0C4(battleTower, &(battleTower->unk_78[1]), battleTower->unk_3E[(battleTower->unk_0C - 1) * 2 + 1], battleTower->partySize, v1, v2, NULL, battleTower->heapID); @@ -46,7 +46,7 @@ void ov104_022394A4(BattleTower *battleTower, SaveData *saveData) u16 ov104_02239588(BattleTower *battleTower, u16 param1) { - return ov104_0222E10C(battleTower->unk_78[param1].unk_00.trainerType); + return ov104_0222E10C(battleTower->unk_78[param1].trDataDTO.trainerType); } void ov104_022395A0(BattleTower *battleTower, u16 param1) diff --git a/src/overlay104/ov104_022395F0.c b/src/overlay104/ov104_022395F0.c index bf6e48ce46..d6a95f8709 100644 --- a/src/overlay104/ov104_022395F0.c +++ b/src/overlay104/ov104_022395F0.c @@ -2,8 +2,10 @@ #include #include +#include "constants/battle_tower.h" + #include "struct_decls/struct_0202D750_decl.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0209BBA4.h" #include "overlay104/ov104_0222DCE0.h" @@ -339,8 +341,8 @@ BOOL ov104_02239B14(UnkStruct_ov104_0222E930 *param0) battleTower->unk_16[0] = v4.unk_86[0]; battleTower->unk_16[1] = v4.unk_86[1]; - battleTower->unk_12 = v4.unk_58; - battleTower->unk_10_5 = 5 + battleTower->unk_12; + battleTower->partnerGender = v4.unk_58; + battleTower->partnerID = BT_PARTNERS_COUNT + battleTower->partnerGender; if (CommSys_CurNetId() == 0) { sub_0204A4C8(battleTower, v2->saveData); diff --git a/src/overlay104/ov104_0223A0C4.c b/src/overlay104/ov104_0223A0C4.c index 01aeec994d..7986ed60af 100644 --- a/src/overlay104/ov104_0223A0C4.c +++ b/src/overlay104/ov104_0223A0C4.c @@ -7,8 +7,8 @@ #include "generated/species_data_params.h" #include "struct_defs/battle_frontier_pokemon_data.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0202D764.h" -#include "struct_defs/struct_0204AFC4.h" #include "struct_defs/struct_0204B404.h" #include "overlay104/ov104_0222DCE0.h" @@ -624,7 +624,7 @@ static const UnkStruct_ov104_0223FCB4 Unk_ov104_0223FCB4[] = { }; void FieldBattleDTO_CopyPlayerInfoToTrainerData(FieldBattleDTO *param0); -void ov104_0223A30C(SaveData *saveData, UnkStruct_ov104_0223A348 *param1, const u8 param2); +void ov104_0223A30C(SaveData *saveData, FrontierDataDTO *param1, const u8 param2); FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE4 *param1); void ov104_0223A734(BattleTower *battleTower, u16 param1); u16 ov104_0223A750(BattleTower *battleTower, const u16 *param1); @@ -632,17 +632,17 @@ int ov104_0223A768(u8 param0); int ov104_0223A77C(u8 param0); int ov104_0223A790(u8 param0); static BOOL ov104_0223A118(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8); -static void ov104_0223A348(UnkStruct_ov104_0223A348 *param0, const u8 param1); +static void ov104_0223A348(FrontierDataDTO *param0, const u8 param1); static u32 ov104_0223A3A8(BattleTower *battleTower, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8); static u32 BattleTower_GetBattleTypeFromChallengeMode(u8 challengeMode); -static void ov104_0223A6AC(FieldBattleDTO *param0, UnkStruct_ov104_0223A348 *param1, int param2, int param3, int param4); +static void ov104_0223A6AC(FieldBattleDTO *param0, FrontierDataDTO *param1, int param2, int param3, int param4); static int ov104_0223A7AC(u8 param0); -BOOL ov104_0223A0C4(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID) +BOOL ov104_0223A0C4(BattleTower *battleTower, FrontierDataDTO *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID) { BOOL v0 = 0; - BattleFrontierTrainerData *v1 = ov104_0222DD04(¶m1->unk_00, param2, heapID, ov104_0223A77C(battleTower->challengeMode)); - v0 = ov104_0223A118(battleTower, v1, param2, ¶m1->unk_30[0], param3, param4, param5, param6, heapID); + BattleFrontierTrainerData *v1 = ov104_0222DD04(¶m1->trDataDTO, param2, heapID, ov104_0223A77C(battleTower->challengeMode)); + v0 = ov104_0223A118(battleTower, v1, param2, ¶m1->monDataDTO[0], param3, param4, param5, param6, heapID); Heap_Free(v1); @@ -731,7 +731,7 @@ static BOOL ov104_0223A118(BattleTower *battleTower, BattleFrontierTrainerData * v8++; } - v2 = sub_0204AE84(param2); + v2 = BattleTower_GetIVsFromTrainerID(param2); v4 = (sub_0204AEC0(battleTower) | (sub_0204AEC0(battleTower) << 16)); if (v9 >= 50) { @@ -756,9 +756,9 @@ static BOOL ov104_0223A118(BattleTower *battleTower, BattleFrontierTrainerData * return v10; } -void ov104_0223A30C(SaveData *saveData, UnkStruct_ov104_0223A348 *param1, const u8 param2) +void ov104_0223A30C(SaveData *saveData, FrontierDataDTO *param1, const u8 param2) { - MI_CpuClear8(param1, sizeof(UnkStruct_ov104_0223A348)); + MI_CpuClear8(param1, sizeof(FrontierDataDTO)); UnkStruct_0202D764 *v1 = sub_0202D764(saveData); @@ -770,20 +770,20 @@ void ov104_0223A30C(SaveData *saveData, UnkStruct_ov104_0223A348 *param1, const sub_0202D63C(v1, param1, param2); } -static void ov104_0223A348(UnkStruct_ov104_0223A348 *param0, const u8 param1) +static void ov104_0223A348(FrontierDataDTO *param0, const u8 param1) { int v0; - MI_CpuClear8(param0, sizeof(UnkStruct_ov104_0223A348)); + MI_CpuClear8(param0, sizeof(FrontierDataDTO)); const FrontierTrainerDataDTO *v1 = &(Unk_ov104_0223FCE0[param1]); const FrontierPokemonDataDTO *v2 = Unk_ov104_0223FE30; const UnkStruct_ov104_0223FCB4 *v3 = &(Unk_ov104_0223FCB4[param1]); - MI_CpuCopy8(v1, ¶m0->unk_00, sizeof(FrontierTrainerDataDTO)); - param0->unk_00.unk_06 = v3->unk_00; + MI_CpuCopy8(v1, ¶m0->trDataDTO, sizeof(FrontierTrainerDataDTO)); + param0->trDataDTO.unk_06 = v3->unk_00; for (v0 = 0; v0 < 4; v0++) { - MI_CpuCopy8(&(v2[v3->unk_02[v0]]), &(param0->unk_30[v0]), sizeof(FrontierPokemonDataDTO)); + MI_CpuCopy8(&(v2[v3->unk_02[v0]]), &(param0->monDataDTO[v0]), sizeof(FrontierPokemonDataDTO)); } } @@ -926,7 +926,7 @@ FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE switch (battleTower->challengeMode) { case 2: - ov104_0223A6AC(v3, &(battleTower->unk_298[battleTower->unk_10_5]), battleTower->partySize, BATTLER_PLAYER_2, battleTower->heapID); + ov104_0223A6AC(v3, &(battleTower->partnersDataDTO[battleTower->partnerID]), battleTower->partySize, BATTLER_PLAYER_2, battleTower->heapID); // fall through case 3: case 6: @@ -939,13 +939,13 @@ FieldBattleDTO *ov104_0223A580(BattleTower *battleTower, UnkStruct_ov104_02230BE return v3; } -static void ov104_0223A6AC(FieldBattleDTO *param0, UnkStruct_ov104_0223A348 *param1, int param2, int battlerId, int heapID) +static void ov104_0223A6AC(FieldBattleDTO *param0, FrontierDataDTO *param1, int param2, int battlerId, int heapID) { - ov104_0222E284(param0, ¶m1->unk_00, param2, battlerId, heapID); + ov104_0222E284(param0, ¶m1->trDataDTO, param2, battlerId, heapID); Pokemon *mon = Pokemon_New(heapID); for (int v0 = 0; v0 < param2; v0++) { - ov104_0222DF40(¶m1->unk_30[v0], mon, 120); + ov104_0222DF40(¶m1->monDataDTO[v0], mon, 120); Party_AddPokemon(param0->parties[battlerId], mon); } diff --git a/src/scrcmd.c b/src/scrcmd.c index b2e5983919..0f5bea9356 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -36,6 +36,7 @@ #include "struct_decls/struct_0205E884_decl.h" #include "struct_decls/struct_02061830_decl.h" #include "struct_decls/struct_02061AB4_decl.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/choose_starter_data.h" #include "struct_defs/daycare.h" #include "struct_defs/mail.h" @@ -43,7 +44,6 @@ #include "struct_defs/special_encounter.h" #include "struct_defs/struct_0203E608.h" #include "struct_defs/struct_02041DC8.h" -#include "struct_defs/struct_0204AFC4.h" #include "struct_defs/underground.h" #include "struct_defs/underground_record.h" @@ -352,7 +352,7 @@ static BOOL ScrCmd_FacePlayer(ScriptContext *ctx); static BOOL ScrCmd_GetPlayerMapPos(ScriptContext *ctx); static BOOL ScrCmd_Unused_06A(ScriptContext *ctx); static BOOL ScrCmd_GetPlayerDir(ScriptContext *ctx); -static BOOL ScrCmd_06B(ScriptContext *ctx); +static BOOL ScrCmd_MoveCamera(ScriptContext *ctx); static BOOL ScrCmd_06C(ScriptContext *ctx); static BOOL ScrCmd_06D(ScriptContext *ctx); static BOOL ScrCmd_GetMovementType(ScriptContext *ctx); @@ -367,7 +367,7 @@ static BOOL ScrCmd_Unused_09D(ScriptContext *ctx); static BOOL ScrCmd_Unused_09E(ScriptContext *ctx); static BOOL ScrCmd_Unused_09F(ScriptContext *ctx); static BOOL ScrCmd_ReturnToField(ScriptContext *ctx); -static BOOL ScrCmd_1F8(ScriptContext *ctx); +static BOOL ScrCmd_WaitForTransition(ScriptContext *ctx); static BOOL ScrCmd_0A2(ScriptContext *ctx); static BOOL ScrCmd_0A3(ScriptContext *ctx); static BOOL ScrCmd_Unused_0A4(ScriptContext *ctx); @@ -876,7 +876,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_FacePlayer, ScrCmd_GetPlayerMapPos, ScrCmd_Unused_06A, - ScrCmd_06B, + ScrCmd_MoveCamera, ScrCmd_06C, ScrCmd_06D, ScrCmd_Unused_06E, @@ -1247,7 +1247,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_InitBattleTower, ScrCmd_FreeBattleTower, ScrCmd_CallBattleTowerFunction, - ScrCmd_1DE, + ScrCmd_GetBattleTowerPartnerSpeciesAndMove, ScrCmd_1DF, ScrCmd_1E0, ScrCmd_1E1, @@ -1273,7 +1273,7 @@ const ScrCmdFunc Unk_020EAC58[] = { ScrCmd_FindFossilAtThreshold, ScrCmd_CountPartyMonsBelowLevelThreshold, ScrCmd_SurvivePoison, - ScrCmd_1F8, + ScrCmd_WaitForTransition, ScrCmd_Dummy1F9, ScrCmd_MessageFromBankInstant, ScrCmd_MessageFromBank, @@ -2100,7 +2100,7 @@ static BOOL ScrCmd_1FE(ScriptContext *ctx) return FALSE; } - u16 *v0 = battleTower->unk_78[v3].unk_00.unk_18; + u16 *v0 = battleTower->unk_78[v3].trDataDTO.unk_18; if (v0[0] == 0xFFFF) { MessageLoader *msgLoader = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_UNK_0613, HEAP_ID_FIELD3); @@ -3326,21 +3326,21 @@ static BOOL ScrCmd_GetPlayerDir(ScriptContext *ctx) return FALSE; } -static BOOL ScrCmd_06B(ScriptContext *ctx) +static BOOL ScrCmd_MoveCamera(ScriptContext *ctx) { FieldSystem *fieldSystem = ctx->fieldSystem; - u16 v0 = ScriptContext_GetVar(ctx); - u16 v1 = ScriptContext_GetVar(ctx); - u16 v2 = ScriptContext_GetVar(ctx); + u16 x = ScriptContext_GetVar(ctx); + u16 y = ScriptContext_GetVar(ctx); + u16 z = ScriptContext_GetVar(ctx); - VecFx32 v3; - v3.x = FX32_CONST(v0); - v3.y = FX32_CONST(v1); - v3.z = FX32_CONST(v2); + VecFx32 pos; + pos.x = FX32_CONST(x); + pos.y = FX32_CONST(y); + pos.z = FX32_CONST(z); - sub_020630AC(Player_MapObject(ctx->fieldSystem->playerAvatar), &v3); - Camera_Move(&v3, ctx->fieldSystem->camera); + sub_020630AC(Player_MapObject(ctx->fieldSystem->playerAvatar), &pos); + Camera_Move(&pos, ctx->fieldSystem->camera); return FALSE; } @@ -3772,7 +3772,7 @@ static BOOL ScrCmd_ReturnToField(ScriptContext *ctx) return TRUE; } -static BOOL ScrCmd_1F8(ScriptContext *ctx) +static BOOL ScrCmd_WaitForTransition(ScriptContext *ctx) { FieldTransition_FinishMap(ctx->fieldSystem->task); return TRUE; diff --git a/src/unk_0202D05C.c b/src/unk_0202D05C.c index 9e99567356..cca5b6d36e 100644 --- a/src/unk_0202D05C.c +++ b/src/unk_0202D05C.c @@ -485,10 +485,10 @@ void sub_0202D628(UnkStruct_0202D764 *param0, UnkStruct_02049A68 *param1) param1->unk_04 = param0->unk_100; } -void sub_0202D63C(UnkStruct_0202D764 *param0, UnkStruct_ov104_0223A348 *param1, const u8 param2) +void sub_0202D63C(UnkStruct_0202D764 *param0, FrontierDataDTO *param1, const u8 param2) { - FrontierTrainerDataDTO *v0 = &(param1->unk_00); - FrontierPokemonDataDTO *v1 = param1->unk_30; + FrontierTrainerDataDTO *v0 = &(param1->trDataDTO); + FrontierPokemonDataDTO *v1 = param1->monDataDTO; UnkStruct_0202D63C *v2 = &(param0->unk_104[param2]); v0->trainerID = 10000; diff --git a/src/unk_020494DC.c b/src/unk_020494DC.c index 985499c47e..863c5526b8 100644 --- a/src/unk_020494DC.c +++ b/src/unk_020494DC.c @@ -3,11 +3,14 @@ #include #include +#include "constants/battle_tower.h" #include "generated/battle_tower_functions.h" +#include "generated/battle_tower_modes.h" #include "generated/game_records.h" +#include "generated/object_events.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_02049A68.h" -#include "struct_defs/struct_0204AFC4.h" #include "field/field_system.h" #include "overlay005/field_menu.h" @@ -29,7 +32,7 @@ #include "unk_0206B9D8.h" #include "unk_0209BA80.h" -static u16 sub_02049AE0(BattleTower *battleTower, u8 param1); +static u16 BattleTower_GetPartnerParam(BattleTower *battleTower, u8 param1); BOOL ScrCmd_InitBattleTower(ScriptContext *ctx) { @@ -43,7 +46,7 @@ BOOL ScrCmd_InitBattleTower(ScriptContext *ctx) BOOL ScrCmd_SetBattleTowerNull(ScriptContext *ctx) { BattleTower_SetNull(&(ctx->fieldSystem->battleTower)); - return 0; + return FALSE; } BOOL ScrCmd_FreeBattleTower(ScriptContext *ctx) @@ -137,8 +140,8 @@ BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx) case BATTLE_TOWER_FUNCTION_UNK_56: sub_0204A97C(battleTower); break; - case BATTLE_TOWER_FUNCTION_UNK_41: - *destVar = sub_0204A9E0(battleTower, functionArgument); + case BATTLE_TOWER_FUNCTION_GET_OPPONENT_OBJECT_ID: + *destVar = BattleTower_GetObjectIDFromOpponentID(battleTower, functionArgument); break; case BATTLE_TOWER_FUNCTION_GET_CHALLENGE_MODE: *destVar = (u16)BattleTower_GetChallengeMode(battleTower); @@ -155,11 +158,11 @@ BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx) case BATTLE_TOWER_FUNCTION_UNK_49: *destVar = sub_0204ABA0(battleTower, ctx->fieldSystem->saveData); break; - case BATTLE_TOWER_FUNCTION_UNK_50: - battleTower->unk_10_5 = functionArgument; + case BATTLE_TOWER_FUNCTION_SET_PARTNER_ID: + battleTower->partnerID = functionArgument; break; - case BATTLE_TOWER_FUNCTION_UNK_51: - *destVar = battleTower->unk_10_5; + case BATTLE_TOWER_FUNCTION_GET_PARTNER_ID: + *destVar = battleTower->partnerID; break; case BATTLE_TOWER_FUNCTION_UNK_52: sub_0204A4C8(battleTower, ctx->fieldSystem->saveData); @@ -170,8 +173,8 @@ BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx) case BATTLE_TOWER_FUNCTION_UNK_54: *destVar = sub_0204AABC(battleTower, ctx->fieldSystem->saveData, 1); break; - case BATTLE_TOWER_FUNCTION_UNK_55: - *destVar = sub_02049AE0(battleTower, functionArgument); + case BATTLE_TOWER_FUNCTION_GET_PARTNER_PARAM: + *destVar = BattleTower_GetPartnerParam(battleTower, functionArgument); break; case BATTLE_TOWER_FUNCTION_UNK_57: *destVar = sub_0204ABF4(battleTower, ctx->fieldSystem->saveData); @@ -195,21 +198,21 @@ BOOL ScrCmd_CallBattleTowerFunction(ScriptContext *ctx) return FALSE; } -BOOL ScrCmd_1DE(ScriptContext *ctx) +BOOL ScrCmd_GetBattleTowerPartnerSpeciesAndMove(ScriptContext *ctx) { - u16 v0, v1; - u16 *v2, *v3; + u16 partnerID, monID; + u16 *destVar1, *destVar2; BattleTower *battleTower = ctx->fieldSystem->battleTower; - v0 = ScriptContext_GetVar(ctx); - v1 = ScriptContext_GetVar(ctx); - v2 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx)); - v3 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx)); + partnerID = ScriptContext_GetVar(ctx); + monID = ScriptContext_GetVar(ctx); + destVar1 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx)); + destVar2 = FieldSystem_GetVarPointer(ctx->fieldSystem, ScriptContext_ReadHalfWord(ctx)); - *v2 = battleTower->unk_298[v0].unk_30[v1].species; - *v3 = battleTower->unk_298[v0].unk_30[v1].moves[0]; + *destVar1 = battleTower->partnersDataDTO[partnerID].monDataDTO[monID].species; + *destVar2 = battleTower->partnersDataDTO[partnerID].monDataDTO[monID].moves[0]; - return 0; + return FALSE; } BOOL ScrCmd_1DF(ScriptContext *ctx) @@ -348,36 +351,36 @@ BOOL ScrCmd_1E4(ScriptContext *ctx) return FALSE; } -static u16 sub_02049AE0(BattleTower *battleTower, u8 param1) +static u16 BattleTower_GetPartnerParam(BattleTower *battleTower, u8 param) { - static const u16 v0[] = { - 0x8d, - 0x91, - 0x8e, - 0x8f, - 0x90 + static const u16 partnerGraphics[] = { + OBJ_EVENT_GFX_CHERYL, + OBJ_EVENT_GFX_MIRA, + OBJ_EVENT_GFX_RILEY, + OBJ_EVENT_GFX_MARLEY, + OBJ_EVENT_GFX_BUCK }; - if (param1 == 2) { - return battleTower->unk_10_5; + if (param == BT_PARAM_PARTNER_ID) { + return battleTower->partnerID; } - if (param1 == 1) { - if (battleTower->challengeMode == 2) { - return v0[battleTower->unk_10_5]; + if (param == BT_PARAM_PARTNER_GRAPHICS_ID) { + if (battleTower->challengeMode == BATTLE_TOWER_MODE_MULTI) { + return partnerGraphics[battleTower->partnerID]; } else { - if (battleTower->unk_12) { - return 0x61; + if (battleTower->partnerGender) { + return OBJ_EVENT_GFX_PLAYER_F; } else { - return 0x0; + return OBJ_EVENT_GFX_PLAYER_M; } } } - if (battleTower->unk_11) { - return 0x61; + if (battleTower->playerGender) { + return OBJ_EVENT_GFX_PLAYER_F; } else { - return 0x0; + return OBJ_EVENT_GFX_PLAYER_M; } } diff --git a/src/unk_02049D08.c b/src/unk_02049D08.c index 5258e8f82c..48190224dc 100644 --- a/src/unk_02049D08.c +++ b/src/unk_02049D08.c @@ -4,6 +4,7 @@ #include #include "generated/battle_tower_modes.h" +#include "generated/frontier_trainers.h" #include "generated/game_records.h" #include "generated/trainer_score_events.h" @@ -11,7 +12,7 @@ #include "struct_decls/struct_0202D750_decl.h" #include "struct_decls/struct_0202D764_decl.h" #include "struct_defs/battle_frontier.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/underground.h" #include "applications/party_menu/defs.h" @@ -359,14 +360,14 @@ BattleTower *BattleTower_Init(SaveData *saveData, u16 param1, u16 challengeMode) battleTower->unk_08 = sub_0202D0BC(battleTower->unk_70, 10, NULL); if (battleTower->challengeMode == BATTLE_TOWER_MODE_MULTI) { - battleTower->unk_10_5 = (u8)sub_0202D0BC(battleTower->unk_70, 9, NULL); + battleTower->partnerID = (u8)sub_0202D0BC(battleTower->unk_70, 9, NULL); - sub_0202D0BC(battleTower->unk_70, 6, &(battleTower->unk_7E8[battleTower->unk_10_5])); - sub_0204B404(battleTower, &battleTower->unk_298[battleTower->unk_10_5], 300 + battleTower->unk_10_5, sub_0202D0BC(battleTower->unk_70, 7, NULL), &(battleTower->unk_7E8[battleTower->unk_10_5]), battleTower->heapID); + sub_0202D0BC(battleTower->unk_70, 6, &(battleTower->unk_7E8[battleTower->partnerID])); + sub_0204B404(battleTower, &battleTower->partnersDataDTO[battleTower->partnerID], FRONTIER_TRAINER_TRAINER_CHERYL_CHERYL + battleTower->partnerID, sub_0202D0BC(battleTower->unk_70, 7, NULL), &(battleTower->unk_7E8[battleTower->partnerID]), battleTower->heapID); } } - battleTower->unk_11 = TrainerInfo_Gender(SaveData_GetTrainerInfo(saveData)); + battleTower->playerGender = TrainerInfo_Gender(SaveData_GetTrainerInfo(saveData)); if (battleTower->challengeMode != BATTLE_TOWER_MODE_5) { frontier = SaveData_GetBattleFrontier(saveData); @@ -718,25 +719,23 @@ void sub_0204A8C8(BattleTower *battleTower) return; } - v1[0] = battleTower->unk_10_5; + v1[0] = battleTower->partnerID; sub_0202D140(battleTower->unk_70, 9, v1); - sub_0202D140(battleTower->unk_70, 6, &(battleTower->unk_7E8[battleTower->unk_10_5])); - sub_0202D140(battleTower->unk_70, 7, &(battleTower->unk_838[battleTower->unk_10_5])); + sub_0202D140(battleTower->unk_70, 6, &(battleTower->unk_7E8[battleTower->partnerID])); + sub_0202D140(battleTower->unk_70, 7, &(battleTower->unk_838[battleTower->partnerID])); } void sub_0204A97C(BattleTower *battleTower) { - int v0; - - for (v0 = 0; v0 < 5; v0++) { - battleTower->unk_838[v0] = (u8)sub_0204B3B8(battleTower, &(battleTower->unk_298[v0]), 300 + v0, battleTower->partySize, battleTower->unk_2E, battleTower->unk_36, &(battleTower->unk_7E8[v0]), battleTower->heapID); + for (int partnerID = 0; partnerID < BT_PARTNERS_COUNT; partnerID++) { + battleTower->unk_838[partnerID] = (u8)sub_0204B3B8(battleTower, &(battleTower->partnersDataDTO[partnerID]), FRONTIER_TRAINER_TRAINER_CHERYL_CHERYL + partnerID, battleTower->partySize, battleTower->unk_2E, battleTower->unk_36, &(battleTower->unk_7E8[partnerID]), battleTower->heapID); } } -u16 sub_0204A9E0(BattleTower *battleTower, u16 param1) +u16 BattleTower_GetObjectIDFromOpponentID(BattleTower *battleTower, u16 opponentID) { - return sub_0204AF9C(battleTower->unk_78[param1].unk_00.trainerType); + return BattleFrontier_GetObjectIDFromTrainerClass(battleTower->unk_78[opponentID].trDataDTO.trainerType); } u16 BattleTower_GetChallengeMode(BattleTower *battleTower) @@ -1031,29 +1030,29 @@ static void sub_0204AE20(BattleTower *battleTower, SaveData *saveData, int param Heap_Free(v1); } -u8 sub_0204AE84(u16 param0) +u8 BattleTower_GetIVsFromTrainerID(u16 battleTowerID) { - u8 v0; + u8 ivs; - if (param0 < 100) { - v0 = (0x1f / 8) * 1; - } else if (param0 < 120) { - v0 = (0x1f / 8) * 2; - } else if (param0 < 140) { - v0 = (0x1f / 8) * 3; - } else if (param0 < 160) { - v0 = (0x1f / 8) * 4; - } else if (param0 < 180) { - v0 = (0x1f / 8) * 5; - } else if (param0 < 200) { - v0 = (0x1f / 8) * 6; - } else if (param0 < 220) { - v0 = (0x1f / 8) * 7; + if (battleTowerID < 100) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 1; + } else if (battleTowerID < 120) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 2; + } else if (battleTowerID < 140) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 3; + } else if (battleTowerID < 160) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 4; + } else if (battleTowerID < 180) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 5; + } else if (battleTowerID < 200) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 6; + } else if (battleTowerID < 220) { + ivs = MAX_IVS_SINGLE_STAT / 8 * 7; } else { - v0 = 0x1f; + ivs = MAX_IVS_SINGLE_STAT; } - return v0; + return ivs; } u16 sub_0204AEC0(BattleTower *battleTower) diff --git a/src/unk_0204AEE8.c b/src/unk_0204AEE8.c index bbc8478048..69f74a3fe9 100644 --- a/src/unk_0204AEE8.c +++ b/src/unk_0204AEE8.c @@ -3,6 +3,7 @@ #include #include +#include "constants/battle_tower.h" #include "generated/battle_tower_modes.h" #include "generated/object_events.h" #include "generated/species_data_params.h" @@ -11,7 +12,7 @@ #include "struct_decls/pokedexdata_decl.h" #include "struct_defs/battle_frontier_pokemon_data.h" #include "struct_defs/battle_frontier_trainer_data.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0204B404.h" #include "field/field_system.h" @@ -34,7 +35,7 @@ #include "unk_0202D05C.h" #include "unk_02049D08.h" -static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8); +static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *trainerData, u16 partnerBattleTowerID, FrontierPokemonDataDTO *param3, u8 partySize, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8); static void *sub_0204B630(u16 param0, int param1); static void sub_0204B640(BattleFrontierPokemonData *param0, int param1); @@ -139,7 +140,7 @@ StringTemplate *BattleFrontier_MakeSeenBanlistSpeciesMsg(SaveData *saveData, u16 return bannedSpeciesList; } -u16 sub_0204AF9C(u8 trainerClass) +u16 BattleFrontier_GetObjectIDFromTrainerClass(u8 trainerClass) { for (int v0 = 0; v0 < (NELEMS(sTrainerClassToObjectID)); v0++) { if (sTrainerClassToObjectID[v0][0] == trainerClass) { @@ -155,11 +156,11 @@ u16 sub_0204AFC4(FieldSystem *fieldSystem, const u16 *param1) u16 v0 = 0; BattleTower *battleTower = fieldSystem->battleTower; - battleTower->unk_12 = (u8)param1[0]; + battleTower->partnerGender = (u8)param1[0]; battleTower->unk_16[0] = param1[1]; battleTower->unk_16[1] = param1[2]; battleTower->unk_14 = param1[3]; - battleTower->unk_10_5 = 5 + battleTower->unk_12; + battleTower->partnerID = BT_PARTNERS_COUNT + battleTower->partnerGender; if ((battleTower->unk_2E[0] == battleTower->unk_16[0]) || (battleTower->unk_2E[0] == battleTower->unk_16[1])) { v0 += 1; @@ -277,22 +278,22 @@ u16 sub_0204B0F0(BattleTower *battleTower, u8 param1, u8 param2, int challengeMo return v0; } -static BattleFrontierTrainerData *sub_0204B184(UnkStruct_ov104_0223A348 *param0, u16 param1, int heapID) +static BattleFrontierTrainerData *sub_0204B184(FrontierDataDTO *param0, u16 param1, int heapID) { MessageLoader *v1 = MessageLoader_Init(MSG_LOADER_LOAD_ON_DEMAND, NARC_INDEX_MSGDATA__PL_MSG, TEXT_BANK_FRONTIER_TRAINER_NAMES, heapID); - MI_CpuClear8(param0, sizeof(UnkStruct_ov104_0223A348)); + MI_CpuClear8(param0, sizeof(FrontierDataDTO)); BattleFrontierTrainerData *v0 = sub_0204B630(param1, heapID); - param0->unk_00.trainerID = param1; - param0->unk_00.unk_18[0] = 0xFFFF; - param0->unk_00.unk_18[1] = param1 * 3; - param0->unk_00.trainerType = v0->trainerType; + param0->trDataDTO.trainerID = param1; + param0->trDataDTO.unk_18[0] = 0xFFFF; + param0->trDataDTO.unk_18[1] = param1 * 3; + param0->trDataDTO.trainerType = v0->trainerType; Strbuf *v2 = MessageLoader_GetNewStrbuf(v1, param1); - Strbuf_ToChars(v2, ¶m0->unk_00.trainerName[0], 8); // Possibly TRAINER_NAME_LEN + 1 + Strbuf_ToChars(v2, ¶m0->trDataDTO.trainerName[0], TRAINER_NAME_LEN + 1); Strbuf_Free(v2); MessageLoader_Free(v1); @@ -306,7 +307,7 @@ static const u16 Unk_020EBD50[] = { ITEM_QUICK_CLAW }; -static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 param5, u8 param6, BOOL param7, int param8) +static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1, u16 param2, u32 param3, u32 param4, u8 ivs, u8 param6, BOOL param7, int param8) { int v0; u32 v2; @@ -347,12 +348,12 @@ static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1 v2 = param4; } - param1->hpIV = param5; - param1->atkIV = param5; - param1->defIV = param5; - param1->speedIV = param5; - param1->spAtkIV = param5; - param1->spDefIV = param5; + param1->hpIV = ivs; + param1->atkIV = ivs; + param1->defIV = ivs; + param1->speedIV = ivs; + param1->spAtkIV = ivs; + param1->spDefIV = ivs; int v1 = 0; @@ -395,34 +396,34 @@ static u32 sub_0204B1E8(BattleTower *battleTower, FrontierPokemonDataDTO *param1 return v2; } -BOOL sub_0204B3B8(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, int param3, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID) +BOOL sub_0204B3B8(BattleTower *battleTower, FrontierDataDTO *param1, u16 partnerBattleTowerID, int partysize, u16 *param4, u16 *param5, UnkStruct_0204B404 *param6, int heapID) { - BOOL v0 = 0; - BattleFrontierTrainerData *v1 = sub_0204B184(param1, param2, heapID); - v0 = sub_0204B470(battleTower, v1, param2, ¶m1->unk_30[0], param3, param4, param5, param6, heapID); + BOOL v0 = FALSE; + BattleFrontierTrainerData *trainerData = sub_0204B184(param1, partnerBattleTowerID, heapID); + v0 = sub_0204B470(battleTower, trainerData, partnerBattleTowerID, ¶m1->monDataDTO[0], partysize, param4, param5, param6, heapID); - Heap_Free(v1); + Heap_Free(trainerData); return v0; } -void sub_0204B404(BattleTower *battleTower, UnkStruct_ov104_0223A348 *param1, u16 param2, BOOL param3, const UnkStruct_0204B404 *param4, int heapID) +void sub_0204B404(BattleTower *battleTower, FrontierDataDTO *param1, u16 partnerBattleTowerID, BOOL param3, const UnkStruct_0204B404 *param4, int heapID) { - u8 v1 = 0; - BattleFrontierTrainerData *v2 = sub_0204B184(param1, param2, heapID); - v1 = sub_0204AE84(param2); + u8 ivs = 0; + BattleFrontierTrainerData *v2 = sub_0204B184(param1, partnerBattleTowerID, heapID); + ivs = BattleTower_GetIVsFromTrainerID(partnerBattleTowerID); for (int v0 = 0; v0 < 2; v0++) { - sub_0204B1E8(battleTower, &(param1->unk_30[v0]), param4->unk_04[v0], param4->unk_00, param4->unk_08[v0], v1, v0, param3, heapID); + sub_0204B1E8(battleTower, &(param1->monDataDTO[v0]), param4->unk_04[v0], param4->unk_00, param4->unk_08[v0], ivs, v0, param3, heapID); } Heap_Free(v2); } -static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *param1, u16 param2, FrontierPokemonDataDTO *param3, u8 param4, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8) +static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *trainerData, u16 partnerBattleTowerID, FrontierPokemonDataDTO *param3, u8 partySize, u16 *param5, u16 *param6, UnkStruct_0204B404 *param7, int param8) { int v0, v1; - u8 v2; + u8 ivs; u8 v3; u32 v4; int v5; @@ -430,18 +431,18 @@ static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *pa u32 v7[4]; int v8; int v9; - BOOL v10 = 0; + BOOL v10 = FALSE; BattleFrontierPokemonData v11; BattleFrontierPokemonData v12; - GF_ASSERT(param4 <= 4); + GF_ASSERT(partySize <= 4); v8 = 0; v9 = 0; - while (v8 != param4) { - v3 = sub_0204AEC0(battleTower) % param1->numSets; - v5 = param1->setIDs[v3]; + while (v8 != partySize) { + v3 = sub_0204AEC0(battleTower) % trainerData->numSets; + v5 = trainerData->setIDs[v3]; sub_0204B640(&v12, v5); @@ -458,13 +459,13 @@ static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *pa } if (param5 != NULL) { - for (v0 = 0; v0 < param4; v0++) { + for (v0 = 0; v0 < partySize; v0++) { if (param5[v0] == v12.species) { break; } } - if (v0 != param4) { + if (v0 != partySize) { continue; } } @@ -484,13 +485,13 @@ static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *pa } if (param6 != NULL) { - for (v0 = 0; v0 < param4; v0++) { + for (v0 = 0; v0 < partySize; v0++) { if ((param6[v0] == v12.item) && (param6[v0] != 0)) { break; } } - if (v0 != param4) { + if (v0 != partySize) { v9++; continue; } @@ -501,15 +502,15 @@ static BOOL sub_0204B470(BattleTower *battleTower, BattleFrontierTrainerData *pa v8++; } - v2 = sub_0204AE84(param2); + ivs = BattleTower_GetIVsFromTrainerID(partnerBattleTowerID); v4 = (sub_0204AEC0(battleTower) | (sub_0204AEC0(battleTower) << 16)); if (v9 >= 50) { - v10 = 1; + v10 = TRUE; } for (v0 = 0; v0 < v8; v0++) { - v7[v0] = sub_0204B1E8(battleTower, &(param3[v0]), v6[v0], v4, 0, v2, v0, v10, param8); + v7[v0] = sub_0204B1E8(battleTower, &(param3[v0]), v6[v0], v4, 0, ivs, v0, v10, param8); } if (param7 == NULL) { diff --git a/src/unk_0204F13C.c b/src/unk_0204F13C.c index bc77ca8330..1b89915fc8 100644 --- a/src/unk_0204F13C.c +++ b/src/unk_0204F13C.c @@ -10,7 +10,7 @@ #include "struct_decls/struct_0203026C_decl.h" #include "struct_decls/struct_020308A0_decl.h" #include "struct_defs/battle_frontier.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0204F3D0.h" #include "applications/party_menu/defs.h" diff --git a/src/unk_0204FAB4.c b/src/unk_0204FAB4.c index 952f3c7557..4cb1357893 100644 --- a/src/unk_0204FAB4.c +++ b/src/unk_0204FAB4.c @@ -6,7 +6,7 @@ #include "struct_decls/struct_020302DC_decl.h" #include "struct_decls/struct_0203041C_decl.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_0204FCF8.h" #include "applications/party_menu/defs.h" diff --git a/src/unk_0205003C.c b/src/unk_0205003C.c index ec5a045268..e35327c21f 100644 --- a/src/unk_0205003C.c +++ b/src/unk_0205003C.c @@ -6,7 +6,7 @@ #include "struct_decls/struct_020304A0_decl.h" #include "struct_decls/struct_020305B8_decl.h" -#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_02050224.h" #include "applications/party_menu/defs.h" diff --git a/src/unk_0209BA80.c b/src/unk_0209BA80.c index fd92bedb8f..13e6bebfac 100644 --- a/src/unk_0209BA80.c +++ b/src/unk_0209BA80.c @@ -3,8 +3,10 @@ #include #include +#include "constants/battle_tower.h" + +#include "struct_defs/battle_tower.h" #include "struct_defs/struct_02039A58.h" -#include "struct_defs/struct_0204AFC4.h" #include "struct_defs/struct_0209BBA4.h" #include "overlay104/ov104_0222ECE8.h" @@ -113,11 +115,11 @@ static void sub_0209BA94(int param0, int param1, void *param2, void *param3) return; } - battleTower->unk_12 = (u8)v3[0]; + battleTower->partnerGender = (u8)v3[0]; battleTower->unk_16[0] = v3[1]; battleTower->unk_16[1] = v3[2]; battleTower->unk_14 = v3[3]; - battleTower->unk_10_5 = 5 + battleTower->unk_12; + battleTower->partnerID = BT_PARTNERS_COUNT + battleTower->partnerGender; if ((battleTower->unk_2E[0] == battleTower->unk_16[0]) || (battleTower->unk_2E[0] == battleTower->unk_16[1])) { v0 += 1;