diff --git a/Makefile b/Makefile index 4f77da32a..36370df35 100644 --- a/Makefile +++ b/Makefile @@ -21,9 +21,7 @@ rom_obj := \ gfx/misc.o \ gfx/pics.o \ gfx/sprites.o \ - gfx/tilesets.o \ - lib/mobile/main.o \ - lib/mobile/mail.o + gfx/tilesets.o pokecrystal_obj := $(rom_obj:.o=.o) pokecrystal11_obj := $(rom_obj:.o=11.o) @@ -233,8 +231,6 @@ gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace gfx/pokegear/pokegear.2bpp: rgbgfx += -x2 gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace -gfx/mystery_gift/mystery_gift.2bpp: tools/gfx += --trim-whitespace - gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$< gfx/title/old_fg.2bpp: tools/gfx += --interleave --png=$< gfx/title/logo.2bpp: rgbgfx += -x 4 @@ -289,18 +285,6 @@ gfx/font/unused_bold_font.1bpp: tools/gfx += --trim-whitespace gfx/sgb/sgb_border.2bpp: tools/gfx += --trim-whitespace gfx/sgb/sgb_border.sgb.tilemap: gfx/sgb/sgb_border.bin ; tr < $< -d '\000' > $@ -gfx/mobile/ascii_font.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/dialpad.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/dialpad_cursor.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/electro_ball.2bpp: tools/gfx += --remove-duplicates --remove-xflip --preserve=0x39 -gfx/mobile/mobile_splash.2bpp: tools/gfx += --remove-duplicates --remove-xflip -gfx/mobile/card.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/card_2.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/card_folder.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/phone_tiles.2bpp: tools/gfx += --remove-whitespace -gfx/mobile/pichu_animated.2bpp: tools/gfx += --trim-whitespace -gfx/mobile/stadium2_n64.2bpp: tools/gfx += --trim-whitespace - ### Catch-all graphics rules diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index 63b0f5d7e..3950a0456 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -86,7 +86,6 @@ DEF HMENURETURN_ASM EQU %11111111 const PARTYMENUACTION_GIVE_MON const PARTYMENUACTION_GIVE_MON_FEMALE ; unused const PARTYMENUACTION_GIVE_ITEM - const PARTYMENUACTION_MOBILE ; mobile DEF NUM_PARTYMENUACTIONS EQU const_value ; PrintPartyMenuActionText arguments (see engine/pokemon/party_menu.asm) const_next $f0 diff --git a/constants/mobile_constants.asm b/constants/mobile_constants.asm deleted file mode 100644 index 95ff56235..000000000 --- a/constants/mobile_constants.asm +++ /dev/null @@ -1,73 +0,0 @@ -; MobileAPI calls (see lib/mobile/main.asm:_MobileAPI) - const_def 0, 2 - const MOBILEAPI_00 - const MOBILEAPI_01 - const MOBILEAPI_02 - const MOBILEAPI_03 - const MOBILEAPI_04 - const MOBILEAPI_05 - const MOBILEAPI_06 - const MOBILEAPI_07 - const MOBILEAPI_08 - const MOBILEAPI_09 - const MOBILEAPI_0A - const MOBILEAPI_0B - const MOBILEAPI_0C - const MOBILEAPI_0D - const MOBILEAPI_0E - const MOBILEAPI_0F - const MOBILEAPI_10 - const MOBILEAPI_11 - const MOBILEAPI_12 - const MOBILEAPI_13 - const MOBILEAPI_14 - const MOBILEAPI_15 - const MOBILEAPI_16 - const MOBILEAPI_17 - const MOBILEAPI_SETTIMER - const MOBILEAPI_TELEPHONESTATUS - const MOBILEAPI_1A - const MOBILEAPI_1B - const MOBILEAPI_1C - const MOBILEAPI_1D - const MOBILEAPI_1E - const MOBILEAPI_1F - const MOBILEAPI_20 - const MOBILEAPI_21 - -; MobileEZChatCategoryPointers indexes (see mobile/fixed_words.asm) - const_def - const EZCHAT_POKEMON - const EZCHAT_TYPES - const EZCHAT_GREETINGS - const EZCHAT_PEOPLE - const EZCHAT_BATTLE - const EZCHAT_EXCLAMATIONS - const EZCHAT_CONVERSATION - const EZCHAT_FEELINGS - const EZCHAT_CONDITIONS - const EZCHAT_LIFE - const EZCHAT_HOBBIES - const EZCHAT_ACTIONS - const EZCHAT_TIME - const EZCHAT_FAREWELLS - const EZCHAT_THISANDTHAT - -DEF NUM_KANA EQU 45 ; length of SortedPokemon table (see mobile/fixed_words.asm) - -DEF MOBILE_LOGIN_PASSWORD_LENGTH EQU 17 -DEF MOBILE_PHONE_NUMBER_LENGTH EQU 20 - -; Maximum amount of time allowed for mobile battles each day -DEF MOBILE_BATTLE_ALLOWED_SECONDS EQU 0 -DEF MOBILE_BATTLE_ALLOWED_MINUTES EQU 10 - -; Trade corner request size -; DION addr $1e + request $8 + Name $5 -; + party struct $30 + OT $5 + NICK $5 -; + JP Mail struct $2a -DEF MOBILE_EMAIL_LENGTH EQU $1e -DEF TRADE_CORNER_REQUEST_LENGTH EQU $8f - -DEF EASY_CHAT_MESSAGE_WORD_COUNT EQU 6 -DEF EASY_CHAT_MESSAGE_LENGTH EQU EASY_CHAT_MESSAGE_WORD_COUNT * 2 ; every word uses 2 bytes diff --git a/constants/scgb_constants.asm b/constants/scgb_constants.asm index 449be751a..a8bb70d8f 100644 --- a/constants/scgb_constants.asm +++ b/constants/scgb_constants.asm @@ -30,8 +30,7 @@ const SCGB_PLAYER_OR_MON_FRONTPIC_PALS const SCGB_TRADE_TUBE const SCGB_TRAINER_OR_MON_FRONTPIC_PALS - const SCGB_MYSTERY_GIFT - const SCGB_1E + const SCGB_1D DEF NUM_SCGB_LAYOUTS EQU const_value DEF SCGB_PARTY_MENU_HP_BARS EQU $fc diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 899d65488..0ac73ad23 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -66,12 +66,11 @@ DEF STRING_BUFFER_LENGTH EQU 19 const VAR_XCOORD ; 12 const VAR_YCOORD ; 13 const VAR_SPECIALPHONECALL ; 14 - const VAR_BT_WIN_STREAK ; 15 - const VAR_KURT_APRICORNS ; 16 - const VAR_CALLERID ; 17 - const VAR_BLUECARDBALANCE ; 18 - const VAR_BUENASPASSWORD ; 19 - const VAR_KENJI_BREAK ; 1a + const VAR_KURT_APRICORNS ; 15 + const VAR_CALLERID ; 16 + const VAR_BLUECARDBALANCE ; 17 + const VAR_BUENASPASSWORD ; 18 + const VAR_KENJI_BREAK ; 19 DEF NUM_VARS EQU const_value ; variable action types diff --git a/data/battle_tower/classes.asm b/data/battle_tower/classes.asm deleted file mode 100644 index 863759c70..000000000 --- a/data/battle_tower/classes.asm +++ /dev/null @@ -1,79 +0,0 @@ -BattleTowerTrainers: -; The trainer class is not used in Crystal 1.0 due to a bug. -; Instead, the sixth character in the trainer's name is used. -; See BattleTowerText in engine/events/battle_tower/trainer_text.asm. - table_width (NAME_LENGTH - 1) + 1, BattleTowerTrainers - ; name, class - db "HANSON@@@@", FISHER - db "SAWYER@@@@", POKEMANIAC - db "MASUDA@@@@", GUITARIST - db "NICKEL@@@@", SCIENTIST - db "OLSON@@@@@", POKEFANM - db "ZABOROWSKI", LASS - db "WRIGHT@@@@", YOUNGSTER - db "ALEXANDER@", HIKER - db "KAWAKAMI@@", TEACHER - db "BICKETT@@@", POKEFANM - db "SAITO@@@@@", KIMONO_GIRL - db "CRAWFORD@@", BOARDER - db "DIAZ@@@@@@", PICNICKER - db "ERICKSON@@", BIKER - db "FAIRFIELD@", JUGGLER - db "HUNTER@@@@", POKEFANF - db "HILL@@@@@@", FIREBREATHER - db "JAVIER@@@@", SWIMMERF - db "KAUFMAN@@@", SWIMMERM - db "LANCASTER@", SKIER - db "McMAHILL@@", CAMPER - assert_table_length BATTLETOWER_NUM_UNIQUE_MON -; The following can only be sampled in Crystal 1.1. - db "OBRIEN@@@@", GENTLEMAN - db "FROST@@@@@", BEAUTY - db "MORSE@@@@@", SUPER_NERD - db "YUFUNE@@@@", BLACKBELT_T - db "RAJAN@@@@@", COOLTRAINERF - db "RODRIGUEZ@", OFFICER - db "SANTIAGO@@", PSYCHIC_T - db "STOCK@@@@@", POKEFANM - db "THURMAN@@@", SCIENTIST - db "VALENTINO@", BEAUTY - db "WAGNER@@@@", CAMPER - db "YATES@@@@@", BIRD_KEEPER - db "ANDREWS@@@", PICNICKER - db "BAHN@@@@@@", POKEMANIAC - db "MORI@@@@@@", SCIENTIST - db "BUCKMAN@@@", SAGE - db "COBB@@@@@@", SCHOOLBOY - db "HUGHES@@@@", FISHER - db "ARITA@@@@@", KIMONO_GIRL - db "EASTON@@@@", PSYCHIC_T - db "FREEMAN@@@", CAMPER - db "GIESE@@@@@", LASS - db "HATCHER@@@", GENTLEMAN - db "JACKSON@@@", POKEFANF - db "KAHN@@@@@@", POKEMANIAC - db "LEONG@@@@@", YOUNGSTER - db "MARINO@@@@", TEACHER - db "NEWMAN@@@@", SAILOR - db "NGUYEN@@@@", BLACKBELT_T - db "OGDEN@@@@@", SUPER_NERD - db "PARK@@@@@@", COOLTRAINERF - db "RAINE@@@@@", SWIMMERM - db "SELLS@@@@@", BIRD_KEEPER - db "ROCKWELL@@", BOARDER - db "THORNTON@@", LASS - db "TURNER@@@@", OFFICER - db "VAN DYKE@@", SKIER - db "WALKER@@@@", SCHOOLBOY - db "MEYER@@@@@", SWIMMERF - db "JOHNSON@@@", YOUNGSTER - db "ADAMS@@@@@", GUITARIST - db "SMITH@@@@@", BUG_CATCHER - db "TAJIRI@@@@", BUG_CATCHER - db "BAKER@@@@@", POKEMANIAC - db "COLLINS@@@", SCIENTIST - db "SMART@@@@@", SUPER_NERD - db "DYKSTRA@@@", SWIMMERF - db "EATON@@@@@", BIKER - db "WONG@@@@@@", FIREBREATHER - assert_table_length BATTLETOWER_NUM_UNIQUE_TRAINERS diff --git a/data/battle_tower/parties.asm b/data/battle_tower/parties.asm deleted file mode 100644 index d972944b6..000000000 --- a/data/battle_tower/parties.asm +++ /dev/null @@ -1,5494 +0,0 @@ -BattleTowerMons: -; 10 groups (one per floor level) of 21 mons (BATTLETOWER_NUM_UNIQUE_MON). - table_width NICKNAMED_MON_STRUCT_LENGTH, BattleTowerMons - -; BattleTowerMons group 1 - - db JOLTEON - db MIRACLEBERRY - db THUNDERBOLT, HYPER_BEAM, SHADOW_BALL, ROAR - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 40000 - bigdw 35000 - bigdw 40000 - dn 13, 13, 11, 13 ; DVs - db 15, 5, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 41 ; HP - bigdw 41 ; Max HP - bigdw 25 ; Atk - bigdw 24 ; Def - bigdw 37 ; Spd - bigdw 34 ; SAtk - bigdw 31 ; SDef - db "SANDA-SU@@@" - - db ESPEON - db LEFTOVERS - db MUD_SLAP, PSYCHIC_M, PSYCH_UP, TOXIC - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 50000 - bigdw 35000 - bigdw 40000 - bigdw 40000 - dn 14, 13, 15, 11 ; DVs - db 10, 10, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 39 ; HP - bigdw 39 ; Max HP - bigdw 26 ; Atk - bigdw 24 ; Def - bigdw 35 ; Spd - bigdw 38 ; SAtk - bigdw 31 ; SDef - db "E-HUi@@@@@@" - - db UMBREON - db GOLD_BERRY - db SHADOW_BALL, IRON_TAIL, PSYCH_UP, TOXIC - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 45000 - bigdw 50000 - bigdw 40000 - dn 13, 11, 14, 15 ; DVs - db 15, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 46 ; HP - bigdw 46 ; Max HP - bigdw 25 ; Atk - bigdw 34 ; Def - bigdw 26 ; Spd - bigdw 25 ; SAtk - bigdw 39 ; SDef - db "BURAtuKI-@@" - - db WOBBUFFET - db FOCUS_BAND - db COUNTER, MIRROR_COAT, SAFEGUARD, DESTINY_BOND - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 7, 15, 13, 7 ; DVs - db 20, 20, 25, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 66 ; HP - bigdw 66 ; Max HP - bigdw 18 ; Atk - bigdw 25 ; Def - bigdw 19 ; Spd - bigdw 18 ; SAtk - bigdw 23 ; SDef - db "SO-NANSU@@@" - - db KANGASKHAN - db MIRACLEBERRY - db REVERSAL, HYPER_BEAM, EARTHQUAKE, ATTRACT - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 30000 - bigdw 40000 - bigdw 30000 - bigdw 30000 - dn 14, 15, 12, 15 ; DVs - db 15, 5, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 47 ; HP - bigdw 47 ; Max HP - bigdw 31 ; Atk - bigdw 29 ; Def - bigdw 29 ; Spd - bigdw 20 ; SAtk - bigdw 28 ; SDef - db "GARU-RA@@@@" - - db CORSOLA - db SCOPE_LENS - db SURF, PSYCHIC_M, RECOVER, ANCIENTPOWER - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 30000 - bigdw 33300 - bigdw 30000 - bigdw 30000 - dn 15, 14, 15, 13 ; DVs - db 15, 10, 20, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 38 ; HP - bigdw 38 ; Max HP - bigdw 23 ; Atk - bigdw 29 ; Def - bigdw 19 ; Spd - bigdw 24 ; SAtk - bigdw 28 ; SDef - db "SANI-GO@@@@" - - db MILTANK - db GOLD_BERRY - db BLIZZARD, EARTHQUAKE, HYPER_BEAM, TOXIC - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 35000 - dn 11, 11, 13, 15 ; DVs - db 5, 10, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 46 ; HP - bigdw 46 ; Max HP - bigdw 27 ; Atk - bigdw 32 ; Def - bigdw 31 ; Spd - bigdw 20 ; SAtk - bigdw 26 ; SDef - db "MIRUTANKU@@" - - db AERODACTYL - db LEFTOVERS - db HYPER_BEAM, SUPERSONIC, EARTHQUAKE, BITE - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 13, 11, 15, 11 ; DVs - db 5, 20, 10, 25 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 43 ; HP - bigdw 43 ; Max HP - bigdw 32 ; Atk - bigdw 24 ; Def - bigdw 38 ; Spd - bigdw 23 ; SAtk - bigdw 26 ; SDef - db "PUTERA@@@@@" - - db LAPRAS - db MIRACLEBERRY - db BLIZZARD, SURF, THUNDERBOLT, PSYCHIC_M - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 15, 13, 14, 11 ; DVs - db 5, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 52 ; HP - bigdw 52 ; Max HP - bigdw 29 ; Atk - bigdw 27 ; Def - bigdw 24 ; Spd - bigdw 28 ; SAtk - bigdw 30 ; SDef - db "RAPURASU@@@" - - db SNEASEL - db GOLD_BERRY - db SLASH, FAINT_ATTACK, SURF, BLIZZARD - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 35000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 15, 11, 11, 15 ; DVs - db 20, 20, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 38 ; HP - bigdw 38 ; Max HP - bigdw 31 ; Atk - bigdw 22 ; Def - bigdw 34 ; Spd - bigdw 19 ; SAtk - bigdw 27 ; SDef - db "NIyu-RA@@@@" - - db PORYGON2 - db BRIGHTPOWDER - db PSYCHIC_M, BLIZZARD, HYPER_BEAM, TRI_ATTACK - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 40000 - bigdw 30000 - bigdw 30000 - dn 15, 11, 13, 14 ; DVs - db 10, 5, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 44 ; HP - bigdw 44 ; Max HP - bigdw 28 ; Atk - bigdw 30 ; Def - bigdw 23 ; Spd - bigdw 33 ; SAtk - bigdw 31 ; SDef - db "PORIGON2@@@" - - db MISDREAVUS - db FOCUS_BAND - db PERISH_SONG, MEAN_LOOK, PAIN_SPLIT, SHADOW_BALL - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 14, 15, 13, 15 ; DVs - db 5, 5, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 37 ; HP - bigdw 37 ; Max HP - bigdw 24 ; Atk - bigdw 24 ; Def - bigdw 28 ; Spd - bigdw 29 ; SAtk - bigdw 29 ; SDef - db "MUUMA@@@@@@" - - db HOUNDOUR - db GOLD_BERRY - db FAINT_ATTACK, SOLARBEAM, ROAR, SUNNY_DAY - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 33000 - bigdw 30000 - dn 15, 13, 15, 14 ; DVs - db 20, 10, 20, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 36 ; HP - bigdw 36 ; Max HP - bigdw 24 ; Atk - bigdw 17 ; Def - bigdw 25 ; Spd - bigdw 28 ; SAtk - bigdw 22 ; SDef - db "DERUBIRU@@@" - - db GIRAFARIG - db KINGS_ROCK - db PSYBEAM, MUD_SLAP, SHADOW_BALL, AGILITY - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 14, 13, 15, 13 ; DVs - db 20, 10, 15, 30 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 39 ; HP - bigdw 39 ; Max HP - bigdw 28 ; Atk - bigdw 24 ; Def - bigdw 29 ; Spd - bigdw 29 ; SAtk - bigdw 24 ; SDef - db "KIRINRIKI@@" - - db BLISSEY - db QUICK_CLAW - db HEADBUTT, SOLARBEAM, ROLLOUT, STRENGTH - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 32000 - bigdw 40000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 13, 15, 12, 14 ; DVs - db 15, 10, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 77 ; HP - bigdw 77 ; Max HP - bigdw 14 ; Atk - bigdw 14 ; Def - bigdw 22 ; Spd - bigdw 27 ; SAtk - bigdw 39 ; SDef - db "HAPINASU@@@" - - db SNORLAX - db MIRACLEBERRY - db HEADBUTT, PROTECT, SNORE, SURF - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 14, 15, 15, 7 ; DVs - db 15, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 57 ; HP - bigdw 57 ; Max HP - bigdw 34 ; Atk - bigdw 25 ; Def - bigdw 18 ; Spd - bigdw 23 ; SAtk - bigdw 32 ; SDef - db "KABIGON@@@@" - - db EXEGGUTOR - db KINGS_ROCK - db TOXIC, GIGA_DRAIN, THIEF, CONFUSION - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 15, 14, 15, 14 ; DVs - db 10, 5, 10, 25 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 45 ; HP - bigdw 45 ; Max HP - bigdw 31 ; Atk - bigdw 29 ; Def - bigdw 23 ; Spd - bigdw 37 ; SAtk - bigdw 25 ; SDef - db "NAtuSI-@@@@" - - db HERACROSS - db GOLD_BERRY - db REVERSAL, ENDURE, COUNTER, ROCK_SMASH - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 15, 7, 15, 7 ; DVs - db 15, 10, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 43 ; HP - bigdw 43 ; Max HP - bigdw 37 ; Atk - bigdw 25 ; Def - bigdw 29 ; Spd - bigdw 18 ; SAtk - bigdw 29 ; SDef - db "HERAKUROSU@" - - db UNOWN - db BERRY - db HIDDEN_POWER, 0, 0, 0 - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 15, 15, 15, 15 ; DVs - db 15, 0, 0, 0 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 36 ; HP - bigdw 36 ; Max HP - bigdw 26 ; Atk - bigdw 21 ; Def - bigdw 21 ; Spd - bigdw 26 ; SAtk - bigdw 21 ; SDef - db "ANNO-N@@@@@" - - db TAUROS - db KINGS_ROCK - db HEADBUTT, SWAGGER, TAIL_WHIP, ICY_WIND - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 5, 5, 7 ; DVs - db 15, 15, 30, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 40 ; HP - bigdw 40 ; Max HP - bigdw 30 ; Atk - bigdw 29 ; Def - bigdw 32 ; Spd - bigdw 18 ; SAtk - bigdw 24 ; SDef - db "KENTAROSU@@" - - db MR__MIME - db QUICK_CLAW - db TOXIC, PSYCH_UP, FIRE_PUNCH, HEADBUTT - dw 0 ; OT ID - dt 1000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 3, 6, 7 ; DVs - db 10, 10, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 10 ; Level - db 0, 0 ; Status - bigdw 34 ; HP - bigdw 34 ; Max HP - bigdw 19 ; Atk - bigdw 22 ; Def - bigdw 28 ; Spd - bigdw 30 ; SAtk - bigdw 34 ; SDef - db "BARIYA-DO@@" - - -; BattleTowerMons group 2 - - db UMBREON - db LEFTOVERS - db PROTECT, TOXIC, MUD_SLAP, ATTRACT - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 12, 15, 11, 12 ; DVs - db 10, 10, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 81 ; HP - bigdw 81 ; Max HP - bigdw 46 ; Atk - bigdw 66 ; Def - bigdw 46 ; Spd - bigdw 44 ; SAtk - bigdw 72 ; SDef - db "BURAtuKI-@@" - - db STARMIE - db GOLD_BERRY - db RECOVER, PSYCHIC_M, SURF, PSYCH_UP - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 13, 11, 13, 11 ; DVs - db 20, 10, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 71 ; HP - bigdw 71 ; Max HP - bigdw 51 ; Atk - bigdw 54 ; Def - bigdw 67 ; Spd - bigdw 60 ; SAtk - bigdw 54 ; SDef - db "SUTA-MI-@@@" - - db GYARADOS - db MIRACLEBERRY - db HYPER_BEAM, DRAGON_RAGE, THUNDERBOLT, FIRE_BLAST - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 10, 15, 13 ; DVs - db 5, 10, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 83 ; HP - bigdw 83 ; Max HP - bigdw 72 ; Atk - bigdw 51 ; Def - bigdw 54 ; Spd - bigdw 45 ; SAtk - bigdw 61 ; SDef - db "GIyaRADOSU@" - - db STEELIX - db GOLD_BERRY - db ROAR, IRON_TAIL, SWAGGER, EARTHQUAKE - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 30000 - bigdw 50000 - dn 15, 15, 15, 15 ; DVs - db 20, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 77 ; HP - bigdw 77 ; Max HP - bigdw 55 ; Atk - bigdw 102 ; Def - bigdw 31 ; Spd - bigdw 44 ; SAtk - bigdw 48 ; SDef - db "HAGANE-RU@@" - - db ALAKAZAM - db BERRY_JUICE - db PSYCHIC_M, PSYCH_UP, TOXIC, THUNDERPUNCH - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 50000 - bigdw 40000 - dn 15, 13, 14, 15 ; DVs - db 10, 10, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 68 ; HP - bigdw 68 ; Max HP - bigdw 42 ; Atk - bigdw 36 ; Def - bigdw 69 ; Spd - bigdw 75 ; SAtk - bigdw 55 ; SDef - db "HU-DEiN@@@@" - - db ARCANINE - db BRIGHTPOWDER - db FLAMETHROWER, ROAR, HYPER_BEAM, IRON_TAIL - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 35000 - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 11, 15, 11 ; DVs - db 15, 20, 5, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 81 ; HP - bigdw 81 ; Max HP - bigdw 64 ; Atk - bigdw 52 ; Def - bigdw 60 ; Spd - bigdw 60 ; SAtk - bigdw 52 ; SDef - db "UINDEi@@@@@" - - db HERACROSS - db FOCUS_BAND - db ENDURE, REVERSAL, MEGAHORN, EARTHQUAKE - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 30000 - bigdw 45000 - bigdw 30000 - bigdw 45000 - dn 13, 15, 13, 14 ; DVs - db 10, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 78 ; HP - bigdw 78 ; Max HP - bigdw 68 ; Atk - bigdw 51 ; Def - bigdw 52 ; Spd - bigdw 37 ; SAtk - bigdw 59 ; SDef - db "HERAKUROSU@" - - db EXEGGUTOR - db LEFTOVERS - db HYPER_BEAM, PSYCHIC_M, TOXIC, DREAM_EATER - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - dn 15, 13, 14, 11 ; DVs - db 5, 10, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 83 ; HP - bigdw 83 ; Max HP - bigdw 60 ; Atk - bigdw 55 ; Def - bigdw 43 ; Spd - bigdw 70 ; SAtk - bigdw 46 ; SDef - db "NAtuSI-@@@@" - - db AERODACTYL - db GOLD_BERRY - db REST, HYPER_BEAM, EARTHQUAKE, DRAGON_RAGE - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - dn 15, 11, 11, 11 ; DVs - db 10, 5, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 78 ; HP - bigdw 78 ; Max HP - bigdw 64 ; Atk - bigdw 45 ; Def - bigdw 72 ; Spd - bigdw 44 ; SAtk - bigdw 50 ; SDef - db "PUTERA@@@@@" - - db BLISSEY - db BRIGHTPOWDER - db PSYCHIC_M, SUBMISSION, SOFTBOILED, COUNTER - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 30000 - bigdw 50000 - dn 11, 13, 15, 14 ; DVs - db 10, 25, 10, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 148 ; HP - bigdw 148 ; Max HP - bigdw 24 ; Atk - bigdw 22 ; Def - bigdw 41 ; Spd - bigdw 51 ; SAtk - bigdw 75 ; SDef - db "HAPINASU@@@" - - db LAPRAS - db GOLD_BERRY - db PSYCHIC_M, THUNDERBOLT, BLIZZARD, CONFUSE_RAY - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 30000 - bigdw 40000 - bigdw 55000 - bigdw 30000 - dn 15, 14, 13, 7 ; DVs - db 10, 15, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 98 ; HP - bigdw 98 ; Max HP - bigdw 53 ; Atk - bigdw 52 ; Def - bigdw 45 ; Spd - bigdw 50 ; SAtk - bigdw 54 ; SDef - db "RAPURASU@@@" - - db PIKACHU - db LIGHT_BALL - db THUNDERBOLT, THUNDER_WAVE, STRENGTH, TOXIC - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 15, 12, 15, 14 ; DVs - db 15, 20, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 58 ; HP - bigdw 58 ; Max HP - bigdw 44 ; Atk - bigdw 32 ; Def - bigdw 58 ; Spd - bigdw 41 ; SAtk - bigdw 37 ; SDef - db "PIKATIyuU@@" - - db SCIZOR - db FOCUS_BAND - db STEEL_WING, SLASH, TOXIC, SANDSTORM - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 45000 - bigdw 40000 - bigdw 45000 - bigdw 50000 - dn 15, 13, 15, 14 ; DVs - db 25, 20, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 73 ; HP - bigdw 73 ; Max HP - bigdw 73 ; Atk - bigdw 60 ; Def - bigdw 47 ; Spd - bigdw 43 ; SAtk - bigdw 53 ; SDef - db "HAtuSAMU@@@" - - db HITMONCHAN - db GOLD_BERRY - db THUNDERPUNCH, ICE_PUNCH, FIRE_PUNCH, MEGA_PUNCH - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 35000 - bigdw 50000 - bigdw 30000 - dn 15, 11, 15, 13 ; DVs - db 15, 15, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 67 ; HP - bigdw 67 ; Max HP - bigdw 63 ; Atk - bigdw 50 ; Def - bigdw 52 ; Spd - bigdw 32 ; SAtk - bigdw 62 ; SDef - db "EBIWARA-@@@" - - db TAUROS - db BRIGHTPOWDER - db THUNDERBOLT, EARTHQUAKE, HYPER_BEAM, BLIZZARD - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 30000 - bigdw 30000 - dn 15, 11, 14, 15 ; DVs - db 15, 10, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 76 ; HP - bigdw 76 ; Max HP - bigdw 61 ; Atk - bigdw 58 ; Def - bigdw 63 ; Spd - bigdw 35 ; SAtk - bigdw 47 ; SDef - db "KENTAROSU@@" - - db AZUMARILL - db MYSTIC_WATER - db SURF, BLIZZARD, ATTRACT, RAIN_DANCE - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - dn 14, 13, 15, 7 ; DVs - db 15, 5, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 82 ; HP - bigdw 82 ; Max HP - bigdw 40 ; Atk - bigdw 52 ; Def - bigdw 41 ; Spd - bigdw 37 ; SAtk - bigdw 49 ; SDef - db "MARIRURI@@@" - - db MILTANK - db KINGS_ROCK - db EARTHQUAKE, THUNDER, ATTRACT, SURF - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - dn 13, 15, 15, 14 ; DVs - db 10, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 83 ; HP - bigdw 83 ; Max HP - bigdw 52 ; Atk - bigdw 63 ; Def - bigdw 61 ; Spd - bigdw 36 ; SAtk - bigdw 48 ; SDef - db "MIRUTANKU@@" - - db WIGGLYTUFF - db GOLD_BERRY - db HYPER_BEAM, BLIZZARD, FIRE_BLAST, ATTRACT - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - dn 12, 7, 15, 14 ; DVs - db 5, 5, 5, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 98 ; HP - bigdw 98 ; Max HP - bigdw 47 ; Atk - bigdw 35 ; Def - bigdw 39 ; Spd - bigdw 50 ; SAtk - bigdw 40 ; SDef - db "PUKURIN@@@@" - - db WIGGLYTUFF - db PINK_BOW - db PSYCHIC_M, SWAGGER, PSYCH_UP, HEADBUTT - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 12, 7, 7, 7 ; DVs - db 10, 15, 10, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 97 ; HP - bigdw 97 ; Max HP - bigdw 46 ; Atk - bigdw 34 ; Def - bigdw 34 ; Spd - bigdw 46 ; SAtk - bigdw 36 ; SDef - db "PUKURIN@@@@" - - db NIDOKING - db BERRY - db BLIZZARD, EARTHQUAKE, SURF, THUNDERPUNCH - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 5, 6, 4, 6 ; DVs - db 5, 10, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 74 ; HP - bigdw 74 ; Max HP - bigdw 52 ; Atk - bigdw 46 ; Def - bigdw 49 ; Spd - bigdw 50 ; SAtk - bigdw 46 ; SDef - db "NIDOKINGU@@" - - db QUAGSIRE - db QUICK_CLAW - db AMNESIA, EARTHQUAKE, SURF, RAIN_DANCE - dw 0 ; OT ID - dt 8000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 5, 5, 4, 7 ; DVs - db 20, 10, 15, 5 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 20 ; Level - db 0, 0 ; Status - bigdw 81 ; HP - bigdw 81 ; Max HP - bigdw 49 ; Atk - bigdw 49 ; Def - bigdw 29 ; Spd - bigdw 42 ; SAtk - bigdw 42 ; SDef - db "NUO-@@@@@@@" - - -; BattleTowerMons group 3 - - db JOLTEON - db MIRACLEBERRY - db THUNDERBOLT, THUNDER_WAVE, ROAR, MUD_SLAP - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - dn 13, 11, 14, 13 ; DVs - db 15, 20, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 103 ; HP - bigdw 103 ; Max HP - bigdw 68 ; Atk - bigdw 64 ; Def - bigdw 107 ; Spd - bigdw 96 ; SAtk - bigdw 87 ; SDef - db "SANDA-SU@@@" - - db POLIWRATH - db BRIGHTPOWDER - db DOUBLE_TEAM, SURF, FISSURE, SUBMISSION - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 55000 - bigdw 55000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 15, 11 ; DVs - db 15, 15, 5, 25 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 119 ; HP - bigdw 119 ; Max HP - bigdw 81 ; Atk - bigdw 87 ; Def - bigdw 73 ; Spd - bigdw 70 ; SAtk - bigdw 82 ; SDef - db "NIyoROBON@@" - - db STARMIE - db LEFTOVERS - db THUNDER_WAVE, PSYCHIC_M, RECOVER, SURF - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 15, 15, 15 ; DVs - db 20, 10, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 101 ; HP - bigdw 101 ; Max HP - bigdw 75 ; Atk - bigdw 81 ; Def - bigdw 99 ; Spd - bigdw 90 ; SAtk - bigdw 81 ; SDef - db "SUTA-MI-@@@" - - db JYNX - db GOLD_BERRY - db BLIZZARD, LOVELY_KISS, DREAM_EATER, ATTRACT - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 50000 - dn 15, 11, 14, 14 ; DVs - db 5, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 102 ; HP - bigdw 102 ; Max HP - bigdw 60 ; Atk - bigdw 49 ; Def - bigdw 83 ; Spd - bigdw 98 ; SAtk - bigdw 86 ; SDef - db "RU-ZIyuRA@@" - - db DUGTRIO - db KINGS_ROCK - db EARTHQUAKE, SLUDGE_BOMB, SLASH, MUD_SLAP - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 50000 - bigdw 50000 - dn 14, 15, 15, 15 ; DVs - db 10, 10, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 81 ; HP - bigdw 81 ; Max HP - bigdw 77 ; Atk - bigdw 56 ; Def - bigdw 102 ; Spd - bigdw 60 ; SAtk - bigdw 72 ; SDef - db "DAGUTORIO@@" - - db BELLOSSOM - db BRIGHTPOWDER - db GIGA_DRAIN, SUNNY_DAY, SOLARBEAM, DOUBLE_TEAM - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 15, 13, 11 ; DVs - db 5, 5, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 109 ; HP - bigdw 109 ; Max HP - bigdw 76 ; Atk - bigdw 81 ; Def - bigdw 60 ; Spd - bigdw 82 ; SAtk - bigdw 88 ; SDef - db "KIREIHANA@@" - - db BLISSEY - db LEFTOVERS - db TOXIC, REFLECT, SOFTBOILED, PROTECT - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 30000 - bigdw 45000 - bigdw 30000 - bigdw 45000 - dn 15, 11, 14, 13 ; DVs - db 10, 20, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 217 ; HP - bigdw 217 ; Max HP - bigdw 32 ; Atk - bigdw 33 ; Def - bigdw 59 ; Spd - bigdw 73 ; SAtk - bigdw 109 ; SDef - db "HAPINASU@@@" - - db HOUNDOOM - db CHARCOAL - db FLAMETHROWER, CRUNCH, SHADOW_BALL, DREAM_EATER - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - dn 15, 13, 14, 13 ; DVs - db 15, 15, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 108 ; HP - bigdw 108 ; Max HP - bigdw 84 ; Atk - bigdw 59 ; Def - bigdw 86 ; Spd - bigdw 94 ; SAtk - bigdw 76 ; SDef - db "HERUGA-@@@@" - - db MACHAMP - db MIRACLEBERRY - db CROSS_CHOP, ICE_PUNCH, EARTHQUAKE, FIRE_BLAST - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - dn 15, 13, 11, 14 ; DVs - db 5, 15, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 118 ; HP - bigdw 118 ; Max HP - bigdw 108 ; Atk - bigdw 75 ; Def - bigdw 61 ; Spd - bigdw 68 ; SAtk - bigdw 80 ; SDef - db "KAIRIKI-@@@" - - db CROBAT - db GOLD_BERRY - db ATTRACT, CONFUSE_RAY, TOXIC, WING_ATTACK - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 30000 - bigdw 50000 - dn 14, 15, 13, 12 ; DVs - db 15, 10, 10, 35 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 111 ; HP - bigdw 111 ; Max HP - bigdw 83 ; Atk - bigdw 74 ; Def - bigdw 103 ; Spd - bigdw 70 ; SAtk - bigdw 76 ; SDef - db "KUROBAtuTO@" - - db PORYGON2 - db BRIGHTPOWDER - db PSYCHIC_M, RECOVER, HYPER_BEAM, TRI_ATTACK - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 30000 - bigdw 40000 - bigdw 55000 - bigdw 30000 - dn 13, 15, 13, 11 ; DVs - db 10, 20, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 117 ; HP - bigdw 117 ; Max HP - bigdw 73 ; Atk - bigdw 83 ; Def - bigdw 66 ; Spd - bigdw 87 ; SAtk - bigdw 81 ; SDef - db "PORIGON2@@@" - - db MAROWAK - db THICK_CLUB - db EARTHQUAKE, RETURN, HYPER_BEAM, BONEMERANG - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 30000 - dn 13, 13, 14, 11 ; DVs - db 10, 20, 5, 10 ; PP - db 255 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 99 ; HP - bigdw 99 ; Max HP - bigdw 77 ; Atk - bigdw 94 ; Def - bigdw 56 ; Spd - bigdw 54 ; SAtk - bigdw 72 ; SDef - db "GARAGARA@@@" - - db ELECTRODE - db BRIGHTPOWDER - db LIGHT_SCREEN, THUNDERBOLT, PROTECT, THUNDER - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 45000 - bigdw 40000 - bigdw 45000 - bigdw 50000 - dn 11, 13, 14, 15 ; DVs - db 30, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 98 ; HP - bigdw 98 ; Max HP - bigdw 57 ; Atk - bigdw 69 ; Def - bigdw 113 ; Spd - bigdw 78 ; SAtk - bigdw 78 ; SDef - db "MARUMAIN@@@" - - db LAPRAS - db LEFTOVERS - db RAIN_DANCE, WATER_GUN, ICY_WIND, STRENGTH - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 35000 - bigdw 50000 - bigdw 30000 - dn 15, 13, 14, 11 ; DVs - db 5, 25, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 142 ; HP - bigdw 142 ; Max HP - bigdw 80 ; Atk - bigdw 74 ; Def - bigdw 65 ; Spd - bigdw 75 ; SAtk - bigdw 81 ; SDef - db "RAPURASU@@@" - - db LANTURN - db GOLD_BERRY - db RAIN_DANCE, THUNDER, SURF, FLAIL - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 30000 - bigdw 30000 - dn 13, 13, 14, 11 ; DVs - db 5, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 139 ; HP - bigdw 139 ; Max HP - bigdw 62 ; Atk - bigdw 64 ; Def - bigdw 66 ; Spd - bigdw 70 ; SAtk - bigdw 70 ; SDef - db "RANTA-N@@@@" - - db ESPEON - db MIRACLEBERRY - db CONFUSION, SWIFT, TOXIC, PSYCH_UP - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 14, 15, 15, 7 ; DVs - db 25, 20, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 99 ; HP - bigdw 99 ; Max HP - bigdw 68 ; Atk - bigdw 66 ; Def - bigdw 96 ; Spd - bigdw 103 ; SAtk - bigdw 82 ; SDef - db "E-HUi@@@@@@" - - db TENTACRUEL - db KINGS_ROCK - db WRAP, TOXIC, SLUDGE_BOMB, BUBBLEBEAM - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 47000 - bigdw 45000 - dn 15, 14, 15, 14 ; DVs - db 20, 10, 10, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 110 ; HP - bigdw 110 ; Max HP - bigdw 71 ; Atk - bigdw 68 ; Def - bigdw 90 ; Spd - bigdw 77 ; SAtk - bigdw 101 ; SDef - db "DOKUKURAGE@" - - db GENGAR - db GOLD_BERRY - db THIEF, LICK, NIGHT_SHADE, GIGA_DRAIN - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 7, 15, 7 ; DVs - db 10, 30, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 101 ; HP - bigdw 101 ; Max HP - bigdw 68 ; Atk - bigdw 61 ; Def - bigdw 96 ; Spd - bigdw 103 ; SAtk - bigdw 70 ; SDef - db "GENGA-@@@@@" - - db URSARING - db GOLD_BERRY - db HEADBUTT, PROTECT, ROAR, LEER - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 7, 4, 5 ; DVs - db 15, 10, 20, 30 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 114 ; HP - bigdw 114 ; Max HP - bigdw 100 ; Atk - bigdw 67 ; Def - bigdw 53 ; Spd - bigdw 65 ; SAtk - bigdw 65 ; SDef - db "RINGUMA@@@@" - - db FEAROW - db BRIGHTPOWDER - db MIRROR_MOVE, PURSUIT, PECK, SWIFT - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 7, 7, 7 ; DVs - db 20, 20, 35, 20 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 96 ; HP - bigdw 96 ; Max HP - bigdw 75 ; Atk - bigdw 61 ; Def - bigdw 82 ; Spd - bigdw 58 ; SAtk - bigdw 58 ; SDef - db "ONIDORIRU@@" - - db PRIMEAPE - db MIRACLEBERRY - db LOW_KICK, KARATE_CHOP, REVERSAL, FOCUS_ENERGY - dw 0 ; OT ID - dt 27000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 7, 6, 7 ; DVs - db 20, 25, 15, 30 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 30 ; Level - db 0, 0 ; Status - bigdw 99 ; HP - bigdw 99 ; Max HP - bigdw 85 ; Atk - bigdw 58 ; Def - bigdw 78 ; Spd - bigdw 58 ; SAtk - bigdw 64 ; SDef - db "OKORIZARU@@" - - -; BattleTowerMons group 4 - - db TAUROS - db GOLD_BERRY - db RETURN, HYPER_BEAM, EARTHQUAKE, IRON_TAIL - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 15, 14 ; DVs - db 20, 5, 10, 15 ; PP - db 255 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 143 ; HP - bigdw 143 ; Max HP - bigdw 119 ; Atk - bigdw 113 ; Def - bigdw 127 ; Spd - bigdw 70 ; SAtk - bigdw 94 ; SDef - db "KENTAROSU@@" - - db KINGDRA - db LEFTOVERS - db SURF, DRAGONBREATH, HYPER_BEAM, BLIZZARD - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 14, 15 ; DVs - db 15, 20, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 142 ; HP - bigdw 142 ; Max HP - bigdw 115 ; Atk - bigdw 113 ; Def - bigdw 106 ; Spd - bigdw 115 ; SAtk - bigdw 115 ; SDef - db "KINGUDORA@@" - - db SNORLAX - db QUICK_CLAW - db ATTRACT, BODY_SLAM, PSYCH_UP, EARTHQUAKE - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 14, 13, 13, 13 ; DVs - db 15, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 205 ; HP - bigdw 205 ; Max HP - bigdw 126 ; Atk - bigdw 89 ; Def - bigdw 61 ; Spd - bigdw 89 ; SAtk - bigdw 125 ; SDef - db "KABIGON@@@@" - - db LAPRAS - db LEFTOVERS - db THUNDERBOLT, ICE_BEAM, CONFUSE_RAY, SURF - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 14, 11 ; DVs - db 15, 10, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 186 ; HP - bigdw 186 ; Max HP - bigdw 107 ; Atk - bigdw 101 ; Def - bigdw 86 ; Spd - bigdw 103 ; SAtk - bigdw 111 ; SDef - db "RAPURASU@@@" - - db STEELIX - db GOLD_BERRY - db SANDSTORM, IRON_TAIL, EARTHQUAKE, TOXIC - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 14, 15, 13, 11 ; DVs - db 10, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 137 ; HP - bigdw 137 ; Max HP - bigdw 106 ; Atk - bigdw 199 ; Def - bigdw 61 ; Spd - bigdw 79 ; SAtk - bigdw 87 ; SDef - db "HAGANE-RU@@" - - db ALAKAZAM - db KINGS_ROCK - db PSYCHIC_M, THUNDERPUNCH, RECOVER, FIRE_PUNCH - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 14, 15 ; DVs - db 10, 15, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 126 ; HP - bigdw 126 ; Max HP - bigdw 76 ; Atk - bigdw 73 ; Def - bigdw 135 ; Spd - bigdw 147 ; SAtk - bigdw 107 ; SDef - db "HU-DEiN@@@@" - - db STARMIE - db LEFTOVERS - db BLIZZARD, THUNDERBOLT, SURF, PSYCHIC_M - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 45000 - dn 15, 13, 11, 14 ; DVs - db 5, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 131 ; HP - bigdw 131 ; Max HP - bigdw 99 ; Atk - bigdw 104 ; Def - bigdw 127 ; Spd - bigdw 117 ; SAtk - bigdw 105 ; SDef - db "SUTA-MI-@@@" - - db WOBBUFFET - db GOLD_BERRY - db COUNTER, MIRROR_COAT, SAFEGUARD, DESTINY_BOND - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 11, 15, 14, 7 ; DVs - db 20, 20, 25, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 233 ; HP - bigdw 233 ; Max HP - bigdw 62 ; Atk - bigdw 85 ; Def - bigdw 64 ; Spd - bigdw 59 ; SAtk - bigdw 79 ; SDef - db "SO-NANSU@@@" - - db GOLEM - db FOCUS_BAND - db EXPLOSION, EARTHQUAKE, MEGA_PUNCH, ROCK_SLIDE - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - dn 13, 13, 14, 13 ; DVs - db 5, 10, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 145 ; HP - bigdw 145 ; Max HP - bigdw 125 ; Atk - bigdw 139 ; Def - bigdw 74 ; Spd - bigdw 80 ; SAtk - bigdw 88 ; SDef - db "GORO-NIya@@" - - db SCIZOR - db SCOPE_LENS - db SLASH, STEEL_WING, PURSUIT, HYPER_BEAM - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - dn 11, 13, 15, 14 ; DVs - db 20, 25, 20, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 139 ; HP - bigdw 139 ; Max HP - bigdw 139 ; Atk - bigdw 117 ; Def - bigdw 89 ; Spd - bigdw 82 ; SAtk - bigdw 102 ; SDef - db "HAtuSAMU@@@" - - db DUGTRIO - db KINGS_ROCK - db EARTHQUAKE, HYPER_BEAM, SLUDGE_BOMB, MUD_SLAP - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 11, 11 ; DVs - db 10, 5, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 108 ; HP - bigdw 108 ; Max HP - bigdw 103 ; Atk - bigdw 78 ; Def - bigdw 131 ; Spd - bigdw 75 ; SAtk - bigdw 91 ; SDef - db "DAGUTORIO@@" - - db SLOWBRO - db MIRACLEBERRY - db SURF, PSYCHIC_M, EARTHQUAKE, BLIZZARD - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 11, 15, 12, 15 ; DVs - db 15, 10, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 157 ; HP - bigdw 157 ; Max HP - bigdw 95 ; Atk - bigdw 126 ; Def - bigdw 60 ; Spd - bigdw 119 ; SAtk - bigdw 103 ; SDef - db "YADORAN@@@@" - - db PORYGON2 - db NO_ITEM - db CONVERSION2, CONVERSION, PSYBEAM, THIEF - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 11, 12, 14, 15 ; DVs - db 30, 30, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 147 ; HP - bigdw 147 ; Max HP - bigdw 99 ; Atk - bigdw 108 ; Def - bigdw 86 ; Spd - bigdw 123 ; SAtk - bigdw 115 ; SDef - db "PORIGON2@@@" - - db ARCANINE - db CHARCOAL - db FLAME_WHEEL, LEER, BODY_SLAM, ROAR - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 11, 11 ; DVs - db 25, 30, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 152 ; HP - bigdw 152 ; Max HP - bigdw 127 ; Atk - bigdw 102 ; Def - bigdw 111 ; Spd - bigdw 115 ; SAtk - bigdw 99 ; SDef - db "UINDEi@@@@@" - - db FORRETRESS - db LEFTOVERS - db RAPID_SPIN, PROTECT, TOXIC, SANDSTORM - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 10, 7, 15 ; DVs - db 40, 10, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 140 ; HP - bigdw 140 ; Max HP - bigdw 111 ; Atk - bigdw 147 ; Def - bigdw 64 ; Spd - bigdw 87 ; SAtk - bigdw 87 ; SDef - db "HUoRETOSU@@" - - db OMASTAR - db GOLD_BERRY - db CURSE, WATER_GUN, ANCIENTPOWER, ROCK_SMASH - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 14, 15, 15, 7 ; DVs - db 10, 25, 5, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 133 ; HP - bigdw 133 ; Max HP - bigdw 86 ; Atk - bigdw 139 ; Def - bigdw 83 ; Spd - bigdw 124 ; SAtk - bigdw 88 ; SDef - db "OMUSUTA-@@@" - - db CHARIZARD - db KINGS_ROCK - db FIRE_SPIN, DRAGON_RAGE, FLY, SLASH - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 14 ; DVs - db 15, 10, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 142 ; HP - bigdw 142 ; Max HP - bigdw 106 ; Atk - bigdw 100 ; Def - bigdw 119 ; Spd - bigdw 125 ; SAtk - bigdw 106 ; SDef - db "RIZA-DON@@@" - - db EXEGGUTOR - db BRIGHTPOWDER - db EGG_BOMB, STOMP, PSYCH_UP, CONFUSION - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 7, 14, 7 ; DVs - db 10, 20, 10, 25 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 158 ; HP - bigdw 158 ; Max HP - bigdw 115 ; Atk - bigdw 100 ; Def - bigdw 82 ; Spd - bigdw 132 ; SAtk - bigdw 84 ; SDef - db "NAtuSI-@@@@" - - db HYPNO - db BRIGHTPOWDER - db CONFUSION, THUNDERPUNCH, HEADBUTT, DISABLE - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 7, 7, 10 ; DVs - db 25, 15, 15, 20 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 146 ; HP - bigdw 146 ; Max HP - bigdw 86 ; Atk - bigdw 83 ; Def - bigdw 81 ; Spd - bigdw 88 ; SAtk - bigdw 122 ; SDef - db "SURI-PA-@@@" - - db MUK - db QUICK_CLAW - db SCREECH, TOXIC, SLUDGE, HARDEN - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 5, 6, 11 ; DVs - db 40, 10, 20, 30 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 161 ; HP - bigdw 161 ; Max HP - bigdw 111 ; Atk - bigdw 86 ; Def - bigdw 67 ; Spd - bigdw 83 ; SAtk - bigdw 111 ; SDef - db "BETOBETON@@" - - db ELECTABUZZ - db KINGS_ROCK - db LIGHT_SCREEN, THUNDERPUNCH, SWIFT, SNORE - dw 0 ; OT ID - dt 64000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 5, 7, 7 ; DVs - db 30, 15, 20, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 40 ; Level - db 0, 0 ; Status - bigdw 124 ; HP - bigdw 124 ; Max HP - bigdw 93 ; Atk - bigdw 71 ; Def - bigdw 111 ; Spd - bigdw 103 ; SAtk - bigdw 95 ; SDef - db "EREBU-@@@@@" - - -; BattleTowerMons group 5 - - db KINGDRA - db GOLD_BERRY - db SURF, HYPER_BEAM, BLIZZARD, DRAGONBREATH - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 55000 - bigdw 60000 - bigdw 50000 - bigdw 55000 - dn 13, 13, 15, 15 ; DVs - db 15, 5, 5, 20 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 179 ; HP - bigdw 179 ; Max HP - bigdw 142 ; Atk - bigdw 143 ; Def - bigdw 132 ; Spd - bigdw 144 ; SAtk - bigdw 144 ; SDef - db "KINGUDORA@@" - - db HOUNDOOM - db MIRACLEBERRY - db REST, CRUNCH, DREAM_EATER, FLAMETHROWER - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - dn 13, 13, 15, 12 ; DVs - db 10, 15, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 178 ; HP - bigdw 178 ; Max HP - bigdw 135 ; Atk - bigdw 98 ; Def - bigdw 145 ; Spd - bigdw 157 ; SAtk - bigdw 127 ; SDef - db "HERUGA-@@@@" - - db SHUCKLE - db LEFTOVERS - db SANDSTORM, REST, TOXIC, WRAP - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 55000 - dn 15, 13, 12, 15 ; DVs - db 10, 10, 10, 20 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 123 ; HP - bigdw 123 ; Max HP - bigdw 60 ; Atk - bigdw 278 ; Def - bigdw 52 ; Spd - bigdw 59 ; SAtk - bigdw 279 ; SDef - db "TUBOTUBO@@@" - - db SNORLAX - db LEFTOVERS - db HYPER_BEAM, EARTHQUAKE, SURF, PSYCH_UP - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 55000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - dn 15, 13, 14, 15 ; DVs - db 5, 10, 15, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 263 ; HP - bigdw 263 ; Max HP - bigdw 159 ; Atk - bigdw 112 ; Def - bigdw 79 ; Spd - bigdw 114 ; SAtk - bigdw 159 ; SDef - db "KABIGON@@@@" - - db LAPRAS - db GOLD_BERRY - db THUNDERBOLT, SURF, CONFUSE_RAY, BLIZZARD - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 60000 - bigdw 60000 - bigdw 55000 - bigdw 60000 - dn 13, 13, 13, 13 ; DVs - db 15, 15, 10, 5 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 234 ; HP - bigdw 234 ; Max HP - bigdw 133 ; Atk - bigdw 128 ; Def - bigdw 107 ; Spd - bigdw 133 ; SAtk - bigdw 143 ; SDef - db "RAPURASU@@@" - - db JOLTEON - db KINGS_ROCK - db THUNDERBOLT, THUNDER_WAVE, SHADOW_BALL, HIDDEN_POWER - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 60000 - bigdw 57000 - bigdw 55000 - bigdw 55000 - dn 14, 13, 15, 15 ; DVs - db 15, 20, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 161 ; HP - bigdw 161 ; Max HP - bigdw 114 ; Atk - bigdw 107 ; Def - bigdw 179 ; Spd - bigdw 159 ; SAtk - bigdw 144 ; SDef - db "SANDA-SU@@@" - - db SCIZOR - db LEFTOVERS - db HYPER_BEAM, SLASH, AGILITY, METAL_CLAW - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - dn 13, 15, 14, 13 ; DVs - db 5, 20, 30, 35 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 169 ; HP - bigdw 169 ; Max HP - bigdw 175 ; Atk - bigdw 145 ; Def - bigdw 111 ; Spd - bigdw 99 ; SAtk - bigdw 124 ; SDef - db "HAtuSAMU@@@" - - db SLOWKING - db MINT_BERRY - db REST, SURF, PSYCHIC_M, AMNESIA - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 13, 15, 13, 14 ; DVs - db 10, 15, 10, 20 ; PP - db 15 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 196 ; HP - bigdw 196 ; Max HP - bigdw 118 ; Atk - bigdw 126 ; Def - bigdw 75 ; Spd - bigdw 146 ; SAtk - bigdw 156 ; SDef - db "YADOKINGU@@" - - db MACHAMP - db GOLD_BERRY - db CROSS_CHOP, EARTHQUAKE, FIRE_BLAST, THUNDERPUNCH - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 44000 - dn 15, 15, 14, 12 ; DVs - db 5, 10, 5, 15 ; PP - db 13 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 187 ; HP - bigdw 187 ; Max HP - bigdw 176 ; Atk - bigdw 127 ; Def - bigdw 99 ; Spd - bigdw 108 ; SAtk - bigdw 128 ; SDef - db "KAIRIKI-@@@" - - db STARMIE - db SCOPE_LENS - db THUNDER_WAVE, RECOVER, THUNDERBOLT, SURF - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 44000 - bigdw 40000 - bigdw 45000 - bigdw 40000 - dn 15, 15, 15, 15 ; DVs - db 20, 20, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 161 ; HP - bigdw 161 ; Max HP - bigdw 121 ; Atk - bigdw 130 ; Def - bigdw 161 ; Spd - bigdw 145 ; SAtk - bigdw 130 ; SDef - db "SUTA-MI-@@@" - - db DUGTRIO - db KINGS_ROCK - db EARTHQUAKE, SLASH, HYPER_BEAM, SLUDGE_BOMB - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - dn 15, 7, 15, 14 ; DVs - db 10, 20, 5, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 135 ; HP - bigdw 135 ; Max HP - bigdw 125 ; Atk - bigdw 89 ; Def - bigdw 166 ; Spd - bigdw 96 ; SAtk - bigdw 116 ; SDef - db "DAGUTORIO@@" - - db ELECTRODE - db MIRACLEBERRY - db THUNDERBOLT, EXPLOSION, MIRROR_COAT, REST - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 54000 - bigdw 40000 - bigdw 50000 - dn 7, 13, 15, 14 ; DVs - db 15, 5, 20, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 161 ; HP - bigdw 161 ; Max HP - bigdw 88 ; Atk - bigdw 117 ; Def - bigdw 185 ; Spd - bigdw 126 ; SAtk - bigdw 126 ; SDef - db "MARUMAIN@@@" - - db AERODACTYL - db KINGS_ROCK - db HYPER_BEAM, EARTHQUAKE, FIRE_BLAST, IRON_TAIL - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - dn 15, 13, 13, 13 ; DVs - db 5, 10, 5, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 181 ; HP - bigdw 181 ; Max HP - bigdw 152 ; Atk - bigdw 110 ; Def - bigdw 174 ; Spd - bigdw 104 ; SAtk - bigdw 119 ; SDef - db "PUTERA@@@@@" - - db CROBAT - db LEFTOVERS - db CONFUSE_RAY, ATTRACT, HYPER_BEAM, TOXIC - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 40000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - dn 14, 15, 15, 15 ; DVs - db 10, 15, 5, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 178 ; HP - bigdw 178 ; Max HP - bigdw 134 ; Atk - bigdw 127 ; Def - bigdw 175 ; Spd - bigdw 117 ; SAtk - bigdw 127 ; SDef - db "KUROBAtuTO@" - - db ZAPDOS - db MIRACLEBERRY - db DRILL_PECK, THUNDERBOLT, THUNDER_WAVE, HYPER_BEAM - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 40000 - bigdw 50000 - dn 15, 13, 13, 14 ; DVs - db 20, 15, 20, 5 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 190 ; HP - bigdw 190 ; Max HP - bigdw 137 ; Atk - bigdw 129 ; Def - bigdw 143 ; Spd - bigdw 171 ; SAtk - bigdw 136 ; SDef - db "SANDA-@@@@@" - - db SKARMORY - db GOLD_BERRY - db SANDSTORM, FLY, STEEL_WING, TOXIC - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 40000 - dn 13, 7, 14, 13 ; DVs - db 10, 15, 25, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 164 ; HP - bigdw 164 ; Max HP - bigdw 125 ; Atk - bigdw 179 ; Def - bigdw 116 ; Spd - bigdw 83 ; SAtk - bigdw 113 ; SDef - db "EA-MUDO@@@@" - - db FORRETRESS - db LEFTOVERS - db SANDSTORM, TOXIC, EXPLOSION, SWAGGER - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 45000 - bigdw 40000 - dn 12, 15, 13, 13 ; DVs - db 10, 10, 5, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 169 ; HP - bigdw 169 ; Max HP - bigdw 134 ; Atk - bigdw 189 ; Def - bigdw 84 ; Spd - bigdw 103 ; SAtk - bigdw 103 ; SDef - db "HUoRETOSU@@" - - db STEELIX - db MIRACLEBERRY - db SANDSTORM, IRON_TAIL, REST, EARTHQUAKE - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 40000 - bigdw 45000 - dn 13, 13, 13, 13 ; DVs - db 10, 15, 10, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 176 ; HP - bigdw 176 ; Max HP - bigdw 130 ; Atk - bigdw 245 ; Def - bigdw 73 ; Spd - bigdw 99 ; SAtk - bigdw 109 ; SDef - db "HAGANE-RU@@" - - db GIRAFARIG - db SCOPE_LENS - db DREAM_EATER, CRUNCH, PSYCHIC_M, EARTHQUAKE - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - dn 4, 5, 5, 6 ; DVs - db 15, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 161 ; HP - bigdw 161 ; Max HP - bigdw 114 ; Atk - bigdw 100 ; Def - bigdw 120 ; Spd - bigdw 126 ; SAtk - bigdw 101 ; SDef - db "KIRINRIKI@@" - - db GYARADOS - db MIRACLEBERRY - db HYPER_BEAM, SURF, RAIN_DANCE, ZAP_CANNON - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - dn 7, 5, 6, 5 ; DVs - db 5, 15, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 193 ; HP - bigdw 193 ; Max HP - bigdw 162 ; Atk - bigdw 114 ; Def - bigdw 117 ; Spd - bigdw 95 ; SAtk - bigdw 135 ; SDef - db "GIyaRADOSU@" - - db ARTICUNO - db GOLD_BERRY - db BLIZZARD, HYPER_BEAM, ROAR, ICY_WIND - dw 0 ; OT ID - dt 125000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - bigdw 40000 - dn 4, 5, 5, 6 ; DVs - db 5, 5, 20, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 50 ; Level - db 0, 0 ; Status - bigdw 181 ; HP - bigdw 181 ; Max HP - bigdw 119 ; Atk - bigdw 135 ; Def - bigdw 120 ; Spd - bigdw 131 ; SAtk - bigdw 161 ; SDef - db "HURI-ZA-@@@" - - -; BattleTowerMons group 6 - - db KINGDRA - db LEFTOVERS - db DRAGONBREATH, SURF, HYPER_BEAM, BLIZZARD - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 55000 - bigdw 50000 - bigdw 60000 - bigdw 60000 - dn 13, 13, 15, 14 ; DVs - db 20, 15, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 211 ; HP - bigdw 211 ; Max HP - bigdw 169 ; Atk - bigdw 167 ; Def - bigdw 161 ; Spd - bigdw 172 ; SAtk - bigdw 172 ; SDef - db "KINGUDORA@@" - - db TYRANITAR - db GOLD_BERRY - db CRUNCH, EARTHQUAKE, ROCK_SLIDE, HYPER_BEAM - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 60000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - dn 15, 13, 14, 13 ; DVs - db 15, 10, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 240 ; HP - bigdw 240 ; Max HP - bigdw 220 ; Atk - bigdw 187 ; Def - bigdw 131 ; Spd - bigdw 169 ; SAtk - bigdw 175 ; SDef - db "BANGIRASU@@" - - db HOUNDOOM - db MIRACLEBERRY - db FLAMETHROWER, CRUNCH, DREAM_EATER, REST - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 55000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - dn 15, 11, 14, 15 ; DVs - db 15, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 212 ; HP - bigdw 212 ; Max HP - bigdw 165 ; Atk - bigdw 113 ; Def - bigdw 172 ; Spd - bigdw 189 ; SAtk - bigdw 153 ; SDef - db "HERUGA-@@@@" - - db PORYGON2 - db LEFTOVERS - db BLIZZARD, RECOVER, TOXIC, PSYCHIC_M - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - dn 13, 13, 13, 14 ; DVs - db 5, 20, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 223 ; HP - bigdw 223 ; Max HP - bigdw 149 ; Atk - bigdw 161 ; Def - bigdw 125 ; Spd - bigdw 182 ; SAtk - bigdw 170 ; SDef - db "PORIGON2@@@" - - db MACHAMP - db QUICK_CLAW - db FIRE_PUNCH, CROSS_CHOP, THUNDERPUNCH, EARTHQUAKE - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 14, 15 ; DVs - db 15, 5, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 226 ; HP - bigdw 226 ; Max HP - bigdw 212 ; Atk - bigdw 148 ; Def - bigdw 120 ; Spd - bigdw 134 ; SAtk - bigdw 158 ; SDef - db "KAIRIKI-@@@" - - db ZAPDOS - db MINT_BERRY - db REST, DRILL_PECK, THUNDERBOLT, THUNDER_WAVE - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 15, 13 ; DVs - db 10, 20, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 229 ; HP - bigdw 229 ; Max HP - bigdw 160 ; Atk - bigdw 155 ; Def - bigdw 177 ; Spd - bigdw 203 ; SAtk - bigdw 161 ; SDef - db "SANDA-@@@@@" - - db WOBBUFFET - db GOLD_BERRY - db COUNTER, MIRROR_COAT, DESTINY_BOND, SAFEGUARD - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 45000 - dn 15, 13, 14, 13 ; DVs - db 20, 20, 5, 25 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 346 ; HP - bigdw 346 ; Max HP - bigdw 95 ; Atk - bigdw 122 ; Def - bigdw 94 ; Spd - bigdw 92 ; SAtk - bigdw 122 ; SDef - db "SO-NANSU@@@" - - db AERODACTYL - db LEFTOVERS - db HYPER_BEAM, SUPERSONIC, EARTHQUAKE, BITE - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - dn 15, 13, 13, 13 ; DVs - db 5, 20, 10, 25 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 215 ; HP - bigdw 215 ; Max HP - bigdw 182 ; Atk - bigdw 131 ; Def - bigdw 208 ; Spd - bigdw 124 ; SAtk - bigdw 142 ; SDef - db "PUTERA@@@@@" - - db DRAGONITE - db MIRACLEBERRY - db HYPER_BEAM, ICY_WIND, THUNDERBOLT, SURF - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - dn 13, 13, 15, 13 ; DVs - db 5, 15, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 229 ; HP - bigdw 229 ; Max HP - bigdw 214 ; Atk - bigdw 164 ; Def - bigdw 152 ; Spd - bigdw 172 ; SAtk - bigdw 172 ; SDef - db "KAIRIyu-@@@" - - db UMBREON - db GOLD_BERRY - db MUD_SLAP, MOONLIGHT, PSYCHIC_M, FAINT_ATTACK - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 14, 15 ; DVs - db 10, 5, 10, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 232 ; HP - bigdw 232 ; Max HP - bigdw 134 ; Atk - bigdw 185 ; Def - bigdw 132 ; Spd - bigdw 128 ; SAtk - bigdw 212 ; SDef - db "BURAtuKI-@@" - - db ARCANINE - db CHARCOAL - db FLAMETHROWER, CRUNCH, EXTREMESPEED, IRON_TAIL - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 40000 - bigdw 55000 - bigdw 50000 - dn 15, 13, 14, 13 ; DVs - db 15, 15, 5, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 228 ; HP - bigdw 228 ; Max HP - bigdw 188 ; Atk - bigdw 146 ; Def - bigdw 170 ; Spd - bigdw 173 ; SAtk - bigdw 149 ; SDef - db "UINDEi@@@@@" - - db SKARMORY - db MIRACLEBERRY - db STEEL_WING, FLY, TOXIC, PROTECT - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 15, 11, 14, 11 ; DVs - db 25, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 196 ; HP - bigdw 196 ; Max HP - bigdw 152 ; Atk - bigdw 218 ; Def - bigdw 138 ; Spd - bigdw 99 ; SAtk - bigdw 135 ; SDef - db "EA-MUDO@@@@" - - db BLISSEY - db LEFTOVERS - db SOFTBOILED, TOXIC, PROTECT, PSYCHIC_M - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - dn 15, 11, 12, 13 ; DVs - db 10, 10, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 424 ; HP - bigdw 424 ; Max HP - bigdw 66 ; Atk - bigdw 63 ; Def - bigdw 117 ; Spd - bigdw 143 ; SAtk - bigdw 215 ; SDef - db "HAPINASU@@@" - - db SNORLAX - db PINK_BOW - db ROCK_SLIDE, SURF, BODY_SLAM, EARTHQUAKE - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 10, 15, 12 ; DVs - db 10, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 307 ; HP - bigdw 307 ; Max HP - bigdw 186 ; Atk - bigdw 128 ; Def - bigdw 92 ; Spd - bigdw 130 ; SAtk - bigdw 184 ; SDef - db "KABIGON@@@@" - - db HERACROSS - db FOCUS_BAND - db REVERSAL, MEGAHORN, EARTHQUAKE, COUNTER - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 13, 15, 14, 13 ; DVs - db 15, 10, 10, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 214 ; HP - bigdw 214 ; Max HP - bigdw 200 ; Atk - bigdw 146 ; Def - bigdw 156 ; Spd - bigdw 101 ; SAtk - bigdw 167 ; SDef - db "HERAKUROSU@" - - db JYNX - db MIRACLEBERRY - db BLIZZARD, PSYCHIC_M, SHADOW_BALL, ICY_WIND - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 15, 14, 11 ; DVs - db 5, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 196 ; HP - bigdw 196 ; Max HP - bigdw 116 ; Atk - bigdw 98 ; Def - bigdw 168 ; Spd - bigdw 189 ; SAtk - bigdw 165 ; SDef - db "RU-ZIyuRA@@" - - db BLASTOISE - db GOLD_BERRY - db SURF, EARTHQUAKE, RAPID_SPIN, BLIZZARD - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 14 ; DVs - db 15, 10, 40, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 209 ; HP - bigdw 209 ; Max HP - bigdw 155 ; Atk - bigdw 174 ; Def - bigdw 149 ; Spd - bigdw 156 ; SAtk - bigdw 180 ; SDef - db "KAMEtuKUSU@" - - db RHYDON - db QUICK_CLAW - db EARTHQUAKE, SURF, IRON_TAIL, ROCK_SLIDE - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 11, 15, 10 ; DVs - db 10, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 245 ; HP - bigdw 245 ; Max HP - bigdw 212 ; Atk - bigdw 195 ; Def - bigdw 104 ; Spd - bigdw 104 ; SAtk - bigdw 104 ; SDef - db "SAIDON@@@@@" - - db SANDSLASH - db SCOPE_LENS - db EARTHQUAKE, SLASH, HYPER_BEAM, SNORE - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 11, 7, 6, 7 ; DVs - db 10, 20, 5, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 201 ; HP - bigdw 201 ; Max HP - bigdw 164 ; Atk - bigdw 171 ; Def - bigdw 116 ; Spd - bigdw 93 ; SAtk - bigdw 105 ; SDef - db "SANDOPAN@@@" - - db PARASECT - db GOLD_BERRY - db SPORE, GIGA_DRAIN, HYPER_BEAM, SLUDGE_BOMB - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 6, 5, 15 ; DVs - db 15, 5, 5, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 171 ; HP - bigdw 171 ; Max HP - bigdw 152 ; Atk - bigdw 134 ; Def - bigdw 72 ; Spd - bigdw 120 ; SAtk - bigdw 144 ; SDef - db "PARASEKUTO@" - - db GOLEM - db BRIGHTPOWDER - db EXPLOSION, EARTHQUAKE, FIRE_PUNCH, FRUSTRATION - dw 0 ; OT ID - dt 216000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 6, 5, 7 ; DVs - db 5, 10, 15, 20 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 60 ; Level - db 0, 0 ; Status - bigdw 205 ; HP - bigdw 205 ; Max HP - bigdw 171 ; Atk - bigdw 194 ; Def - bigdw 90 ; Spd - bigdw 105 ; SAtk - bigdw 117 ; SDef - db "GORO-NIya@@" - - -; BattleTowerMons group 7 - - db JOLTEON - db MIRACLEBERRY - db THUNDERBOLT, HYPER_BEAM, SHADOW_BALL, ROAR - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 56000 - bigdw 55000 - bigdw 50000 - bigdw 60000 - dn 15, 11, 14, 15 ; DVs - db 15, 5, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 231 ; HP - bigdw 231 ; Max HP - bigdw 158 ; Atk - bigdw 145 ; Def - bigdw 245 ; Spd - bigdw 222 ; SAtk - bigdw 201 ; SDef - db "SANDA-SU@@@" - - db VAPOREON - db LEFTOVERS - db BLIZZARD, SHADOW_BALL, SURF, MUD_SLAP - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 60000 - bigdw 60000 - bigdw 50000 - dn 11, 15, 14, 15 ; DVs - db 5, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 318 ; HP - bigdw 318 ; Max HP - bigdw 149 ; Atk - bigdw 152 ; Def - bigdw 158 ; Spd - bigdw 218 ; SAtk - bigdw 197 ; SDef - db "SIyaWA-ZU@@" - - db UMBREON - db GOLD_BERRY - db FAINT_ATTACK, MOONLIGHT, PSYCH_UP, TOXIC - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 54000 - bigdw 60000 - bigdw 55000 - bigdw 50000 - bigdw 58000 - dn 13, 13, 13, 13 ; DVs - db 20, 5, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 274 ; HP - bigdw 274 ; Max HP - bigdw 156 ; Atk - bigdw 217 ; Def - bigdw 152 ; Spd - bigdw 149 ; SAtk - bigdw 247 ; SDef - db "BURAtuKI-@@" - - db BLISSEY - db GOLD_BERRY - db COUNTER, SOFTBOILED, SHADOW_BALL, THUNDERBOLT - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 55000 - bigdw 55000 - bigdw 58000 - bigdw 50000 - dn 13, 15, 14, 13 ; DVs - db 20, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 495 ; HP - bigdw 495 ; Max HP - bigdw 77 ; Atk - bigdw 80 ; Def - bigdw 143 ; Spd - bigdw 166 ; SAtk - bigdw 250 ; SDef - db "HAPINASU@@@" - - db SNORLAX - db LEFTOVERS - db ROCK_SLIDE, EARTHQUAKE, BLIZZARD, SHADOW_BALL - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 13, 13 ; DVs - db 10, 10, 5, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 365 ; HP - bigdw 365 ; Max HP - bigdw 217 ; Atk - bigdw 156 ; Def - bigdw 105 ; Spd - bigdw 152 ; SAtk - bigdw 215 ; SDef - db "KABIGON@@@@" - - db HOUNDOOM - db KINGS_ROCK - db CRUNCH, FLAMETHROWER, FAINT_ATTACK, ROAR - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 58000 - bigdw 50000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - dn 13, 13, 12, 13 ; DVs - db 15, 15, 20, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 245 ; HP - bigdw 245 ; Max HP - bigdw 187 ; Atk - bigdw 133 ; Def - bigdw 197 ; Spd - bigdw 217 ; SAtk - bigdw 175 ; SDef - db "HERUGA-@@@@" - - db TYRANITAR - db LEFTOVERS - db EARTHQUAKE, CRUNCH, ROCK_SLIDE, HYPER_BEAM - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 45000 - bigdw 50000 - bigdw 45000 - dn 13, 11, 13, 15 ; DVs - db 10, 15, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 279 ; HP - bigdw 279 ; Max HP - bigdw 247 ; Atk - bigdw 211 ; Def - bigdw 147 ; Spd - bigdw 196 ; SAtk - bigdw 203 ; SDef - db "BANGIRASU@@" - - db ZAPDOS - db GOLD_BERRY - db THUNDERBOLT, DRILL_PECK, THUNDER_WAVE, HYPER_BEAM - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - dn 13, 11, 13, 15 ; DVs - db 15, 20, 20, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 264 ; HP - bigdw 264 ; Max HP - bigdw 187 ; Atk - bigdw 177 ; Def - bigdw 200 ; Spd - bigdw 238 ; SAtk - bigdw 189 ; SDef - db "SANDA-@@@@@" - - db EXEGGUTOR - db MIRACLEBERRY - db REST, EXPLOSION, PSYCHIC_M, GIGA_DRAIN - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 45000 - dn 13, 13, 14, 13 ; DVs - db 10, 5, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 268 ; HP - bigdw 268 ; Max HP - bigdw 194 ; Atk - bigdw 177 ; Def - bigdw 140 ; Spd - bigdw 235 ; SAtk - bigdw 151 ; SDef - db "NAtuSI-@@@@" - - db UMBREON - db GOLD_BERRY - db MOONLIGHT, FAINT_ATTACK, PSYCHIC_M, SHADOW_BALL - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - bigdw 50000 - dn 15, 13, 14, 11 ; DVs - db 5, 20, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 269 ; HP - bigdw 269 ; Max HP - bigdw 155 ; Atk - bigdw 214 ; Def - bigdw 152 ; Spd - bigdw 142 ; SAtk - bigdw 240 ; SDef - db "BURAtuKI-@@" - - db GYARADOS - db BRIGHTPOWDER - db SURF, THUNDERBOLT, HYPER_BEAM, ROAR - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 11, 14, 15 ; DVs - db 15, 15, 5, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 271 ; HP - bigdw 271 ; Max HP - bigdw 235 ; Atk - bigdw 169 ; Def - bigdw 178 ; Spd - bigdw 148 ; SAtk - bigdw 204 ; SDef - db "GIyaRADOSU@" - - db QUAGSIRE - db MIRACLEBERRY - db EARTHQUAKE, SURF, SLUDGE_BOMB, IRON_TAIL - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 13, 14, 13, 13 ; DVs - db 10, 15, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 266 ; HP - bigdw 266 ; Max HP - bigdw 180 ; Atk - bigdw 180 ; Def - bigdw 110 ; Spd - bigdw 152 ; SAtk - bigdw 152 ; SDef - db "NUO-@@@@@@@" - - db URSARING - db SCOPE_LENS - db SLASH, EARTHQUAKE, HYPER_BEAM, THUNDERPUNCH - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - dn 15, 13, 14, 13 ; DVs - db 20, 10, 5, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 262 ; HP - bigdw 262 ; Max HP - bigdw 245 ; Atk - bigdw 166 ; Def - bigdw 138 ; Spd - bigdw 166 ; SAtk - bigdw 166 ; SDef - db "RINGUMA@@@@" - - db MR__MIME - db KINGS_ROCK - db REFLECT, FIRE_PUNCH, PSYCHIC_M, ENCORE - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 11, 13, 15, 11 ; DVs - db 20, 15, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 195 ; HP - bigdw 195 ; Max HP - bigdw 120 ; Atk - bigdw 151 ; Def - bigdw 190 ; Spd - bigdw 198 ; SAtk - bigdw 226 ; SDef - db "BARIYA-DO@@" - - db PRIMEAPE - db QUICK_CLAW - db CROSS_CHOP, ICE_PUNCH, THUNDERPUNCH, ROCK_SLIDE - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 11, 13, 14, 15 ; DVs - db 5, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 227 ; HP - bigdw 227 ; Max HP - bigdw 202 ; Atk - bigdw 145 ; Def - bigdw 196 ; Spd - bigdw 148 ; SAtk - bigdw 162 ; SDef - db "OKORIZARU@@" - - db GIRAFARIG - db GOLD_BERRY - db AGILITY, BATON_PASS, CRUNCH, EARTHQUAKE - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 13 ; DVs - db 30, 40, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 231 ; HP - bigdw 231 ; Max HP - bigdw 176 ; Atk - bigdw 154 ; Def - bigdw 183 ; Spd - bigdw 187 ; SAtk - bigdw 152 ; SDef - db "KIRINRIKI@@" - - db HITMONLEE - db FOCUS_BAND - db REVERSAL, ENDURE, BODY_SLAM, MEGA_KICK - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 14 ; DVs - db 15, 10, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 202 ; HP - bigdw 202 ; Max HP - bigdw 232 ; Atk - bigdw 137 ; Def - bigdw 186 ; Spd - bigdw 112 ; SAtk - bigdw 217 ; SDef - db "SAWAMURA-@@" - - db HERACROSS - db BRIGHTPOWDER - db REVERSAL, ENDURE, MEGAHORN, EARTHQUAKE - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 7, 15, 7 ; DVs - db 15, 10, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 251 ; HP - bigdw 251 ; Max HP - bigdw 239 ; Atk - bigdw 158 ; Def - bigdw 183 ; Spd - bigdw 109 ; SAtk - bigdw 186 ; SDef - db "HERAKUROSU@" - - db VENUSAUR - db BRIGHTPOWDER - db SUNNY_DAY, SOLARBEAM, SYNTHESIS, HYPER_BEAM - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 6, 4, 4 ; DVs - db 5, 10, 5, 5 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 233 ; HP - bigdw 233 ; Max HP - bigdw 159 ; Atk - bigdw 159 ; Def - bigdw 152 ; Spd - bigdw 180 ; SAtk - bigdw 180 ; SDef - db "HUSIGIBANA@" - - db CHARIZARD - db SCOPE_LENS - db SLASH, EARTHQUAKE, HYPER_BEAM, FLAMETHROWER - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 5, 6, 4, 4 ; DVs - db 20, 10, 5, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 230 ; HP - bigdw 230 ; Max HP - bigdw 159 ; Atk - bigdw 152 ; Def - bigdw 180 ; Spd - bigdw 193 ; SAtk - bigdw 159 ; SDef - db "RIZA-DON@@@" - - db BLASTOISE - db QUICK_CLAW - db HYDRO_PUMP, ICE_PUNCH, HYPER_BEAM, IRON_TAIL - dw 0 ; OT ID - dt 343000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 6, 6, 4 ; DVs - db 5, 15, 5, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 70 ; Level - db 0, 0 ; Status - bigdw 231 ; HP - bigdw 231 ; Max HP - bigdw 161 ; Atk - bigdw 183 ; Def - bigdw 152 ; Spd - bigdw 159 ; SAtk - bigdw 187 ; SDef - db "KAMEtuKUSU@" - - -; BattleTowerMons group 8 - - db JOLTEON - db MIRACLEBERRY - db THUNDER_WAVE, THUNDERBOLT, IRON_TAIL, ROAR - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - bigdw 55000 - dn 15, 13, 14, 11 ; DVs - db 20, 15, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 263 ; HP - bigdw 263 ; Max HP - bigdw 179 ; Atk - bigdw 170 ; Def - bigdw 281 ; Spd - bigdw 245 ; SAtk - bigdw 221 ; SDef - db "SANDA-SU@@@" - - db SNORLAX - db LEFTOVERS - db REST, BELLY_DRUM, SNORE, EARTHQUAKE - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 55000 - bigdw 50000 - bigdw 55500 - bigdw 60000 - dn 13, 11, 14, 13 ; DVs - db 10, 10, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 415 ; HP - bigdw 415 ; Max HP - bigdw 248 ; Atk - bigdw 170 ; Def - bigdw 121 ; Spd - bigdw 178 ; SAtk - bigdw 250 ; SDef - db "KABIGON@@@@" - - db HOUNDOOM - db MINT_BERRY - db REST, CRUNCH, FLAMETHROWER, SUNNY_DAY - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 55000 - bigdw 55000 - bigdw 55000 - dn 15, 13, 13, 11 ; DVs - db 10, 15, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 280 ; HP - bigdw 280 ; Max HP - bigdw 217 ; Atk - bigdw 152 ; Def - bigdw 224 ; Spd - bigdw 245 ; SAtk - bigdw 197 ; SDef - db "HERUGA-@@@@" - - db TAUROS - db GOLD_BERRY - db EARTHQUAKE, BODY_SLAM, IRON_TAIL, HYPER_BEAM - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 50000 - dn 15, 13, 13, 14 ; DVs - db 10, 15, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 276 ; HP - bigdw 276 ; Max HP - bigdw 233 ; Atk - bigdw 221 ; Def - bigdw 236 ; Spd - bigdw 135 ; SAtk - bigdw 183 ; SDef - db "KENTAROSU@@" - - db LAPRAS - db MINT_BERRY - db REST, SURF, CONFUSE_RAY, PSYCHIC_M - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 15, 13, 11 ; DVs - db 10, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 366 ; HP - bigdw 366 ; Max HP - bigdw 205 ; Atk - bigdw 201 ; Def - bigdw 168 ; Spd - bigdw 202 ; SAtk - bigdw 218 ; SDef - db "RAPURASU@@@" - - db TYRANITAR - db MIRACLEBERRY - db REST, CRUNCH, EARTHQUAKE, ROCK_SLIDE - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 55000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 15, 13, 11 ; DVs - db 10, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 318 ; HP - bigdw 318 ; Max HP - bigdw 286 ; Atk - bigdw 249 ; Def - bigdw 169 ; Spd - bigdw 218 ; SAtk - bigdw 226 ; SDef - db "BANGIRASU@@" - - db GENGAR - db NO_ITEM - db THUNDERBOLT, SHADOW_BALL, CONFUSE_RAY, THIEF - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 55000 - bigdw 50000 - dn 13, 14, 13, 13 ; DVs - db 15, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 247 ; HP - bigdw 247 ; Max HP - bigdw 173 ; Atk - bigdw 165 ; Def - bigdw 248 ; Spd - bigdw 277 ; SAtk - bigdw 189 ; SDef - db "GENGA-@@@@@" - - db FORRETRESS - db LEFTOVERS - db EXPLOSION, TOXIC, SOLARBEAM, SWAGGER - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - dn 15, 13, 14, 13 ; DVs - db 5, 10, 10, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 273 ; HP - bigdw 273 ; Max HP - bigdw 217 ; Atk - bigdw 293 ; Def - bigdw 133 ; Spd - bigdw 165 ; SAtk - bigdw 165 ; SDef - db "HUoRETOSU@@" - - db KINGDRA - db MINT_BERRY - db REST, SURF, BLIZZARD, DRAGONBREATH - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 40000 - bigdw 55000 - bigdw 50000 - dn 15, 11, 14, 13 ; DVs - db 10, 15, 5, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 273 ; HP - bigdw 273 ; Max HP - bigdw 225 ; Atk - bigdw 214 ; Def - bigdw 209 ; Spd - bigdw 221 ; SAtk - bigdw 221 ; SDef - db "KINGUDORA@@" - - db DRAGONITE - db GOLD_BERRY - db THUNDER_WAVE, SURF, THUNDERBOLT, OUTRAGE - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - dn 13, 13, 13, 13 ; DVs - db 20, 15, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 303 ; HP - bigdw 303 ; Max HP - bigdw 284 ; Atk - bigdw 221 ; Def - bigdw 197 ; Spd - bigdw 228 ; SAtk - bigdw 228 ; SDef - db "KAIRIyu-@@@" - - db PORYGON2 - db LEFTOVERS - db PSYCHIC_M, RECOVER, HYPER_BEAM, TRI_ATTACK - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 40000 - bigdw 55000 - bigdw 50000 - dn 13, 15, 14, 13 ; DVs - db 10, 20, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 293 ; HP - bigdw 293 ; Max HP - bigdw 197 ; Atk - bigdw 213 ; Def - bigdw 169 ; Spd - bigdw 237 ; SAtk - bigdw 221 ; SDef - db "PORIGON2@@@" - - db JYNX - db QUICK_CLAW - db LOVELY_KISS, BLIZZARD, DREAM_EATER, PSYCHIC_M - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - dn 13, 15, 13, 15 ; DVs - db 10, 5, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 264 ; HP - bigdw 264 ; Max HP - bigdw 149 ; Atk - bigdw 127 ; Def - bigdw 221 ; Spd - bigdw 257 ; SAtk - bigdw 225 ; SDef - db "RU-ZIyuRA@@" - - db MANTINE - db GOLD_BERRY - db SURF, CONFUSE_RAY, BLIZZARD, WING_ATTACK - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 40000 - bigdw 45000 - bigdw 40000 - bigdw 45000 - bigdw 50000 - dn 13, 15, 13, 12 ; DVs - db 15, 10, 5, 35 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 256 ; HP - bigdw 256 ; Max HP - bigdw 132 ; Atk - bigdw 181 ; Def - bigdw 180 ; Spd - bigdw 196 ; SAtk - bigdw 292 ; SDef - db "MANTAIN@@@@" - - db SKARMORY - db QUICK_CLAW - db STEEL_WING, FLY, MUD_SLAP, TOXIC - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 35000 - bigdw 50000 - bigdw 50000 - dn 13, 13, 14, 15 ; DVs - db 25, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 258 ; HP - bigdw 258 ; Max HP - bigdw 196 ; Atk - bigdw 286 ; Def - bigdw 183 ; Spd - bigdw 137 ; SAtk - bigdw 185 ; SDef - db "EA-MUDO@@@@" - - db MOLTRES - db CHARCOAL - db FLAMETHROWER, SKY_ATTACK, STEEL_WING, HYPER_BEAM - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - dn 13, 13, 15, 14 ; DVs - db 15, 5, 25, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 300 ; HP - bigdw 300 ; Max HP - bigdw 225 ; Atk - bigdw 213 ; Def - bigdw 213 ; Spd - bigdw 271 ; SAtk - bigdw 207 ; SDef - db "HUaIYA-@@@@" - - db AERODACTYL - db MIRACLEBERRY - db HYPER_BEAM, REST, EARTHQUAKE, ROAR - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - dn 15, 15, 14, 13 ; DVs - db 5, 10, 10, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 282 ; HP - bigdw 282 ; Max HP - bigdw 237 ; Atk - bigdw 177 ; Def - bigdw 275 ; Spd - bigdw 165 ; SAtk - bigdw 189 ; SDef - db "PUTERA@@@@@" - - db ELECTRODE - db KINGS_ROCK - db THUNDERBOLT, EXPLOSION, MIRROR_COAT, TOXIC - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 40000 - bigdw 40000 - bigdw 50000 - dn 15, 15, 14, 15 ; DVs - db 15, 5, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 250 ; HP - bigdw 250 ; Max HP - bigdw 153 ; Atk - bigdw 181 ; Def - bigdw 291 ; Spd - bigdw 201 ; SAtk - bigdw 201 ; SDef - db "MARUMAIN@@@" - - db DUGTRIO - db SCOPE_LENS - db SLASH, EARTHQUAKE, THIEF, MUD_SLAP - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 40000 - dn 15, 13, 13, 13 ; DVs - db 20, 10, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 214 ; HP - bigdw 214 ; Max HP - bigdw 201 ; Atk - bigdw 145 ; Def - bigdw 261 ; Spd - bigdw 145 ; SAtk - bigdw 177 ; SDef - db "DAGUTORIO@@" - - db VICTREEBEL - db QUICK_CLAW - db GIGA_DRAIN, SLUDGE_BOMB, HYPER_BEAM, TOXIC - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 5, 6, 5 ; DVs - db 5, 10, 5, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 260 ; HP - bigdw 260 ; Max HP - bigdw 217 ; Atk - bigdw 151 ; Def - bigdw 161 ; Spd - bigdw 207 ; SAtk - bigdw 143 ; SDef - db "UTUBOtuTO@@" - - db PINSIR - db GOLD_BERRY - db HYPER_BEAM, SUBMISSION, STRENGTH, TOXIC - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 4, 6, 4 ; DVs - db 5, 25, 15, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 241 ; HP - bigdw 241 ; Max HP - bigdw 250 ; Atk - bigdw 205 ; Def - bigdw 185 ; Spd - bigdw 133 ; SAtk - bigdw 157 ; SDef - db "KAIROSU@@@@" - - db GRANBULL - db BRIGHTPOWDER - db ROAR, SHADOW_BALL, HYPER_BEAM, THUNDERPUNCH - dw 0 ; OT ID - dt 512000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 6, 5, 7 ; DVs - db 20, 15, 5, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 80 ; Level - db 0, 0 ; Status - bigdw 286 ; HP - bigdw 286 ; Max HP - bigdw 242 ; Atk - bigdw 169 ; Def - bigdw 119 ; Spd - bigdw 146 ; SAtk - bigdw 146 ; SDef - db "GURANBURU@@" - - -; BattleTowerMons group 9 - - db UMBREON - db KINGS_ROCK - db FAINT_ATTACK, MUD_SLAP, MOONLIGHT, CONFUSE_RAY - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 60000 - bigdw 55000 - bigdw 60000 - bigdw 55000 - dn 15, 13, 14, 13 ; DVs - db 20, 10, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 349 ; HP - bigdw 349 ; Max HP - bigdw 203 ; Atk - bigdw 278 ; Def - bigdw 202 ; Spd - bigdw 188 ; SAtk - bigdw 314 ; SDef - db "BURAtuKI-@@" - - db DRAGONITE - db QUICK_CLAW - db FIRE_BLAST, HYPER_BEAM, OUTRAGE, BLIZZARD - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 65000 - bigdw 50000 - bigdw 56000 - bigdw 60000 - bigdw 60000 - dn 15, 13, 14, 13 ; DVs - db 5, 5, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 343 ; HP - bigdw 343 ; Max HP - bigdw 322 ; Atk - bigdw 252 ; Def - bigdw 229 ; Spd - bigdw 263 ; SAtk - bigdw 263 ; SDef - db "KAIRIyu-@@@" - - db STARMIE - db LEFTOVERS - db RECOVER, THUNDERBOLT, SURF, PSYCHIC_M - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 55000 - bigdw 60000 - dn 13, 15, 13, 13 ; DVs - db 20, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 289 ; HP - bigdw 289 ; Max HP - bigdw 218 ; Atk - bigdw 239 ; Def - bigdw 287 ; Spd - bigdw 263 ; SAtk - bigdw 236 ; SDef - db "SUTA-MI-@@@" - - db CLOYSTER - db LEFTOVERS - db EXPLOSION, BLIZZARD, SURF, ICY_WIND - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 13, 11, 13, 15 ; DVs - db 5, 5, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 266 ; HP - bigdw 266 ; Max HP - bigdw 248 ; Atk - bigdw 398 ; Def - bigdw 203 ; Spd - bigdw 234 ; SAtk - bigdw 162 ; SDef - db "PARUSIeN@@@" - - db CROBAT - db GOLD_BERRY - db WING_ATTACK, HAZE, HYPER_BEAM, GIGA_DRAIN - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 12, 15 ; DVs - db 35, 30, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 325 ; HP - bigdw 325 ; Max HP - bigdw 243 ; Atk - bigdw 221 ; Def - bigdw 310 ; Spd - bigdw 207 ; SAtk - bigdw 225 ; SDef - db "KUROBAtuTO@" - - db PORYGON2 - db QUICK_CLAW - db TOXIC, PSYCHIC_M, RECOVER, PROTECT - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 15, 13, 14, 13 ; DVs - db 10, 10, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 325 ; HP - bigdw 325 ; Max HP - bigdw 223 ; Atk - bigdw 239 ; Def - bigdw 190 ; Spd - bigdw 266 ; SAtk - bigdw 248 ; SDef - db "PORIGON2@@@" - - db KINGDRA - db LEFTOVERS - db DRAGONBREATH, SURF, HYPER_BEAM, BLIZZARD - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - bigdw 45000 - dn 13, 15, 13, 14 ; DVs - db 20, 15, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 309 ; HP - bigdw 309 ; Max HP - bigdw 248 ; Atk - bigdw 255 ; Def - bigdw 230 ; Spd - bigdw 248 ; SAtk - bigdw 248 ; SDef - db "KINGUDORA@@" - - db TYRANITAR - db QUICK_CLAW - db HYPER_BEAM, CRUNCH, EARTHQUAKE, ROCK_SLIDE - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 55000 - bigdw 50000 - bigdw 45000 - bigdw 50000 - dn 13, 15, 13, 14 ; DVs - db 5, 15, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 354 ; HP - bigdw 354 ; Max HP - bigdw 321 ; Atk - bigdw 279 ; Def - bigdw 185 ; Spd - bigdw 250 ; SAtk - bigdw 259 ; SDef - db "BANGIRASU@@" - - db LAPRAS - db MINT_BERRY - db REST, SURF, THUNDERBOLT, PSYCHIC_M - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - dn 11, 13, 14, 15 ; DVs - db 10, 15, 15, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 405 ; HP - bigdw 405 ; Max HP - bigdw 227 ; Atk - bigdw 221 ; Def - bigdw 187 ; Spd - bigdw 237 ; SAtk - bigdw 255 ; SDef - db "RAPURASU@@@" - - db ESPEON - db GOLD_BERRY - db PSYCHIC_M, SHADOW_BALL, SUNNY_DAY, MORNING_SUN - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 15, 14 ; DVs - db 10, 15, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 294 ; HP - bigdw 294 ; Max HP - bigdw 194 ; Atk - bigdw 185 ; Def - bigdw 282 ; Spd - bigdw 313 ; SAtk - bigdw 250 ; SDef - db "E-HUi@@@@@@" - - db MACHAMP - db QUICK_CLAW - db CROSS_CHOP, VITAL_THROW, FIRE_BLAST, EARTHQUAKE - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 55000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 14, 13 ; DVs - db 5, 10, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 337 ; HP - bigdw 337 ; Max HP - bigdw 314 ; Atk - bigdw 221 ; Def - bigdw 181 ; Spd - bigdw 194 ; SAtk - bigdw 230 ; SDef - db "KAIRIKI-@@@" - - db SNORLAX - db MIRACLEBERRY - db FIRE_BLAST, SURF, EARTHQUAKE, HYPER_BEAM - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 13 ; DVs - db 5, 15, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 455 ; HP - bigdw 455 ; Max HP - bigdw 279 ; Atk - bigdw 199 ; Def - bigdw 135 ; Spd - bigdw 194 ; SAtk - bigdw 275 ; SDef - db "KABIGON@@@@" - - db ARCANINE - db MINT_BERRY - db SUNNY_DAY, FLAMETHROWER, EXTREMESPEED, REST - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 45000 - bigdw 55000 - dn 13, 15, 13, 14 ; DVs - db 5, 15, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 336 ; HP - bigdw 336 ; Max HP - bigdw 274 ; Atk - bigdw 225 ; Def - bigdw 247 ; Spd - bigdw 262 ; SAtk - bigdw 226 ; SDef - db "UINDEi@@@@@" - - db BLISSEY - db LEFTOVERS - db SOLARBEAM, SUNNY_DAY, SOFTBOILED, FIRE_BLAST - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 11, 13, 15, 14 ; DVs - db 10, 5, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 633 ; HP - bigdw 633 ; Max HP - bigdw 90 ; Atk - bigdw 95 ; Def - bigdw 180 ; Spd - bigdw 214 ; SAtk - bigdw 322 ; SDef - db "HAPINASU@@@" - - db HOUNDOOM - db BRIGHTPOWDER - db FLAMETHROWER, CRUNCH, SUNNY_DAY, SOLARBEAM - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 13, 11, 15, 14 ; DVs - db 15, 15, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 309 ; HP - bigdw 309 ; Max HP - bigdw 235 ; Atk - bigdw 164 ; Def - bigdw 252 ; Spd - bigdw 277 ; SAtk - bigdw 223 ; SDef - db "HERUGA-@@@@" - - db SKARMORY - db QUICK_CLAW - db SANDSTORM, STEEL_WING, TOXIC, RETURN - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 14, 15, 15, 7 ; DVs - db 10, 25, 10, 20 ; PP - db 255 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 279 ; HP - bigdw 279 ; Max HP - bigdw 223 ; Atk - bigdw 333 ; Def - bigdw 207 ; Spd - bigdw 139 ; SAtk - bigdw 193 ; SDef - db "EA-MUDO@@@@" - - db SHUCKLE - db LEFTOVERS - db TOXIC, WRAP, PROTECT, ENCORE - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 14 ; DVs - db 10, 20, 10, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 203 ; HP - bigdw 203 ; Max HP - bigdw 99 ; Atk - bigdw 493 ; Def - bigdw 90 ; Spd - bigdw 97 ; SAtk - bigdw 493 ; SDef - db "TUBOTUBO@@@" - - db FLAREON - db MINT_BERRY - db HYPER_BEAM, FLAMETHROWER, SHADOW_BALL, ROAR - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 7, 15, 7 ; DVs - db 5, 15, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 293 ; HP - bigdw 293 ; Max HP - bigdw 315 ; Atk - bigdw 175 ; Def - bigdw 198 ; Spd - bigdw 238 ; SAtk - bigdw 265 ; SDef - db "BU-SUTA-@@@" - - db MILTANK - db LEFTOVERS - db MILK_DRINK, EARTHQUAKE, ATTRACT, BODY_SLAM - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 4, 7, 5, 7 ; DVs - db 10, 10, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 322 ; HP - bigdw 322 ; Max HP - bigdw 194 ; Atk - bigdw 245 ; Def - bigdw 232 ; Spd - bigdw 128 ; SAtk - bigdw 182 ; SDef - db "MIRUTANKU@@" - - db TAUROS - db PINK_BOW - db THUNDERBOLT, HYPER_BEAM, ATTRACT, EARTHQUAKE - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 5, 7, 6 ; DVs - db 15, 5, 15, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 284 ; HP - bigdw 284 ; Max HP - bigdw 234 ; Atk - bigdw 223 ; Def - bigdw 254 ; Spd - bigdw 126 ; SAtk - bigdw 180 ; SDef - db "KENTAROSU@@" - - db MUK - db QUICK_CLAW - db TOXIC, SLUDGE_BOMB, ATTRACT, GIGA_DRAIN - dw 0 ; OT ID - dt 729000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 5, 4, 4, 4 ; DVs - db 10, 10, 15, 5 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 90 ; Level - db 0, 0 ; Status - bigdw 342 ; HP - bigdw 342 ; Max HP - bigdw 241 ; Atk - bigdw 185 ; Def - bigdw 140 ; Spd - bigdw 167 ; SAtk - bigdw 230 ; SDef - db "BETOBETON@@" - - -; BattleTowerMons group 10 - - db HOUNDOOM - db MINT_BERRY - db CRUNCH, FLAMETHROWER, ROAR, REST - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - dn 15, 13, 14, 13 ; DVs - db 15, 15, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 347 ; HP - bigdw 347 ; Max HP - bigdw 276 ; Atk - bigdw 192 ; Def - bigdw 284 ; Spd - bigdw 312 ; SAtk - bigdw 252 ; SDef - db "HERUGA-@@@@" - - db MACHAMP - db QUICK_CLAW - db CROSS_CHOP, EARTHQUAKE, HYPER_BEAM, VITAL_THROW - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - dn 15, 13, 14, 15 ; DVs - db 5, 10, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 377 ; HP - bigdw 377 ; Max HP - bigdw 356 ; Atk - bigdw 252 ; Def - bigdw 204 ; Spd - bigdw 226 ; SAtk - bigdw 266 ; SDef - db "KAIRIKI-@@@" - - db KINGDRA - db LEFTOVERS - db SURF, DRAGONBREATH, REST, TOXIC - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - bigdw 60000 - dn 13, 15, 15, 14 ; DVs - db 15, 20, 10, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 349 ; HP - bigdw 349 ; Max HP - bigdw 282 ; Atk - bigdw 286 ; Def - bigdw 266 ; Spd - bigdw 284 ; SAtk - bigdw 284 ; SDef - db "KINGUDORA@@" - - db JOLTEON - db BRIGHTPOWDER - db THUNDERBOLT, ROAR, THUNDER_WAVE, IRON_TAIL - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 30000 - bigdw 50000 - dn 15, 13, 15, 14 ; DVs - db 15, 20, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 323 ; HP - bigdw 323 ; Max HP - bigdw 220 ; Atk - bigdw 206 ; Def - bigdw 338 ; Spd - bigdw 308 ; SAtk - bigdw 278 ; SDef - db "SANDA-SU@@@" - - db TAUROS - db KINGS_ROCK - db HYPER_BEAM, EARTHQUAKE, IRON_TAIL, THUNDERBOLT - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 13, 14, 15 ; DVs - db 5, 10, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 341 ; HP - bigdw 341 ; Max HP - bigdw 290 ; Atk - bigdw 276 ; Def - bigdw 308 ; Spd - bigdw 170 ; SAtk - bigdw 230 ; SDef - db "KENTAROSU@@" - - db ARCANINE - db LEFTOVERS - db FLAMETHROWER, EXTREMESPEED, IRON_TAIL, HYPER_BEAM - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 13, 13, 14, 15 ; DVs - db 15, 5, 15, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 374 ; HP - bigdw 374 ; Max HP - bigdw 306 ; Atk - bigdw 246 ; Def - bigdw 281 ; Spd - bigdw 290 ; SAtk - bigdw 250 ; SDef - db "UINDEi@@@@@" - - db CHARIZARD - db SCOPE_LENS - db FLAMETHROWER, EARTHQUAKE, SLASH, FLY - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 55000 - bigdw 55000 - dn 15, 14, 13, 15 ; DVs - db 15, 10, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 343 ; HP - bigdw 343 ; Max HP - bigdw 258 ; Atk - bigdw 247 ; Def - bigdw 289 ; Spd - bigdw 311 ; SAtk - bigdw 263 ; SDef - db "RIZA-DON@@@" - - db ELECTRODE - db BRIGHTPOWDER - db THUNDER_WAVE, THUNDERBOLT, EXPLOSION, MIRROR_COAT - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - bigdw 45000 - dn 15, 11, 14, 15 ; DVs - db 20, 15, 5, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 309 ; HP - bigdw 309 ; Max HP - bigdw 190 ; Atk - bigdw 222 ; Def - bigdw 366 ; Spd - bigdw 248 ; SAtk - bigdw 248 ; SDef - db "MARUMAIN@@@" - - db RHYDON - db MIRACLEBERRY - db SURF, EARTHQUAKE, HYPER_BEAM, ROCK_SLIDE - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - bigdw 45000 - dn 15, 13, 14, 15 ; DVs - db 15, 10, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 404 ; HP - bigdw 404 ; Max HP - bigdw 350 ; Atk - bigdw 329 ; Def - bigdw 168 ; Spd - bigdw 178 ; SAtk - bigdw 178 ; SDef - db "SAIDON@@@@@" - - db STEELIX - db LEFTOVERS - db EARTHQUAKE, HYPER_BEAM, SWAGGER, CRUNCH - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 60000 - bigdw 50000 - dn 15, 13, 13, 14 ; DVs - db 10, 5, 15, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 343 ; HP - bigdw 343 ; Max HP - bigdw 260 ; Atk - bigdw 489 ; Def - bigdw 152 ; Spd - bigdw 198 ; SAtk - bigdw 218 ; SDef - db "HAGANE-RU@@" - - db FEAROW - db KINGS_ROCK - db DRILL_PECK, STEEL_WING, HYPER_BEAM, MUD_SLAP - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 55000 - bigdw 50000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - dn 15, 13, 12, 15 ; DVs - db 20, 25, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 324 ; HP - bigdw 324 ; Max HP - bigdw 270 ; Atk - bigdw 216 ; Def - bigdw 287 ; Spd - bigdw 212 ; SAtk - bigdw 212 ; SDef - db "ONIDORIRU@@" - - db MISDREAVUS - db FOCUS_BAND - db PERISH_SONG, MEAN_LOOK, PAIN_SPLIT, SHADOW_BALL - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 45000 - bigdw 50000 - bigdw 55000 - bigdw 50000 - bigdw 55000 - dn 11, 13, 14, 15 ; DVs - db 5, 5, 20, 15 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 309 ; HP - bigdw 309 ; Max HP - bigdw 202 ; Atk - bigdw 209 ; Def - bigdw 258 ; Spd - bigdw 263 ; SAtk - bigdw 263 ; SDef - db "MUUMA@@@@@@" - - db SNEASEL - db SCOPE_LENS - db SLASH, BLIZZARD, DREAM_EATER, FAINT_ATTACK - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 48000 - bigdw 45000 - bigdw 50000 - dn 15, 13, 14, 15 ; DVs - db 20, 5, 15, 20 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 301 ; HP - bigdw 301 ; Max HP - bigdw 280 ; Atk - bigdw 195 ; Def - bigdw 316 ; Spd - bigdw 160 ; SAtk - bigdw 240 ; SDef - db "NIyu-RA@@@@" - - db SCIZOR - db QUICK_CLAW - db STEEL_WING, HYPER_BEAM, SLASH, TOXIC - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 45000 - dn 15, 11, 15, 14 ; DVs - db 25, 5, 20, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 333 ; HP - bigdw 333 ; Max HP - bigdw 350 ; Atk - bigdw 282 ; Def - bigdw 220 ; Spd - bigdw 196 ; SAtk - bigdw 246 ; SDef - db "HAtuSAMU@@@" - - db BLISSEY - db LEFTOVERS - db THUNDERBOLT, BLIZZARD, FIRE_BLAST, SOFTBOILED - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 40000 - bigdw 50000 - bigdw 30000 - bigdw 30000 - dn 13, 13, 15, 14 ; DVs - db 15, 5, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 703 ; HP - bigdw 703 ; Max HP - bigdw 101 ; Atk - bigdw 106 ; Def - bigdw 188 ; Spd - bigdw 226 ; SAtk - bigdw 346 ; SDef - db "HAPINASU@@@" - - db PILOSWINE - db MINT_BERRY - db REST, BLIZZARD, HYPER_BEAM, EARTHQUAKE - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 7 ; DVs - db 10, 5, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 387 ; HP - bigdw 387 ; Max HP - bigdw 290 ; Atk - bigdw 248 ; Def - bigdw 190 ; Spd - bigdw 194 ; SAtk - bigdw 194 ; SDef - db "INOMU-@@@@@" - - db EXEGGUTOR - db QUICK_CLAW - db PSYCHIC_M, TOXIC, EXPLOSION, GIGA_DRAIN - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 14, 15, 14 ; DVs - db 10, 10, 5, 5 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 375 ; HP - bigdw 375 ; Max HP - bigdw 280 ; Atk - bigdw 258 ; Def - bigdw 200 ; Spd - bigdw 338 ; SAtk - bigdw 218 ; SDef - db "NAtuSI-@@@@" - - db OMASTAR - db LEFTOVERS - db SURF, ANCIENTPOWER, BLIZZARD, TOXIC - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - bigdw 50000 - dn 15, 11, 14, 7 ; DVs - db 15, 5, 5, 10 ; PP - db 100 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 331 ; HP - bigdw 331 ; Max HP - bigdw 210 ; Atk - bigdw 332 ; Def - bigdw 198 ; Spd - bigdw 304 ; SAtk - bigdw 214 ; SDef - db "OMUSUTA-@@@" - - db GOLEM - db BRIGHTPOWDER - db EXPLOSION, EARTHQUAKE, ROCK_SLIDE, FIRE_BLAST - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 4, 4, 6 ; DVs - db 5, 10, 10, 5 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 329 ; HP - bigdw 329 ; Max HP - bigdw 282 ; Atk - bigdw 316 ; Def - bigdw 146 ; Spd - bigdw 170 ; SAtk - bigdw 190 ; SDef - db "GORO-NIya@@" - - db HITMONCHAN - db FOCUS_BAND - db COUNTER, FIRE_PUNCH, THUNDERPUNCH, ICE_PUNCH - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 6, 7, 7, 6 ; DVs - db 20, 15, 15, 15 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 265 ; HP - bigdw 265 ; Max HP - bigdw 270 ; Atk - bigdw 220 ; Def - bigdw 214 ; Spd - bigdw 130 ; SAtk - bigdw 280 ; SDef - db "EBIWARA-@@@" - - db LANTURN - db QUICK_CLAW - db SURF, RAIN_DANCE, ZAP_CANNON, CONFUSE_RAY - dw 0 ; OT ID - dt 1000000 ; Exp - ; Stat exp - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - bigdw 30000 - dn 7, 6, 5, 7 ; DVs - db 15, 5, 5, 10 ; PP - db 0 ; Happiness - db 0, 0, 0 ; Pokerus, Caught data - db 100 ; Level - db 0, 0 ; Status - bigdw 425 ; HP - bigdw 425 ; Max HP - bigdw 178 ; Atk - bigdw 176 ; Def - bigdw 192 ; Spd - bigdw 214 ; SAtk - bigdw 214 ; SDef - db "RANTA-N@@@@" - - assert_table_length 10 * BATTLETOWER_NUM_UNIQUE_MON diff --git a/data/battle_tower/trainer_text.asm b/data/battle_tower/trainer_text.asm deleted file mode 100644 index 5e9aadcbd..000000000 --- a/data/battle_tower/trainer_text.asm +++ /dev/null @@ -1,623 +0,0 @@ -_BTGreetingM1Text: - text "Hello, glad to" - line "meet you!" - - para "I do hope we have" - line "a good battle." - done - -_BTLossM1Text: - text "Thank you! A most" - line "enjoyable battle!" - done - -_BTWinM1Text: - text "Thank you. You are" - line "formidable." - done - -_BTGreetingM2Text: - text "Work, work, work…" - line "I'm always busy!" - done - -_BTLossM2Text: - text "But, I work hard" - line "in battle too!" - done - -_BTWinM2Text: - text "I'm too busy to be" - line "battling!" - done - -_BTGreetingM3Text: - text "Brace yourself for" - line "my all-out attack!" - done - -_BTLossM3Text: - text "What a cakewalk!" - line "You're too easy!" - done - -_BTWinM3Text: - text "I won't lose next" - line "time, all right?" - done - -_BTGreetingM4Text: - text "Heh, your #MON" - line "look pretty cool." - done - -_BTLossM4Text: - text "Hey, hey, no way!" - line "You won't win!" - done - -_BTWinM4Text: - text "You serious?" - line "This is brutal!" - done - -_BTGreetingM5Text: - text "#MON every day!" - line "I love battling!" - done - -_BTLossM5Text: - text "I'm on top of my" - line "game, but not you!" - done - -_BTWinM5Text: - text "I don't care that" - line "I lost, really!" - done - -_BTGreetingM6Text: - text "Hi, there! Let's" - line "keep this clean!" - done - -_BTLossM6Text: - text "Whoops, sorry for" - line "that wipeout!" - done - -_BTWinM6Text: - text "Whoops! Come on," - line "let me win one!" - done - -_BTGreetingM7Text: - text "Do you want to see" - line "my battle level?" - done - -_BTLossM7Text: - text "Hehehe, I know" - line "your level now!" - done - -_BTWinM7Text: - text "Ouch… I'm just too" - line "weak…" - done - -_BTGreetingM8Text: - text "Hey, let's battle." - line "I'm your opponent." - done - -_BTLossM8Text: - text "Wow, you're not" - line "serious about it!" - done - -_BTWinM8Text: - text "…Urgh… Nothing" - line "positive here…" - done - -_BTGreetingM9Text: - text "I'm your" - line "opponent." - - para "Get ready to be" - line "hammered." - done - -_BTLossM9Text: - text "Hahah! That was a" - line "pushover!" - done - -_BTWinM9Text: - text "No way! There has" - line "to be a mistake!" - done - -_BTGreetingM10Text: - text "Hah!" - line "Let's get rolling!" - done - -_BTLossM10Text: - text "Wahahaha! Didn't" - line "break a sweat!" - done - -_BTWinM10Text: - text "Tough! I'm no" - line "match for you!" - done - -_BTGreetingM11Text: - text "<……><……><……>" - line "<……><……>Battle?" - done - -_BTLossM11Text: - text "<……><……><……>" - line "<……><……>I won?" - done - -_BTWinM11Text: - text "<……><……><……>" - line "<……><……>I lost?" - done - -_BTGreetingM12Text: - text "You want to be a" - line "leader?" - - para "Let me battle you," - line "then!" - done - -_BTLossM12Text: - text "You need another" - line "ten years of" - - para "training to get" - line "better, I'd say." - done - -_BTWinM12Text: - text "You're incredibly" - line "talented." - - para "No one can touch" - line "you now!" - done - -_BTGreetingM13Text: - text "Today, I'm going" - line "to whomp you." - done - -_BTLossM13Text: - text "I knew I'd win." - line "I'm so great!" - done - -_BTWinM13Text: - text "Uh? My plans are" - line "out of whack…" - done - -_BTGreetingM14Text: - text "I bet you can't" - line "beat me!" - done - -_BTLossM14Text: - text "Those #MON" - line "aren't enough!" - done - -_BTWinM14Text: - text "I want your" - line "#MON. Please?" - done - -_BTGreetingM15Text: - text "I'll show you a" - line "real battle!" - done - -_BTLossM15Text: - text "This battle…" - line "I'm bored!" - done - -_BTWinM15Text: - text "…I won't turn tail" - line "in battle!" - done - -_BTGreetingM16Text: - text "Let's go!" - line "No holds barred!" - done - -_BTLossM16Text: - text "Sorry! I wanted" - line "the win more!" - done - -_BTWinM16Text: - text "Wahah! Congrats!" - line "I can't do better!" - done - -_BTGreetingM17Text: - text "My #MON skills" - line "are phenomenal!" - done - -_BTLossM17Text: - text "You've got a long" - line "way to go." - - para "Well, keep trying!" - line "Best of luck!" - done - -_BTWinM17Text: - text "Aww… Don't lose" - line "after beating me." - done - -_BTGreetingM18Text: - text "Who are you?" - line "I don't know you…" - done - -_BTLossM18Text: - text "I must've imagined" - line "that." - - para "There seems to be" - line "no one here…" - done - -_BTWinM18Text: - text "Who am I?" - line "I don't know…" - done - -_BTGreetingM19Text: - text "Um… Are you that…" - line "um…person?" - done - -_BTLossM19Text: - text "It doesn't appear" - line "to be you…" - done - -_BTWinM19Text: - text "Then you really" - line "are the legendary…" - done - -_BTGreetingM20Text: - text "I heard that" - line "you're hot!" - done - -_BTLossM20Text: - text "Not bad. I was" - line "just a bit better." - done - -_BTWinM20Text: - text "Eh, you're not" - line "that special." - done - -_BTGreetingM21Text: - text "I'm scared about" - line "what might happen." - - para "My #MON are way" - line "too strong." - done - -_BTLossM21Text: - text "See? My #MON" - line "were too strong." - done - -_BTWinM21Text: - text "Graa! My #MON" - line "were total wimps!" - done - -_BTGreetingM22Text: - text "Hey, there!" - line "I'll take you on!" - done - -_BTLossM22Text: - text "Don't you have a" - line "better strategy?" - done - -_BTWinM22Text: - text "You've got decent" - line "style!" - done - -_BTGreetingM23Text: - text "I wonder if I can" - line "battle properly…" - done - -_BTLossM23Text: - text "Um… Sorry…" - line "I think I won." - done - -_BTWinM23Text: - text "I guess I'm not" - line "good enough yet…" - done - -_BTGreetingM24Text: - text "Wrrooar!" - line "I won't lose!" - done - -_BTLossM24Text: - text "Wrrooar! I knew" - line "I was a genius!" - done - -_BTWinM24Text: - text "Arrooh! I hate it" - line "when I lose!" - done - -_BTGreetingM25Text: - text "Sorry, but I'm" - line "going to win." - done - -_BTLossM25Text: - text "Yeah! My #MON" - line "rule!" - done - -_BTWinM25Text: - text "Oh, close! I lost" - line "by just a bit!" - done - -_BTGreetingF1Text: - text "OK, I'm not" - line "fooling around!" - done - -_BTLossF1Text: - text "Yay! Too easy!" - line "Like, no way!" - done - -_BTWinF1Text: - text "No!" - line "Like, no way!" - done - -_BTGreetingF2Text: - text "Look! My #MON" - line "are really cute!" - done - -_BTLossF2Text: - text "Aren't they really" - line "adorable?" - done - -_BTWinF2Text: - text "I'm sorry, it's" - line "all my fault!" - done - -_BTGreetingF3Text: - text "Let's get our" - line "battle started!" - done - -_BTLossF3Text: - text "Was I too strong" - line "for you?" - done - -_BTWinF3Text: - text "Ooh, you're in a" - line "different class." - done - -_BTGreetingF4Text: - text "Are we going to" - line "battle? Let's!" - done - -_BTLossF4Text: - text "Oh, you're too" - line "weak. Shame." - done - -_BTWinF4Text: - text "Wow! Are you quite" - line "satisfied?" - done - -_BTGreetingF5Text: - text "Oh, you have some" - line "rare #MON." - done - -_BTLossF5Text: - text "May I have one of" - line "your #MON?" - done - -_BTWinF5Text: - text "…I want one of" - line "your #MON." - done - -_BTGreetingF6Text: - text "Want to hear about" - line "my cute #MON?" - done - -_BTLossF6Text: - text "What do you think" - line "about my cuties?" - done - -_BTWinF6Text: - text "Oh! My! You're a" - line "dreadful trainer!" - done - -_BTGreetingF7Text: - text "Battle? Sure!" - line "Right now!" - done - -_BTLossF7Text: - text "Oh, I love it!" - line "Battling is wild!" - done - -_BTWinF7Text: - text "Oh, how rude! Wait" - line "till next time!" - done - -_BTGreetingF8Text: - text "Please let me win!" - line "Please?" - done - -_BTLossF8Text: - text "Wow, thank you!" - line "You're so nice!" - done - -_BTWinF8Text: - text "You're mean!" - line "I hate meanies!" - done - -_BTGreetingF9Text: - text "Well, can we" - line "begin?" - done - -_BTLossF9Text: - text "Well, I beg your" - line "pardon…" - done - -_BTWinF9Text: - text "Sob… That's not" - line "fair!" - done - -_BTGreetingF10Text: - text "I'm good!" - line "You can't win." - done - -_BTLossF10Text: - text "Giving up? You're" - line "pretty weak!" - done - -_BTWinF10Text: - text "I won't accept" - line "this… No way!" - done - -_BTGreetingF11Text: - text "Are you treating" - line "this seriously?" - done - -_BTLossF11Text: - text "Oh, sorry! Looks" - line "like I won!" - done - -_BTWinF11Text: - text "Oh, how nasty!" - line "You were serious!" - done - -_BTGreetingF12Text: - text "Ahahah! I'll take" - line "it easy on you!" - done - -_BTLossF12Text: - text "Oops, sorry! But" - line "I'm happy too!" - done - -_BTWinF12Text: - text "Oh, oh, I lost!" - line "Thanks. Bye!" - done - -_BTGreetingF13Text: - text "BATTLE TOWER is a" - line "tough place!" - done - -_BTLossF13Text: - text "You might have a" - line "hard time." - done - -_BTWinF13Text: - text "Ooh, you might" - line "make a run here!" - done - -_BTGreetingF14Text: - text "I want to see your" - line "style in action!" - done - -_BTLossF14Text: - text "Every battle is a" - line "drama!" - done - -_BTWinF14Text: - text "Oh… Want to trade" - line "something?" - done - -_BTGreetingF15Text: - text "OK, here goes!" - line "I have momentum!" - done - -_BTLossF15Text: - text "See, I rolled" - line "right over you!" - done - -_BTWinF15Text: - text "No! This did not" - line "happen!" - done diff --git a/data/battle_tower/unknown.asm b/data/battle_tower/unknown.asm deleted file mode 100644 index af51b1e83..000000000 --- a/data/battle_tower/unknown.asm +++ /dev/null @@ -1,1406 +0,0 @@ -BattleTowerTrainerData:: ; ??? -; 70 tables (BATTLETOWER_NUM_UNIQUE_TRAINERS) of 18 two-argument entries (total size BATTLETOWER_TRAINERDATALENGTH). -; Second argument points to an entry in Unknown_170470, to which the first argument is compared. - table_width BATTLETOWER_TRAINERDATALENGTH, BattleTowerTrainerData - -; BattleTowerTrainerData table 1: - db $37, 3 - db $0e, 9 - db $25, 11 - db $1c, 13 - db $12, 13 - db $00, 5 - db $0e, 9 - db $1a, 11 - db $30, 4 - db $3f, 6 - db $20, 4 - db $21, 13 - db $0e, 9 - db $30, 4 - db $20, 4 - db $0b, 6 - db $34, 3 - db $06, 5 - -; BattleTowerTrainerData table 2: - db $36, 3 - db $ca, 0 - db $22, 8 - db $20, 4 - db $33, 13 - db $11, 13 - db $37, 5 - db $06, 5 - db $3f, 6 - db $ca, 0 - db $20, 4 - db $06, 13 - db $ca, 0 - db $21, 3 - db $09, 6 - db $12, 4 - db $28, 11 - db $0c, 13 - -; BattleTowerTrainerData table 3: - db $32, 6 - db $31, 4 - db $02, 2 - db $03, 4 - db $22, 2 - db $00, 5 - db $40, 4 - db $2d, 6 - db $13, 13 - db $18, 3 - db $3f, 4 - db $13, 13 - db $1a, 12 - db $33, 4 - db $32, 13 - db $09, 6 - db $22, 2 - db $13, 13 - -; BattleTowerTrainerData table 4: - db $22, 12 - db $22, 12 - db $0a, 9 - db $0b, 8 - db $2f, 6 - db $22, 7 - db $22, 6 - db $2c, 4 - db $1a, 6 - db $0d, 7 - db $3f, 13 - db $00, 5 - db $0b, 8 - db $09, 6 - db $2c, 4 - db $1f, 14 - db $1c, 11 - db $41, 11 - -; BattleTowerTrainerData table 5: - db $a3, 0 - db $41, 3 - db $1f, 4 - db $29, 0 - db $1c, 4 - db $03, 2 - db $3d, 5 - db $38, 6 - db $71, 0 - db $18, 3 - db $30, 6 - db $53, 0 - db $1e, 5 - db $b9, 0 - db $21, 13 - db $30, 6 - db $d1, 0 - db $0a, 6 - -; BattleTowerTrainerData table 6: - db $13, 2 - db $31, 6 - db $04, 2 - db $1c, 4 - db $0d, 13 - db $31, 13 - db $39, 7 - db $31, 6 - db $24, 7 - db $3d, 4 - db $40, 4 - db $30, 13 - db $03, 6 - db $08, 5 - db $02, 5 - db $14, 7 - db $08, 5 - db $1a, 13 - -; BattleTowerTrainerData table 7: - db $0d, 2 - db $07, 2 - db $00, 5 - db $22, 2 - db $10, 11 - db $0a, 13 - db $16, 2 - db $01, 2 - db $08, 13 - db $2c, 4 - db $23, 7 - db $23, 13 - db $16, 2 - db $01, 2 - db $08, 13 - db $02, 3 - db $20, 4 - db $23, 13 - -; BattleTowerTrainerData table 8: - db $1e, 2 - db $22, 2 - db $00, 5 - db $20, 8 - db $2c, 4 - db $03, 2 - db $1d, 5 - db $41, 8 - db $41, 8 - db $35, 5 - db $40, 11 - db $00, 5 - db $0b, 5 - db $0b, 2 - db $00, 5 - db $04, 4 - db $14, 8 - db $00, 5 - -; BattleTowerTrainerData table 9: - db $06, 12 - db $09, 6 - db $00, 0 - db $0b, 9 - db $1e, 12 - db $37, 13 - db $41, 3 - db $06, 4 - db $34, 6 - db $22, 12 - db $15, 9 - db $23, 13 - db $02, 3 - db $22, 8 - db $41, 13 - db $26, 4 - db $31, 13 - db $01, 5 - -; BattleTowerTrainerData table 10: - db $22, 12 - db $30, 4 - db $01, 5 - db $2c, 4 - db $23, 7 - db $01, 5 - db $37, 3 - db $3d, 4 - db $3c, 13 - db $1c, 3 - db $29, 8 - db $3c, 13 - db $18, 4 - db $30, 13 - db $06, 5 - db $14, 7 - db $30, 13 - db $06, 5 - -; BattleTowerTrainerData table 11: - db $0e, 6 - db $04, 5 - db $2c, 4 - db $1e, 12 - db $38, 13 - db $00, 5 - db $3f, 3 - db $3f, 6 - db $20, 4 - db $33, 13 - db $04, 13 - db $00, 0 - db $20, 4 - db $26, 13 - db $04, 5 - db $0c, 4 - db $26, 13 - db $04, 5 - -; BattleTowerTrainerData table 12: - db $18, 2 - db $33, 3 - db $28, 4 - db $2c, 4 - db $09, 7 - db $03, 5 - db $30, 4 - db $08, 9 - db $00, 5 - db $1a, 2 - db $32, 3 - db $00, 5 - db $3f, 5 - db $26, 7 - db $01, 5 - db $26, 5 - db $0f, 2 - db $00, 5 - -; BattleTowerTrainerData table 13: - db $3a, 11 - db $3a, 11 - db $00, 5 - db $42, 3 - db $19, 8 - db $30, 4 - db $39, 3 - db $13, 6 - db $13, 6 - db $19, 8 - db $21, 13 - db $00, 0 - db $39, 3 - db $09, 2 - db $00, 5 - db $40, 3 - db $3a, 8 - db $2a, 13 - -; BattleTowerTrainerData table 14: - db $31, 5 - db $11, 14 - db $30, 4 - db $1b, 8 - db $07, 8 - db $0c, 13 - db $1b, 2 - db $1b, 2 - db $01, 5 - db $15, 2 - db $0a, 4 - db $0e, 13 - db $22, 5 - db $31, 6 - db $02, 5 - db $1d, 6 - db $3b, 7 - db $0e, 13 - -; BattleTowerTrainerData table 15: - db $1b, 2 - db $2c, 4 - db $0d, 13 - db $34, 3 - db $00, 3 - db $11, 13 - db $1b, 8 - db $31, 4 - db $0b, 13 - db $2f, 8 - db $01, 5 - db $00, 0 - db $06, 5 - db $10, 5 - db $0f, 6 - db $11, 13 - db $06, 5 - db $00, 0 - -; BattleTowerTrainerData table 16: - db $42, 3 - db $30, 4 - db $1f, 11 - db $16, 14 - db $10, 7 - db $34, 13 - db $17, 14 - db $04, 13 - db $00, 0 - db $42, 3 - db $19, 8 - db $30, 4 - db $0c, 5 - db $35, 5 - db $01, 5 - db $1e, 6 - db $36, 8 - db $41, 13 - -; BattleTowerTrainerData table 17: - db $18, 3 - db $42, 3 - db $43, 4 - db $3a, 11 - db $3b, 11 - db $03, 5 - db $2c, 5 - db $06, 5 - db $1b, 3 - db $43, 4 - db $39, 11 - db $3c, 4 - db $14, 11 - db $0f, 5 - db $06, 5 - db $40, 3 - db $3f, 4 - db $20, 14 - -; BattleTowerTrainerData table 18: - db $0c, 5 - db $36, 7 - db $30, 4 - db $27, 11 - db $10, 8 - db $31, 13 - db $11, 14 - db $30, 4 - db $41, 3 - db $07, 13 - db $2f, 8 - db $03, 5 - db $06, 5 - db $3f, 6 - db $11, 14 - db $30, 4 - db $30, 7 - db $06, 5 - -; BattleTowerTrainerData table 19: - db $36, 3 - db $06, 6 - db $44, 4 - db $0b, 14 - db $16, 13 - db $00, 5 - db $32, 13 - db $08, 6 - db $09, 14 - db $44, 4 - db $09, 8 - db $22, 13 - db $04, 14 - db $09, 14 - db $44, 4 - db $29, 8 - db $05, 13 - db $00, 0 - -; BattleTowerTrainerData table 20: - db $3f, 6 - db $2c, 4 - db $34, 13 - db $14, 5 - db $13, 2 - db $04, 2 - db $0c, 5 - db $3f, 4 - db $38, 13 - db $02, 3 - db $29, 8 - db $32, 13 - db $35, 5 - db $15, 6 - db $40, 5 - db $02, 3 - db $34, 7 - db $04, 13 - -; BattleTowerTrainerData table 21: - db $12, 3 - db $02, 4 - db $07, 7 - db $28, 4 - db $2c, 13 - db $00, 5 - db $2c, 3 - db $12, 3 - db $2b, 6 - db $0a, 4 - db $06, 13 - db $31, 13 - db $2c, 3 - db $12, 3 - db $06, 4 - db $0d, 6 - db $28, 11 - db $02, 5 - -; BattleTowerTrainerData table 22: - db $41, 4 - db $3c, 11 - db $34, 13 - db $40, 3 - db $00, 3 - db $0d, 13 - db $13, 12 - db $33, 8 - db $31, 13 - db $1e, 9 - db $27, 7 - db $3b, 13 - db $22, 8 - db $15, 4 - db $11, 13 - db $2c, 3 - db $0c, 4 - db $3b, 13 - -; BattleTowerTrainerData table 23: - db $03, 10 - db $3a, 13 - db $2c, 4 - db $1c, 11 - db $35, 7 - db $26, 13 - db $24, 9 - db $43, 4 - db $26, 13 - db $0f, 3 - db $1f, 7 - db $04, 5 - db $02, 3 - db $24, 8 - db $26, 13 - db $3f, 3 - db $13, 4 - db $04, 5 - -; BattleTowerTrainerData table 24: - db $06, 5 - db $06, 5 - db $06, 5 - db $06, 5 - db $2c, 4 - db $03, 5 - db $06, 5 - db $06, 5 - db $06, 5 - db $06, 5 - db $07, 4 - db $03, 5 - db $06, 5 - db $06, 5 - db $06, 5 - db $06, 5 - db $33, 4 - db $03, 5 - -; BattleTowerTrainerData table 25: - db $27, 5 - db $01, 5 - db $00, 0 - db $18, 4 - db $19, 13 - db $01, 5 - db $41, 5 - db $00, 0 - db $00, 0 - db $16, 6 - db $3d, 4 - db $19, 13 - db $20, 4 - db $05, 5 - db $00, 0 - db $21, 3 - db $0c, 4 - db $19, 13 - -; BattleTowerTrainerData table 26: - db $03, 2 - db $43, 3 - db $27, 4 - db $28, 4 - db $2d, 13 - db $00, 5 - db $30, 5 - db $04, 5 - db $02, 3 - db $38, 6 - db $3e, 4 - db $41, 13 - db $16, 14 - db $04, 5 - db $02, 3 - db $38, 6 - db $20, 4 - db $41, 13 - -; BattleTowerTrainerData table 27: - db $34, 3 - db $00, 3 - db $11, 13 - db $03, 4 - db $1c, 11 - db $07, 13 - db $29, 5 - db $00, 5 - db $00, 0 - db $40, 4 - db $11, 13 - db $3e, 13 - db $03, 6 - db $11, 13 - db $00, 5 - db $16, 14 - db $0d, 6 - db $20, 6 - -; BattleTowerTrainerData table 28: - db $19, 3 - db $17, 11 - db $20, 6 - db $1b, 11 - db $06, 12 - db $1a, 11 - db $34, 3 - db $06, 4 - db $20, 6 - db $1b, 11 - db $06, 12 - db $1a, 11 - db $34, 3 - db $36, 4 - db $20, 6 - db $1b, 11 - db $06, 12 - db $1a, 11 - -; BattleTowerTrainerData table 29: - db $0a, 3 - db $0c, 12 - db $25, 10 - db $21, 14 - db $2c, 4 - db $03, 2 - db $10, 9 - db $03, 8 - db $09, 6 - db $0a, 3 - db $31, 4 - db $16, 13 - db $27, 5 - db $17, 7 - db $04, 5 - db $02, 12 - db $0a, 9 - db $2f, 13 - -; BattleTowerTrainerData table 30: - db $15, 2 - db $2c, 4 - db $03, 2 - db $24, 4 - db $39, 4 - db $0f, 13 - db $1e, 2 - db $11, 2 - db $01, 5 - db $0d, 4 - db $39, 8 - db $05, 13 - db $29, 5 - db $08, 2 - db $00, 5 - db $43, 3 - db $0c, 4 - db $3b, 13 - -; BattleTowerTrainerData table 31: - db $10, 11 - db $04, 4 - db $00, 5 - db $05, 8 - db $21, 13 - db $00, 0 - db $1f, 5 - db $01, 2 - db $00, 5 - db $18, 3 - db $3c, 8 - db $31, 13 - db $02, 6 - db $23, 11 - db $31, 3 - db $43, 3 - db $13, 7 - db $16, 13 - -; BattleTowerTrainerData table 32: - db $0f, 14 - db $19, 13 - db $00, 5 - db $0b, 14 - db $2c, 4 - db $19, 13 - db $0e, 14 - db $2c, 4 - db $06, 5 - db $1f, 7 - db $19, 13 - db $01, 5 - db $06, 5 - db $37, 3 - db $29, 4 - db $32, 13 - db $19, 13 - db $01, 5 - -; BattleTowerTrainerData table 33: - db $35, 3 - db $06, 4 - db $0d, 6 - db $29, 11 - db $05, 13 - db $00, 0 - db $16, 14 - db $30, 4 - db $0b, 13 - db $29, 8 - db $16, 13 - db $00, 5 - db $11, 14 - db $30, 4 - db $30, 7 - db $06, 5 - db $29, 8 - db $03, 5 - -; BattleTowerTrainerData table 34: - db $18, 4 - db $03, 5 - db $0b, 13 - db $2c, 4 - db $1e, 12 - db $01, 5 - db $1f, 5 - db $1d, 7 - db $1d, 7 - db $2c, 4 - db $21, 7 - db $01, 5 - db $0a, 5 - db $12, 2 - db $32, 13 - db $11, 12 - db $0c, 6 - db $1a, 13 - -; BattleTowerTrainerData table 35: - db $0c, 12 - db $37, 3 - db $1a, 3 - db $40, 4 - db $23, 11 - db $26, 10 - db $3f, 6 - db $09, 4 - db $1b, 7 - db $37, 3 - db $22, 8 - db $27, 6 - db $04, 14 - db $03, 5 - db $00, 0 - db $26, 10 - db $3b, 8 - db $1b, 7 - -; BattleTowerTrainerData table 36: - db $18, 3 - db $1b, 8 - db $29, 11 - db $40, 8 - db $32, 13 - db $00, 5 - db $2f, 6 - db $29, 11 - db $0b, 13 - db $2f, 8 - db $23, 13 - db $02, 13 - db $35, 5 - db $13, 14 - db $2e, 6 - db $22, 6 - db $2f, 8 - db $27, 6 - -; BattleTowerTrainerData table 37: - db $1c, 3 - db $02, 14 - db $31, 3 - db $2a, 13 - db $24, 13 - db $00, 0 - db $18, 3 - db $0b, 13 - db $30, 8 - db $40, 8 - db $04, 5 - db $00, 0 - db $1c, 5 - db $01, 5 - db $03, 3 - db $02, 14 - db $27, 4 - db $34, 13 - -; BattleTowerTrainerData table 38: - db $33, 3 - db $30, 4 - db $2c, 4 - db $1c, 11 - db $35, 7 - db $00, 5 - db $30, 4 - db $2c, 4 - db $20, 6 - db $1e, 9 - db $40, 6 - db $40, 4 - db $30, 4 - db $2c, 4 - db $20, 6 - db $1e, 9 - db $40, 6 - db $22, 7 - -; BattleTowerTrainerData table 39: - db $22, 12 - db $22, 12 - db $16, 10 - db $35, 13 - db $1c, 11 - db $3f, 13 - db $13, 5 - db $16, 10 - db $40, 6 - db $23, 7 - db $06, 13 - db $06, 5 - db $3f, 6 - db $16, 10 - db $16, 13 - db $37, 3 - db $2c, 4 - db $26, 7 - -; BattleTowerTrainerData table 40: - db $0e, 6 - db $05, 8 - db $04, 13 - db $00, 0 - db $00, 0 - db $00, 0 - db $14, 5 - db $06, 5 - db $12, 2 - db $00, 0 - db $00, 0 - db $00, 0 - db $23, 5 - db $01, 6 - db $18, 13 - db $00, 0 - db $00, 0 - db $00, 0 - -; BattleTowerTrainerData table 41: - db $18, 3 - db $27, 3 - db $03, 5 - db $20, 11 - db $27, 6 - db $06, 5 - db $20, 14 - db $12, 7 - db $2b, 13 - db $2c, 3 - db $0e, 8 - db $35, 7 - db $37, 3 - db $27, 3 - db $03, 5 - db $42, 7 - db $2f, 8 - db $06, 5 - -; BattleTowerTrainerData table 42: - db $36, 3 - db $30, 4 - db $17, 4 - db $2c, 3 - db $0c, 4 - db $3b, 13 - db $18, 3 - db $32, 7 - db $15, 13 - db $35, 5 - db $0d, 7 - db $07, 13 - db $09, 5 - db $06, 5 - db $0f, 12 - db $09, 4 - db $07, 13 - db $3b, 13 - -; BattleTowerTrainerData table 43: - db $0b, 5 - db $14, 6 - db $24, 4 - db $0a, 13 - db $3c, 13 - db $00, 5 - db $14, 5 - db $09, 2 - db $32, 13 - db $1e, 6 - db $04, 7 - db $06, 13 - db $1a, 5 - db $33, 4 - db $03, 5 - db $16, 2 - db $00, 2 - db $07, 5 - -; BattleTowerTrainerData table 44: - db $0a, 3 - db $32, 7 - db $0b, 14 - db $22, 6 - db $2c, 4 - db $29, 11 - db $0a, 3 - db $12, 13 - db $24, 4 - db $1a, 11 - db $33, 13 - db $03, 13 - db $0a, 3 - db $35, 4 - db $1b, 7 - db $06, 5 - db $1e, 6 - db $14, 7 - -; BattleTowerTrainerData table 45: - db $0e, 6 - db $2c, 4 - db $00, 13 - db $06, 3 - db $31, 4 - db $04, 13 - db $0c, 5 - db $12, 2 - db $00, 5 - db $40, 3 - db $09, 4 - db $01, 13 - db $35, 5 - db $36, 8 - db $00, 5 - db $02, 3 - db $31, 4 - db $21, 13 - -; BattleTowerTrainerData table 46: - db $22, 5 - db $07, 14 - db $30, 4 - db $c5, 0 - db $10, 2 - db $01, 5 - db $0c, 12 - db $00, 1 - db $30, 4 - db $82, 0 - db $21, 4 - db $01, 5 - db $10, 1 - db $11, 5 - db $30, 4 - db $c3, 0 - db $3f, 4 - db $06, 5 - -; BattleTowerTrainerData table 47: - db $3a, 7 - db $3b, 7 - db $36, 3 - db $30, 4 - db $21, 4 - db $06, 13 - db $17, 14 - db $03, 5 - db $00, 0 - db $3f, 6 - db $21, 4 - db $21, 13 - db $36, 5 - db $36, 3 - db $30, 4 - db $33, 6 - db $3f, 4 - db $0c, 13 - -; BattleTowerTrainerData table 48: - db $43, 3 - db $20, 4 - db $41, 13 - db $17, 6 - db $06, 3 - db $0a, 4 - db $3a, 6 - db $13, 4 - db $04, 13 - db $08, 6 - db $3f, 4 - db $31, 13 - db $43, 3 - db $39, 4 - db $04, 5 - db $17, 6 - db $39, 4 - db $41, 13 - -; BattleTowerTrainerData table 49: - db $36, 3 - db $16, 4 - db $08, 6 - db $09, 8 - db $06, 13 - db $00, 0 - db $1f, 11 - db $03, 5 - db $12, 14 - db $0f, 14 - db $2c, 13 - db $00, 5 - db $3a, 6 - db $16, 4 - db $38, 6 - db $38, 6 - db $2c, 13 - db $00, 5 - -; BattleTowerTrainerData table 50: - db $11, 5 - db $25, 3 - db $33, 4 - db $2f, 8 - db $19, 13 - db $00, 5 - db $11, 5 - db $25, 3 - db $3f, 6 - db $26, 4 - db $19, 13 - db $00, 5 - db $11, 5 - db $21, 3 - db $35, 4 - db $14, 7 - db $19, 13 - db $06, 5 - -; BattleTowerTrainerData table 51: - db $2c, 4 - db $0a, 13 - db $04, 5 - db $33, 3 - db $29, 11 - db $05, 13 - db $00, 6 - db $04, 5 - db $09, 2 - db $33, 3 - db $07, 4 - db $35, 7 - db $33, 3 - db $3a, 8 - db $05, 13 - db $3f, 6 - db $29, 8 - db $05, 13 - -; BattleTowerTrainerData table 52: - db $05, 3 - db $1b, 4 - db $41, 3 - db $39, 11 - db $3a, 11 - db $01, 5 - db $2c, 4 - db $03, 5 - db $00, 0 - db $40, 7 - db $3e, 13 - db $00, 5 - db $00, 14 - db $09, 5 - db $04, 5 - db $19, 9 - db $1d, 11 - db $03, 5 - -; BattleTowerTrainerData table 53: - db $1c, 12 - db $20, 6 - db $05, 8 - db $3e, 13 - db $00, 5 - db $00, 0 - db $18, 3 - db $1f, 14 - db $11, 10 - db $1c, 11 - db $15, 11 - db $1c, 6 - db $03, 14 - db $06, 12 - db $21, 12 - db $14, 13 - db $06, 5 - db $1f, 8 - -; BattleTowerTrainerData table 54: - db $37, 3 - db $0e, 1 - db $08, 1 - db $19, 6 - db $27, 11 - db $03, 2 - db $0e, 1 - db $08, 1 - db $1b, 8 - db $05, 8 - db $21, 13 - db $00, 0 - db $36, 3 - db $33, 4 - db $04, 5 - db $00, 4 - db $41, 8 - db $3b, 13 - -; BattleTowerTrainerData table 55: - db $06, 2 - db $00, 5 - db $34, 3 - db $00, 3 - db $0d, 13 - db $00, 5 - db $3c, 6 - db $05, 8 - db $16, 4 - db $2f, 8 - db $33, 13 - db $02, 13 - db $1c, 5 - db $00, 5 - db $18, 3 - db $05, 8 - db $1b, 4 - db $0c, 13 - -; BattleTowerTrainerData table 56: - db $2c, 4 - db $13, 9 - db $20, 6 - db $39, 3 - db $20, 4 - db $3c, 13 - db $05, 3 - db $43, 4 - db $0b, 13 - db $22, 4 - db $06, 13 - db $31, 13 - db $24, 8 - db $00, 5 - db $02, 3 - db $09, 8 - db $06, 13 - db $3b, 13 - -; BattleTowerTrainerData table 57: - db $06, 3 - db $20, 4 - db $24, 13 - db $24, 4 - db $10, 11 - db $00, 5 - db $39, 7 - db $00, 5 - db $2a, 6 - db $04, 4 - db $3c, 4 - db $00, 0 - db $24, 4 - db $1c, 11 - db $07, 13 - db $2f, 8 - db $09, 6 - db $06, 5 - -; BattleTowerTrainerData table 58: - db $44, 7 - db $23, 11 - db $33, 13 - db $2c, 4 - db $20, 6 - db $24, 8 - db $24, 8 - db $00, 5 - db $0e, 14 - db $12, 8 - db $09, 11 - db $28, 6 - db $24, 8 - db $00, 5 - db $02, 3 - db $13, 6 - db $11, 8 - db $41, 13 - -; BattleTowerTrainerData table 59: - db $36, 3 - db $06, 6 - db $30, 4 - db $0f, 11 - db $02, 11 - db $3b, 13 - db $31, 13 - db $00, 5 - db $39, 3 - db $20, 4 - db $21, 13 - db $00, 0 - db $04, 14 - db $02, 5 - db $06, 6 - db $20, 14 - db $0b, 6 - db $27, 6 - -; BattleTowerTrainerData table 60: - db $14, 5 - db $04, 2 - db $09, 14 - db $08, 8 - db $2e, 8 - db $41, 13 - db $34, 5 - db $2e, 8 - db $21, 13 - db $3f, 3 - db $18, 8 - db $00, 5 - db $36, 5 - db $05, 2 - db $00, 5 - db $17, 6 - db $39, 4 - db $00, 5 - -; BattleTowerTrainerData table 61: - db $34, 3 - db $00, 3 - db $11, 13 - db $41, 8 - db $0b, 6 - db $06, 4 - db $39, 7 - db $00, 5 - db $00, 0 - db $36, 3 - db $30, 4 - db $07, 8 - db $10, 5 - db $15, 8 - db $00, 5 - db $3a, 6 - db $1e, 6 - db $14, 13 - -; BattleTowerTrainerData table 62: - db $37, 5 - db $37, 5 - db $00, 5 - db $38, 5 - db $38, 5 - db $41, 5 - db $25, 5 - db $04, 5 - db $32, 5 - db $31, 5 - db $41, 5 - db $41, 5 - db $0f, 5 - db $04, 5 - db $0f, 5 - db $0f, 5 - db $16, 5 - db $01, 5 - -; BattleTowerTrainerData table 63: - db $1f, 14 - db $36, 4 - db $40, 13 - db $2f, 8 - db $1a, 13 - db $00, 5 - db $21, 6 - db $35, 5 - db $24, 6 - db $1a, 6 - db $12, 14 - db $00, 0 - db $1b, 5 - db $31, 6 - db $02, 5 - db $28, 13 - db $27, 13 - db $00, 0 - -; BattleTowerTrainerData table 64: - db $41, 8 - db $0b, 6 - db $37, 3 - db $08, 6 - db $20, 4 - db $3b, 13 - db $15, 2 - db $16, 6 - db $26, 7 - db $13, 12 - db $33, 8 - db $32, 13 - db $2d, 7 - db $00, 5 - db $35, 3 - db $0b, 4 - db $28, 6 - db $06, 5 - -; BattleTowerTrainerData table 65: - db $0c, 8 - db $2c, 4 - db $1c, 11 - db $06, 7 - db $0a, 13 - db $03, 5 - db $30, 6 - db $06, 7 - db $00, 5 - db $2c, 4 - db $20, 6 - db $24, 7 - db $30, 6 - db $0b, 7 - db $00, 5 - db $2c, 4 - db $20, 6 - db $22, 7 - -; BattleTowerTrainerData table 66: - db $22, 12 - db $22, 12 - db $0a, 9 - db $04, 11 - db $02, 7 - db $27, 6 - db $0f, 12 - db $0a, 10 - db $22, 6 - db $02, 7 - db $27, 6 - db $04, 5 - db $3a, 6 - db $0e, 10 - db $22, 6 - db $05, 8 - db $02, 7 - db $04, 5 - -; BattleTowerTrainerData table 67: - db $2d, 11 - db $02, 8 - db $37, 13 - db $10, 5 - db $29, 7 - db $03, 5 - db $20, 14 - db $0e, 14 - db $0d, 6 - db $42, 7 - db $30, 8 - db $28, 6 - db $10, 5 - db $04, 5 - db $04, 5 - db $10, 5 - db $10, 5 - db $04, 5 - -; BattleTowerTrainerData table 68: - db $3f, 3 - db $16, 14 - db $3f, 8 - db $0b, 13 - db $2f, 8 - db $41, 13 - db $34, 5 - db $00, 5 - db $02, 3 - db $3a, 6 - db $31, 7 - db $31, 13 - db $21, 14 - db $03, 5 - db $3f, 3 - db $16, 14 - db $26, 7 - db $03, 5 - -; BattleTowerTrainerData table 69: - db $3a, 6 - db $2c, 3 - db $12, 3 - db $17, 12 - db $28, 11 - db $06, 13 - db $3a, 6 - db $17, 12 - db $23, 11 - db $0d, 6 - db $2f, 8 - db $22, 13 - db $14, 7 - db $04, 5 - db $17, 12 - db $1c, 11 - db $1b, 7 - db $00, 5 - -; BattleTowerTrainerData table 70: - db $1b, 2 - db $00, 5 - db $0c, 8 - db $2c, 4 - db $23, 11 - db $32, 13 - db $2b, 7 - db $1f, 4 - db $3b, 13 - db $09, 7 - db $09, 7 - db $00, 5 - db $26, 5 - db $00, 5 - db $3f, 3 - db $22, 7 - db $d1, 0 - db $32, 13 - - assert_table_length BATTLETOWER_NUM_UNIQUE_TRAINERS diff --git a/data/battle_tower/unknown_levels.asm b/data/battle_tower/unknown_levels.asm deleted file mode 100644 index 84698436d..000000000 --- a/data/battle_tower/unknown_levels.asm +++ /dev/null @@ -1,36 +0,0 @@ -Unknown_170470: - db $12 - db $24 - db $45 - db $45 - db $42 - db $42 - db $45 - db $42 - db $27 - db $27 - db $45 - db $27 - db $42 - db $24 -.end - -Unknown_17047e: - db $03, 4 - db $05, 8 - db $03, 5 - db $0e, 6 - db $03, 2 - db $00, 0 - db $39, 7 - db $07, 4 - db $00, 5 - db $04, 7 - db $01, 5 - db $00, 0 - db $0f, 5 - db $14, 7 - db $05, 5 - db $11, 12 - db $0c, 6 - db $06, 4 diff --git a/data/decorations/mystery_gift_decos.asm b/data/decorations/mystery_gift_decos.asm deleted file mode 100644 index 3b75c0a58..000000000 --- a/data/decorations/mystery_gift_decos.asm +++ /dev/null @@ -1,39 +0,0 @@ -MysteryGiftDecos: - db DECOFLAG_PIKACHU_DOLL - db DECOFLAG_BULBASAUR_DOLL - db DECOFLAG_CHARMANDER_DOLL - db DECOFLAG_SQUIRTLE_DOLL - db DECOFLAG_POLIWAG_DOLL - db DECOFLAG_DIGLETT_DOLL - db DECOFLAG_STARMIE_DOLL - db DECOFLAG_MAGIKARP_DOLL - db DECOFLAG_ODDISH_DOLL - db DECOFLAG_GENGAR_DOLL - db DECOFLAG_CLEFAIRY_POSTER - db DECOFLAG_JIGGLYPUFF_POSTER - db DECOFLAG_SNES - db DECOFLAG_SHELLDER_DOLL - db DECOFLAG_VOLTORB_DOLL - db DECOFLAG_WEEDLE_DOLL - db DECOFLAG_MAGNAPLANT - db DECOFLAG_TROPICPLANT - db DECOFLAG_FAMICOM - db DECOFLAG_N64 - db DECOFLAG_SURF_PIKACHU_DOLL - db DECOFLAG_JIGGLYPUFF_DOLL - db DECOFLAG_PINK_BED - db DECOFLAG_POLKADOT_BED - db DECOFLAG_RED_CARPET - db DECOFLAG_BLUE_CARPET - db DECOFLAG_YELLOW_CARPET - db DECOFLAG_GREEN_CARPET - db DECOFLAG_JUMBOPLANT - db DECOFLAG_VIRTUAL_BOY - db DECOFLAG_MACHOP_DOLL - db DECOFLAG_PIKACHU_POSTER - db DECOFLAG_TENTACOOL_DOLL - db DECOFLAG_BIG_ONIX_DOLL - db DECOFLAG_PIKACHU_BED - db DECOFLAG_GRIMER_DOLL - db DECOFLAG_UNOWN_DOLL -.End diff --git a/data/events/odd_eggs.asm b/data/events/odd_eggs.asm deleted file mode 100644 index c79d29666..000000000 --- a/data/events/odd_eggs.asm +++ /dev/null @@ -1,403 +0,0 @@ -DEF NUM_ODD_EGGS EQU 14 - -MACRO prob - DEF prob_total += \1 - dw prob_total * $ffff / 100 -ENDM - -OddEggProbabilities: -; entries correspond to OddEggs (below) - table_width 2, OddEggProbabilities -DEF prob_total = 0 -; Pichu - prob 8 - prob 1 -; Cleffa - prob 16 - prob 3 -; Igglybuff - prob 16 - prob 3 -; Smoochum - prob 14 - prob 2 -; Magby - prob 10 - prob 2 -; Elekid - prob 12 - prob 2 -; Tyrogue - prob 10 - prob 1 - assert_table_length NUM_ODD_EGGS - assert prob_total == 100, "OddEggProbabilities do not sum to 100%!" - -OddEggs: - table_width NICKNAMED_MON_STRUCT_LENGTH, OddEggs - - db PICHU - db NO_ITEM - db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0 - dw 02048 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 30, 20, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 17 ; Max HP - bigdw 9 ; Atk - bigdw 6 ; Def - bigdw 11 ; Spd - bigdw 8 ; SAtk - bigdw 8 ; SDef - db "EGG@@@@@@@@" - - db PICHU - db NO_ITEM - db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0 - dw 00256 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 30, 20, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 17 ; Max HP - bigdw 9 ; Atk - bigdw 7 ; Def - bigdw 12 ; Spd - bigdw 9 ; SAtk - bigdw 9 ; SDef - db "EGG@@@@@@@@" - - db CLEFFA - db NO_ITEM - db POUND, CHARM, DIZZY_PUNCH, 0 - dw 04096 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 35, 20, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 20 ; Max HP - bigdw 7 ; Atk - bigdw 7 ; Def - bigdw 6 ; Spd - bigdw 9 ; SAtk - bigdw 10 ; SDef - db "EGG@@@@@@@@" - - db CLEFFA - db NO_ITEM - db POUND, CHARM, DIZZY_PUNCH, 0 - dw 00768 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 35, 20, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 20 ; Max HP - bigdw 7 ; Atk - bigdw 8 ; Def - bigdw 7 ; Spd - bigdw 10 ; SAtk - bigdw 11 ; SDef - db "EGG@@@@@@@@" - - db IGGLYBUFF - db NO_ITEM - db SING, CHARM, DIZZY_PUNCH, 0 - dw 04096 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 15, 20, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 24 ; Max HP - bigdw 8 ; Atk - bigdw 6 ; Def - bigdw 6 ; Spd - bigdw 9 ; SAtk - bigdw 7 ; SDef - db "EGG@@@@@@@@" - - db IGGLYBUFF - db NO_ITEM - db SING, CHARM, DIZZY_PUNCH, 0 - dw 00768 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 15, 20, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 24 ; Max HP - bigdw 8 ; Atk - bigdw 7 ; Def - bigdw 7 ; Spd - bigdw 10 ; SAtk - bigdw 8 ; SDef - db "EGG@@@@@@@@" - - db SMOOCHUM - db NO_ITEM - db POUND, LICK, DIZZY_PUNCH, 0 - dw 03584 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 35, 30, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 19 ; Max HP - bigdw 8 ; Atk - bigdw 6 ; Def - bigdw 11 ; Spd - bigdw 13 ; SAtk - bigdw 11 ; SDef - db "EGG@@@@@@@@" - - db SMOOCHUM - db NO_ITEM - db POUND, LICK, DIZZY_PUNCH, 0 - dw 00512 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 35, 30, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 19 ; Max HP - bigdw 8 ; Atk - bigdw 7 ; Def - bigdw 12 ; Spd - bigdw 14 ; SAtk - bigdw 12 ; SDef - db "EGG@@@@@@@@" - - db MAGBY - db NO_ITEM - db EMBER, DIZZY_PUNCH, 0, 0 - dw 02560 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 25, 10, 0, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 19 ; Max HP - bigdw 12 ; Atk - bigdw 8 ; Def - bigdw 13 ; Spd - bigdw 12 ; SAtk - bigdw 10 ; SDef - db "EGG@@@@@@@@" - - db MAGBY - db NO_ITEM - db EMBER, DIZZY_PUNCH, 0, 0 - dw 00512 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 25, 10, 0, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 19 ; Max HP - bigdw 12 ; Atk - bigdw 9 ; Def - bigdw 14 ; Spd - bigdw 13 ; SAtk - bigdw 11 ; SDef - db "EGG@@@@@@@@" - - db ELEKID - db NO_ITEM - db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0 - dw 03072 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 30, 30, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 19 ; Max HP - bigdw 11 ; Atk - bigdw 8 ; Def - bigdw 14 ; Spd - bigdw 11 ; SAtk - bigdw 10 ; SDef - db "EGG@@@@@@@@" - - db ELEKID - db NO_ITEM - db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0 - dw 00512 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 30, 30, 10, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 19 ; Max HP - bigdw 11 ; Atk - bigdw 9 ; Def - bigdw 15 ; Spd - bigdw 12 ; SAtk - bigdw 11 ; SDef - db "EGG@@@@@@@@" - - db TYROGUE - db NO_ITEM - db TACKLE, DIZZY_PUNCH, 0, 0 - dw 02560 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 0, 0, 0, 0 ; DVs - db 35, 10, 0, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 18 ; Max HP - bigdw 8 ; Atk - bigdw 8 ; Def - bigdw 8 ; Spd - bigdw 8 ; SAtk - bigdw 8 ; SDef - db "EGG@@@@@@@@" - - db TYROGUE - db NO_ITEM - db TACKLE, DIZZY_PUNCH, 0, 0 - dw 00256 ; OT ID - dt 125 ; Exp - ; Stat exp - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - bigdw 0 - dn 2, 10, 10, 10 ; DVs - db 35, 10, 0, 0 ; PP - db 20 ; Step cycles to hatch - db 0, 0, 0 ; Pokerus, Caught data - db 5 ; Level - db 0, 0 ; Status - bigdw 0 ; HP - bigdw 18 ; Max HP - bigdw 8 ; Atk - bigdw 9 ; Def - bigdw 9 ; Spd - bigdw 9 ; SAtk - bigdw 9 ; SDef - db "EGG@@@@@@@@" - - assert_table_length NUM_ODD_EGGS diff --git a/data/events/special_pointers.asm b/data/events/special_pointers.asm index 36fa6d14c..a3ea2269b 100644 --- a/data/events/special_pointers.asm +++ b/data/events/special_pointers.asm @@ -26,9 +26,6 @@ SpecialsPointers:: add_special Colosseum add_special TimeCapsule add_special CableClubCheckWhichChris - add_special CheckMysteryGift - add_special GetMysteryGiftItem - add_special UnlockMysteryGift ; Map events add_special BugContestJudging @@ -114,7 +111,6 @@ SpecialsPointers:: add_special PlayCurMonCry add_special ProfOaksPCBoot add_special GameboyCheck - add_special TrainerHouse add_special PhotoStudio add_special InitRoamMons add_special FadeOutMusic @@ -122,40 +118,11 @@ SpecialsPointers:: add_special PrintDiploma ; Crystal only - add_special Function11ac3e - add_special TradeCornerHoldMon - add_special Function11b5e8 - add_special Function11b7e5 - add_special Function11b879 - add_special Function11b920 - add_special Function11b93b - add_special BattleTowerRoomMenu - add_special Function1700ba - add_special Function170114 - add_special BattleTowerBattle - add_special Function1704e1 - add_special UnusedBattleTowerDummySpecial1 - add_special LoadOpponentTrainerAndPokemonWithOTSprite - add_special Function11ba38 - add_special CheckForBattleTowerRules - add_special GiveOddEgg add_special Reset ; bank 0 - add_special Function1011f1 - add_special Function101220 - add_special Function101225 - add_special Function101231 add_special MoveTutor add_special OmanyteChamber - add_special Function11c1ab - add_special BattleTowerAction add_special DisplayUnownWords - add_special Menu_ChallengeExplanationCancel - add_special Function17d2b6 - add_special Function17d2ce - add_special BattleTowerMobileError - add_special AskMobileOrCable add_special HoOhChamber - add_special Function102142 add_special CelebiShrineEvent add_special CheckCaughtCelebi add_special PokeSeer @@ -166,19 +133,9 @@ SpecialsPointers:: add_special BeastsCheck add_special MonCheck add_special SetPlayerPalette - add_special UnusedBattleTowerDummySpecial2 - add_special Mobile_SelectThreeMons - add_special Function1037eb - add_special Function10383c - add_special StubbedTrainerRankings_Healings add_special RefreshSprites - add_special Function1037c2 - add_special Mobile_DummyReturnFalse - add_special Function103780 - add_special Function10387b add_special AskRememberPassword add_special LoadMapPalettes - add_special UnusedFindItemInPCOrBag add_special InitialSetDSTFlag add_special InitialClearDSTFlag diff --git a/data/items/mystery_gift_items.asm b/data/items/mystery_gift_items.asm deleted file mode 100644 index 242035eac..000000000 --- a/data/items/mystery_gift_items.asm +++ /dev/null @@ -1,39 +0,0 @@ -MysteryGiftItems: - db BERRY - db PRZCUREBERRY - db MINT_BERRY - db ICE_BERRY - db BURNT_BERRY - db PSNCUREBERRY - db GUARD_SPEC - db X_DEFEND - db X_ATTACK - db BITTER_BERRY - db DIRE_HIT - db X_SPECIAL - db X_ACCURACY - db EON_MAIL - db MORPH_MAIL - db MUSIC_MAIL - db MIRACLEBERRY - db GOLD_BERRY - db REVIVE - db GREAT_BALL - db SUPER_REPEL - db MAX_REPEL - db ELIXER - db ETHER - db WATER_STONE - db FIRE_STONE - db LEAF_STONE - db THUNDERSTONE - db MAX_ETHER - db MAX_ELIXER - db MAX_REVIVE - db SCOPE_LENS - db HP_UP - db PP_UP - db RARE_CANDY - db BLUESKY_MAIL - db MIRAGE_MAIL -.End diff --git a/data/party_menu_qualities.asm b/data/party_menu_qualities.asm index 01141236a..bc0e26401 100644 --- a/data/party_menu_qualities.asm +++ b/data/party_menu_qualities.asm @@ -8,7 +8,6 @@ const PARTYMENUQUALITY_TMHM_COMPAT const PARTYMENUQUALITY_EVO_STONE_COMPAT const PARTYMENUQUALITY_GENDER - const PARTYMENUQUALITY_MOBILE_SELECTION MACRO partymenuqualities rept _NARG @@ -30,11 +29,9 @@ PartyMenuQualityPointers: dw .Gender ; PARTYMENUACTION_GIVE_MON dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE dw .Default ; PARTYMENUACTION_GIVE_ITEM - dw .Mobile ; PARTYMENUACTION_MOBILE assert_table_length NUM_PARTYMENUACTIONS .Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS .TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS .EvoStone: partymenuqualities NICKNAMES, EVO_STONE_COMPAT, LEVEL, STATUS .Gender: partymenuqualities NICKNAMES, GENDER, LEVEL, STATUS -.Mobile: partymenuqualities NICKNAMES, MOBILE_SELECTION, LEVEL, STATUS diff --git a/data/text/common_2.asm b/data/text/common_2.asm index 1b41fced3..7d4185564 100644 --- a/data/text/common_2.asm +++ b/data/text/common_2.asm @@ -213,85 +213,6 @@ _ReceivedTMHMText:: text "!" prompt -_MysteryGiftCanceledText:: - text "The link has been" - line "cancelled." - prompt - -_MysteryGiftCommErrorText:: - text "Communication" - line "error." - prompt - -_RetrieveMysteryGiftText:: - text "Must retrieve GIFT" - line "at #MON CENTER." - prompt - -_YourFriendIsNotReadyText:: - text "Your friend isn't" - line "ready." - prompt - -_MysteryGiftFiveADayText:: - text "Sorry--only five" - line "GIFTS a day." - prompt - -_MysteryGiftOneADayText:: - text "Sorry. One GIFT" - line "a day per person." - prompt - -_MysteryGiftSentText:: - text_ram wMysteryGiftPartnerName - text " sent" - line "@" - text_ram wStringBuffer1 - text "." - prompt - -_MysteryGiftSentHomeText:: - text_ram wMysteryGiftPartnerName - text " sent" - line "@" - text_ram wStringBuffer1 - text_start - cont "to @" - text_ram wMysteryGiftPlayerName - text "'s home." - prompt - -_NameCardReceivedCardText:: - text "Received" - line "@" - text_ram wMysteryGiftCardHolderName - text "'s CARD." - prompt - -_NameCardListedCardText:: - text_ram wMysteryGiftCardHolderName - text "'s CARD was" - line "listed as no.@" - text_decimal wTextDecimalByte, 1, 2 - text "." - prompt - -_NameCardNotRegisteredCardText:: - text "The CARD was not" - line "registered." - prompt - -_NameCardLinkCancelledText:: - text "The link has been" - line "cancelled." - prompt - -_NameCardLinkCommErrorText:: - text "Communication" - line "error." - prompt - _BadgeRequiredText:: text "Sorry! A new BADGE" line "is required." @@ -890,29 +811,6 @@ _MailMovedFromBoxText:: line "from the MAILBOX." prompt -_YesPromptText:: ; unreferenced - text "Yes" - prompt - -_NoPromptText:: ; unreferenced - text "No" - prompt - -_AnimationTypeText:: ; unreferenced - text_decimal wcf64, 1, 3 - text " @" - text_ram wStringBuffer1 - text_start - line "Animation type @" - text_ram wStringBuffer2 - text_end - - text_end ; unreferenced - -_MonNumberText:: ; unreferenced - text "#MON number?" - done - _WasSentToBillsPCText:: text_ram wStringBuffer1 text " was" diff --git a/data/text/common_3.asm b/data/text/common_3.asm index 0d2224f37..f63d93015 100644 --- a/data/text/common_3.asm +++ b/data/text/common_3.asm @@ -79,111 +79,6 @@ _LinkAskTradeForText:: text "?" done -_MobileBattleMustPickThreeMonText:: - text "To enter a mobile" - line "battle, you must" - - para "pick a team of" - line "three #MON." - - para "Is that OK?" - done - -_MobileBattleMoreInfoText:: - text "Need more info on" - line "mobile battles?" - done - -_MobileBattleRulesText:: - text "For a mobile" - line "battle, choose" - cont "three #MON." - - para "The maximum daily" - line "play time is ten" - - para "minutes for each" - line "linked player." - - para "If a battle isn't" - line "finished within" - - para "the time limit," - line "the player with" - - para "the fewest fainted" - line "#MON wins." - - para "If tied, the team" - line "that lost the" - - para "least amount of HP" - line "wins." - done - -_WouldYouLikeToMobileBattleText:: - text "Today's remaining" - line "time is @" - text_decimal wStringBuffer2, 1, 2 - text " min." - - para "Would you like to" - line "battle?" - done - -_WantAQuickMobileBattleText:: - text "There are only @" - text_decimal wStringBuffer2, 1, 2 - text_start - line "min. left today." - - para "Want a quick" - line "battle?" - done - -_WantToRushThroughAMobileBattleText:: - text "There is only" - line "1 min. left today!" - - para "Want to rush" - line "through a battle?" - done - -_PleaseTryAgainTomorrowText:: - text "There is less than" - line "1 min. left today!" - - para "Please try again" - line "tomorrow." - done - -_TryAgainUsingSameSettingsText:: - text "Try again using" - line "the same settings?" - done - -_MobileBattleLessThanOneMinuteLeftText:: - text "There is less than" - line "1 min. left today!" - done - -_MobileBattleNoTimeLeftForLinkingText:: - text "No time left for" - line "linking today." - done - -_PickThreeMonForMobileBattleText:: - text "Pick three #MON" - line "for battle." - done - -_MobileBattleRemainingTimeText:: - text "Today's remaining" - line "time is @" - text_decimal wStringBuffer2, 1, 2 - text " min." - done - _WouldYouLikeToSaveTheGameText:: text "Would you like to" line "save the game?" @@ -715,30 +610,6 @@ _SlotsDarnText:: text "Darn!" done -_MobileStadiumEntryText:: - text "Data for use in" - line "the MOBILE STADIUM" - - para "of the N64 #MON" - line "STADIUM 2 can be" - cont "read here." - - para "Read the data?" - done - -_MobileStadiumSuccessText:: - text "Data transfer is" - line "complete." - - para "We hope you enjoy" - line "MOBILE STADIUM" - - para "battles in the N64" - line "#MON STADIUM 2." - - para "" - done - _MainMenuTimeUnknownText:: text "Clock time unknown" done @@ -753,131 +624,6 @@ _DeletedTheLoginPasswordText:: line "PASSWORD." done -_MobilePickThreeMonForBattleText:: - text "Pick three #MON" - line "for battle." - prompt - -_MobileUseTheseThreeMonText:: - text_ram wMobileParticipant1Nickname - text "," - line "@" - text_ram wMobileParticipant2Nickname - text " and" - cont "@" - text_ram wMobileParticipant3Nickname - text "." - - para "Use these three?" - done - -_MobileOnlyThreeMonMayEnterText:: - text "Only three #MON" - line "may enter." - prompt - -_MobileCardFolderIntro1Text:: - text "The CARD FOLDER" - line "stores your and" - - para "your friends'" - line "CARDS." - - para "A CARD contains" - line "information like" - - para "the person's name," - line "phone number and" - cont "profile." - - para "" - done - -_MobileCardFolderIntro2Text:: - text "This is your CARD." - - para "Once you've" - line "entered your phone" - - para "number, you can" - line "trade CARDS with" - cont "your friends." - - para "" - done - -_MobileCardFolderIntro3Text:: - text "If you have your" - line "friend's CARD, you" - - para "can use it to make" - line "a call from a" - - para "mobile phone on" - line "the 2nd floor of a" - cont "#MON CENTER." - - para "" - done - -_MobileCardFolderIntro4Text:: - text "To safely store" - line "your collection of" - - para "CARDS, you must" - line "set a PASSCODE for" - cont "your CARD FOLDER." - - para "" - done - -_MobileCardFolderAskDeleteText:: - text "If the CARD FOLDER" - line "is deleted, all" - - para "its CARDS and the" - line "PASSCODE will also" - cont "be deleted." - - para "Beware--a deleted" - line "CARD FOLDER can't" - cont "be restored." - - para "Want to delete" - line "your CARD FOLDER?" - done - -_MobileCardFolderDeleteAreYouSureText:: - text "Are you sure you" - line "want to delete it?" - done - -_MobileCardFolderDeletedText:: - text "The CARD FOLDER" - line "has been deleted." - - para "" - done - -_MobileCardFolderAskOpenOldText:: - text "There is an older" - line "CARD FOLDER from a" - cont "previous journey." - - para "Do you want to" - line "open it?" - done - -_MobileCardFolderAskDeleteOldText:: - text "Delete the old" - line "CARD FOLDER?" - done - -_MobileCardFolderFinishRegisteringCardsText:: - text "Finish registering" - line "CARDS?" - done - _PhoneWrongNumberText:: text "Huh? Sorry, wrong" line "number!" diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index 74c5304ee..6a5fbcb34 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -65,20 +65,11 @@ DoBattleTransition: ret .InitGFX: - ld a, [wLinkMode] - cp LINK_MOBILE - jr z, .mobile farcall ReanchorBGMap_NoOAMUpdate call UpdateSprites call DelayFrame - call .NonMobile_LoadPokeballTiles + call .LoadPokeballTiles call BattleStart_CopyTilemapAtOnce - jr .resume - -.mobile - call LoadTrainerBattlePokeballTiles - -.resume ld a, SCREEN_HEIGHT_PX ldh [hWY], a call DelayFrame @@ -92,7 +83,7 @@ DoBattleTransition: call WipeLYOverrides ret -.NonMobile_LoadPokeballTiles: +.LoadPokeballTiles: call LoadTrainerBattlePokeballTiles hlbgcoord 0, 0 call ConvertTrainerBattlePokeballTilesTo2bpp diff --git a/engine/battle/check_battle_scene.asm b/engine/battle/check_battle_scene.asm index b7add8237..a2129df34 100644 --- a/engine/battle/check_battle_scene.asm +++ b/engine/battle/check_battle_scene.asm @@ -1,12 +1,5 @@ CheckBattleScene: ; Return carry if battle scene is turned off. - - ld a, BANK(wLinkMode) - ld hl, wLinkMode - call GetFarWRAMByte - cp LINK_MOBILE - jr z, .mobile - ld a, [wOptions] bit BATTLE_SCENE, a jr nz, .off @@ -14,34 +7,6 @@ CheckBattleScene: and a ret -.mobile - ld a, [wcd2f] - and a - jr nz, .from_wram - - ld a, BANK(s4_a60c) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - ld a, [s4_a60c] - ld c, a - call CloseSRAM - - ld a, c - bit 0, c - jr z, .off - - and a - ret - -.from_wram - ld a, BANK(w5_dc00) - ld hl, w5_dc00 - call GetFarWRAMByte - bit 0, a - jr z, .off - - and a - ret - .off scf ret diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 7d46f22c0..596895464 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -130,23 +130,12 @@ WildFled_EnemyFled_LinkBattleCanceled: and BATTLERESULT_BITMASK ld [wBattleResult], a ; WIN ld hl, BattleText_EnemyFled - call CheckMobileBattleError - jr nc, .print_text - - ld hl, wcd2a - bit 4, [hl] - jr nz, .skip_text - - ld hl, BattleText_LinkErrorBattleCanceled .print_text call StdBattleTextbox .skip_text call StopDangerSound - call CheckMobileBattleError - jr c, .skip_sfx - ld de, SFX_RUN call PlaySFX @@ -158,7 +147,6 @@ WildFled_EnemyFled_LinkBattleCanceled: BattleTurn: .loop - call Stubbed_Increments5_a89a call CheckContestBattleOver jp c, .quit @@ -175,14 +163,6 @@ BattleTurn: call UpdateBattleMonInParty farcall AIChooseMove - call IsMobileBattle - jr nz, .not_disconnected - farcall Function100da5 - farcall StartMobileInactivityTimer - farcall Function100dd8 - jp c, .quit -.not_disconnected - call CheckPlayerLockedIn jr c, .skip_iteration .loop1 @@ -208,9 +188,6 @@ BattleTurn: .false call Battle_PlayerFirst .proceed - call CheckMobileBattleError - jr c, .quit - ld a, [wForcedSwitch] and a jr nz, .quit @@ -228,24 +205,6 @@ BattleTurn: .quit ret -Stubbed_Increments5_a89a: - ret - ld a, BANK(s5_a89a) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - ld hl, s5_a89a + 1 ; address of MBC30 bank - inc [hl] - jr nz, .finish - dec hl - inc [hl] - jr nz, .finish - dec [hl] - inc hl - dec [hl] - -.finish - call CloseSRAM - ret - HandleBetweenTurnEffects: ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK @@ -874,8 +833,6 @@ Battle_EnemyFirst: callfar AI_SwitchOrTryItem jr c, .switch_item call EnemyTurn_EndOpponentProtectEndureDestinyBond - call CheckMobileBattleError - ret c ld a, [wForcedSwitch] and a ret nz @@ -890,8 +847,6 @@ Battle_EnemyFirst: jp z, HandleEnemyMonFaint call RefreshBattleHuds call PlayerTurn_EndOpponentProtectEndureDestinyBond - call CheckMobileBattleError - ret c ld a, [wForcedSwitch] and a ret nz @@ -918,8 +873,6 @@ Battle_PlayerFirst: ld a, [wForcedSwitch] and a ret nz - call CheckMobileBattleError - ret c call HasEnemyFainted jp z, HandleEnemyMonFaint call HasPlayerFainted @@ -937,8 +890,6 @@ Battle_PlayerFirst: call TryEnemyFlee jp c, WildFled_EnemyFled_LinkBattleCanceled call EnemyTurn_EndOpponentProtectEndureDestinyBond - call CheckMobileBattleError - ret c ld a, [wForcedSwitch] and a ret nz @@ -2048,8 +1999,6 @@ HandleEnemyMonFaint: .dont_flee call ForcePlayerMonChoice - call CheckMobileBattleError - jp c, WildFled_EnemyFled_LinkBattleCanceled ld a, BATTLEPLAYERACTION_USEITEM ld [wBattlePlayerAction], a @@ -2356,16 +2305,10 @@ WinTrainerBattle: ld hl, BattleText_EnemyWasDefeated call StdBattleTextbox - call IsMobileBattle - jr z, .mobile ld a, [wLinkMode] and a ret nz - ld a, [wInBattleTowerBattle] - bit 0, a - jr nz, .battle_tower - call BattleWinSlideInEnemyTrainerFrontpic ld c, 40 call DelayFrames @@ -2384,32 +2327,6 @@ WinTrainerBattle: jp .give_money -.mobile - call BattleWinSlideInEnemyTrainerFrontpic - ld c, 40 - call DelayFrames - ld c, $4 ; win - farcall Mobile_PrintOpponentBattleMessage - ret - -.battle_tower - call BattleWinSlideInEnemyTrainerFrontpic - ld c, 40 - call DelayFrames - call EmptyBattleTextbox - ld c, BATTLETOWERTEXT_LOSS_TEXT - farcall BattleTowerText - call WaitPressAorB_BlinkCursor - ld hl, wPayDayMoney - ld a, [hli] - or [hl] - inc hl - or [hl] - ret nz - call ClearTilemap - call ClearBGPalettes - ret - .give_money ld a, [wAmuletCoin] and a @@ -2521,7 +2438,6 @@ AddBattleMoneyToAccount: push bc ld b, h ld c, l - farcall StubbedTrainerRankings_AddToBattlePayouts pop bc pop hl .loop @@ -2636,8 +2552,6 @@ HandlePlayerMonFaint: .switch call ForcePlayerMonChoice - call CheckMobileBattleError - jp c, WildFled_EnemyFled_LinkBattleCanceled ld a, c and a ret nz @@ -2729,14 +2643,11 @@ ForcePlayerMonChoice: .skip_link xor a ; BATTLEPLAYERACTION_USEMOVE ld [wBattlePlayerAction], a - call CheckMobileBattleError - jr c, .enemy_fainted_mobile_error ld hl, wEnemyMonHP ld a, [hli] or [hl] jr nz, .send_out_pokemon -.enemy_fainted_mobile_error call ClearSprites call ClearBGPalettes call _LoadHPBar @@ -2794,28 +2705,6 @@ PlayerPartyMonEntrance: call SetPlayerTurn jp SpikesDamage -CheckMobileBattleError: - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .not_mobile ; It's not a mobile battle - - ld a, [wcd2b] - and a - jr z, .not_mobile - -; We have a mobile battle and something else happened - scf - ret - -.not_mobile - xor a - ret - -IsMobileBattle: - ld a, [wLinkMode] - cp LINK_MOBILE - ret - SetUpBattlePartyMenu: call ClearBGPalettes SetUpBattlePartyMenu_Loop: ; switch to fullscreen menu? @@ -2834,15 +2723,9 @@ JumpToPartyMenuAndPrintText: ret SelectBattleMon: - call IsMobileBattle - jr z, .mobile farcall PartyMenuSelect ret -.mobile - farcall Mobile_PartyMenuSelect - ret - PickPartyMonInBattle: .loop ld a, PARTYMENUACTION_SWITCH ; Which PKMN? @@ -2876,8 +2759,6 @@ ForcePickPartyMonInBattle: .pick call PickPartyMonInBattle ret nc - call CheckMobileBattleError - ret c ld de, SFX_WRONG call PlaySFX @@ -2898,8 +2779,6 @@ ForcePickSwitchMonInBattle: .pick call ForcePickPartyMonInBattle - call CheckMobileBattleError - ret c call SwitchMonAlreadyOut jr c, .pick @@ -2910,10 +2789,6 @@ LostBattle: ld a, 1 ld [wBattleEnded], a - ld a, [wInBattleTowerBattle] - bit 0, a - jr nz, .battle_tower - ld a, [wBattleType] cp BATTLETYPE_CANLOSE jr nz, .not_canlose @@ -2934,24 +2809,6 @@ LostBattle: .skip_win_loss_text ret -.battle_tower -; Remove the enemy from the screen. - hlcoord 0, 0 - lb bc, 8, 21 - call ClearBox - call BattleWinSlideInEnemyTrainerFrontpic - - ld c, 40 - call DelayFrames - - call EmptyBattleTextbox - ld c, BATTLETOWERTEXT_WIN_TEXT - farcall BattleTowerText - call WaitPressAorB_BlinkCursor - call ClearTilemap - call ClearBGPalettes - ret - .not_canlose ld a, [wLinkMode] and a @@ -2976,8 +2833,6 @@ LostBattle: .not_tied ld hl, LostAgainstText - call IsMobileBattle - jr z, .mobile .text call StdBattleTextbox @@ -2986,21 +2841,6 @@ LostBattle: scf ret -.mobile -; Remove the enemy from the screen. - hlcoord 0, 0 - lb bc, 8, 21 - call ClearBox - call BattleWinSlideInEnemyTrainerFrontpic - - ld c, 40 - call DelayFrames - - ld c, $3 ; lost - farcall Mobile_PrintOpponentBattleMessage - scf - ret - EnemyMonFaintedAnimation: hlcoord 12, 5 decoord 12, 6 @@ -3817,8 +3657,6 @@ TryToRunAwayFromBattle: ld [wCurPlayerMove], a call LinkBattleSendReceiveAction call SafeLoadTempTilemapToTilemap - call CheckMobileBattleError - jr c, .mobile ; Got away safely ld a, [wBattleAction] @@ -3845,20 +3683,6 @@ TryToRunAwayFromBattle: scf ret -.mobile - call StopDangerSound - ld hl, wcd2a - bit 4, [hl] - jr nz, .skip_link_error - ld hl, BattleText_LinkErrorBattleCanceled - call StdBattleTextbox - -.skip_link_error - call WaitSFX - call LoadTilemapToTempTilemap - scf - ret - InitBattleMon: ld a, MON_SPECIES call GetPartyParamLocation @@ -4924,39 +4748,16 @@ BattleMenu_Fight: ret LoadBattleMenu2: - call IsMobileBattle - jr z, .mobile farcall LoadBattleMenu and a ret -.mobile - farcall Mobile_LoadBattleMenu - ld a, [wcd2b] - and a - ret z - - ld hl, wcd2a - bit 4, [hl] - jr nz, .error - ld hl, BattleText_LinkErrorBattleCanceled - call StdBattleTextbox - ld c, 60 - call DelayFrames -.error - scf - ret - BattleMenu_Pack: ld a, [wLinkMode] and a jp nz, .ItemsCantBeUsed - ld a, [wInBattleTowerBattle] - and a - jp nz, .ItemsCantBeUsed - call LoadStandardMenuHeader ld a, [wBattleType] @@ -5076,14 +4877,10 @@ BattleMenuPKMN_Loop: jr .loop .PressedB: - call CheckMobileBattleError - jr c, .Cancel jr BattleMenuPKMN_Loop .Stats: call Battle_StatsScreen - call CheckMobileBattleError - jr c, .Cancel jp BattleMenuPKMN_ReturnFromStats .Cancel: @@ -5098,15 +4895,9 @@ BattleMenuPKMN_Loop: jp BattleMenu .GetMenu: - call IsMobileBattle - jr z, .mobile farcall BattleMonMenu ret -.mobile - farcall MobileBattleMonMenu - ret - Battle_StatsScreen: call DisableLCD @@ -5321,12 +5112,6 @@ CheckAmuletCoin: ret MoveSelectionScreen: - call IsMobileBattle - jr nz, .not_mobile - farcall Mobile_MoveSelectionScreen - ret - -.not_mobile ld hl, wEnemyMonMoves ld a, [wMoveSelectionMenuType] dec a @@ -5639,7 +5424,6 @@ MoveInfoBox: ld b, 3 ld c, 9 call Textbox - call MobileTextBorder ld a, [wPlayerDisableCount] and a @@ -5709,11 +5493,6 @@ MoveInfoBox: .PrintPP: hlcoord 5, 11 - ld a, [wLinkMode] ; What's the point of this check? - cp LINK_MOBILE - jr c, .ok - hlcoord 5, 11 -.ok push hl ld de, wStringBuffer1 lb bc, 1, 2 @@ -5948,7 +5727,79 @@ CheckEnemyLockedIn: ret LinkBattleSendReceiveAction: - farcall _LinkBattleSendReceiveAction + call .StageForSend + ld [wLinkBattleSentAction], a + farcall PlaceWaitingText + call .LinkBattle_SendReceiveAction + ret + +.StageForSend: + ld a, [wBattlePlayerAction] + and a ; BATTLEPLAYERACTION_USEMOVE? + jr nz, .switch + ld a, [wCurPlayerMove] + ld b, BATTLEACTION_STRUGGLE + cp STRUGGLE + jr z, .struggle + ld b, BATTLEACTION_SKIPTURN + cp $ff + jr z, .struggle + ld a, [wCurMoveNum] + jr .use_move + +.switch + ld a, [wCurPartyMon] + add BATTLEACTION_SWITCH1 + jr .use_move + +.struggle + ld a, b + +.use_move + and $0f + ret + +.LinkBattle_SendReceiveAction: + ld a, [wLinkBattleSentAction] + ld [wPlayerLinkAction], a + ld a, $ff + ld [wOtherPlayerLinkAction], a +.waiting + call LinkTransfer + call DelayFrame + ld a, [wOtherPlayerLinkAction] + inc a + jr z, .waiting + + vc_hook Wireless_end_exchange + vc_patch Wireless_net_delay_3 +if DEF(_CRYSTAL11_VC) + ld b, 26 +else + ld b, 10 +endc + vc_patch_end +.receive + call DelayFrame + call LinkTransfer + dec b + jr nz, .receive + +if DEF(_CRYSTAL11_VC) + ld b, 26 +else + ld b, 10 +endc + vc_patch_end +.acknowledge + call DelayFrame + call LinkDataReceived + dec b + jr nz, .acknowledge + + vc_hook Wireless_end_send_zero_bytes + ld a, [wOtherPlayerLinkAction] + ld [wBattleAction], a ret LoadEnemyMon: @@ -5969,11 +5820,6 @@ LoadEnemyMon: and a jp nz, InitEnemyMon -; and also not in a BattleTower-Battle - ld a, [wInBattleTowerBattle] - bit 0, a - jp nz, InitEnemyMon - ; Make sure everything knows what species we're working with ld a, [wTempEnemyMonSpecies] ld [wEnemyMonSpecies], a @@ -6773,10 +6619,6 @@ BadgeStatBoosts: and a ret nz - ld a, [wInBattleTowerBattle] - and a - ret nz - ld a, [wJohtoBadges] ; Swap badges 3 (PlainBadge) and 5 (MineralBadge). @@ -6972,15 +6814,11 @@ FinishBattleAnim: GiveExperiencePoints: ; Give experience. -; Don't give experience if linked or in the Battle Tower. +; Don't give experience if linked. ld a, [wLinkMode] and a ret nz - ld a, [wInBattleTowerBattle] - bit 0, a - ret nz - call .EvenlyDivideExpAmongParticipants xor a ld [wCurPartyMon], a @@ -8036,7 +7874,6 @@ CallDoBattle: ; unreferenced ret BattleIntro: - farcall StubbedTrainerRankings_Battles ; mobile call LoadTrainerOrWildMonPic xor a ld [wTempBattleMonSpecies], a @@ -8117,7 +7954,6 @@ BackUpBGMap2: InitEnemyTrainer: ld [wTrainerClass], a - farcall StubbedTrainerRankings_TrainerBattles xor a ld [wTempEnemyMonSpecies], a callfar GetTrainerAttributes @@ -8173,7 +8009,6 @@ InitEnemyTrainer: InitEnemyWildmon: ld a, WILD_BATTLE ld [wBattleMode], a - farcall StubbedTrainerRankings_WildBattles call LoadEnemyMon ld hl, wEnemyMonMoves ld de, wWildMonMoves @@ -8341,16 +8176,9 @@ CheckPayDay: call AddBattleMoneyToAccount ld hl, BattleText_PlayerPickedUpPayDayMoney call StdBattleTextbox - ld a, [wInBattleTowerBattle] - bit 0, a - ret z - call ClearTilemap - call ClearBGPalettes ret ShowLinkBattleParticipantsAfterEnd: - farcall StubbedTrainerRankings_LinkBattles - farcall BackupMobileEventIndex ld a, [wCurOTMon] ld hl, wOTPartyMon1Status call GetPartyLocation @@ -8361,42 +8189,26 @@ ShowLinkBattleParticipantsAfterEnd: ret DisplayLinkBattleResult: - farcall CheckMobileBattleError - jp c, .Mobile_InvalidBattle - call IsMobileBattle2 - jr nz, .proceed - - ld hl, wcd2a - bit 4, [hl] - jr z, .proceed - - farcall DetermineLinkBattleResult - -.proceed ld a, [wBattleResult] and $f cp LOSE jr c, .win ; WIN jr z, .lose ; LOSE ; DRAW - farcall StubbedTrainerRankings_ColosseumDraws ld de, .Draw jr .store_result .win - farcall StubbedTrainerRankings_ColosseumWins ld de, .YouWin jr .store_result .lose - farcall StubbedTrainerRankings_ColosseumLosses ld de, .YouLose jr .store_result .store_result hlcoord 6, 8 call PlaceString - farcall BackupMobileEventIndex ld c, 200 call DelayFrames @@ -8408,18 +8220,10 @@ DisplayLinkBattleResult: call CloseSRAM - call IsMobileBattle2 - jr z, .mobile call WaitPressAorB_BlinkCursor call ClearTilemap ret -.mobile - ld c, 200 - call DelayFrames - call ClearTilemap - ret - .YouWin: db "YOU WIN@" .YouLose: @@ -8427,23 +8231,6 @@ DisplayLinkBattleResult: .Draw: db " DRAW@" -.Mobile_InvalidBattle: - hlcoord 6, 8 - ld de, .InvalidBattle - call PlaceString - ld c, 200 - call DelayFrames - call ClearTilemap - ret - -.InvalidBattle: - db "INVALID BATTLE@" - -IsMobileBattle2: - ld a, [wLinkMode] - cp LINK_MOBILE - ret - _DisplayLinkRecord: ld a, BANK(sLinkBattleStats) call OpenSRAM @@ -8907,7 +8694,6 @@ InitBattleDisplay: ld b, 4 ld c, 18 call Textbox - farcall MobileTextBorder hlcoord 1, 5 lb bc, 3, 7 call ClearBox @@ -9114,8 +8900,6 @@ BattleStartMessage: cp BATTLETYPE_FISH jr nz, .NotFishing - farcall StubbedTrainerRankings_HookedEncounters - ld hl, HookedPokemonAttackedText jr .PlaceBattleStartText @@ -9133,11 +8917,4 @@ BattleStartMessage: farcall BattleStart_TrainerHuds pop hl call StdBattleTextbox - - call IsMobileBattle2 - ret nz - - ld c, $2 ; start - farcall Mobile_PrintOpponentBattleMessage - ret diff --git a/engine/battle/move_effects/baton_pass.asm b/engine/battle/move_effects/baton_pass.asm index 29759f087..0540165a6 100644 --- a/engine/battle/move_effects/baton_pass.asm +++ b/engine/battle/move_effects/baton_pass.asm @@ -32,10 +32,6 @@ BattleCommand_BatonPass: call SetPalettes call BatonPass_LinkPlayerSwitch -; Mobile link battles handle entrances differently - farcall CheckMobileBattleError - jp c, EndMoveEffect - ld hl, PassedBattleMonEntrance call CallBattleCore @@ -55,10 +51,6 @@ BattleCommand_BatonPass: call AnimateCurrentMove call BatonPass_LinkEnemySwitch -; Mobile link battles handle entrances differently - farcall CheckMobileBattleError - jp c, EndMoveEffect - ; Passed enemy PartyMon entrance xor a ld [wEnemySwitchMonIndex], a diff --git a/engine/battle/move_effects/selfdestruct.asm b/engine/battle/move_effects/selfdestruct.asm index ef5e2e8f9..99976ab0d 100644 --- a/engine/battle/move_effects/selfdestruct.asm +++ b/engine/battle/move_effects/selfdestruct.asm @@ -1,5 +1,4 @@ BattleCommand_Selfdestruct: - farcall StubbedTrainerRankings_Selfdestruct ld a, BATTLEANIM_PLAYER_DAMAGE ld [wNumHits], a ld c, 3 diff --git a/engine/battle/move_effects/splash.asm b/engine/battle/move_effects/splash.asm index 493ea8ca6..1be307f84 100644 --- a/engine/battle/move_effects/splash.asm +++ b/engine/battle/move_effects/splash.asm @@ -1,4 +1,3 @@ BattleCommand_Splash: call AnimateCurrentMove - farcall StubbedTrainerRankings_Splash jp PrintNothingHappened diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index 238c316f6..30c7a951d 100644 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -1,8 +1,4 @@ ReadTrainerParty: - ld a, [wInBattleTowerBattle] - bit 0, a - ret nz - ld a, [wLinkMode] and a ret nz @@ -19,14 +15,6 @@ ReadTrainerParty: call ByteFill ld a, [wOtherTrainerClass] - cp CAL - jr nz, .not_cal2 - ld a, [wOtherTrainerID] - cp CAL2 - jr z, .cal2 - ld a, [wOtherTrainerClass] -.not_cal2 - dec a ld c, a ld b, 0 @@ -72,14 +60,6 @@ ReadTrainerParty: .done jp ComputeTrainerReward -.cal2 - ld a, BANK(sMysteryGiftTrainer) - call OpenSRAM - ld de, sMysteryGiftTrainer - call TrainerType2 - call CloseSRAM - jr .done - TrainerTypes: ; entries correspond to TRAINERTYPE_* constants dw TrainerType1 ; level, species @@ -333,24 +313,6 @@ Battle_GetTrainerName:: ld c, a GetTrainerName:: - ld a, c - cp CAL - jr nz, .not_cal2 - - ld a, BANK(sMysteryGiftTrainerHouseFlag) - call OpenSRAM - ld a, [sMysteryGiftTrainerHouseFlag] - and a - call CloseSRAM - jr z, .not_cal2 - - ld a, BANK(sMysteryGiftPartnerName) - call OpenSRAM - ld hl, sMysteryGiftPartnerName - call CopyTrainerName - jp CloseSRAM - -.not_cal2 dec c push bc ld b, 0 diff --git a/engine/events/battle_tower/battle_tower.asm b/engine/events/battle_tower/battle_tower.asm deleted file mode 100644 index 0891f81f4..000000000 --- a/engine/events/battle_tower/battle_tower.asm +++ /dev/null @@ -1,1592 +0,0 @@ -BattleTowerRoomMenu: -; special - call InitBattleTowerChallengeRAM - farcall _BattleTowerRoomMenu - ret - -Function1700ba: -; special - call InitBattleTowerChallengeRAM - farcall Function11811a - ret - -Function1700c4: - ldh a, [rSVBK] - push af - ld a, BANK(w3_d202TrainerData) ; aka BANK(w3_dffc) and BANK(w3_d202Name) - ldh [rSVBK], a - - call Function17042c - - ld a, BANK(s5_be45) ; aka BANK(s5_be46), BANK(s5_aa41), and BANK(s5_aa5d) - call OpenSRAM - ld a, 1 - ld [s5_be45], a - xor a - ld [s5_be46], a - ld hl, w3_dffc - ld de, s5_aa41 - ld bc, 4 - call CopyBytes - ld hl, w3_d202Name - ld de, s5_aa8e - ld bc, BATTLETOWER_STREAK_LENGTH * $cc ; length of battle tower struct from japanese games? - call CopyBytes - ld hl, s5_aa5d ; some sort of count - ld a, [hl] - inc [hl] - inc hl - sla a - sla a - ld e, a - ld d, 0 - add hl, de - ld e, l - ld d, h - ld hl, w3_dffc - ld bc, 4 - call CopyBytes - call CloseSRAM - pop af - ldh [rSVBK], a - ret - -Function170114: - call InitBattleTowerChallengeRAM - call .Function170121 - farcall Function11805f - ret - -.Function170121: - ld a, BANK(s5_a948) - call OpenSRAM - ld hl, s5_a948 - ld de, wc608 - ld bc, 246 - call CopyBytes - call CloseSRAM - call Function170c8b - ret - -Function170139: ; unreferenced -; Convert the 4-digit decimal number at s5_aa41 into binary - ld a, BANK(s5_aa41) - call OpenSRAM - ld de, s5_aa41 - ld h, 0 - ld l, h - ld bc, 1000 - call .DecToBin - ld bc, 100 - call .DecToBin - ld bc, 10 - call .DecToBin - ld a, [de] - ld c, a - ld b, 0 - add hl, bc - call CloseSRAM -; Store that number in wc608 - ld a, h - ld [wc608], a - ld a, l - ld [wc608 + 1], a - ld hl, wBT_OTTempMon1DVs - ld a, [wPlayerID] - ld [hli], a - ld a, [wPlayerID + 1] - ld [hli], a - ld a, [wSecretID] - ld [hli], a - ld a, [wSecretID + 1] - ld [hli], a - ld e, l - ld d, h - ld hl, wPlayerName - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ld bc, wPlayerID - ld de, wPlayerGender - farcall GetMobileOTTrainerClass - ld de, wBT_OTTempMon1CaughtGender - ld a, c - ld [de], a - inc de - ld a, LOW(wPartyMons) - ld [wcd49], a - ld a, HIGH(wPartyMons) - ld [wcd4a], a - ld a, LOW(wPartyMonNicknames) - ld [wcd4b], a - ld a, HIGH(wPartyMonNicknames) - ld [wcd4c], a - ld a, 3 -.CopyLoop: - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld bc, 6 - call CopyBytes - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - pop af - dec a - jr nz, .CopyLoop - - ld a, BANK(sEZChatBeginBattleMessage) - call OpenSRAM - ld hl, sEZChatBattleMessages - ld bc, EASY_CHAT_MESSAGE_LENGTH * 3 - call CopyBytes - call CloseSRAM - - ld a, BANK(s5_a894) ; aka BANK(s5_a948) - call OpenSRAM - ld hl, s5_a894 - ld bc, 6 - call CopyBytes - ld hl, wc608 - ld de, s5_a948 - ld bc, 246 - call CopyBytes - call CloseSRAM - ret - -.DecToBin: - ld a, [de] - inc de - and a - ret z - -.digit_loop - add hl, bc - dec a - jr nz, .digit_loop - ret - -BattleTowerBattle: - xor a ; FALSE - ld [wBattleTowerBattleEnded], a - call _BattleTowerBattle - ret - -UnusedBattleTowerDummySpecial1: - ret - -InitBattleTowerChallengeRAM: - xor a - ld [wBattleTowerBattleEnded], a - ld [wNrOfBeatenBattleTowerTrainers], a - ld [wcf65], a - ld [wcf66], a - ret - -_BattleTowerBattle: -.loop - call .do_dw - call DelayFrame - ld a, [wBattleTowerBattleEnded] - cp TRUE - jr nz, .loop - ret - -.do_dw - jumptable .dw, wBattleTowerBattleEnded - -.dw - dw RunBattleTowerTrainer - dw SkipBattleTowerTrainer - -RunBattleTowerTrainer: - ld a, [wOptions] - push af - ld hl, wOptions - set BATTLE_SHIFT, [hl] ; SET MODE - - ld a, [wInBattleTowerBattle] - push af - or 1 - ld [wInBattleTowerBattle], a - - xor a - ld [wLinkMode], a - farcall StubbedTrainerRankings_Healings - farcall HealParty - call ReadBTTrainerParty - call Clears5_a89a - - predef StartBattle - - farcall LoadPokemonData - farcall HealParty - ld a, [wBattleResult] - ld [wScriptVar], a - and a ; WIN? - jr nz, .lost - ld a, BANK(sNrOfBeatenBattleTowerTrainers) - call OpenSRAM - ld a, [sNrOfBeatenBattleTowerTrainers] - ld [wNrOfBeatenBattleTowerTrainers], a - call CloseSRAM - ld hl, wStringBuffer3 - ld a, [wNrOfBeatenBattleTowerTrainers] - add "1" - ld [hli], a - ld a, "@" - ld [hl], a - -.lost - pop af - ld [wInBattleTowerBattle], a - pop af - ld [wOptions], a - ld a, TRUE - ld [wBattleTowerBattleEnded], a - ret - -ReadBTTrainerParty: -; Initialise the BattleTower-Trainer and his mon - call CopyBTTrainer_FromBT_OT_TowBT_OTTemp - -; Check the nicknames for illegal characters, and replace bad nicknames -; with their species names. - ld de, wBT_OTTempMon1Name - ld c, MON_NAME_LENGTH - farcall CheckStringForErrors - jr nc, .skip_mon_1 - - ld a, [wBT_OTTempMon1] - ld [wNamedObjectIndex], a - call GetPokemonName - ld l, e - ld h, d - ld de, wBT_OTTempMon1Name - ld bc, MON_NAME_LENGTH - call CopyBytes - -.skip_mon_1 - ld de, wBT_OTTempMon2Name - ld c, MON_NAME_LENGTH - farcall CheckStringForErrors - jr nc, .skip_mon_2 - ld a, [wBT_OTTempMon2] - ld [wNamedObjectIndex], a - call GetPokemonName - ld l, e - ld h, d - ld de, wBT_OTTempMon2Name - ld bc, MON_NAME_LENGTH - call CopyBytes - -.skip_mon_2 - ld de, wBT_OTTempMon3Name - ld c, MON_NAME_LENGTH - farcall CheckStringForErrors - jr nc, .skip_mon_3 - ld a, [wBT_OTTempMon3] - ld [wNamedObjectIndex], a - call GetPokemonName - ld l, e - ld h, d - ld de, wBT_OTTempMon3Name - ld bc, MON_NAME_LENGTH - call CopyBytes - -.skip_mon_3 -; Add the terminator character to each of these names - ld a, "@" - ld [wBT_OTTempMon1Name + MON_NAME_LENGTH - 1], a - ld [wBT_OTTempMon2Name + MON_NAME_LENGTH - 1], a - ld [wBT_OTTempMon3Name + MON_NAME_LENGTH - 1], a -; Fix errors in the movesets - call CheckBTMonMovesForErrors -; Repair the trainer name if needed, then copy it to wOTPlayerName - ld de, wBT_OTTempName - ld c, NAME_LENGTH - 1 - farcall CheckStringForErrors - jr nc, .trainer_name_okay - ld hl, BT_ChrisName - jr .done_trainer_name - -.trainer_name_okay - ld hl, wBT_OTTempName - -.done_trainer_name - ld de, wOTPlayerName - ld bc, NAME_LENGTH - 1 - call CopyBytes - ld a, "@" - ld [de], a - - ld hl, wBT_OTTempTrainerClass - ld a, [hli] - ld [wOtherTrainerClass], a - ld a, LOW(wOTPartyMonNicknames) - ld [wBGMapBuffer], a - ld a, HIGH(wOTPartyMonNicknames) - ld [wBGMapBuffer + 1], a - - ; Copy mon into Memory from the address in hl - ld de, wOTPartyMon1Species - ld bc, wOTPartyCount - ld a, BATTLETOWER_PARTY_LENGTH - ld [bc], a - inc bc -.otpartymon_loop - push af - ld a, [hl] - ld [bc], a - inc bc - push bc - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - push de - ld a, [wBGMapBuffer] - ld e, a - ld a, [wBGMapBuffer + 1] - ld d, a - ld bc, MON_NAME_LENGTH - call CopyBytes - ld a, e - ld [wBGMapBuffer], a - ld a, d - ld [wBGMapBuffer + 1], a - pop de - pop bc - pop af - dec a - and a - jr nz, .otpartymon_loop - ld a, -1 - ld [bc], a - ret - -ValidateBTParty: ; unreferenced -; Check for and fix errors in party data - ld hl, wBT_OTTempMon1Species - ld d, BATTLETOWER_PARTY_LENGTH -.pkmn_loop - push de - push hl - ld b, h - ld c, l - ld a, [hl] - and a -for x, $ff, NUM_POKEMON, -1 - jr z, .invalid - cp x -endr - jr nz, .valid - -.invalid - ld a, SMEARGLE - ld [hl], a - -.valid - ld [wCurSpecies], a - call GetBaseData - ld a, BANK(s5_b2fb) - call OpenSRAM - ld a, [s5_b2fb] ; s5_b2fb ; max level? - call CloseSRAM - ld e, a - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .load - ld a, [hl] - cp e - jr c, .dont_load - ld a, e - -.load - ld [hl], a - -.dont_load - ld [wCurPartyLevel], a - ld hl, MON_MOVES - add hl, bc - ld d, NUM_MOVES - 1 - ld a, [hli] - and a - jr z, .not_move - cp NUM_ATTACKS + 1 - jr nc, .not_move - jr .valid_move - -.not_move - dec hl - ld a, POUND - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hl], a - jr .done_moves - -.valid_move - ld a, [hl] - cp NUM_ATTACKS + 1 - jr c, .next - ld [hl], $0 - -.next - inc hl - dec d - jr nz, .valid_move - -.done_moves - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - push hl - push de - ld hl, MON_STAT_EXP - 1 - add hl, bc - ld b, TRUE - predef CalcMonStats - pop de - pop hl - dec de - dec de - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - pop hl - ld bc, NICKNAMED_MON_STRUCT_LENGTH - add hl, bc - pop de - dec d - jp nz, .pkmn_loop - ret - -BT_ChrisName: - db "CHRIS@" - -Function17042c: - ld hl, w3_d202TrainerData - ld a, BATTLETOWER_STREAK_LENGTH -.loop - push af - push hl - ld c, BATTLETOWER_TRAINERDATALENGTH / 2 -.loop2 - ; First byte is a comparison value. - ld a, [hli] - ld b, a - ; Second byte is a lookup index. - ld a, [hli] - and a - jr z, .empty - cp (Unknown_170470.end - Unknown_170470) + 1 - jr nc, .copy_data - - push hl - ld hl, Unknown_170470 - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - pop hl - - ; If Unknown_170470[a-1] <= b, overwrite the current trainer's data - ; with Unknown_17047e, and exit the inner loop. - cp b - jr c, .copy_data - jr z, .copy_data - jr .next_iteration - -.empty - ; If a == 0 and b >= $fc, overwrite the current trainer's data with - ; Unknown_17047e, and exit the inner loop. - ld a, b - cp NUM_POKEMON + 1 - jr nc, .copy_data - -.next_iteration - dec c - jr nz, .loop2 - jr .next_trainer - -.copy_data - pop de - push de - ld hl, Unknown_17047e - ld bc, BATTLETOWER_TRAINERDATALENGTH - call CopyBytes - -.next_trainer - pop hl - ld de, BATTLE_TOWER_STRUCT_LENGTH - add hl, de - pop af - dec a - jr nz, .loop - ret - -INCLUDE "data/battle_tower/unknown_levels.asm" - -CopyBTTrainer_FromBT_OT_TowBT_OTTemp: -; copy the BattleTower-Trainer data that lies at 'wBT_OTTrainer' to 'wBT_OTTemp' - ldh a, [rSVBK] - push af - ld a, BANK(wBT_OTTrainer) - ldh [rSVBK], a - - ld hl, wBT_OTTrainer - ld de, wBT_OTTemp - ld bc, BATTLE_TOWER_STRUCT_LENGTH - call CopyBytes - - pop af - ldh [rSVBK], a - - ld a, BANK(sBattleTowerChallengeState) - call OpenSRAM - ld a, BATTLETOWER_CHALLENGE_IN_PROGRESS - ld [sBattleTowerChallengeState], a - ld hl, sNrOfBeatenBattleTowerTrainers - inc [hl] - call CloseSRAM -SkipBattleTowerTrainer: - ret - -Function1704ca: ; unreferenced - ld a, [s5_be46] - cp BATTLETOWER_STREAK_LENGTH - jr c, .not_max - ld a, BATTLETOWER_STREAK_LENGTH - 1 - -.not_max - ld hl, s5_aa8e + BATTLE_TOWER_STRUCT_LENGTH * (BATTLETOWER_STREAK_LENGTH - 1) - ld de, -BATTLE_TOWER_STRUCT_LENGTH -.loop - and a - jr z, .done - add hl, de - dec a - jr .loop - -.done - ret - -Function1704e1: - call SpeechTextbox - call FadeToMenu - call InitBattleTowerChallengeRAM - call .JumptableLoop - call CloseSubmenu - ret - -.JumptableLoop: - call ClearBGPalettes - call ClearSprites - call ClearScreen -.loop - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .done - call .DoJumptable - farcall ReloadMapPart - jr .loop - -.done - ret - -.DoJumptable: - jumptable .dw, wJumptableIndex - -.dw - dw .Jumptable_0 - dw .Jumptable_1 - dw .Jumptable_2 - -.Jumptable_0: - ld a, BANK(s5_a89c) - call OpenSRAM - - ld hl, s5_a89c - ld de, wStringBuffer3 - ld bc, 22 - call CopyBytes - - ld hl, s5_a8b2 - ld de, wc608 - ld bc, 150 - call CopyBytes - - call CloseSRAM - hlcoord 1, 1 - ld de, wStringBuffer3 - call PlaceString - hlcoord 1, 3 - ld de, .String_Mail - call PlaceString - hlcoord 4, 3 - ld de, wStringBuffer4 - call PlaceString - hlcoord 8, 3 - ld de, .String_PastReaders - call PlaceString - call .DrawBorder - call .PlaceTextItems - jr .NextJumptableFunction - -.Jumptable_1: - call SetPalettes - call .NextJumptableFunction - -.Jumptable_2: - ld hl, hJoyPressed - ld a, [hl] - and A_BUTTON - jr nz, .pressed_a_or_b - ld a, [hl] - and B_BUTTON - jr nz, .pressed_a_or_b - ld a, [hl] - and D_UP - jr nz, .pressed_up - ld a, [hl] - and D_DOWN - jr nz, .pressed_down - ret - -.pressed_up - ld a, [wNrOfBeatenBattleTowerTrainers] - and a - ret z - sub 15 - ld [wNrOfBeatenBattleTowerTrainers], a - call .PlaceTextItems - ret - -.pressed_down - ld a, [wNrOfBeatenBattleTowerTrainers] - cp 60 - ret z - add 15 - ld [wNrOfBeatenBattleTowerTrainers], a - call .PlaceTextItems - ret - -.pressed_a_or_b - ld hl, wJumptableIndex - set 7, [hl] - ret - -.NextJumptableFunction: - ld hl, wJumptableIndex - inc [hl] - ret - -.DrawBorder: - hlcoord 0, 4 - ld a, "┌" - ld [hli], a - ld c, SCREEN_WIDTH - 2 -.top_border_loop - ld a, "─" - ld [hli], a - dec c - jr nz, .top_border_loop - ld a, "┐" - ld [hli], a - ld de, SCREEN_WIDTH - ld c, 12 -.left_border_loop - ld a, "│" - ld [hl], a - add hl, de - dec c - jr nz, .left_border_loop - ld a, "└" - ld [hli], a - ld c, SCREEN_WIDTH - 2 -.bottom_border_loop - ld a, "─" - ld [hli], a - dec c - jr nz, .bottom_border_loop - ld a, "┘" - ld [hl], a - ld de, -SCREEN_WIDTH - add hl, de - ld c, 12 -.right_border_loop - ld a, "│" - ld [hl], a - add hl, de - dec c - jr nz, .right_border_loop - ret - -.PlaceTextItems: - call .ClearBox - call .PlaceUpDownArrows - ld a, $50 - ld [wcd4e], a - ld hl, wc608 - ld a, [wNrOfBeatenBattleTowerTrainers] - ld c, a - xor a - ld b, a - add hl, bc - push hl - pop bc - hlcoord 1, 6 - ld a, 6 -.loop1 - push af - push hl - ld a, 3 -.loop2 - push af - ld de, wcd49 - ld a, [bc] - and a - jr z, .fill_with_e3 -; .copy - ld a, 5 -.loop3a - push af - ld a, [bc] - ld [de], a - inc bc - inc de - pop af - dec a - jr nz, .loop3a - jr .rejoin - -.fill_with_e3 - ld a, 5 -.loop3b - push af - ld a, $e3 - ld [de], a - inc de - inc bc - pop af - dec a - jr nz, .loop3b - -.rejoin - ld de, wcd49 - push bc - call PlaceString - ld de, NAME_LENGTH_JAPANESE - add hl, de - pop bc - pop af - dec a - jr nz, .loop2 - pop hl - ld de, $28 - add hl, de - pop af - dec a - jr nz, .loop1 - ret - -.ClearBox: - hlcoord 1, 5 - xor a - ld b, 12 -.clearbox_row - ld c, SCREEN_WIDTH - 2 -.clearbox_column - ld [hli], a - dec c - jr nz, .clearbox_column - inc hl - inc hl - dec b - jr nz, .clearbox_row - ret - -.PlaceUpDownArrows: - ld a, [wNrOfBeatenBattleTowerTrainers] - and a - jr z, .nope - hlcoord 18, 5 - ld a, "▲" - ld [hl], a - -.nope - ld a, [wNrOfBeatenBattleTowerTrainers] - cp 60 - ret z - hlcoord 18, 16 - ld a, "▼" - ld [hl], a - ret - -.String_Mail: - db "ルーム@" - -.String_PastReaders: - db "れきだいりーダーいちらん@" - -BattleTowerAction: - jumptable .dw, wScriptVar - -.dw - dw BattleTowerAction_CheckExplanationRead - dw BattleTowerAction_SetExplanationRead - dw BattleTowerAction_GetChallengeState - dw BattleTowerAction_SetByteToQuickSaveChallenge - dw BattleTowerAction_SetByteToCancelChallenge - dw BattleTowerAction_05 - dw BattleTowerAction_06 - dw SaveBattleTowerLevelGroup - dw LoadBattleTowerLevelGroup - dw BattleTower_CheckSaveFileExistsAndIsYours - dw BattleTowerAction_0A - dw CheckMobileEventIndex - dw BattleTowerAction_0C - dw BattleTowerAction_0D - dw BattleTowerAction_EggTicket - dw BattleTowerAction_0F - dw BattleTowerAction_10 - dw BattleTowerAction_11 - dw BattleTowerAction_12 - dw BattleTowerAction_13 - dw BattleTowerAction_14 - dw BattleTowerAction_15 - dw BattleTowerAction_16 - dw BattleTowerAction_17 - dw BattleTowerAction_LevelCheck - dw BattleTowerAction_UbersCheck - dw ResetBattleTowerTrainersSRAM - dw BattleTower_GiveReward - dw BattleTowerAction_1C - dw BattleTowerAction_1D - dw BattleTower_RandomlyChooseReward - dw BattleTower_SaveOptions - -; Reset the save memory for BattleTower-Trainers (Counter and all 7 TrainerBytes) -ResetBattleTowerTrainersSRAM: - ld a, BANK(sBTTrainers) - call OpenSRAM - - ld a, $ff - ld hl, sBTTrainers - ld bc, BATTLETOWER_STREAK_LENGTH - call ByteFill - - xor a - ld [sNrOfBeatenBattleTowerTrainers], a - - call CloseSRAM - - ret - -BattleTower_GiveReward: - ld a, BANK(sBattleTowerReward) - call OpenSRAM - - ld a, [sBattleTowerReward] - call CloseSRAM - ld [wScriptVar], a - ld hl, wNumItems - ld a, [hli] - cp MAX_ITEMS - ret c - ld b, MAX_ITEMS - ld a, [wScriptVar] - ld c, a -.loop - ld a, [hli] - cp c - jr nz, .next - ld a, [hl] - cp 95 - ret c -.next - inc hl - dec b - jr nz, .loop - ld a, POTION - ld [wScriptVar], a - ret - -BattleTowerAction_1C: - ld a, BANK(sBattleTowerChallengeState) - call OpenSRAM - ld a, BATTLETOWER_WON_CHALLENGE - ld [sBattleTowerChallengeState], a - call CloseSRAM - ret - -BattleTowerAction_1D: - ld a, BANK(sBattleTowerChallengeState) - call OpenSRAM - ld a, BATTLETOWER_RECEIVED_REWARD - ld [sBattleTowerChallengeState], a - call CloseSRAM - ret - -BattleTower_SaveOptions: - farcall SaveOptions - ret - -BattleTower_RandomlyChooseReward: -; Generate a random stat boosting item. -.loop - call Random - ldh a, [hRandomAdd] - and $7 - cp 6 - jr c, .okay - sub 6 -.okay - add HP_UP - cp LUCKY_PUNCH - jr z, .loop - push af - ld a, BANK(sBattleTowerReward) - call OpenSRAM - pop af - ld [sBattleTowerReward], a - call CloseSRAM - ret - -BattleTowerAction_CheckExplanationRead: - call BattleTower_CheckSaveFileExistsAndIsYours - ld a, [wScriptVar] - and a - ret z - - ld a, BANK(sBattleTowerSaveFileFlags) - call OpenSRAM - ld a, [sBattleTowerSaveFileFlags] - and 2 - ld [wScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_GetChallengeState: - ld hl, sBattleTowerChallengeState - ld a, BANK(sBattleTowerChallengeState) - call OpenSRAM - ld a, [hl] - ld [wScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_SetExplanationRead: - ld a, BANK(sBattleTowerSaveFileFlags) - call OpenSRAM - ld a, [sBattleTowerSaveFileFlags] - or 2 - ld [sBattleTowerSaveFileFlags], a - call CloseSRAM - ret - -BattleTowerAction_SetByteToQuickSaveChallenge: - ld c, BATTLETOWER_SAVED_AND_LEFT - jr SetBattleTowerChallengeState - -BattleTowerAction_SetByteToCancelChallenge: - ld c, BATTLETOWER_NO_CHALLENGE -SetBattleTowerChallengeState: - ld a, BANK(sBattleTowerChallengeState) - call OpenSRAM - ld a, c - ld [sBattleTowerChallengeState], a - call CloseSRAM - ret - -BattleTowerAction_05: - ld a, BANK(s5_aa8c) ; aka BANK(s5_be46) - call OpenSRAM - ld a, [s5_aa8c] - ld b, a - ld a, [s5_be46] - ld [wScriptVar], a - call CloseSRAM - and a - ret z - ld a, b - cp 2 - jr nc, .asm_1707ef - push bc - call UpdateTime - pop bc - ld a, BANK(s5_aa8c) - call OpenSRAM - ld a, [s5_aa8b] - call CloseSRAM - ld c, a - ld a, [wCurDay] - sub c - jr c, .asm_1707e5 - cp 8 - jr nc, .asm_1707ef - ld a, b - and a - jr nz, .asm_1707ef - ret -.asm_1707e5 - ld hl, wCurDay - ld a, $8c - sub c - add [hl] - cp 8 - ret c -.asm_1707ef - ld a, 8 - ld [wScriptVar], a - -BattleTowerAction_06: - ld a, BANK(s5_be46) ; aka BANK(s5_aa8b) and BANK(s5_aa8c) - call OpenSRAM - xor a - ld [s5_be46], a - ld [s5_aa8b], a - ld [s5_aa8c], a - call CloseSRAM - ret - -BattleTowerAction_16: - call UpdateTime - ld a, BANK(s5_b2f9) ; aka BANK(s5_b2fa) - call OpenSRAM - ld a, [wCurDay] - ld [s5_b2f9], a - xor a - ld [s5_b2fa], a - call CloseSRAM - ret - -BattleTowerAction_17: - xor a - ld [wScriptVar], a - ld a, BANK(s5_b2f9) ; aka BANK(s5_b2fa) - call OpenSRAM - ld a, [s5_b2f9] - ld c, a - ld a, [s5_b2fa] - ld b, a - call CloseSRAM - cp 2 - jr nc, .asm_170853 - push bc - call UpdateTime - pop bc - ld a, [wCurDay] - sub c - jr c, .asm_170849 - cp 11 - jr nc, .asm_170853 - ld a, b - and a - jr nz, .asm_170853 - ret - -.asm_170849 - ld hl, wCurDay - ld a, 140 - sub c - add [hl] - cp 11 - ret c -.asm_170853 - ld a, 1 - ld [wScriptVar], a - ld a, BANK(s5_b2f9) ; aka BANK(s5_b2fa) - call OpenSRAM - xor a - ld [s5_b2f9], a - ld [s5_b2fa], a - call CloseSRAM - ret - -SaveBattleTowerLevelGroup: - ld a, BANK(sBTChoiceOfLevelGroup) - call OpenSRAM - ldh a, [rSVBK] - push af - ld a, BANK(wBTChoiceOfLvlGroup) - ldh [rSVBK], a - ld a, [wBTChoiceOfLvlGroup] - ld [sBTChoiceOfLevelGroup], a - pop af - ldh [rSVBK], a - call CloseSRAM - ret - -LoadBattleTowerLevelGroup: ; Load level group choice - ld a, BANK(sBTChoiceOfLevelGroup) - call OpenSRAM - ldh a, [rSVBK] - push af - ld a, BANK(wBTChoiceOfLvlGroup) - ldh [rSVBK], a - ld a, [sBTChoiceOfLevelGroup] - ld [wBTChoiceOfLvlGroup], a - pop af - ldh [rSVBK], a - call CloseSRAM - ret - -BattleTower_CheckSaveFileExistsAndIsYours: - ld a, [wSaveFileExists] - and a - jr z, .nope - farcall CompareLoadedAndSavedPlayerID - jr z, .yes - xor a ; FALSE - jr .nope - -.yes - ld a, TRUE - -.nope - ld [wScriptVar], a - ret - -BattleTowerAction_0A: - xor a - ld [wMusicFade], a - call MaxVolume - ret - -CheckMobileEventIndex: ; something to do with GS Ball - ld a, BANK(sMobileEventIndex) - call OpenSRAM - ld a, [sMobileEventIndex] - ld [wScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_0C: - call UpdateTime - ld a, BANK(s5_aa8b) ; aka BANK(s5_aa8c), BANK(s5_aa5d), BANK(s5_aa48), and BANK(s5_aa47) - call OpenSRAM - ld a, [wCurDay] - ld [s5_aa8b], a - xor a - ld [s5_aa8c], a - ld a, [s5_aa5d] - cp 2 - jr nc, .asm_1708ec - ld a, [wCurDay] - ld [s5_aa48], a - ld a, 1 - ld [s5_aa47], a -.asm_1708ec - call CloseSRAM - ret - -BattleTowerAction_0D: - xor a ; FALSE - ld [wScriptVar], a - call UpdateTime - ld a, BANK(s5_aa48) ; aka BANK(s5_aa47) - call OpenSRAM - ld a, [s5_aa48] - ld c, a - ld a, [s5_aa47] - call CloseSRAM - and a - ret z - ld hl, wCurDay - ld a, c - cp [hl] - jr nz, Function170923 - ld a, BANK(s5_aa5d) - call OpenSRAM - ld a, [s5_aa5d] - call CloseSRAM - cp 5 - ret c - ld a, TRUE - ld [wScriptVar], a - ret - -Function170923: - ld a, BANK(s5_aa48) ; aka BANK(s5_aa47) and BANK(s5_aa5d) - call OpenSRAM - xor a - ld [s5_aa48], a - ld [s5_aa47], a - ld hl, s5_aa5d - ld bc, MOBILE_LOGIN_PASSWORD_LENGTH - call ByteFill - call CloseSRAM - ret - -BattleTowerAction_EggTicket: - xor a ; FALSE - ld [wScriptVar], a - ld a, EGG_TICKET - ld [wCurItem], a - ld hl, wNumItems - call CheckItem - ret nc - ld a, [wPartyCount] - ld b, 0 - ld c, a - ld hl, wPartySpecies -.loop - ld a, [hli] - cp EGG - jr nz, .not_egg - push hl - ld hl, wPartyMonOTs - ld de, NAME_LENGTH_JAPANESE - ld a, b - and a - jr z, .skip -.loop2 - add hl, de - dec a - jr nz, .loop2 -.skip - ld de, String_MysteryJP - ld a, NAME_LENGTH_JAPANESE -.compare_loop - push af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .different - pop af - dec a - jr nz, .compare_loop -rept 4 - dec hl -endr - ld a, "@" - ld [hli], a - ld [hli], a - pop hl - ld a, EGG_TICKET - ld [wCurItem], a - ld a, 1 - ld [wItemQuantityChange], a - ld a, -1 - ld [wCurItemQuantity], a - ld hl, wNumItems - call TossItem - ld a, TRUE - ld [wScriptVar], a - ret - -.different - pop af - pop hl -.not_egg - inc b - dec c - jr nz, .loop - ret - -String_MysteryJP: - db "なぞナゾ@@" ; MYSTERY - -BattleTowerAction_0F: - ldh a, [rSVBK] - push af - ld a, BANK(w3_d090) - ldh [rSVBK], a - ld a, [w3_d090] - ld [wScriptVar], a - pop af - ldh [rSVBK], a - ret - -BattleTowerAction_10: - xor a ; FALSE - ld [wScriptVar], a - ld a, BANK(s5_a800) - call OpenSRAM - ld a, [s5_a800] - call CloseSRAM - cp 6 - jr nc, .invalid - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.invalid - ld a, BANK(s5_a800) - call OpenSRAM - xor a - ld [s5_a800], a - call CloseSRAM - ret - -.Jumptable: - dw .NoAction - dw .NoAction - dw .DoAction1 - dw .DoAction1 - dw .Action4 - dw .Action5 - -.DoAction1: - ld a, BANK(s5_a800) - call OpenSRAM - ld a, 1 - ld [s5_a800], a - call CloseSRAM - -.NoAction: - ret - -.Action4: - ld a, BANK(s5_b023) ; aka BANK(sOfferReqGender) and BANK(sOfferReqSpecies) - call OpenSRAM - ld hl, s5_b023 - ld de, wc608 - ld bc, 105 - call CopyBytes - ld a, [sOfferReqGender] - ld [wcd30], a - ld a, [sOfferReqSpecies] - ld [wcd31], a - call CloseSRAM - farcall Function11b6b4 - farcall Function17d0f3 - ld a, TRUE - ld [wScriptVar], a - ret - -.Action5: - ld a, 0 ; ??? - call OpenSRAM - ld hl, wRTC - ld de, wc608 - ld bc, 4 - call CopyBytes - call CloseSRAM - ld a, BANK(s5_b08c) - call OpenSRAM - ld hl, s5_b08c - ld de, wc608 - ld c, 4 -.compare_loop - ld a, [de] - inc de - cp [hl] - jr nz, .different - inc hl - dec c - jr nz, .compare_loop - call CloseSRAM - ld a, [wMapGroup] - ld b, a - ld a, [wMapNumber] - ld c, a - call GetMapSceneID - ld a, d - or e - jr z, .no_scene - ld a, [de] - and a - ret nz - -.no_scene - ld a, TRUE - ld [wScriptVar], a - ret - -.different - call CloseSRAM - ld a, BANK(s5_a800) - call OpenSRAM - xor a - ld [s5_a800], a - call CloseSRAM - ld [wScriptVar], a - ld a, [wMapGroup] - ld b, a - ld a, [wMapNumber] - ld c, a - call GetMapSceneID - ld a, d - or e - jr z, .no_scene_2 - xor a - ld [de], a - -.no_scene_2 - ret - -BattleTowerAction_11: - ld c, FALSE - jr Set_s5_aa8d - -BattleTowerAction_12: - ld c, TRUE -Set_s5_aa8d: - ld a, BANK(s5_aa8d) - call OpenSRAM - ld a, c - ld [s5_aa8d], a - call CloseSRAM - ret - -BattleTowerAction_13: - ld a, BANK(s5_aa8d) - call OpenSRAM - ld a, [s5_aa8d] - ld [wScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_14: - call BattleTower_CheckSaveFileExistsAndIsYours - ld a, [wScriptVar] - and a - ret z - - ld a, BANK(sBattleTowerSaveFileFlags) - call OpenSRAM - ld a, [sBattleTowerSaveFileFlags] - and 1 - ld [wScriptVar], a - call CloseSRAM - ret - -BattleTowerAction_15: - ld a, BANK(sBattleTowerSaveFileFlags) - call OpenSRAM - ld a, [sBattleTowerSaveFileFlags] - or 1 - ld [sBattleTowerSaveFileFlags], a - call CloseSRAM - ret - -BattleTowerAction_LevelCheck: - ld a, BANK(s5_b2fb) - call OpenSRAM - ld a, [s5_b2fb] - call CloseSRAM - ld c, 10 - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [wScriptVar], a - farcall BattleTower_LevelCheck - ret nc - ld a, BANK(s5_b2fb) - call OpenSRAM - ld a, [s5_b2fb] - call CloseSRAM - ld [wScriptVar], a - ret - -BattleTowerAction_UbersCheck: - ld a, BANK(s5_b2fb) - call OpenSRAM - ld a, [s5_b2fb] - call CloseSRAM - ld c, 10 - call SimpleDivide - ld a, b - ld [wcd4f], a - xor a - ld [wScriptVar], a - farcall BattleTower_UbersCheck - ret nc - ld a, BANK(s5_b2fb) - call OpenSRAM - ld a, [s5_b2fb] - call CloseSRAM - ld [wScriptVar], a - ret - -LoadOpponentTrainerAndPokemonWithOTSprite: - farcall LoadOpponentTrainerAndPokemon - ldh a, [rSVBK] - push af - ld a, BANK(wBT_OTTrainerClass) - ldh [rSVBK], a - ld hl, wBT_OTTrainerClass - ld a, [hl] - dec a - ld c, a - ld b, 0 - pop af - ldh [rSVBK], a - ld hl, BTTrainerClassSprites - add hl, bc - ld a, [hl] - ld [wBTTempOTSprite], a - -; Load sprite of the opponent trainer -; because s/he is chosen randomly and appears out of nowhere - ld a, [wScriptVar] - dec a - sla a - ld e, a - sla a - sla a - sla a - ld c, a - ld b, 0 - ld d, 0 - ld hl, wMapObjects - add hl, bc - inc hl - ld a, [wBTTempOTSprite] - ld [hl], a - ld hl, wUsedSprites - add hl, de - ld [hli], a - ldh [hUsedSpriteIndex], a - ld a, [hl] - ldh [hUsedSpriteTile], a - farcall GetUsedSprite - ret - -INCLUDE "data/trainers/sprites.asm" - -UnusedBattleTowerDummySpecial2: - ret - -CheckForBattleTowerRules: - farcall _CheckForBattleTowerRules - jr c, .ready - xor a ; FALSE - jr .end - -.ready - ld a, TRUE - -.end - ld [wScriptVar], a - ret diff --git a/engine/events/battle_tower/get_trainer_class.asm b/engine/events/battle_tower/get_trainer_class.asm deleted file mode 100644 index f3dd713e9..000000000 --- a/engine/events/battle_tower/get_trainer_class.asm +++ /dev/null @@ -1,46 +0,0 @@ -GetMobileOTTrainerClass: ; mobile function - ld h, b - ld l, c - call .GetMobileOTTrainerClass - ld c, a - ret - -.GetMobileOTTrainerClass: - ld a, [hli] - xor [hl] - ld c, a - jr z, .skip_male_trainers - srl c - srl c -.male_trainer_loop - srl c - ld a, c - cp MaleTrainers.End - MaleTrainers - 1 - jr nc, .male_trainer_loop - inc c - -.skip_male_trainers - ld a, [de] - cp FEMALE - ld hl, MaleTrainers - jr nz, .finished - - ld hl, FemaleTrainers - ld a, c - and a - jr z, .finished - -.female_trainer_loop - srl c - ld a, c - cp FemaleTrainers.End - FemaleTrainers - 1 - jr nc, .female_trainer_loop - inc c - -.finished - ld b, $0 - add hl, bc - ld a, [hl] - ret - -INCLUDE "data/trainers/gendered_trainers.asm" diff --git a/engine/events/battle_tower/load_trainer.asm b/engine/events/battle_tower/load_trainer.asm deleted file mode 100644 index 9286383b7..000000000 --- a/engine/events/battle_tower/load_trainer.asm +++ /dev/null @@ -1,212 +0,0 @@ -LoadOpponentTrainerAndPokemon: - ldh a, [rSVBK] - push af - ld a, BANK(wBT_OTTrainer) - ldh [rSVBK], a - - ; Fill wBT_OTTrainer with zeros - xor a - ld hl, wBT_OTTrainer - ld bc, BATTLE_TOWER_STRUCT_LENGTH - call ByteFill - - ; Write $ff into the Item-Slots - ld a, $ff - ld [wBT_OTMon1Item], a - ld [wBT_OTMon2Item], a - ld [wBT_OTMon3Item], a - - ; Set wBT_OTTrainer as start address to write the following data to - ld de, wBT_OTTrainer - - ldh a, [hRandomAdd] - ld b, a -.resample ; loop to find a random trainer - call Random - ldh a, [hRandomAdd] - add b - ld b, a ; b contains the nr of the trainer -if DEF(_CRYSTAL11) - maskbits BATTLETOWER_NUM_UNIQUE_TRAINERS - cp BATTLETOWER_NUM_UNIQUE_TRAINERS -else -; BUG: Crystal 1.0 used the wrong constant here, so only the first -; 21 trainers in BattleTowerTrainers can be sampled. - maskbits BATTLETOWER_NUM_UNIQUE_MON - cp BATTLETOWER_NUM_UNIQUE_MON -endc - jr nc, .resample - ld b, a - - ld a, BANK(sBTTrainers) - call OpenSRAM - - ld c, BATTLETOWER_STREAK_LENGTH - ld hl, sBTTrainers -.next_trainer - ld a, [hli] - cp b - jr z, .resample - dec c - jr nz, .next_trainer ; c <= 7 initialise all 7 trainers? - - ld hl, sBTTrainers - ld a, [sNrOfBeatenBattleTowerTrainers] - ld c, a - ld a, b - ld b, 0 - add hl, bc - ld [hl], a - - call CloseSRAM - - push af -; Copy name (10 bytes) and class (1 byte) of trainer - ld hl, BattleTowerTrainers - ld bc, NAME_LENGTH - call AddNTimes - ld bc, NAME_LENGTH - call CopyBytes - - call LoadRandomBattleTowerMon - pop af - - ld hl, BattleTowerTrainerData - ld bc, BATTLETOWER_TRAINERDATALENGTH - call AddNTimes - ld bc, BATTLETOWER_TRAINERDATALENGTH -.copy_bt_trainer_data_loop - ld a, BANK(BattleTowerTrainerData) - call GetFarByte - ld [de], a - inc hl - inc de - dec bc - ld a, b - or c - jr nz, .copy_bt_trainer_data_loop - - pop af - ldh [rSVBK], a - - ret - -LoadRandomBattleTowerMon: - ld c, BATTLETOWER_PARTY_LENGTH -.loop - push bc - ld a, BANK(sBTMonOfTrainers) - call OpenSRAM - -.FindARandomBattleTowerMon: - ; From Which LevelGroup are the mon loaded - ; a = 1..10 - ld a, [wBTChoiceOfLvlGroup] - dec a - ld hl, BattleTowerMons - ld bc, BATTLETOWER_NUM_UNIQUE_MON * NICKNAMED_MON_STRUCT_LENGTH - call AddNTimes - - ldh a, [hRandomAdd] - ld b, a -.resample - call Random - ldh a, [hRandomAdd] - add b - ld b, a - maskbits BATTLETOWER_NUM_UNIQUE_MON - cp BATTLETOWER_NUM_UNIQUE_MON - jr nc, .resample - ; in register 'a' is the chosen mon of the LevelGroup - - ; Check if mon was already loaded before - ; Check current and the 2 previous teams - ; includes check if item is double at the current team - ld bc, NICKNAMED_MON_STRUCT_LENGTH - call AddNTimes - ld a, [hli] - ld b, a - ld a, [hld] - ld c, a - ld a, [wBT_OTMon1] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [wBT_OTMon1Item] - cp c - jr z, .FindARandomBattleTowerMon - ld a, [wBT_OTMon2] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [wBT_OTMon2Item] - cp c - jr z, .FindARandomBattleTowerMon - ld a, [wBT_OTMon3] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [wBT_OTMon3Item] - cp c - jr z, .FindARandomBattleTowerMon - ld a, [sBTMonPrevTrainer1] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [sBTMonPrevTrainer2] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [sBTMonPrevTrainer3] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [sBTMonPrevPrevTrainer1] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [sBTMonPrevPrevTrainer2] - cp b - jr z, .FindARandomBattleTowerMon - ld a, [sBTMonPrevPrevTrainer3] - cp b - jr z, .FindARandomBattleTowerMon - - ld bc, NICKNAMED_MON_STRUCT_LENGTH - call CopyBytes - - ld a, [wNamedObjectIndex] - push af - push de - ld hl, -NICKNAMED_MON_STRUCT_LENGTH - add hl, de - ld a, [hl] - ld [wNamedObjectIndex], a - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - push hl - call GetPokemonName - ld h, d - ld l, e - pop de - ld bc, MON_NAME_LENGTH - call CopyBytes - - pop de - pop af - ld [wNamedObjectIndex], a - pop bc - dec c - jp nz, .loop - - ld a, [sBTMonPrevTrainer1] - ld [sBTMonPrevPrevTrainer1], a - ld a, [sBTMonPrevTrainer2] - ld [sBTMonPrevPrevTrainer2], a - ld a, [sBTMonPrevTrainer3] - ld [sBTMonPrevPrevTrainer3], a - ld a, [wBT_OTMon1] - ld [sBTMonPrevTrainer1], a - ld a, [wBT_OTMon2] - ld [sBTMonPrevTrainer2], a - ld a, [wBT_OTMon3] - ld [sBTMonPrevTrainer3], a - call CloseSRAM - ret - -INCLUDE "data/battle_tower/classes.asm" - -INCLUDE "data/battle_tower/parties.asm" diff --git a/engine/events/battle_tower/rules.asm b/engine/events/battle_tower/rules.asm deleted file mode 100644 index 7ffa9f67f..000000000 --- a/engine/events/battle_tower/rules.asm +++ /dev/null @@ -1,299 +0,0 @@ -CheckForMobileBattleRules: - ld de, .PointerTables - call BattleTower_ExecuteJumptable - ret z - call BattleTower_PleaseReturnWhenReady - scf - ret - -.PointerTables: - db 2 - dw .Functions - dw .TextPointers - -.Functions: - dw BattleTower_CheckPartyLengthIs3 - dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs - -.TextPointers: - dw .BTExcuseMeText - dw NeedAtLeastThreeMonText - dw EggDoesNotQualifyText - -.BTExcuseMeText: - text_far _BTExcuseMeText - text_end - -_CheckForBattleTowerRules: - ld hl, wStringBuffer2 - ld [hl], "3" - inc hl - ld [hl], "@" - ld de, .PointerTables - call BattleTower_ExecuteJumptable - ret z - call BattleTower_PleaseReturnWhenReady - scf - ret - -.PointerTables: - db 4 - dw .Functions - dw .TextPointers - -.Functions: - dw CheckBTRule_PartyCountEq3 - dw CheckBTRule_PartySpeciesAreUnique - dw CheckBTRule_PartyItemsAreUnique - dw CheckBTRule_HasPartyAnEgg - -.TextPointers: - dw ExcuseMeYoureNotReadyText - dw OnlyThreeMonMayBeEnteredText - dw TheMonMustAllBeDifferentKindsText - dw TheMonMustNotHoldTheSameItemsText - dw YouCantTakeAnEggText - -ExcuseMeYoureNotReadyText: - text_far _ExcuseMeYoureNotReadyText - text_end - -BattleTower_PleaseReturnWhenReady: - ld hl, .BattleTowerReturnWhenReadyText - call PrintText - ret - -.BattleTowerReturnWhenReadyText: - text_far _BattleTowerReturnWhenReadyText - text_end - -NeedAtLeastThreeMonText: - text_far _NeedAtLeastThreeMonText - text_end - -EggDoesNotQualifyText: - text_far _EggDoesNotQualifyText - text_end - -OnlyThreeMonMayBeEnteredText: - text_far _OnlyThreeMonMayBeEnteredText - text_end - -TheMonMustAllBeDifferentKindsText: - text_far _TheMonMustAllBeDifferentKindsText - text_end - -TheMonMustNotHoldTheSameItemsText: - text_far _TheMonMustNotHoldTheSameItemsText - text_end - -YouCantTakeAnEggText: - text_far _YouCantTakeAnEggText - text_end - -BattleTower_ExecuteJumptable: - ld bc, 0 -.loop - call .DoJumptableFunction - call c, .PrintFailureText - call .Next_CheckReachedEnd - jr nz, .loop - ld a, b - and a - ret - -.DoJumptableFunction: - push de - push bc - call .GetFunctionPointer - ld a, c - rst JumpTable - pop bc - pop de - ret - -.Next_CheckReachedEnd: - inc c - ld a, [de] - cp c - ret - -.GetFunctionPointer: - inc de - ld a, [de] - ld l, a - inc de - ld a, [de] - ld h, a - ret - -.GetTextPointers: - inc de - inc de - inc de - ld a, [de] - ld l, a - inc de - ld a, [de] - ld h, a - ret - -.LoadTextPointer: - ld a, [hli] - ld h, [hl] - ld l, a - ret - -.PrintFailureText: - push de - push bc - ld a, b - and a - call z, .PrintFirstText - pop bc - call .PrintNthText - ld b, 1 - pop de - ret - -.PrintFirstText: - push de - call .GetTextPointers - call .LoadTextPointer - call PrintText - pop de - ret - -.PrintNthText: - push bc - call .GetTextPointers - inc hl - inc hl - ld b, 0 - add hl, bc - add hl, bc - call .LoadTextPointer - call PrintText - pop bc - ret - -BattleTower_CheckPartyLengthIs3: - ld a, [wPartyCount] - cp BATTLETOWER_PARTY_LENGTH - ret - -BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: - ld hl, wPartyCount - ld a, [hli] - ld b, 0 - ld c, a -.loop - ld a, [hli] - cp EGG - jr z, .egg - inc b - -.egg - dec c - jr nz, .loop - ld a, [wPartyCount] - cp b - ret z - ld a, b - cp BATTLETOWER_PARTY_LENGTH - ret - -CheckBTRule_PartyCountEq3: - ld a, [wPartyCount] - cp BATTLETOWER_PARTY_LENGTH - ret z - scf - ret - -CheckBTRule_PartySpeciesAreUnique: - ld hl, wPartyMon1Species - call CheckPartyValueIsUnique - ret - -CheckPartyValueIsUnique: - ld de, wPartyCount - ld a, [de] - inc de - dec a - jr z, .done - ld b, a -.loop - push hl - push de - ld c, b - call .isegg - jr z, .next - ld a, [hl] - and a - jr z, .next -.loop2 - call .nextmon - call .isegg - jr z, .next2 - cp [hl] - jr z, .gotcha - -.next2 - dec c - jr nz, .loop2 - -.next - pop de - pop hl - call .nextmon - dec b - jr nz, .loop - -.done - and a - ret - -.gotcha - pop de - pop hl - scf - ret - -.nextmon - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - inc de - pop bc - ret - -.isegg - push bc - ld b, a - ld a, [de] - cp EGG - ld a, b - pop bc - ret - -CheckBTRule_PartyItemsAreUnique: - ld hl, wPartyMon1Item - call CheckPartyValueIsUnique - ret - -CheckBTRule_HasPartyAnEgg: - ld hl, wPartyCount - ld a, [hli] - ld c, a -.loop - ld a, [hli] - cp EGG - jr z, .found - dec c - jr nz, .loop - and a - ret - -.found - scf - ret diff --git a/engine/events/battle_tower/trainer_text.asm b/engine/events/battle_tower/trainer_text.asm deleted file mode 100644 index b5a3f5cb2..000000000 --- a/engine/events/battle_tower/trainer_text.asm +++ /dev/null @@ -1,710 +0,0 @@ -BattleTowerText:: -; Print text c for trainer [wBT_OTTrainerClass] -; 1: Intro text -; 2: Player lost -; 3: Player won - ldh a, [rSVBK] - push af - ld a, BANK(wBT_OTTrainerClass) - ldh [rSVBK], a -if DEF(_CRYSTAL11) - ld hl, wBT_OTTrainerClass -else -; BUG: Instead of loading the trainer class, -; Crystal 1.0 loads the 6th character in the trainer's -; name, then uses it to get the trainer's gender. -; As a consequence, the enemy trainer's dialog will -; always be sampled from the female array. - ld hl, wBT_OTName + NAME_LENGTH_JAPANESE - 1 -endc - ld a, [hl] - dec a - ld e, a - ld d, 0 - ld hl, BTTrainerClassGenders - add hl, de - ld a, [hl] - and a - jr nz, .female - ; generate a random number between 0 and 24 - ldh a, [hRandomAdd] - and $1f - cp 25 - jr c, .okay0 - sub 25 - -.okay0 - ld hl, BTMaleTrainerTexts - jr .proceed - -.female - ; generate a random number between 0 and 14 - ldh a, [hRandomAdd] - and $f - cp 15 - jr c, .okay1 - sub 15 - -.okay1 - ld hl, BTFemaleTrainerTexts - -.proceed - ld b, 0 - dec c - jr nz, .restore - ld [wBT_TrainerTextIndex], a - jr .okay2 - -.restore - ld a, [wBT_TrainerTextIndex] - -.okay2 - push af - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - pop af - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld l, c - ld h, a - bccoord 1, 14 - pop af - ldh [rSVBK], a - call PlaceHLTextAtBC - ret - -INCLUDE "mobile/fixed_words.asm" - -INCLUDE "data/trainers/genders.asm" - -BTMaleTrainerTexts: - dw .Greetings - dw .PlayerLost - dw .PlayerWon - -.Greetings: - dw BTGreetingM1Text - dw BTGreetingM2Text - dw BTGreetingM3Text - dw BTGreetingM4Text - dw BTGreetingM5Text - dw BTGreetingM6Text - dw BTGreetingM7Text - dw BTGreetingM8Text - dw BTGreetingM9Text - dw BTGreetingM10Text - dw BTGreetingM11Text - dw BTGreetingM12Text - dw BTGreetingM13Text - dw BTGreetingM14Text - dw BTGreetingM15Text - dw BTGreetingM16Text - dw BTGreetingM17Text - dw BTGreetingM18Text - dw BTGreetingM19Text - dw BTGreetingM20Text - dw BTGreetingM21Text - dw BTGreetingM22Text - dw BTGreetingM23Text - dw BTGreetingM24Text - dw BTGreetingM25Text - -.PlayerLost: - dw BTLossM1Text - dw BTLossM2Text - dw BTLossM3Text - dw BTLossM4Text - dw BTLossM5Text - dw BTLossM6Text - dw BTLossM7Text - dw BTLossM8Text - dw BTLossM9Text - dw BTLossM10Text - dw BTLossM11Text - dw BTLossM12Text - dw BTLossM13Text - dw BTLossM14Text - dw BTLossM15Text - dw BTLossM16Text - dw BTLossM17Text - dw BTLossM18Text - dw BTLossM19Text - dw BTLossM20Text - dw BTLossM21Text - dw BTLossM22Text - dw BTLossM23Text - dw BTLossM24Text - dw BTLossM25Text - -.PlayerWon: - dw BTWinM1Text - dw BTWinM2Text - dw BTWinM3Text - dw BTWinM4Text - dw BTWinM5Text - dw BTWinM6Text - dw BTWinM7Text - dw BTWinM8Text - dw BTWinM9Text - dw BTWinM10Text - dw BTWinM11Text - dw BTWinM12Text - dw BTWinM13Text - dw BTWinM14Text - dw BTWinM15Text - dw BTWinM16Text - dw BTWinM17Text - dw BTWinM18Text - dw BTWinM19Text - dw BTWinM20Text - dw BTWinM21Text - dw BTWinM22Text - dw BTWinM23Text - dw BTWinM24Text - dw BTWinM25Text - -BTFemaleTrainerTexts: - dw .Greetings - dw .PlayerLost - dw .PlayerWon - -.Greetings: - dw BTGreetingF1Text - dw BTGreetingF2Text - dw BTGreetingF3Text - dw BTGreetingF4Text - dw BTGreetingF5Text - dw BTGreetingF6Text - dw BTGreetingF7Text - dw BTGreetingF8Text - dw BTGreetingF9Text - dw BTGreetingF10Text - dw BTGreetingF11Text - dw BTGreetingF12Text - dw BTGreetingF13Text - dw BTGreetingF14Text - dw BTGreetingF15Text - -.PlayerLost: - dw BTLossF1Text - dw BTLossF2Text - dw BTLossF3Text - dw BTLossF4Text - dw BTLossF5Text - dw BTLossF6Text - dw BTLossF7Text - dw BTLossF8Text - dw BTLossF9Text - dw BTLossF10Text - dw BTLossF11Text - dw BTLossF12Text - dw BTLossF13Text - dw BTLossF14Text - dw BTLossF15Text - -.PlayerWon: - dw BTWinF1Text - dw BTWinF2Text - dw BTWinF3Text - dw BTWinF4Text - dw BTWinF5Text - dw BTWinF6Text - dw BTWinF7Text - dw BTWinF8Text - dw BTWinF9Text - dw BTWinF10Text - dw BTWinF11Text - dw BTWinF12Text - dw BTWinF13Text - dw BTWinF14Text - dw BTWinF15Text - -BTGreetingM1Text: - text_far _BTGreetingM1Text - text_end - -BTLossM1Text: - text_far _BTLossM1Text - text_end - -BTWinM1Text: - text_far _BTWinM1Text - text_end - -BTGreetingM2Text: - text_far _BTGreetingM2Text - text_end - -BTLossM2Text: - text_far _BTLossM2Text - text_end - -BTWinM2Text: - text_far _BTWinM2Text - text_end - -BTGreetingM3Text: - text_far _BTGreetingM3Text - text_end - -BTLossM3Text: - text_far _BTLossM3Text - text_end - -BTWinM3Text: - text_far _BTWinM3Text - text_end - -BTGreetingM4Text: - text_far _BTGreetingM4Text - text_end - -BTLossM4Text: - text_far _BTLossM4Text - text_end - -BTWinM4Text: - text_far _BTWinM4Text - text_end - -BTGreetingM5Text: - text_far _BTGreetingM5Text - text_end - -BTLossM5Text: - text_far _BTLossM5Text - text_end - -BTWinM5Text: - text_far _BTWinM5Text - text_end - -BTGreetingM6Text: - text_far _BTGreetingM6Text - text_end - -BTLossM6Text: - text_far _BTLossM6Text - text_end - -BTWinM6Text: - text_far _BTWinM6Text - text_end - -BTGreetingM7Text: - text_far _BTGreetingM7Text - text_end - -BTLossM7Text: - text_far _BTLossM7Text - text_end - -BTWinM7Text: - text_far _BTWinM7Text - text_end - -BTGreetingM8Text: - text_far _BTGreetingM8Text - text_end - -BTLossM8Text: - text_far _BTLossM8Text - text_end - -BTWinM8Text: - text_far _BTWinM8Text - text_end - -BTGreetingM9Text: - text_far _BTGreetingM9Text - text_end - -BTLossM9Text: - text_far _BTLossM9Text - text_end - -BTWinM9Text: - text_far _BTWinM9Text - text_end - -BTGreetingM10Text: - text_far _BTGreetingM10Text - text_end - -BTLossM10Text: - text_far _BTLossM10Text - text_end - -BTWinM10Text: - text_far _BTWinM10Text - text_end - -BTGreetingM11Text: - text_far _BTGreetingM11Text - text_end - -BTLossM11Text: - text_far _BTLossM11Text - text_end - -BTWinM11Text: - text_far _BTWinM11Text - text_end - -BTGreetingM12Text: - text_far _BTGreetingM12Text - text_end - -BTLossM12Text: - text_far _BTLossM12Text - text_end - -BTWinM12Text: - text_far _BTWinM12Text - text_end - -BTGreetingM13Text: - text_far _BTGreetingM13Text - text_end - -BTLossM13Text: - text_far _BTLossM13Text - text_end - -BTWinM13Text: - text_far _BTWinM13Text - text_end - -BTGreetingM14Text: - text_far _BTGreetingM14Text - text_end - -BTLossM14Text: - text_far _BTLossM14Text - text_end - -BTWinM14Text: - text_far _BTWinM14Text - text_end - -BTGreetingM15Text: - text_far _BTGreetingM15Text - text_end - -BTLossM15Text: - text_far _BTLossM15Text - text_end - -BTWinM15Text: - text_far _BTWinM15Text - text_end - -BTGreetingM16Text: - text_far _BTGreetingM16Text - text_end - -BTLossM16Text: - text_far _BTLossM16Text - text_end - -BTWinM16Text: - text_far _BTWinM16Text - text_end - -BTGreetingM17Text: - text_far _BTGreetingM17Text - text_end - -BTLossM17Text: - text_far _BTLossM17Text - text_end - -BTWinM17Text: - text_far _BTWinM17Text - text_end - -BTGreetingM18Text: - text_far _BTGreetingM18Text - text_end - -BTLossM18Text: - text_far _BTLossM18Text - text_end - -BTWinM18Text: - text_far _BTWinM18Text - text_end - -BTGreetingM19Text: - text_far _BTGreetingM19Text - text_end - -BTLossM19Text: - text_far _BTLossM19Text - text_end - -BTWinM19Text: - text_far _BTWinM19Text - text_end - -BTGreetingM20Text: - text_far _BTGreetingM20Text - text_end - -BTLossM20Text: - text_far _BTLossM20Text - text_end - -BTWinM20Text: - text_far _BTWinM20Text - text_end - -BTGreetingM21Text: - text_far _BTGreetingM21Text - text_end - -BTLossM21Text: - text_far _BTLossM21Text - text_end - -BTWinM21Text: - text_far _BTWinM21Text - text_end - -BTGreetingM22Text: - text_far _BTGreetingM22Text - text_end - -BTLossM22Text: - text_far _BTLossM22Text - text_end - -BTWinM22Text: - text_far _BTWinM22Text - text_end - -BTGreetingM23Text: - text_far _BTGreetingM23Text - text_end - -BTLossM23Text: - text_far _BTLossM23Text - text_end - -BTWinM23Text: - text_far _BTWinM23Text - text_end - -BTGreetingM24Text: - text_far _BTGreetingM24Text - text_end - -BTLossM24Text: - text_far _BTLossM24Text - text_end - -BTWinM24Text: - text_far _BTWinM24Text - text_end - -BTGreetingM25Text: - text_far _BTGreetingM25Text - text_end - -BTLossM25Text: - text_far _BTLossM25Text - text_end - -BTWinM25Text: - text_far _BTWinM25Text - text_end - -BTGreetingF1Text: - text_far _BTGreetingF1Text - text_end - -BTLossF1Text: - text_far _BTLossF1Text - text_end - -BTWinF1Text: - text_far _BTWinF1Text - text_end - -BTGreetingF2Text: - text_far _BTGreetingF2Text - text_end - -BTLossF2Text: - text_far _BTLossF2Text - text_end - -BTWinF2Text: - text_far _BTWinF2Text - text_end - -BTGreetingF3Text: - text_far _BTGreetingF3Text - text_end - -BTLossF3Text: - text_far _BTLossF3Text - text_end - -BTWinF3Text: - text_far _BTWinF3Text - text_end - -BTGreetingF4Text: - text_far _BTGreetingF4Text - text_end - -BTLossF4Text: - text_far _BTLossF4Text - text_end - -BTWinF4Text: - text_far _BTWinF4Text - text_end - -BTGreetingF5Text: - text_far _BTGreetingF5Text - text_end - -BTLossF5Text: - text_far _BTLossF5Text - text_end - -BTWinF5Text: - text_far _BTWinF5Text - text_end - -BTGreetingF6Text: - text_far _BTGreetingF6Text - text_end - -BTLossF6Text: - text_far _BTLossF6Text - text_end - -BTWinF6Text: - text_far _BTWinF6Text - text_end - -BTGreetingF7Text: - text_far _BTGreetingF7Text - text_end - -BTLossF7Text: - text_far _BTLossF7Text - text_end - -BTWinF7Text: - text_far _BTWinF7Text - text_end - -BTGreetingF8Text: - text_far _BTGreetingF8Text - text_end - -BTLossF8Text: - text_far _BTLossF8Text - text_end - -BTWinF8Text: - text_far _BTWinF8Text - text_end - -BTGreetingF9Text: - text_far _BTGreetingF9Text - text_end - -BTLossF9Text: - text_far _BTLossF9Text - text_end - -BTWinF9Text: - text_far _BTWinF9Text - text_end - -BTGreetingF10Text: - text_far _BTGreetingF10Text - text_end - -BTLossF10Text: - text_far _BTLossF10Text - text_end - -BTWinF10Text: - text_far _BTWinF10Text - text_end - -BTGreetingF11Text: - text_far _BTGreetingF11Text - text_end - -BTLossF11Text: - text_far _BTLossF11Text - text_end - -BTWinF11Text: - text_far _BTWinF11Text - text_end - -BTGreetingF12Text: - text_far _BTGreetingF12Text - text_end - -BTLossF12Text: - text_far _BTLossF12Text - text_end - -BTWinF12Text: - text_far _BTWinF12Text - text_end - -BTGreetingF13Text: - text_far _BTGreetingF13Text - text_end - -BTLossF13Text: - text_far _BTLossF13Text - text_end - -BTWinF13Text: - text_far _BTWinF13Text - text_end - -BTGreetingF14Text: - text_far _BTGreetingF14Text - text_end - -BTLossF14Text: - text_far _BTLossF14Text - text_end - -BTWinF14Text: - text_far _BTWinF14Text - text_end - -BTGreetingF15Text: - text_far _BTGreetingF15Text - text_end - -BTLossF15Text: - text_far _BTLossF15Text - text_end - -BTWinF15Text: - text_far _BTWinF15Text - text_end diff --git a/engine/events/bug_contest/judging.asm b/engine/events/bug_contest/judging.asm index 3b4e9f1c6..e0eca3850 100644 --- a/engine/events/bug_contest/judging.asm +++ b/engine/events/bug_contest/judging.asm @@ -1,6 +1,5 @@ _BugContestJudging: call ContestScore - farcall StubbedTrainerRankings_BugContestScore call BugContest_JudgeContestants ld a, [wBugContestThirdPlaceWinnerID] call LoadContestantName diff --git a/engine/events/fruit_trees.asm b/engine/events/fruit_trees.asm index ea0d0f4d8..c0cee0e20 100644 --- a/engine/events/fruit_trees.asm +++ b/engine/events/fruit_trees.asm @@ -54,7 +54,6 @@ CheckFruitTree: ret PickedFruitTree: - farcall StubbedTrainerRankings_FruitPicked ld b, 1 jp GetFruitTreeFlag diff --git a/engine/events/lucky_number.asm b/engine/events/lucky_number.asm index 375b817b8..609849474 100644 --- a/engine/events/lucky_number.asm +++ b/engine/events/lucky_number.asm @@ -104,7 +104,6 @@ CheckForLuckyNumberWinners: and a ret z ; found nothing - farcall StubbedTrainerRankings_LuckyNumberShow ld a, [wTempByteValue] and a push af diff --git a/engine/events/magikarp.asm b/engine/events/magikarp.asm index 09d75967e..390db85f3 100644 --- a/engine/events/magikarp.asm +++ b/engine/events/magikarp.asm @@ -28,7 +28,6 @@ CheckMagikarpLength: ld c, l call CalcMagikarpLength call PrintMagikarpLength - farcall StubbedTrainerRankings_MagikarpLength ld hl, .MagikarpGuruMeasureText call PrintText diff --git a/engine/events/odd_egg.asm b/engine/events/odd_egg.asm deleted file mode 100644 index f30bc1b02..000000000 --- a/engine/events/odd_egg.asm +++ /dev/null @@ -1,96 +0,0 @@ -_GiveOddEgg: - ; Figure out which egg to give. - - ; Compare a random word to probabilities out of $ffff. - call Random - ld hl, OddEggProbabilities - ld c, 0 - ld b, c -.loop - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - - ; Break on $ffff. - ld a, d - cp HIGH($ffff) - jr nz, .not_done - ld a, e - cp LOW($ffff) - jr z, .done -.not_done - - ; Break when the random word <= the next probability in de. - ldh a, [hRandomSub] - cp d - jr c, .done - jr z, .ok - jr .next -.ok - ldh a, [hRandomAdd] - cp e - jr c, .done - jr z, .done -.next - inc bc - jr .loop -.done - - ld hl, OddEggs - ld a, NICKNAMED_MON_STRUCT_LENGTH - call AddNTimes - - ; Writes to wOddEgg, wOddEggName, and wOddEggOT, - ; even though OddEggs does not have data for wOddEggOT - ld de, wOddEgg - ld bc, NICKNAMED_MON_STRUCT_LENGTH + NAME_LENGTH - call CopyBytes - - ld a, EGG_TICKET - ld [wCurItem], a - ld a, 1 - ld [wItemQuantityChange], a - ld a, -1 - ld [wCurItemQuantity], a - ld hl, wNumItems - call TossItem - - ; load species in wMobileMonSpecies - ld a, EGG - ld [wMobileMonMiscSpecies], a - - ; load pointer to (wMobileMonSpecies - 1) in wMobileMonSpeciesPointer - ld a, LOW(wMobileMonMiscSpecies - 1) - ld [wMobileMonSpeciesPointer], a - ld a, HIGH(wMobileMonMiscSpecies - 1) - ld [wMobileMonSpeciesPointer + 1], a - ; load pointer to wOddEgg in wMobileMonStructPointer - ld a, LOW(wOddEgg) - ld [wMobileMonStructPointer], a - ld a, HIGH(wOddEgg) - ld [wMobileMonStructPointer + 1], a - - ; load Odd Egg Name in wTempOddEggNickname - ld hl, .Odd - ld de, wTempOddEggNickname - ld bc, MON_NAME_LENGTH - call CopyBytes - - ; load pointer to wTempOddEggNickname in wMobileMonOTPointer - ld a, LOW(wTempOddEggNickname) - ld [wMobileMonOTPointer], a - ld a, HIGH(wTempOddEggNickname) - ld [wMobileMonOTPointer + 1], a - ; load pointer to wOddEggName in wMobileMonNicknamePointer - ld a, LOW(wOddEggName) - ld [wMobileMonNicknamePointer], a - ld a, HIGH(wOddEggName) - ld [wMobileMonNicknamePointer + 1], a - farcall AddMobileMonToParty - ret - -.Odd: - db "ODD@@@@@@@@@" - -INCLUDE "data/events/odd_eggs.asm" diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm index 8fa37c572..d8bee91d0 100644 --- a/engine/events/overworld.asm +++ b/engine/events/overworld.asm @@ -405,8 +405,6 @@ UsedSurfScript: waitbutton closetext - callasm .stubbed_fn - readmem wSurfingPlayerState writevar VAR_MOVEMENT @@ -417,10 +415,6 @@ UsedSurfScript: applymovement PLAYER, wMovementBuffer end -.stubbed_fn - farcall StubbedTrainerRankings_Surf - ret - UsedSurfText: text_far _UsedSurfText text_end @@ -689,7 +683,6 @@ Script_UsedWaterfall: ld a, [wPlayerTile] call CheckWaterfallTile ret z - farcall StubbedTrainerRankings_Waterfall ld a, $1 ld [wScriptVar], a ret diff --git a/engine/events/specials.asm b/engine/events/specials.asm index 09014cc6b..3014acd62 100644 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -125,51 +125,6 @@ PlayersHousePC: ld [wScriptVar], a ret -CheckMysteryGift: - ld a, BANK(sMysteryGiftItem) - call OpenSRAM - ld a, [sMysteryGiftItem] - and a - jr z, .no - inc a - -.no - ld [wScriptVar], a - call CloseSRAM - ret - -GetMysteryGiftItem: - ld a, BANK(sMysteryGiftItem) - call OpenSRAM - ld a, [sMysteryGiftItem] - ld [wCurItem], a - ld a, 1 - ld [wItemQuantityChange], a - ld hl, wNumItems - call ReceiveItem - jr nc, .no_room - xor a - ld [sMysteryGiftItem], a - call CloseSRAM - ld a, [wCurItem] - ld [wNamedObjectIndex], a - call GetItemName - ld hl, .ReceiveItemText - call PrintText - ld a, TRUE - ld [wScriptVar], a - ret - -.no_room - call CloseSRAM - xor a - ld [wScriptVar], a - ret - -.ReceiveItemText: - text_far _ReceiveItemText - text_end - BugContestJudging: farcall _BugContestJudging ld a, b @@ -415,11 +370,4 @@ PrintDiploma: call FadeToMenu farcall _PrintDiploma call ExitAllMenus - ret - -TrainerHouse: - ld a, BANK(sMysteryGiftTrainerHouseFlag) - call OpenSRAM - ld a, [sMysteryGiftTrainerHouseFlag] - ld [wScriptVar], a - jp CloseSRAM + ret \ No newline at end of file diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm index 5fa4ea968..c8beac05e 100644 --- a/engine/events/std_scripts.asm +++ b/engine/events/std_scripts.asm @@ -112,7 +112,6 @@ PokecenterNurseScript: farwritetext NurseTakePokemonText pause 20 - special StubbedTrainerRankings_Healings turnobject LAST_TALKED, LEFT pause 10 special HealParty diff --git a/engine/events/treemons.asm b/engine/events/treemons.asm index 231636ea0..f0184816b 100644 --- a/engine/events/treemons.asm +++ b/engine/events/treemons.asm @@ -1,6 +1,4 @@ TreeMonEncounter: - farcall StubbedTrainerRankings_TreeEncounters - xor a ld [wTempWildMonSpecies], a ld [wCurPartyLevel], a diff --git a/engine/events/whiteout.asm b/engine/events/whiteout.asm index 02f60f0e0..4b4ff3752 100644 --- a/engine/events/whiteout.asm +++ b/engine/events/whiteout.asm @@ -43,8 +43,6 @@ BattleBGMap: ret HalveMoney: - farcall StubbedTrainerRankings_WhiteOuts - ; Halve the player's money. ld hl, wMoney ld a, [hl] diff --git a/engine/games/slot_machine.asm b/engine/games/slot_machine.asm index 0aaa63614..e483b86e6 100644 --- a/engine/games/slot_machine.asm +++ b/engine/games/slot_machine.asm @@ -93,7 +93,6 @@ _SlotMachine: call PlaySFX call WaitSFX call ClearBGPalettes - farcall StubbedTrainerRankings_EndSlotsWinStreak ld hl, wOptions res NO_TEXT_SCROLL, [hl] ld hl, rLCDC @@ -1839,7 +1838,6 @@ Slots_GetPayout: ld a, [hl] ld [wPayout], a ld d, a - farcall StubbedTrainerRankings_AddToSlotsPayouts ret .PayoutTable: @@ -1865,7 +1863,6 @@ Slots_PayoutText: jr nz, .MatchedSomething ld hl, .SlotsDarnText call PrintText - farcall StubbedTrainerRankings_EndSlotsWinStreak ret .MatchedSomething: @@ -1889,7 +1886,6 @@ Slots_PayoutText: .return ld hl, .Text_PrintPayout call PrintText - farcall StubbedTrainerRankings_AddToSlotsWinStreak ret .PayoutStrings: diff --git a/engine/gfx/cgb_layouts.asm b/engine/gfx/cgb_layouts.asm index 4af157c88..e1708902e 100644 --- a/engine/gfx/cgb_layouts.asm +++ b/engine/gfx/cgb_layouts.asm @@ -59,8 +59,7 @@ CGBLayoutJumptable: dw _CGB_PlayerOrMonFrontpicPals dw _CGB_TradeTube dw _CGB_TrainerOrMonFrontpicPals - dw _CGB_MysteryGift - dw _CGB_Unused1E + dw _CGB_Unused1D assert_table_length NUM_SCGB_LAYOUTS _CGB_BattleGrayscale: @@ -151,12 +150,7 @@ _CGB_FinishBattleScreenLayout: ret InitPartyMenuBGPal7: - farcall Function100dc0 -Mobile_InitPartyMenuBGPal7: ld hl, PartyMenuBGPalette - jr nc, .not_mobile - ld hl, PartyMenuBGMobilePalette -.not_mobile ld de, wBGPals1 palette 7 ld bc, 1 palettes ld a, BANK(wBGPals1) @@ -164,11 +158,7 @@ Mobile_InitPartyMenuBGPal7: ret InitPartyMenuBGPal0: - farcall Function100dc0 ld hl, PartyMenuBGPalette - jr nc, .not_mobile - ld hl, PartyMenuBGMobilePalette -.not_mobile ld de, wBGPals1 palette 0 ld bc, 1 palettes ld a, BANK(wBGPals1) @@ -901,7 +891,7 @@ _CGB_PlayerOrMonFrontpicPals: call ApplyPals ret -_CGB_Unused1E: +_CGB_Unused1D: ld de, wBGPals1 ld a, [wCurPartySpecies] call GetMonPalettePointer @@ -935,51 +925,3 @@ _CGB_TrainerOrMonFrontpicPals: call ApplyAttrmap call ApplyPals ret - -_CGB_MysteryGift: - ld hl, .MysteryGiftPalettes - ld de, wBGPals1 - ld bc, 2 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - call ApplyPals - call WipeAttrmap - hlcoord 3, 7, wAttrmap - lb bc, 8, 14 - ld a, $1 - call FillBoxCGB - hlcoord 1, 5, wAttrmap - lb bc, 1, 18 - ld a, $1 - call FillBoxCGB - hlcoord 1, 16, wAttrmap - lb bc, 1, 18 - ld a, $1 - call FillBoxCGB - hlcoord 0, 0, wAttrmap - lb bc, 17, 2 - ld a, $1 - call FillBoxCGB - hlcoord 18, 5, wAttrmap - lb bc, 12, 1 - ld a, $1 - call FillBoxCGB - call ApplyAttrmap - ret - -.MysteryGiftPalettes: -INCLUDE "gfx/mystery_gift/mystery_gift.pal" - -GS_CGB_MysteryGift: ; unreferenced - ld hl, .MysteryGiftPalette - ld de, wBGPals1 - ld bc, 1 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - call ApplyPals - call WipeAttrmap - call ApplyAttrmap - ret - -.MysteryGiftPalette: -INCLUDE "gfx/mystery_gift/gs_mystery_gift.pal" diff --git a/engine/gfx/crystal_layouts.asm b/engine/gfx/crystal_layouts.asm index f77d420f3..834e49c98 100644 --- a/engine/gfx/crystal_layouts.asm +++ b/engine/gfx/crystal_layouts.asm @@ -1,117 +1,3 @@ -GetCrystalCGBLayout: - ld a, b - cp SCGB_DEFAULT - jr nz, .not_default - ld a, [wDefaultSGBLayout] -.not_default - push af - farcall ResetBGPals - pop af - ld l, a - ld h, 0 - add hl, hl - ld de, .Jumptable - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, .done - push de - jp hl -.done: - ret - -.Jumptable: - dw _CrystalCGB_MobileLayout0 - dw _CrystalCGB_MobileLayout1 - dw _CrystalCGB_NameCard - -Crystal_FillBoxCGB: -; This is a copy of FillBoxCGB. -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .row - ret - -Crystal_WipeAttrmap: -; This is a copy of WipeAttrmap. - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - xor a - call ByteFill - ret - -MG_Mobile_Layout_LoadPals: - ld de, wBGPals1 - ld hl, Palette_MysteryGiftMobile - ld bc, 5 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - ld de, wBGPals1 palette PAL_BG_TEXT - ld hl, Palette_TextBG7 - ld bc, 1 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - ret - -_CrystalCGB_MobileLayout0: - call MG_Mobile_Layout_LoadPals - call Crystal_WipeAttrmap - call MG_Mobile_Layout_CreatePalBoxes - farcall ApplyAttrmap - farcall ApplyPals - ret - -MG_Mobile_Layout_CreatePalBoxes: - hlcoord 0, 0, wAttrmap - lb bc, 4, 1 - ld a, $1 - call Crystal_FillBoxCGB - lb bc, 2, 1 - ld a, $2 - call Crystal_FillBoxCGB - lb bc, 6, 1 - ld a, $3 - call Crystal_FillBoxCGB - hlcoord 1, 0, wAttrmap - ld a, $1 - lb bc, 3, 18 - call Crystal_FillBoxCGB - lb bc, 2, 18 - ld a, $2 - call Crystal_FillBoxCGB - lb bc, 12, 18 - ld a, $3 - call Crystal_FillBoxCGB - hlcoord 19, 0, wAttrmap - lb bc, 4, 1 - ld a, $1 - call Crystal_FillBoxCGB - lb bc, 2, 1 - ld a, $2 - call Crystal_FillBoxCGB - lb bc, 6, 1 - ld a, $3 - call Crystal_FillBoxCGB - hlcoord 0, 12, wAttrmap - ld bc, 6 * SCREEN_WIDTH - ld a, $7 - call ByteFill - ret - -Palette_MysteryGiftMobile: -INCLUDE "gfx/mystery_gift/mg_mobile.pal" - LoadOW_BGPal7:: ld hl, Palette_TextBG7 ld de, wBGPals1 palette PAL_BG_TEXT @@ -123,144 +9,44 @@ LoadOW_BGPal7:: Palette_TextBG7: INCLUDE "gfx/font/bg_text.pal" -Function49420:: - ld hl, MansionPalette1 + 8 palettes - ld de, wBGPals1 palette PAL_BG_ROOF - ld bc, 1 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - ret - -_CrystalCGB_MobileLayout1: - call MG_Mobile_Layout_LoadPals - ld de, wBGPals1 palette PAL_BG_TEXT - ld hl, .TextPalette - ld bc, 1 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - call Crystal_WipeAttrmap - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - xor a - call ByteFill - hlcoord 0, 14, wAttrmap - ld bc, 4 * SCREEN_WIDTH - ld a, $7 - call ByteFill - ld a, [wd002] - bit 6, a - jr z, .asm_49464 - call .Function49480 - jr .done - -.asm_49464 - call .Function49496 -.done - farcall ApplyAttrmap - farcall ApplyPals - ld a, TRUE - ldh [hCGBPalUpdate], a - ret - -.TextPalette: -INCLUDE "gfx/mystery_gift/mobile_text.pal" - -.Function49480: - hlcoord 0, 0, wAttrmap - lb bc, 4, SCREEN_WIDTH - ld a, $7 - call Crystal_FillBoxCGB - hlcoord 0, 2, wAttrmap - ld a, $4 - ld [hl], a - hlcoord 19, 2, wAttrmap - ld [hl], a - ret - -.Function49496: - hlcoord 0, 0, wAttrmap - lb bc, 2, SCREEN_WIDTH - ld a, $7 - call Crystal_FillBoxCGB - hlcoord 0, 1, wAttrmap - ld a, $4 - ld [hl], a - hlcoord 19, 1, wAttrmap - ld [hl], a - ret - INCLUDE "engine/tilesets/tileset_palettes.asm" -_CrystalCGB_NameCard: - ld hl, .BGPalette - ld de, wBGPals1 - ld bc, 1 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - farcall ApplyPals - call Crystal_WipeAttrmap - farcall ApplyAttrmap - ld hl, .OBPalette - ld de, wOBPals1 - ld bc, 1 palettes - ld a, BANK(wOBPals1) - call FarCopyWRAM - ret - -.BGPalette: -INCLUDE "gfx/mystery_gift/name_card_bg.pal" - -.OBPalette: -INCLUDE "gfx/mystery_gift/name_card_ob.pal" - -Function49742: - ld hl, .MobileBorderPalettes - ld de, wBGPals1 - ld bc, 8 palettes - ld a, BANK(wBGPals1) - call FarCopyWRAM - farcall ApplyPals - ret - -.MobileBorderPalettes: -INCLUDE "gfx/trade/mobile_border.pal" - _InitMG_Mobile_LinkTradePalMap: hlcoord 0, 0, wAttrmap lb bc, 16, 2 ld a, $4 - call Crystal_FillBoxCGB + call FillBoxCGB ld a, $3 ldcoord_a 0, 1, wAttrmap ldcoord_a 0, 14, wAttrmap hlcoord 2, 0, wAttrmap lb bc, 8, 18 ld a, $5 - call Crystal_FillBoxCGB + call FillBoxCGB hlcoord 2, 8, wAttrmap lb bc, 8, 18 ld a, $6 - call Crystal_FillBoxCGB + call FillBoxCGB hlcoord 0, 16, wAttrmap lb bc, 2, SCREEN_WIDTH ld a, $4 - call Crystal_FillBoxCGB + call FillBoxCGB ld a, $3 lb bc, 6, 1 hlcoord 6, 1, wAttrmap - call Crystal_FillBoxCGB + call FillBoxCGB ld a, $3 lb bc, 6, 1 hlcoord 17, 1, wAttrmap - call Crystal_FillBoxCGB + call FillBoxCGB ld a, $3 lb bc, 6, 1 hlcoord 6, 9, wAttrmap - call Crystal_FillBoxCGB + call FillBoxCGB ld a, $3 lb bc, 6, 1 hlcoord 17, 9, wAttrmap - call Crystal_FillBoxCGB + call FillBoxCGB ld a, $2 hlcoord 2, 16, wAttrmap ld [hli], a diff --git a/engine/gfx/dma_transfer.asm b/engine/gfx/dma_transfer.asm index 682302f96..c2a27f2b1 100644 --- a/engine/gfx/dma_transfer.asm +++ b/engine/gfx/dma_transfer.asm @@ -77,73 +77,6 @@ ReloadMapPart:: ret -Mobile_ReloadMapPart: - ld hl, ReloadMapPart ; useless - ld hl, .Function - jp CallInSafeGFXMode - -.Function: - decoord 0, 0, wAttrmap - ld hl, wScratchAttrmap - call PadAttrmapForHDMATransfer - decoord 0, 0 - ld hl, wScratchTilemap - call PadTilemapForHDMATransfer - call DelayFrame - - di - ldh a, [rVBK] - push af - ld a, $1 - ldh [rVBK], a - ld hl, wScratchAttrmap - call HDMATransfer_NoDI - ld a, $0 - ldh [rVBK], a - ld hl, wScratchTilemap - call HDMATransfer_NoDI - pop af - ldh [rVBK], a - ei - - ret - -Function1040d4: ; unreferenced - ld hl, .Function - jp CallInSafeGFXMode - -.Function - ld a, $1 - ldh [rVBK], a - ld a, BANK(w3_d800) - ldh [rSVBK], a - ld de, w3_d800 - ldh a, [hBGMapAddress + 1] - ldh [rHDMA1], a - ldh a, [hBGMapAddress] - ldh [rHDMA2], a - ld a, d - ldh [rHDMA3], a - ld a, e - ldh [rHDMA4], a - ld a, $23 - ldh [hDMATransfer], a - call WaitDMATransfer - ret - -Function1040fb: ; unreferenced - ld hl, .Function - jp CallInSafeGFXMode - -.Function - ld a, $1 - ldh [rVBK], a - ld a, BANK(w3_d800) - ldh [rSVBK], a - ld hl, w3_d800 - call HDMATransferToWRAMBank3 - ret - OpenAndCloseMenu_HDMATransferTilemapAndAttrmap:: ; OpenText ld hl, .Function diff --git a/engine/gfx/load_font.asm b/engine/gfx/load_font.asm index 284965910..af903f60b 100644 --- a/engine/gfx/load_font.asm +++ b/engine/gfx/load_font.asm @@ -112,10 +112,6 @@ LoadHPBar: ld hl, vTiles2 tile $55 lb bc, BANK(ExpBarGFX), 9 call Get2bppViaHDMA - ld de, MobilePhoneTilesGFX + 7 tiles ; mobile phone icon - ld hl, vTiles2 tile $5e - lb bc, BANK(MobilePhoneTilesGFX), 2 - call Get2bppViaHDMA ret StatsScreen_LoadFont: diff --git a/engine/gfx/sgb_layouts.asm b/engine/gfx/sgb_layouts.asm index 69615a616..b94bacb11 100644 --- a/engine/gfx/sgb_layouts.asm +++ b/engine/gfx/sgb_layouts.asm @@ -52,8 +52,7 @@ SGBLayoutJumptable: dw .SGB_PlayerOrMonFrontpicPals dw .SGB_TradeTube dw .SGB_TrainerOrMonFrontpicPals - dw .SGB_MysteryGift - dw .SGB_Unused1E + dw .SGB_Unused1D assert_table_length NUM_SCGB_LAYOUTS .SGB_BattleGrayscale: @@ -291,7 +290,6 @@ SGBLayoutJumptable: ret .SGB_Diploma: -.SGB_MysteryGift: ld hl, PalPacket_Diploma ld de, BlkPacket_AllPal0 ret @@ -439,7 +437,7 @@ endr ld de, wSGBPals + PALPACKET_LENGTH ret -.SGB_Unused1E: +.SGB_Unused1D: ld hl, PalPacket_Pal01 ld de, wSGBPals ld bc, PALPACKET_LENGTH diff --git a/engine/gfx/sprite_anims.asm b/engine/gfx/sprite_anims.asm index d74db175d..3bfadd7d0 100644 --- a/engine/gfx/sprite_anims.asm +++ b/engine/gfx/sprite_anims.asm @@ -740,11 +740,9 @@ AnimSeq_FlyTo: ret AnimSeq_MobileTradeSentPulse: - farcall MobileTradeAnim_AnimateSentPulse ret AnimSeq_MobileTradeOTPulse: - farcall MobileTradeAnim_AnimateOTPulse ret AnimSeq_IntroSuicune: @@ -837,7 +835,6 @@ AnimSeq_IntroSuicuneAway: ret AnimSeq_EZChatCursor: - farcall AnimateEZChatCursor ret AnimSeq_Celebi: diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index d04851e60..f6da658f5 100644 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -502,8 +502,6 @@ PokeBallEffect: cp BATTLETYPE_TUTORIAL jp z, .FinishTutorial - farcall StubbedTrainerRankings_WildMonsCaught - ld hl, Text_GotchaMonWasCaught call PrintText diff --git a/engine/items/tmhm.asm b/engine/items/tmhm.asm index d4d7d7bb3..ae858d631 100644 --- a/engine/items/tmhm.asm +++ b/engine/items/tmhm.asm @@ -145,7 +145,6 @@ TeachTMHM: and a jr z, .nope - farcall StubbedTrainerRankings_TMsHMsTaught ld a, [wCurItem] call IsHM ret c diff --git a/engine/link/link.asm b/engine/link/link.asm index 6b03696ed..ba7632835 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -2033,8 +2033,6 @@ LinkTrade: .save farcall SaveAfterLinkTrade - farcall StubbedTrainerRankings_Trades - farcall BackupMobileEventIndex ld c, 40 call DelayFrames hlcoord 0, 12 diff --git a/engine/link/mystery_gift.asm b/engine/link/mystery_gift.asm deleted file mode 100644 index 6786dc35b..000000000 --- a/engine/link/mystery_gift.asm +++ /dev/null @@ -1,1923 +0,0 @@ -; hMGRole values -DEF IR_RECEIVER EQU 1 -DEF IR_SENDER EQU 2 - -; hMGStatusFlags error bits -DEF MG_WRONG_CHECKSUM_F EQU 0 -DEF MG_TIMED_OUT_F EQU 1 -DEF MG_CANCELED_F EQU 4 -DEF MG_WRONG_PREFIX_F EQU 7 - -; hMGStatusFlags values -DEF MG_WRONG_CHECKSUM EQU 1 << MG_WRONG_CHECKSUM_F -DEF MG_TIMED_OUT EQU 1 << MG_TIMED_OUT_F -DEF MG_CANCELED EQU 1 << MG_CANCELED_F -DEF MG_WRONG_PREFIX EQU 1 << MG_WRONG_PREFIX_F -DEF MG_NOT_OKAY EQU MG_WRONG_CHECKSUM | MG_TIMED_OUT | MG_CANCELED | MG_WRONG_PREFIX -DEF MG_OKAY EQU ~MG_NOT_OKAY -DEF MG_START_END EQU %11111111 - -DEF REGION_PREFIX EQU $96 -DEF REGION_CODE EQU $90 ; USA - -DEF MESSAGE_PREFIX EQU $5a - -DEF NAME_CARD_PREFIX EQU $3c - -DoMysteryGift: - call ClearTilemap - call ClearSprites - call WaitBGMap - call InitMysteryGiftLayout - hlcoord 3, 8 - ld de, .String_PressAToLink_BToCancel - call PlaceString - call WaitBGMap - - ; Prepare the first of two messages for wMysteryGiftPartnerData - farcall StageDataForMysteryGift - call ClearMysteryGiftTrainer - vc_patch Infrared_stage_party_data -if DEF(_CRYSTAL11_VC) - farcall StagePartyDataForMysteryGift - call ClearMysteryGiftTrainer - nop -else - ld a, 2 - ld [wMysteryGiftMessageCount], a - ld a, wMysteryGiftPartnerDataEnd - wMysteryGiftPartnerData - ld [wMysteryGiftStagedDataLength], a -endc - vc_patch_end - - ldh a, [rIE] - push af - call ExchangeMysteryGiftData - vc_hook Infrared_ExchangeMysteryGiftData_end - ld d, a - xor a - ldh [rIF], a - pop af - ldh [rIE], a - - push de - call ClearTilemap - call EnableLCD - call WaitBGMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - call SetPalettes - pop de - - hlcoord 2, 8 - ld a, d - ld de, .MysteryGiftCanceledText ; Link has been canceled - cp MG_CANCELED - jp z, .LinkCanceled - cp MG_OKAY - jp nz, .CommunicationError - ld a, [wMysteryGiftPartnerGameVersion] - cp POKEMON_PIKACHU_2_VERSION - jr z, .skip_checks - call .CheckAlreadyGotFiveGiftsToday - ld hl, .MysteryGiftFiveADayText ; Only 5 gifts a day - jp nc, .PrintTextAndExit - call .CheckAlreadyGotAGiftFromThatPerson - ld hl, .MysteryGiftOneADayText ; Only one gift a day per person - jp c, .PrintTextAndExit -.skip_checks - ld a, [wMysteryGiftPlayerBackupItem] - and a - jp nz, .GiftWaiting - ld a, [wMysteryGiftPartnerBackupItem] - and a - jp nz, .FriendNotReady - ld a, [wMysteryGiftPartnerGameVersion] - cp POKEMON_PIKACHU_2_VERSION - jr z, .skip_append_save - call .AddMysteryGiftPartnerID - ld a, [wMysteryGiftPartnerGameVersion] - cp RESERVED_GAME_VERSION - jr z, .skip_append_save - call .SaveMysteryGiftTrainerName - farcall RestoreMobileEventIndex - farcall StubbedTrainerRankings_MysteryGift - farcall BackupMobileEventIndex -.skip_append_save - ld a, [wMysteryGiftPartnerSentDeco] - and a - jr z, .SentItem -; sent decoration - ld a, [wMysteryGiftPartnerWhichDeco] - ld c, a - farcall MysteryGiftGetDecoration - push bc - call CheckAndSetMysteryGiftDecorationAlreadyReceived - pop bc - jr nz, .SentItem -; keep the decoration if it wasn't already received - callfar GetDecorationName_c - ld h, d - ld l, e - ld de, wStringBuffer1 - ld bc, ITEM_NAME_LENGTH - call CopyBytes - ld hl, .MysteryGiftSentHomeText ; sent decoration to home - jr .PrintTextAndExit - -.SentItem: - call GetMysteryGiftBank - ld a, [wMysteryGiftPartnerWhichItem] - ld c, a - farcall MysteryGiftGetItem - ld a, c - ld [sBackupMysteryGiftItem], a - ld [wNamedObjectIndex], a - call CloseSRAM - call GetItemName - ld hl, .MysteryGiftSentText ; sent item/decoration - jr .PrintTextAndExit - -.LinkCanceled: - ld hl, .MysteryGiftCanceledText ; Link has been canceled - jr .PrintTextAndExit - -.CommunicationError: - ld hl, .MysteryGiftCommErrorText ; Communication error - call PrintText - jp DoMysteryGift - -.GiftWaiting: - ld hl, .RetrieveMysteryGiftText ; receive gift at counter - jr .PrintTextAndExit - -.FriendNotReady: - ld hl, .YourFriendIsNotReadyText ; friend not ready - ; fallthrough - -.PrintTextAndExit: - call PrintText - ld a, LCDC_DEFAULT - ldh [rLCDC], a - ret - -.String_PressAToLink_BToCancel: - db "Press A to" - next "link IR-Device" - next "Press B to" - next "cancel it." - db "@" - -.MysteryGiftCanceledText: - text_far _MysteryGiftCanceledText - text_end - -.MysteryGiftCommErrorText: - text_far _MysteryGiftCommErrorText - text_end - -.RetrieveMysteryGiftText: - text_far _RetrieveMysteryGiftText - text_end - -.YourFriendIsNotReadyText: - text_far _YourFriendIsNotReadyText - text_end - -.MysteryGiftFiveADayText: - text_far _MysteryGiftFiveADayText - text_end - -.MysteryGiftOneADayText: - text_far _MysteryGiftOneADayText - text_end - -.MysteryGiftSentText: - text_far _MysteryGiftSentText - text_end - -.MysteryGiftSentHomeText: - text_far _MysteryGiftSentHomeText - text_end - -.CheckAlreadyGotFiveGiftsToday: - call GetMysteryGiftBank - ld a, [sNumDailyMysteryGiftPartnerIDs] - cp MAX_MYSTERY_GIFT_PARTNERS - jp CloseSRAM - -.CheckAlreadyGotAGiftFromThatPerson: - call GetMysteryGiftBank - ld a, [wMysteryGiftPartnerID] - ld b, a - ld a, [wMysteryGiftPartnerID + 1] - ld c, a - ld a, [sNumDailyMysteryGiftPartnerIDs] - ld d, a - ld hl, sDailyMysteryGiftPartnerIDs -.loop - ld a, d - and a - jr z, .No - ld a, [hli] - cp b - jr nz, .skip - ld a, [hl] - cp c - jr z, .Yes -.skip - inc hl - dec d - jr .loop -.Yes: - scf -.No: - jp CloseSRAM - -.AddMysteryGiftPartnerID: - call GetMysteryGiftBank - ld hl, sNumDailyMysteryGiftPartnerIDs - ld a, [hl] - inc [hl] - ld hl, sDailyMysteryGiftPartnerIDs ; could have done "inc hl" instead - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [wMysteryGiftPartnerID] - ld [hli], a - ld a, [wMysteryGiftPartnerID + 1] - ld [hl], a - jp CloseSRAM - -.SaveMysteryGiftTrainerName: - call GetMysteryGiftBank - ld a, TRUE - ld [sMysteryGiftTrainerHouseFlag], a - ld hl, wMysteryGiftPartnerName - ld de, sMysteryGiftPartnerName - ld bc, NAME_LENGTH - call CopyBytes - assert sMysteryGiftPartnerName + NAME_LENGTH == sMysteryGiftUnusedFlag - ld a, TRUE - ld [de], a - inc de - assert sMysteryGiftUnusedFlag + 1 == sMysteryGiftTrainer - ld hl, wMysteryGiftTrainer - ld bc, wMysteryGiftTrainerEnd - wMysteryGiftTrainer - call CopyBytes - jp CloseSRAM - -ExchangeMysteryGiftData: - vc_hook Infrared_ExchangeMysteryGiftData_start - vc_patch Infrared_ExchangeMysteryGiftData_function -if DEF(_CRYSTAL11_VC) - ld d, $ef -.loop - dec d - ld a, d - or a - jr nz, .loop - vc_hook Infrared_ExchangeMysteryGiftData_loop_done - nop - cp MG_CANCELED -.restart ; same location as unpatched .restart - ret z - nop - nop - cp MG_OKAY - jr nz, ExchangeMysteryGiftData - ret -else - di - farcall ClearChannels - call InitializeIRCommunicationInterrupts - -.restart - call BeginIRCommunication - call InitializeIRCommunicationRoles - ldh a, [hMGStatusFlags] -endc - vc_patch_end - cp MG_CANCELED - jp z, EndOrContinueMysteryGiftIRCommunication - cp MG_OKAY - jr nz, .restart - - ldh a, [hMGRole] - cp IR_SENDER - jr z, SenderExchangeMysteryGiftDataPayloads - - ld hl, hMGExchangedByte - ld b, 1 - call TryReceivingIRDataBlock - jr nz, .failed - call ReceiveMysteryGiftDataPayload_GotRegionPrefix - jp nz, EndOrContinueMysteryGiftIRCommunication - jr ReceiverExchangeMysteryGiftDataPayloads_GotPayload - -.failed - ; Delay frame -.wait_frame - ldh a, [rLY] - cp LY_VBLANK - jr c, .wait_frame - - ld c, LOW(rRP) - ld a, rRP_ENABLE_READ_MASK - ldh [c], a - - ld b, 60 * 4 ; 4 seconds -.continue - push bc - call MysteryGift_UpdateJoypad - ld b, 1 << rRP_RECEIVING - ld c, LOW(rRP) -.in_vblank - ldh a, [c] - and b - ld b, a - ldh a, [rLY] - cp LY_VBLANK - jr nc, .in_vblank -.wait_vblank - ldh a, [c] - and b - ld b, a - ldh a, [rLY] - cp LY_VBLANK - jr c, .wait_vblank - ld a, b - pop bc - ; Restart if the 4-second timeout has elapsed - dec b - jr z, .restart - ; Restart if rRP is not receiving data - or a - jr nz, .restart - ; Check if we've pressed the B button to cancel - ldh a, [hMGJoypadReleased] - bit B_BUTTON_F, a - jr z, .continue - ld a, MG_CANCELED - ldh [hMGStatusFlags], a - jp EndOrContinueMysteryGiftIRCommunication - -ReceiverExchangeMysteryGiftDataPayloads: - ; Receive the data payload - call ReceiveMysteryGiftDataPayload - jp nz, EndOrContinueMysteryGiftIRCommunication - ; fallthrough -ReceiverExchangeMysteryGiftDataPayloads_GotPayload: - ; Switch roles - call BeginSendingIRCommunication - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Send the data payload - call SendMysteryGiftDataPayload - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Switch roles - call BeginReceivingIRCommunication - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Receive an empty block - call ReceiveEmptyIRDataBlock - jp EndOrContinueMysteryGiftIRCommunication - -SenderExchangeMysteryGiftDataPayloads: - ; Send the data payload - call SendMysteryGiftDataPayload - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Switch roles - call BeginReceivingIRCommunication - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Receive the data payload - call ReceiveMysteryGiftDataPayload - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Switch roles - call BeginSendingIRCommunication - jp nz, EndOrContinueMysteryGiftIRCommunication - ; Send an empty block - call SendEmptyIRDataBlock - jp EndOrContinueMysteryGiftIRCommunication - -ReceiveMysteryGiftDataPayload: - ; Receive the region prefix - ld hl, hMGExchangedByte - ld b, 1 - call TryReceivingIRDataBlock - ret nz - ; fallthrough -ReceiveMysteryGiftDataPayload_GotRegionPrefix: - ; Receive an empty block - call ReceiveEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Verify the received region prefix - ldh a, [hMGExchangedByte] - cp REGION_PREFIX - jp nz, WrongMysteryGiftRegion - ld a, REGION_CODE - ldh [hMGExchangedByte], a - ; Switch roles - call BeginSendingIRCommunication - ret nz - ; Send the region code - ld hl, hMGExchangedByte - ld b, 1 - call TrySendingIRDataBlock - ret nz - ; Send an empty block - call SendEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Switch roles - call BeginReceivingIRCommunication - ret nz - ; Receive the staged data - ld hl, wMysteryGiftTrainer - ld a, [wMysteryGiftStagedDataLength] - ld b, a - call TryReceivingIRDataBlock - ret nz - ; Receive an empty block - call ReceiveEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -SendMysteryGiftDataPayload: - ; Send the region prefix - ld a, REGION_PREFIX - ldh [hMGExchangedByte], a - ld hl, hMGExchangedByte - ld b, 1 - call TrySendingIRDataBlock - ret nz - ; Send an empty block - call SendEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Switch roles - call BeginReceivingIRCommunication - ret nz - ; Receive the region code - ld hl, hMGExchangedByte - ld b, 1 - call TryReceivingIRDataBlock - ret nz - ; Receive an empty block - call ReceiveEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Verify the received region code - ldh a, [hMGExchangedByte] - cp REGION_CODE - jp nz, WrongMysteryGiftRegion - ; Switch roles - call BeginSendingIRCommunication - ret nz - ; Send the staged data - ld hl, wMysteryGiftStaging - ld a, [wMysteryGiftStagedDataLength] - ld b, a - call TrySendingIRDataBlock - ret nz - ; Send an empty block - call SendEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -EndOrContinueMysteryGiftIRCommunication: - nop - ldh a, [hMGStatusFlags] - ; Quit if player canceled - cp MG_CANCELED - jr z, .quit - ; Quit if there was a communication error - cp MG_OKAY - jr nz, .quit - ; Quit if all messages are sent/received - ld hl, wMysteryGiftMessageCount - dec [hl] - jr z, .quit - ; Quit if communicating with Pokémon Pikachu 2 device - ld hl, wMysteryGiftTrainer - ld de, wMysteryGiftPartnerData - ld bc, wMysteryGiftPartnerDataEnd - wMysteryGiftPartnerData - call CopyBytes - ld a, [wMysteryGiftTrainer] ; first byte is the version - cp POKEMON_PIKACHU_2_VERSION - jr nc, .quit - - ; Prepare the second message for wMysteryGiftTrainer - farcall StagePartyDataForMysteryGift - call ClearMysteryGiftTrainer - ld a, wMysteryGiftTrainerEnd - wMysteryGiftTrainer - ld [wMysteryGiftStagedDataLength], a - - ldh a, [hMGRole] - cp IR_SENDER - jr z, .sender - - call BeginReceivingIRCommunication - jr nz, EndOrContinueMysteryGiftIRCommunication - jp ReceiverExchangeMysteryGiftDataPayloads - -.sender - call BeginSendingIRCommunication - jr nz, EndOrContinueMysteryGiftIRCommunication - jp SenderExchangeMysteryGiftDataPayloads - -.quit - ldh a, [hMGStatusFlags] - push af - call EndIRCommunication - xor a - ldh [rIF], a - ldh a, [rIE] - or 1 << VBLANK - ldh [rIE], a - ei - call DelayFrame - pop af - ret - -ExchangeNameCardData: - di - farcall ClearChannels - call InitializeIRCommunicationInterrupts - -.restart - call BeginIRCommunication - call InitializeIRCommunicationRoles - ldh a, [hMGStatusFlags] - cp MG_CANCELED - jp z, EndNameCardIRCommunication - cp MG_OKAY - jr nz, .restart - - ldh a, [hMGRole] - cp IR_SENDER - jr z, .sender - - ; Receive the data payload - call ReceiveNameCardDataPayload - jp nz, EndNameCardIRCommunication - ; Switch roles - call BeginSendingIRCommunication - jp nz, EndNameCardIRCommunication - ; Send the data payload - call SendNameCardDataPayload - jp nz, EndNameCardIRCommunication - ; Switch roles - call BeginReceivingIRCommunication - jp nz, EndNameCardIRCommunication - ; Receive an empty block - call ReceiveEmptyIRDataBlock - jp EndNameCardIRCommunication - -.sender - ; Send the data payload - call SendNameCardDataPayload - jp nz, EndNameCardIRCommunication - ; Switch roles - call BeginReceivingIRCommunication - jp nz, EndNameCardIRCommunication - ; Receive the data payload - call ReceiveNameCardDataPayload - jp nz, EndNameCardIRCommunication - ; Switch roles - call BeginSendingIRCommunication - jp nz, EndNameCardIRCommunication - ; Send an empty block - call SendEmptyIRDataBlock - jp EndNameCardIRCommunication - -ReceiveNameCardDataPayload: - ; Receive the Name Card prefix - ld hl, hMGExchangedByte - ld b, 1 - call TryReceivingIRDataBlock - ret nz - ; Receive an empty block - call ReceiveEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Verify the received Name Card prefix - ldh a, [hMGExchangedByte] - cp NAME_CARD_PREFIX - jp nz, WrongMysteryGiftRegion - swap a - ldh [hMGExchangedByte], a - ; Switch roles - call BeginSendingIRCommunication - ret nz - ; Send the swapped Name Card prefix - ld hl, hMGExchangedByte - ld b, 1 - call TrySendingIRDataBlock - ret nz - ; Send an empty block - call SendEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Switch roles - call BeginReceivingIRCommunication - ret nz - ; Receive the staged data - ld hl, wNameCardData - ld a, [wMysteryGiftStagedDataLength] - ld b, a - call TryReceivingIRDataBlock - ret nz - ; Receive an empty block - call ReceiveEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -SendNameCardDataPayload: - ; Send the Name Card prefix - ld a, NAME_CARD_PREFIX - ldh [hMGExchangedByte], a - ld hl, hMGExchangedByte - ld b, 1 - call TrySendingIRDataBlock - ret nz - ; Send an empty block - call SendEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Switch roles - call BeginReceivingIRCommunication - ret nz - ; Receive the swapped Name Card prefix - ld hl, hMGExchangedByte - ld b, 1 - call TryReceivingIRDataBlock - ret nz - ; Receive an empty block - call ReceiveEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret nz - ; Verify the received swapped Name Card prefix - ldh a, [hMGExchangedByte] - swap a - cp NAME_CARD_PREFIX - jp nz, WrongMysteryGiftRegion - ; Switch roles - call BeginSendingIRCommunication - ret nz - ; Send the staged data - ld hl, wMysteryGiftStaging - ld a, [wMysteryGiftStagedDataLength] - ld b, a - call TrySendingIRDataBlock - ret nz - ; Send an empty block - call SendEmptyIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -EndNameCardIRCommunication: - nop - ldh a, [hMGStatusFlags] - push af - call EndIRCommunication - xor a - ldh [rIF], a - ldh a, [rIE] - or 1 << VBLANK - ldh [rIE], a - ei - call DelayFrame - pop af - ret - -WrongMysteryGiftRegion: - ld a, MG_WRONG_PREFIX - ldh [hMGStatusFlags], a - and a - ret - -BeginSendingIRCommunication: - call BeginIRCommunication - call SendIRHelloMessage - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -BeginReceivingIRCommunication: - call BeginIRCommunication - call ReceiveIRHelloMessage - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -TrySendingIRDataBlock: - call SendIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -TryReceivingIRDataBlock: - call ReceiveIRDataBlock - ldh a, [hMGStatusFlags] - cp MG_OKAY - ret - -InitializeIRCommunicationInterrupts: - call StartFastIRTimer - ld a, 1 << TIMER - ldh [rIE], a - xor a - ldh [rIF], a - call BeginIRCommunication -; waits for ~$40400 cycles = ~0.25 seconds - xor a - ld b, a -.busy_wait - inc a - jr nz, .busy_wait - inc b - jr nz, .busy_wait - ret - -StartFastIRTimer: -; Starts a 65,536 Hz timer that interrupts every 3 increments (21,845 Hz). - xor a - ldh [rTAC], a - ld a, -2 - ldh [rTMA], a - ldh [rTIMA], a - ld a, rTAC_65536_HZ - ldh [rTAC], a - or 1 << rTAC_ON - ldh [rTAC], a - ret - -StartSlowIRTimer: -; Starts a 65,536 Hz timer that interrupts every 256 increments (256 Hz). - xor a - ldh [rTAC], a - ldh [rTMA], a - ldh [rTIMA], a - ld a, rTAC_65536_HZ - ldh [rTAC], a - or 1 << rTAC_ON - ldh [rTAC], a - ret - -BeginIRCommunication: - ld a, rRP_ENABLE_READ_MASK - call ToggleIRCommunication - ld a, IR_RECEIVER - ldh [hMGRole], a - ret - -EndIRCommunication: - xor a - call ToggleIRCommunication - ld a, rTAC_65536_HZ - ldh [rTAC], a - ret - -ReceiveInfraredLEDOn: -; Count interrupts of the partner's IR LED on; quit after 256-d interrupts. -.recv_loop - inc d - ret z - xor a - ldh [rIF], a - halt - nop - ldh a, [c] - bit rRP_RECEIVING, a - jr z, .recv_loop - or a - ret - -ReceiveInfraredLEDOff: -; Count interrupts of the partner's IR LED off; quit after 256-d interrupts. -.no_recv_loop - inc d - ret z - xor a - ldh [rIF], a - halt - nop - ldh a, [c] - bit rRP_RECEIVING, a - jr nz, .no_recv_loop - or a - ret - -SendInfraredLEDOn: -; Holds the IR LED on for d-1 interrupts. - ld a, rRP_ENABLE_READ_MASK | (1 << rRP_LED_ON) - ldh [c], a -.wait - dec d - ret z - xor a - ldh [rIF], a - halt - nop - jr .wait - -SendInfraredLEDOff: -; Holds the IR LED off for d-1 interrupts. - ld a, rRP_ENABLE_READ_MASK - ldh [c], a -.wait - dec d - ret z - xor a - ldh [rIF], a - halt - nop - jr .wait - -InitializeIRCommunicationRoles: - ld d, 0 - ld e, d - - ld a, IR_RECEIVER - ldh [hMGRole], a -.loop - call MysteryGift_UpdateJoypad - ld b, 1 << rRP_RECEIVING - ld c, LOW(rRP) - ; Check if we've pressed the B button to cancel - ldh a, [hMGJoypadReleased] - bit B_BUTTON_F, a - jr z, .not_canceled - ld a, MG_CANCELED - ldh [hMGStatusFlags], a - ret - -.not_canceled - ; Check if we've pressed the A button to start sending - bit A_BUTTON_F, a - jr nz, SendIRHelloMessageAfterDelay - ; If rRP is not receiving data, keep checking for input - ldh a, [c] - and b - jr nz, .loop - ; fallthrough - -ReceiveIRHelloMessage: - ld c, LOW(rRP) - ld d, 0 - ld e, d - - call ReceiveInfraredLEDOff - jp z, InfraredLEDReceiveTimedOut - ld d, e - call ReceiveInfraredLEDOn - jp z, InfraredLEDReceiveTimedOut - call ReceiveInfraredLEDOff - jp z, InfraredLEDReceiveTimedOut - call ReceiveInfraredLEDOn - jp z, InfraredLEDReceiveTimedOut - - ld a, MG_OKAY - ldh [hMGStatusFlags], a - - ld d, 61 - call SendInfraredLEDOff - ld d, 5 - call SendInfraredLEDOn - ld d, 21 - call SendInfraredLEDOff - ld d, 5 - call SendInfraredLEDOn - ld d, 5 - call SendInfraredLEDOff - ret - -SendIRHelloMessageAfterDelay: - ; Wait a random amount of time - call Random - ld e, a - and $f - ld d, a -.wait_loop - dec de - ld a, d - or e - jr nz, .wait_loop - ; fallthrough - -SendIRHelloMessage: - ld a, IR_SENDER - ldh [hMGRole], a - - ld c, LOW(rRP) - ld d, 0 - ld e, d - - ld d, 61 - call SendInfraredLEDOff - ld d, 5 - call SendInfraredLEDOn - ld d, 21 - call SendInfraredLEDOff - ld d, 5 - call SendInfraredLEDOn - ld d, 5 - call SendInfraredLEDOff - - ld d, e - call ReceiveInfraredLEDOff - jp z, InfraredLEDReceiveTimedOut - ld d, e - call ReceiveInfraredLEDOn - jp z, InfraredLEDReceiveTimedOut - call ReceiveInfraredLEDOff - jp z, InfraredLEDReceiveTimedOut - call ReceiveInfraredLEDOn - jp z, InfraredLEDReceiveTimedOut - - ld d, 61 - call SendInfraredLEDOff - - ld a, MG_OKAY - ldh [hMGStatusFlags], a - ret - -ToggleIRCommunication: - ldh [rRP], a - ld a, MG_START_END - ldh [hMGStatusFlags], a - ret - -SendIRDataBlock: -; Send b bytes of data in three messages: -; 1. two bytes: MESSAGE_PREFIX and the length b -; 2. b bytes: the actual data -; 3. two bytes: a little-endian checksum -; Then receive a one-byte acknowledgement message: the status. - xor a - ldh [hMGChecksum + 0], a - ldh [hMGChecksum + 1], a - push hl - push bc - ld c, LOW(rRP) - ld d, 61 - call SendInfraredLEDOff - ld hl, hMGExchangedWord - ld a, MESSAGE_PREFIX - ld [hli], a - ld [hl], b - dec hl - ld b, 2 - call SendIRDataMessage - pop bc - pop hl - call SendIRDataMessage - ldh a, [hMGChecksum + 0] - ldh [hMGExchangedWord + 0], a - ldh a, [hMGChecksum + 1] - ldh [hMGExchangedWord + 1], a - push hl - ld hl, hMGExchangedWord - ld b, 2 - call SendIRDataMessage - ld hl, hMGStatusFlags - ld b, 1 - call ReceiveIRDataMessage - ldh a, [hMGExchangedWord + 0] - ldh [hMGChecksum + 0], a - ldh a, [hMGExchangedWord + 1] - ldh [hMGChecksum + 1], a - pop hl - ret - -SendIRDataMessage: -; Send b bytes of data one bit at a time, and update the checksum. - ld c, LOW(rRP) - - ld d, 5 - call SendInfraredLEDOff - ld d, 5 - call SendInfraredLEDOn - ld d, 21 - call SendInfraredLEDOff - - ; b = -b - 1; then count up to 0 - ld a, b - cpl - ld b, a - - ld a, -12 - ldh [rTMA], a -.byte_loop - inc b - jr z, .done - ld a, 8 - ldh [hMGNumBits], a - ; Get the next data byte - ld a, [hli] - ld e, a - ; Add the next data byte to the checksum - ldh a, [hMGChecksum + 0] - add e - ldh [hMGChecksum + 0], a - ldh a, [hMGChecksum + 1] - adc 0 - ldh [hMGChecksum + 1], a - ; Send each bit of the byte -.bit_loop - xor a - ldh [rIF], a - halt - nop - ld a, rRP_ENABLE_READ_MASK | (1 << rRP_LED_ON) - ldh [rRP], a - ; Turn the LED off for longer if the bit is 1 - ld d, 1 - ld a, e - rlca - ld e, a - jr nc, .wait - inc d -.wait - ldh a, [rTIMA] - cp -8 - jr c, .wait - ld a, rRP_ENABLE_READ_MASK - ldh [rRP], a - dec d - jr z, .no_halt - xor a - ldh [rIF], a - halt - nop -.no_halt - ldh a, [hMGNumBits] - dec a - jr z, .byte_loop - ldh [hMGNumBits], a - jr .bit_loop - -.done - ld a, -2 - ldh [rTMA], a - xor a - ldh [rIF], a - halt - nop - - ld d, 5 - call SendInfraredLEDOn - ld d, 17 - call SendInfraredLEDOff - ret - -InfraredLEDReceiveTimedOut: - ldh a, [hMGStatusFlags] - or MG_TIMED_OUT - ldh [hMGStatusFlags], a - ret - -ReceivedWrongIRChecksum: - ldh a, [hMGStatusFlags] - or MG_WRONG_CHECKSUM - ldh [hMGStatusFlags], a - ret - -ReceivedWrongIRMessagePrefix: - ldh a, [hMGStatusFlags] - or MG_WRONG_PREFIX - ldh [hMGStatusFlags], a - ret - -ReceiveIRDataBlock: -; Receive b bytes of data in three messages: -; 1. two bytes: MESSAGE_PREFIX and the length b -; 2. b bytes: the actual data -; 3. two bytes: a little-endian checksum -; Then send a one-byte acknowledgement message: the status. - xor a - ldh [hMGChecksum + 0], a - ldh [hMGChecksum + 1], a - push bc - push hl - ld hl, hMGExchangedWord - ld b, 2 - call ReceiveIRDataMessage - ldh a, [hMGExchangedWord + 1] - ldh [hMGUnusedMsgLength], a - ld b, a - pop hl - pop af - cp b - jp c, ReceivedWrongIRMessagePrefix - ldh a, [hMGExchangedWord + 0] - cp MESSAGE_PREFIX - jp nz, ReceivedWrongIRMessagePrefix - call ReceiveIRDataMessage - ldh a, [hMGChecksum + 0] - ld d, a - ldh a, [hMGChecksum + 1] - ld e, a - push hl - push de - ld hl, hMGExchangedWord - ld b, 2 - call ReceiveIRDataMessage - pop de - ld hl, hMGExchangedWord - ld a, [hli] - xor d - ld b, a - ld a, [hl] - xor e - or b - call nz, ReceivedWrongIRChecksum - push de - - ld d, 61 - call SendInfraredLEDOff - - ld hl, hMGStatusFlags - ld b, 1 - call SendIRDataMessage - - pop de - pop hl - ld a, d - ldh [hMGChecksum + 0], a - ld a, e - ldh [hMGChecksum + 1], a - ret - -ReceiveIRDataMessage: - ld c, LOW(rRP) - - ld d, 0 - call ReceiveInfraredLEDOff - jp z, InfraredLEDReceiveTimedOut - ld d, 0 - call ReceiveInfraredLEDOn - jp z, InfraredLEDReceiveTimedOut - ld d, 0 - call ReceiveInfraredLEDOff - jp z, InfraredLEDReceiveTimedOut - - ld a, b - cpl - ld b, a - xor a - ldh [hMGPrevTIMA], a - - call StartSlowIRTimer -.main_loop - inc b - jr z, .done - ld a, 8 - ldh [hMGNumBits], a -.inner_loop - ld d, 0 -.recv_loop - inc d - jr z, .recv_done - ldh a, [c] - bit rRP_RECEIVING, a - jr z, .recv_loop - ld d, 0 -.recv_done -.send_loop - inc d - jr z, .send_done - ldh a, [c] - bit rRP_RECEIVING, a - jr nz, .send_loop -.send_done - ldh a, [hMGPrevTIMA] - ld d, a - ldh a, [rTIMA] - ldh [hMGPrevTIMA], a - sub d - cp $12 - jr c, .zero - set 0, e - jr .ok -.zero - res 0, e -.ok - ldh a, [hMGNumBits] - dec a - ldh [hMGNumBits], a - jr z, .continue - ld a, e - rlca - ld e, a - jr .inner_loop - -.continue - ld a, e - ld [hli], a - ldh a, [hMGChecksum + 0] - add e - ldh [hMGChecksum + 0], a - ldh a, [hMGChecksum + 1] - adc 0 - ldh [hMGChecksum + 1], a - jr .main_loop - -.done - call StartFastIRTimer - xor a - ldh [rIF], a - ld d, 0 - call ReceiveInfraredLEDOn - jp z, InfraredLEDReceiveTimedOut - - ld d, 16 - call SendInfraredLEDOff - ret - -SendEmptyIRDataBlock: - ld b, 0 - jp SendIRDataBlock - -ReceiveEmptyIRDataBlock: - ld b, 0 - jp ReceiveIRDataBlock - -MysteryGift_UpdateJoypad: -; We can only get four inputs at a time. -; We take d-pad first for no particular reason. - ld a, R_DPAD - ldh [rJOYP], a -; Read twice to give the request time to take. - ldh a, [rJOYP] - ldh a, [rJOYP] - -; The Joypad register output is in the lo nybble (inversed). -; We make the hi nybble of our new container d-pad input. - cpl - and $f - swap a - -; We'll keep this in b for now. - ld b, a - -; Buttons make 8 total inputs (A, B, Select, Start). -; We can fit this into one byte. - ld a, R_BUTTONS - ldh [rJOYP], a -; Wait for input to stabilize. -rept 6 - ldh a, [rJOYP] -endr -; Buttons take the lo nybble. - cpl - and $f - or b - ld c, a -; To get the delta we xor the last frame's input with the new one. - ldh a, [hMGJoypadPressed] - xor c -; Released this frame: - and c - ldh [hMGJoypadReleased], a -; Pressed this frame: - ld a, c - ldh [hMGJoypadPressed], a - ld a, $30 -; Reset the joypad register since we're done with it. - ldh [rJOYP], a - ret - -CheckAndSetMysteryGiftDecorationAlreadyReceived: -; Return nz if decoration c was already received; otherwise receive it. - call GetMysteryGiftBank - ld d, 0 - ld b, CHECK_FLAG - ld hl, sMysteryGiftDecorationsReceived - lda_predef SmallFarFlagAction - push hl - push bc - call Predef - call CloseSRAM - ld a, c - and a - pop bc - pop hl - ret nz - call GetMysteryGiftBank - ld b, SET_FLAG - predef SmallFarFlagAction - call CloseSRAM - xor a - ret - -CopyMysteryGiftReceivedDecorationsToPC: - call GetMysteryGiftBank - ld c, 0 -.loop - push bc - ld d, 0 - ld b, CHECK_FLAG - ld hl, sMysteryGiftDecorationsReceived - predef SmallFarFlagAction - ld a, c - and a - pop bc - jr z, .skip - push bc - callfar SetSpecificDecorationFlag - pop bc -.skip - inc c - ld a, c - cp NUM_NON_TROPHY_DECOS - jr c, .loop - jp CloseSRAM - -UnlockMysteryGift: -; If [sMysteryGiftUnlocked] was -1, this sets both -; [sMysteryGiftUnlocked] and [sMysteryGiftItem] to 0. - call GetMysteryGiftBank - ld hl, sMysteryGiftUnlocked - ld a, [hl] - inc a - jr nz, .ok - ld [hld], a - assert sMysteryGiftUnlocked - 1 == sMysteryGiftItem - ld [hl], a -.ok - jp CloseSRAM - -ResetDailyMysteryGiftLimitIfUnlocked: - call GetMysteryGiftBank - ld a, [sNumDailyMysteryGiftPartnerIDs] - cp -1 ; locked? - jr z, .dont_clear - xor a - ld [sNumDailyMysteryGiftPartnerIDs], a -.dont_clear - jp CloseSRAM - -BackupMysteryGift: -; Copies [sMysteryGiftItem] to [sBackupMysteryGiftItem], -; and [sMysteryGiftUnlocked] to [sNumDailyMysteryGiftPartnerIDs]. - call GetMysteryGiftBank - ld hl, sMysteryGiftItem - ld de, sBackupMysteryGiftItem - ld a, [hli] - ld [de], a - inc de - assert sMysteryGiftItem + 1 == sMysteryGiftUnlocked - assert sBackupMysteryGiftItem + 1 == sNumDailyMysteryGiftPartnerIDs - ld a, [hl] - ld [de], a - jp CloseSRAM - -RestoreMysteryGift: -; Copies [sBackupMysteryGiftItem] to [sMysteryGiftItem], -; and [sNumDailyMysteryGiftPartnerIDs] to [sMysteryGiftUnlocked]. - call GetMysteryGiftBank - ld hl, sBackupMysteryGiftItem - ld de, sMysteryGiftItem - ld a, [hli] - ld [de], a - inc de - assert sBackupMysteryGiftItem + 1 == sNumDailyMysteryGiftPartnerIDs - assert sMysteryGiftItem + 1 == sMysteryGiftUnlocked - ld a, [hl] - ld [de], a - jp CloseSRAM - -ClearMysteryGiftTrainer: - ld hl, wMysteryGiftTrainer - xor a - ld b, wMysteryGiftTrainerEnd - wMysteryGiftTrainer -.loop - ld [hli], a - dec b - jr nz, .loop - ret - -GetMysteryGiftBank: - ld a, BANK(sMysteryGiftData) - jp OpenSRAM - -StagePartyDataForMysteryGift: -; You will be sending this data to your mystery gift partner. -; Structure is the same as a trainer with species and moves -; defined. - ld a, BANK(sPokemonData) - call OpenSRAM - ld de, wMysteryGiftStaging - ld bc, sPokemonData + wPartyMons - wPokemonData - ld hl, sPokemonData + wPartySpecies - wPokemonData -.loop - ld a, [hli] - cp -1 - jr z, .party_end - cp EGG - jr z, .next - push hl - ; copy level - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - ld [de], a - inc de - ; copy species - ld hl, MON_SPECIES - add hl, bc - ld a, [hl] - ld [de], a - inc de - ; copy moves - ld hl, MON_MOVES - add hl, bc - push bc - ld bc, NUM_MOVES - call CopyBytes - pop bc - pop hl -.next - push hl - ld hl, PARTYMON_STRUCT_LENGTH - add hl, bc - ld b, h - ld c, l - pop hl - jr .loop -.party_end - ld a, -1 - ld [de], a - ld a, wMysteryGiftTrainerEnd - wMysteryGiftTrainer - ld [wUnusedMysteryGiftStagedDataLength], a - jp CloseSRAM - -InitMysteryGiftLayout: - call ClearBGPalettes - call DisableLCD - ld hl, MysteryGiftGFX - ld de, vTiles2 tile $00 - ld a, BANK(MysteryGiftGFX) - ld bc, $43 tiles - call FarCopyBytes - hlcoord 0, 0 - ld a, $42 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - call ByteFill - hlcoord 3, 7 - lb bc, 9, 15 - call ClearBox - hlcoord 0, 0 - ld a, $0 - ld [hli], a - inc a - ld [hl], a - hlcoord 0, 1 - inc a - ld [hli], a - inc a - ld [hl], a - hlcoord 7, 1 - ld a, $12 - call .Load5GFX - hlcoord 2, 2 - ld a, $17 - call .Load16GFX - hlcoord 2, 3 - ld a, $27 - call .Load16GFX - hlcoord 9, 4 - ld a, $37 - ld [hli], a - inc a - ld [hl], a - hlcoord 1, 2 - ld [hl], $4 - hlcoord 1, 3 - ld a, $5 - call .Load14Column - ld a, $9 - hlcoord 18, 5 - call .Load11Column - hlcoord 2, 5 - ld a, $b - call .Load16Row - hlcoord 2, 16 - ld a, $7 - call .Load16Row - hlcoord 2, 5 - ld a, $d - call .Load5GFX - hlcoord 7, 5 - ld [hl], $c - hlcoord 18, 5 - ld [hl], $a - hlcoord 18, 16 - ld [hl], $8 - hlcoord 1, 16 - ld [hl], $6 - hlcoord 2, 6 - ld a, $3a - call .Load16Row - hlcoord 2, 15 - ld a, $40 - call .Load16Row - hlcoord 2, 6 - ld a, $3c - call .Load9Column - hlcoord 17, 6 - ld a, $3e - call .Load9Column - hlcoord 2, 6 - ld [hl], $39 - hlcoord 17, 6 - ld [hl], $3b - hlcoord 2, 15 - ld [hl], $3f - hlcoord 17, 15 - ld [hl], $41 - call EnableLCD - call WaitBGMap - ld b, SCGB_MYSTERY_GIFT - call GetSGBLayout - call SetPalettes - ret - -.Load5GFX: - ld b, 5 - jr .gfx_loop - -.Load6GFX: ; unreferenced - ld b, 6 - jr .gfx_loop - -.Load16GFX: - ld b, 16 - -.gfx_loop - ld [hli], a - inc a - dec b - jr nz, .gfx_loop - ret - -.Load9Column: - ld b, 9 - jr .col_loop - -.Load11Column: - ld b, 11 - jr .col_loop - -.Load14Column: - ld b, 14 - -.col_loop - ld [hl], a - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .col_loop - ret - -.Load16Row: - ld b, 16 -.row_loop - ld [hli], a - dec b - jr nz, .row_loop - ret - -MysteryGiftGFX: -INCBIN "gfx/mystery_gift/mystery_gift.2bpp" - -DoNameCardSwap: - call ClearTilemap - call ClearSprites - call WaitBGMap - call InitNameCardLayout - hlcoord 3, 8 - ld de, .String_PressAToLink_BToCancel_JP - call PlaceString - call WaitBGMap - call StageDataForNameCard - call ClearMysteryGiftTrainer - ld a, wNameCardDataEnd - wNameCardData - ld [wMysteryGiftStagedDataLength], a - ldh a, [rIE] - push af - call ExchangeNameCardData - ld d, a - xor a - ldh [rIF], a - pop af - ldh [rIE], a - ld a, d - cp $10 - jp z, .LinkCanceled - cp MG_OKAY - jp nz, .CommunicationError - call .SlideNameCardUpOffScreen - ld c, 60 - call DelayFrames - call .ClearScreen - ld hl, .NameCardReceivedCardText - call PrintText - ld de, wNameCardData - farcall Function8ac70 - ld a, c - ld [wTextDecimalByte], a - ld hl, .NameCardNotRegisteredCardText - jr c, .PrintTextAndExit - ld hl, .NameCardListedCardText - jr .PrintTextAndExit - -.SlideNameCardUpOffScreen: - ld c, 16 -.loop - ld hl, wShadowOAMSprite00YCoord - ld b, 8 -.dec_y_loop - dec [hl] -rept SPRITEOAMSTRUCT_LENGTH - inc hl -endr - dec b - jr nz, .dec_y_loop - ld hl, wShadowOAMSprite08YCoord - ld b, 8 -.inc_y_loop - inc [hl] -rept SPRITEOAMSTRUCT_LENGTH - inc hl -endr - dec b - jr nz, .inc_y_loop - dec c - ret z - push bc - ld c, 4 - call DelayFrames - pop bc - jr .loop - -.LinkCanceled: - call .ClearScreen - ld hl, .NameCardLinkCancelledText - jr .PrintTextAndExit - -.CommunicationError: - call .ClearScreen - ld hl, .NameCardCommErrorText - call PrintText - jp DoNameCardSwap - -.PrintTextAndExit: - call PrintText - ld a, LCDC_DEFAULT - ldh [rLCDC], a - ret - -.String_PressAToLink_BToCancel_JP: - db "エーボタンおすと" - next "つうしんおこなわれるよ!" - next "ビーボタンおすと" - next "つうしんちゅうし します" - db "@" - -.NameCardReceivedCardText: - text_far _NameCardReceivedCardText - text_end - -.NameCardListedCardText: - text_far _NameCardListedCardText - text_end - -.NameCardNotRegisteredCardText: - text_far _NameCardNotRegisteredCardText - text_end - -.NameCardLinkCancelledText: - text_far _NameCardLinkCancelledText - text_end - -.NameCardCommErrorText: - text_far _NameCardLinkCommErrorText - text_end - -.ClearScreen: - call ClearSprites - call ClearTilemap - call EnableLCD - call WaitBGMap - ld b, SCGB_DIPLOMA - call GetSGBLayout - call SetPalettes - ret - -StageDataForNameCard: - ld de, wMysteryGiftStaging - ld a, BANK(sPlayerData) - call OpenSRAM - ld hl, sPlayerData + wPlayerName - wPlayerData - ld bc, NAME_LENGTH - call CopyBytes - ld hl, sPlayerData + wPlayerID - wPlayerData - ld bc, 2 - call CopyBytes - ld hl, sPlayerData + wSecretID - wPlayerData - ld bc, 2 - call CopyBytes - call CloseSRAM - ld a, BANK(sCrystalData) - call OpenSRAM - ld a, [sCrystalData + 0] - ld [de], a - inc de - ld a, BANK(s4_a603) ; aka BANK(sEZChatMessages) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - ld hl, s4_a603 ; address of MBC30 bank - ld bc, 8 - call CopyBytes - ld hl, sEZChatIntroductionMessage ; address of MBC30 bank - ld bc, EASY_CHAT_MESSAGE_LENGTH - call CopyBytes - call CloseSRAM - ret - -InitNameCardLayout: - call ClearBGPalettes - call DisableLCD - ld hl, CardTradeGFX - ld de, vTiles2 tile $00 - ld a, BANK(CardTradeGFX) - ld bc, $40 tiles - call FarCopyBytes - ld hl, CardTradeSpriteGFX - ld de, vTiles0 tile $00 - ld a, BANK(CardTradeSpriteGFX) - ld bc, 8 tiles - call FarCopyBytes - hlcoord 0, 0 - ld a, $3f - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH - call ByteFill - hlcoord 3, 7 - lb bc, 9, 15 - call ClearBox - hlcoord 0, 0 - ld a, $0 - ld [hli], a - inc a - ld [hl], a - hlcoord 0, 1 - inc a - ld [hli], a - inc a - ld [hl], a - hlcoord 4, 2 - ld a, $13 - call .Load11Row - hlcoord 4, 3 - ld a, $1e - call .Load12Row - hlcoord 4, 4 - ld a, $2a - call .Load12Row - hlcoord 1, 2 - ld [hl], $4 - hlcoord 1, 3 - ld a, $5 - call .Load14Column - ld a, $9 - hlcoord 18, 5 - call .Load11Column - hlcoord 2, 5 - ld a, $b - call .Load16Row - hlcoord 2, 16 - ld a, $7 - call .Load16Row - hlcoord 2, 5 - ld a, $d - call .Load6Row - hlcoord 8, 5 - ld [hl], $c - hlcoord 18, 5 - ld [hl], $a - hlcoord 18, 16 - ld [hl], $8 - hlcoord 1, 16 - ld [hl], $6 - hlcoord 2, 6 - ld a, $37 - call .Load16Row - hlcoord 2, 15 - ld a, $3d - call .Load16Row - hlcoord 2, 6 - ld a, $39 - call .Load9Column - hlcoord 17, 6 - ld a, $3b - call .Load9Column - hlcoord 2, 6 - ld [hl], $36 - hlcoord 17, 6 - ld [hl], $38 - hlcoord 2, 15 - ld [hl], $3c - hlcoord 17, 15 - ld [hl], $3e - ld de, wShadowOAMSprite00 - ld hl, .NameCardOAMData - ld bc, 16 * SPRITEOAMSTRUCT_LENGTH - call CopyBytes - call EnableLCD - call WaitBGMap - ld b, CRYSTAL_CGB_NAME_CARD - farcall GetCrystalCGBLayout - jp SetPalettes - -.Load6Row: - ld b, 6 - jr .row_loop - -.Load11Row: - ld b, 11 - jr .row_loop - -.Load12Row: - ld b, 12 - -.row_loop - ld [hli], a - inc a - dec b - jr nz, .row_loop - ret - -.Load9Column: - ld b, 9 - jr .column_loop - -.Load11Column: - ld b, 11 - jr .column_loop - -.Load14Column: - ld b, 14 - -.column_loop - ld [hl], a - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .column_loop - ret - -.Load16Row: - ld b, 16 -.row_loop_no_inc - ld [hli], a - dec b - jr nz, .row_loop_no_inc - ret - -.NameCardOAMData: - dbsprite 6, 2, 4, 1, $00, 0 - dbsprite 7, 2, 4, 1, $01, 0 - dbsprite 8, 2, 4, 1, $02, 0 - dbsprite 9, 2, 4, 1, $03, 0 - dbsprite 6, 3, 4, 1, $04, 0 - dbsprite 7, 3, 4, 1, $05, 0 - dbsprite 8, 3, 4, 1, $06, 0 - dbsprite 9, 3, 4, 1, $07, 0 - dbsprite 11, 0, 4, 1, $00, 0 - dbsprite 12, 0, 4, 1, $01, 0 - dbsprite 13, 0, 4, 1, $02, 0 - dbsprite 14, 0, 4, 1, $03, 0 - dbsprite 11, 1, 4, 1, $04, 0 - dbsprite 12, 1, 4, 1, $05, 0 - dbsprite 13, 1, 4, 1, $06, 0 - dbsprite 14, 1, 4, 1, $07, 0 - -CardTradeGFX: -INCBIN "gfx/mystery_gift/card_trade.2bpp" - -CardTradeSpriteGFX: -INCBIN "gfx/mystery_gift/card_sprite.2bpp" diff --git a/engine/link/mystery_gift_2.asm b/engine/link/mystery_gift_2.asm deleted file mode 100644 index af3715e09..000000000 --- a/engine/link/mystery_gift_2.asm +++ /dev/null @@ -1,150 +0,0 @@ -StageDataForMysteryGift: - ld de, wMysteryGiftStaging - ld a, GS_VERSION + 1 - ld [de], a - inc de ; wMysteryGiftStaging+1 - ld a, BANK(sGameData) - call OpenSRAM - ld hl, sPlayerData + wPlayerID - wPlayerData - ld a, [hli] - ld [de], a - ld b, a - inc de ; wMysteryGiftStaging+2 - ld a, [hl] - ld [de], a - ld c, a - inc de ; wMysteryGiftStaging+3 - push bc - ld hl, sPlayerData + wPlayerName - wPlayerData - ld bc, NAME_LENGTH - call CopyBytes - push de ; wMysteryGiftStaging+14 - ld hl, sPokemonData + wPokedexCaught - wPokemonData - ld b, wEndPokedexCaught - wPokedexCaught - call CountSetBits - pop de - pop bc - ld a, [wNumSetBits] - ld [de], a - inc de ; wMysteryGiftStaging+15 - call CloseSRAM - call Random - and 1 - ld [de], a - inc de ; wMysteryGiftStaging+16 - call .RandomSample - ld [de], a - inc de ; wMysteryGiftStaging+17 - ld a, c - ld c, b - ld b, a - call .RandomSample - ld [de], a - inc de ; wMysteryGiftStaging+18 - ld a, BANK(sBackupMysteryGiftItem) - call OpenSRAM - ld a, [sBackupMysteryGiftItem] - ld [de], a - inc de - ld a, [sNumDailyMysteryGiftPartnerIDs] - ld [de], a - ld a, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData - ld [wUnusedMysteryGiftStagedDataLength], a - call CloseSRAM - ld hl, wMysteryGiftStaging - ld de, wMysteryGiftPlayerData - ld bc, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData - jp CopyBytes - -.RandomSample: - push de - call Random - cp 10 percent - jr c, .tenpercent - call Random - and %111 - ld d, a - rl d - ld e, $80 -.loop - rlc e - dec a - jr nz, .loop - ld a, e - and c - jr z, .skip - ld a, $1 -.skip - add d - jr .done - -.tenpercent - call Random - cp 20 percent - 1 - jr c, .twopercent - call Random - and %011 - ld d, a - rl d - ld e, $80 -.loop2 - rlc e - dec a - jr nz, .loop2 - ld a, e - and b - jr z, .skip2 - ld a, $1 -.skip2 - add d - add $10 - jr .done - -.twopercent - call Random - cp 20 percent - 1 - jr c, .pointfourpercent - ld a, b - swap a - and $7 - add $18 - jr .done - -.pointfourpercent - ld a, b - and $80 - ld a, $20 - jr z, .done - ld a, $21 - -.done - pop de - ret - -MysteryGiftGetItem: - ld a, c - cp MysteryGiftItems.End - MysteryGiftItems - jr nc, MysteryGiftFallbackItem - ld hl, MysteryGiftItems - ld b, 0 - add hl, bc - ld c, [hl] - ret - -MysteryGiftGetDecoration: - ld a, c - cp MysteryGiftDecos.End - MysteryGiftDecos - jr nc, MysteryGiftFallbackItem - ld hl, MysteryGiftDecos - ld b, 0 - add hl, bc - ld c, [hl] - ret - -MysteryGiftFallbackItem: - ld c, DECO_POLKADOT_BED ; GREAT_BALL - ret - -INCLUDE "data/items/mystery_gift_items.asm" - -INCLUDE "data/decorations/mystery_gift_decos.asm" diff --git a/engine/menus/init_gender.asm b/engine/menus/init_gender.asm index 4bf8cc2f0..76c6cb4bd 100644 --- a/engine/menus/init_gender.asm +++ b/engine/menus/init_gender.asm @@ -8,8 +8,6 @@ InitCrystalData: ld [wd476], a ld [wd477], a ld [wd478], a - ld [wd002], a - ld [wd003], a ld a, [wd479] res 0, a ; ??? ld [wd479], a @@ -18,8 +16,6 @@ InitCrystalData: ld [wd479], a ret -INCLUDE "mobile/mobile_12.asm" - InitGender: call InitGenderScreen call LoadGenderScreenPal diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 8689335e2..dfa654087 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -48,12 +48,6 @@ NewGame_ClearTilemapEtc: call ClearWindowData ret -MysteryGift: - call UpdateTime - farcall DoMysteryGiftIfDayHasPassed - farcall DoMysteryGift - ret - Option: farcall _Option ret @@ -78,16 +72,9 @@ NewGame: jp FinishContinueFunction AreYouABoyOrAreYouAGirl: - farcall Mobile_AlwaysReturnNotCarry ; mobile - jr c, .ok farcall InitGender ret -.ok - ld c, 0 - farcall InitMobileProfile ; mobile - ret - if DEF(_DEBUG) DebugRoom: ; unreferenced farcall _DebugRoom @@ -173,16 +160,6 @@ _ResetWRAM: ld [wRoamMon2MapNumber], a ld [wRoamMon3MapNumber], a - ld a, BANK(sMysteryGiftItem) ; aka BANK(sMysteryGiftUnlocked) - call OpenSRAM - ld hl, sMysteryGiftItem - xor a - ld [hli], a - assert sMysteryGiftItem + 1 == sMysteryGiftUnlocked - dec a ; -1 - ld [hl], a - call CloseSRAM - call LoadOrRegenerateLuckyIDNumber call InitializeMagikarpHouse @@ -220,8 +197,6 @@ endc farcall DeletePartyMonMail - farcall DeleteMobileEventIndex - call ResetGameTime ret @@ -365,13 +340,11 @@ Continue: ld a, HIGH(MUSIC_NONE) ld [wMusicFadeID + 1], a call ClearBGPalettes - call Continue_MobileAdapterMenu call CloseWindow call ClearTilemap ld c, 20 call DelayFrames farcall JumpRoamMons - farcall CopyMysteryGiftReceivedDecorationsToPC farcall ClockContinue ld a, [wSpawnAfterChampion] cp SPAWN_LANCE @@ -400,36 +373,6 @@ PostCreditsSpawn: ldh [hMapEntryMethod], a ret -Continue_MobileAdapterMenu: - farcall Mobile_AlwaysReturnNotCarry ; mobile check - ret nc - -; the rest of this stuff is never reached because -; the previous function returns with carry not set - ld hl, wd479 - bit 1, [hl] - ret nz - ld a, 5 - ld [wMusicFade], a - ld a, LOW(MUSIC_MOBILE_ADAPTER_MENU) - ld [wMusicFadeID], a - ld a, HIGH(MUSIC_MOBILE_ADAPTER_MENU) - ld [wMusicFadeID + 1], a - ld c, 20 - call DelayFrames - ld c, $1 - farcall InitMobileProfile ; mobile - farcall _SaveData - ld a, 8 - ld [wMusicFade], a - ld a, LOW(MUSIC_NONE) - ld [wMusicFadeID], a - ld a, HIGH(MUSIC_NONE) - ld [wMusicFadeID + 1], a - ld c, 35 - call DelayFrames - ret - ConfirmContinue: .loop call DelayFrame diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 63173ec0c..06238032f 100644 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -2,26 +2,13 @@ const_def const MAINMENU_NEW_GAME ; 0 const MAINMENU_CONTINUE ; 1 - const MAINMENU_MOBILE_MYSTERY ; 2 - const MAINMENU_MOBILE ; 3 - const MAINMENU_MOBILE_STUDIUM ; 4 - const MAINMENU_MYSTERY_MOBILE_STUDIUM ; 5 - const MAINMENU_MYSTERY ; 6 - const MAINMENU_MYSTERY_STUDIUM ; 7 - const MAINMENU_STUDIUM ; 8 ; MainMenu.Strings and MainMenu.Jumptable indexes const_def const MAINMENUITEM_CONTINUE ; 0 const MAINMENUITEM_NEW_GAME ; 1 const MAINMENUITEM_OPTION ; 2 - const MAINMENUITEM_MYSTERY_GIFT ; 3 - const MAINMENUITEM_MOBILE ; 4 - const MAINMENUITEM_MOBILE_STUDIUM ; 5 - const MAINMENUITEM_DEBUG_ROOM ; 6 - -MobileMenuGFX: -INCBIN "gfx/mobile/mobile_menu.2bpp" + const MAINMENUITEM_DEBUG_ROOM ; 3 MainMenu: .loop @@ -80,9 +67,6 @@ endc dw MainMenu_Continue dw MainMenu_NewGame dw MainMenu_Option - dw MainMenu_MysteryGift - dw MainMenu_Mobile - dw MainMenu_MobileStudium if DEF(_DEBUG) dw MainMenu_DebugRoom endc @@ -106,88 +90,6 @@ if DEF(_DEBUG) endc db -1 - ; MAINMENU_MOBILE_MYSTERY - db 5 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MYSTERY_GIFT - db MAINMENUITEM_MOBILE -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - - ; MAINMENU_MOBILE - db 4 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MOBILE -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - - ; MAINMENU_MOBILE_STUDIUM - db 5 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MOBILE - db MAINMENUITEM_MOBILE_STUDIUM -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - - ; MAINMENU_MYSTERY_MOBILE_STUDIUM - db 6 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MYSTERY_GIFT - db MAINMENUITEM_MOBILE - db MAINMENUITEM_MOBILE_STUDIUM -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - - ; MAINMENU_MYSTERY - db 4 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MYSTERY_GIFT -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - - ; MAINMENU_MYSTERY_STUDIUM - db 5 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MYSTERY_GIFT - db MAINMENUITEM_MOBILE_STUDIUM -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - - ; MAINMENU_STUDIUM - db 4 + DEF(_DEBUG) - db MAINMENUITEM_CONTINUE - db MAINMENUITEM_NEW_GAME - db MAINMENUITEM_OPTION - db MAINMENUITEM_MOBILE_STUDIUM -if DEF(_DEBUG) - db MAINMENUITEM_DEBUG_ROOM -endc - db -1 - MainMenu_GetWhichMenu: nop nop @@ -199,42 +101,7 @@ MainMenu_GetWhichMenu: ret .next - ldh a, [hCGB] - cp TRUE ld a, MAINMENU_CONTINUE - ret nz - ld a, BANK(sNumDailyMysteryGiftPartnerIDs) - call OpenSRAM - ld a, [sNumDailyMysteryGiftPartnerIDs] - cp -1 ; locked? - call CloseSRAM - jr nz, .mystery_gift - ; This check makes no difference. - ld a, [wStatusFlags] - bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a - ld a, MAINMENU_CONTINUE - jr z, .ok - jr .ok - -.ok - jr .ok2 - -.ok2 - ld a, MAINMENU_CONTINUE - ret - -.mystery_gift - ; This check makes no difference. - ld a, [wStatusFlags] - bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a - jr z, .ok3 - jr .ok3 - -.ok3 - jr .ok4 - -.ok4 - ld a, MAINMENU_MYSTERY ret MainMenuJoypadLoop: @@ -378,7 +245,3 @@ MainMenu_Option: MainMenu_Continue: farcall Continue ret - -MainMenu_MysteryGift: - farcall MysteryGift - ret diff --git a/engine/menus/menu.asm b/engine/menus/menu.asm index 96b6bdfbc..552243afb 100644 --- a/engine/menus/menu.asm +++ b/engine/menus/menu.asm @@ -15,37 +15,11 @@ _InterpretBattleMenu:: rst FarCall call Draw2DMenu - farcall MobileTextBorder call UpdateSprites call ApplyTilemap call Get2DMenuSelection ret -_InterpretMobileMenu:: - ld hl, CopyMenuData - ld a, [wMenuData_2DMenuItemStringsBank] - rst FarCall - - call Draw2DMenu - farcall MobileTextBorder - call UpdateSprites - call ApplyTilemap - call Init2DMenuCursorPosition - ld hl, w2DMenuFlags1 - set 7, [hl] -.loop - call DelayFrame - farcall Function10032e - ld a, [wcd2b] - and a - jr nz, .quit - call MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - call Mobile_GetMenuSelection - ret - .quit ld a, [w2DMenuNumCols] ld c, a @@ -66,7 +40,6 @@ Get2DMenuSelection: call Init2DMenuCursorPosition call StaticMenuJoypad call MenuClickSound -Mobile_GetMenuSelection: ld a, [wMenuDataFlags] bit 1, a jr z, .skip @@ -256,58 +229,6 @@ _ScrollingMenuJoypad:: ldh [hBGMapMode], a ret -MobileMenuJoypad: - ld hl, w2DMenuFlags2 - res 7, [hl] - ldh a, [hBGMapMode] - push af - call Move2DMenuCursor - call Do2DMenuRTCJoypad - jr nc, .skip_joypad - call _2DMenuInterpretJoypad -.skip_joypad - pop af - ldh [hBGMapMode], a - call GetMenuJoypad - ld c, a - ret - -Function241d5: ; unreferenced - call Place2DMenuCursor -.loop - call Move2DMenuCursor - call HDMATransferTilemapToWRAMBank3 ; should be farcall - call .loop2 - jr nc, .done - call _2DMenuInterpretJoypad - jr c, .done - ld a, [w2DMenuFlags1] - bit 7, a - jr nz, .done - call GetMenuJoypad - ld c, a - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - -.done - ret - -.loop2 - call Menu_WasButtonPressed - ret c - ld c, 1 - ld b, 3 - call AdvanceMobileInactivityTimerAndCheckExpired ; should be farcall - ret c - farcall Function100337 - ret c - ld a, [w2DMenuFlags1] - bit 7, a - jr z, .loop2 - and a - ret - MenuJoypadLoop: .loop call Move2DMenuCursor diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 3df36a70c..e8d4ac164 100644 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -26,7 +26,6 @@ SaveMenu: SaveAfterLinkTrade: call PauseGameLogic farcall StageRTCTimeForSave - farcall BackupMysteryGift call SavePokemonData call SaveChecksum call SaveBackupPokemonData @@ -92,7 +91,6 @@ MoveMonWOMail_InsertMon_SaveGame: ld a, TRUE ld [wSaveFileExists], a farcall StageRTCTimeForSave - farcall BackupMysteryGift call ValidateSave call SaveOptions call SavePlayerData @@ -104,7 +102,6 @@ MoveMonWOMail_InsertMon_SaveGame: call SaveBackupPokemonData call SaveBackupChecksum farcall BackupPartyMonMail - farcall BackupMobileEventIndex farcall SaveRTC call LoadBox call ResumeGameLogic @@ -267,7 +264,6 @@ _SaveGameData: ld a, TRUE ld [wSaveFileExists], a farcall StageRTCTimeForSave - farcall BackupMysteryGift call ValidateSave call SaveOptions call SavePlayerData @@ -281,7 +277,6 @@ _SaveGameData: call SaveBackupChecksum call UpdateStackTop farcall BackupPartyMonMail - farcall BackupMobileEventIndex farcall SaveRTC ld a, BANK(sBattleTowerChallengeState) call OpenSRAM @@ -361,9 +356,7 @@ ErasePreviousSave: call EraseBoxes call EraseHallOfFame call EraseLinkBattleStats - call EraseMysteryGift call SaveData - call EraseBattleTowerStatus ld a, BANK(sStackTop) call OpenSRAM xor a @@ -383,15 +376,6 @@ EraseLinkBattleStats: call ByteFill jp CloseSRAM -EraseMysteryGift: - ld a, BANK(sBackupMysteryGiftItem) - call OpenSRAM - ld hl, sBackupMysteryGiftItem - ld bc, sBackupMysteryGiftItemEnd - sBackupMysteryGiftItem - xor a - call ByteFill - jp CloseSRAM - EraseHallOfFame: ld a, BANK(sHallOfFame) call OpenSRAM @@ -401,72 +385,10 @@ EraseHallOfFame: call ByteFill jp CloseSRAM -InitDefaultEZChatMsgs: ; unreferenced - ld a, BANK(sEZChatMessages) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - ld hl, .Data - ld de, sEZChatMessages - ld bc, EASY_CHAT_MESSAGE_LENGTH * 4 - call CopyBytes - jp CloseSRAM - -.Data: -; introduction - db $0d, EZCHAT_GREETINGS, $00, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON - db $22, EZCHAT_GREETINGS, $01, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON -; begin battle - db $03, EZCHAT_BATTLE, $05, EZCHAT_CONDITIONS, $03, EZCHAT_EXCLAMATIONS - db $0e, EZCHAT_CONVERSATION, $03, EZCHAT_GREETINGS, $00, EZCHAT_POKEMON -; win battle - db $39, EZCHAT_FEELINGS, $07, EZCHAT_BATTLE, $00, EZCHAT_EXCLAMATIONS - db $04, EZCHAT_FEELINGS, $01, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON -; lose battle - db $0f, EZCHAT_EXCLAMATIONS, $14, EZCHAT_FEELINGS, $05, EZCHAT_EXCLAMATIONS - db $11, EZCHAT_TIME, $0c, EZCHAT_CONVERSATION, $06, EZCHAT_BATTLE - -EraseBattleTowerStatus: - ld a, BANK(sBattleTowerChallengeState) - call OpenSRAM - xor a - ld [sBattleTowerChallengeState], a - jp CloseSRAM - SaveData: call _SaveData ret -Function14d6c: ; unreferenced - ld a, BANK(s4_a60b) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - ld a, [s4_a60b] ; address of MBC30 bank - ld b, $0 - and a - jr z, .ok - ld b, $2 - -.ok - ld a, b - ld [s4_a60b], a ; address of MBC30 bank - call CloseSRAM - ret - -Function14d83: ; unreferenced - ld a, BANK(s4_a60c) ; aka BANK(s4_a60d) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - xor a - ld [s4_a60c], a ; address of MBC30 bank - ld [s4_a60d], a ; address of MBC30 bank - call CloseSRAM - ret - -Function14d93: ; unreferenced - ld a, BANK(s7_a000) ; MBC30 bank used by JP Crystal; inaccessible by MBC3 - call OpenSRAM - xor a - ld [s7_a000], a ; address of MBC30 bank - call CloseSRAM - ret - HallOfFame_InitSaveIfNeeded: ld a, [wSavedAtLeastOnce] and a @@ -600,8 +522,6 @@ TryLoadSaveFile: call LoadPokemonData call LoadBox farcall RestorePartyMonMail - farcall RestoreMobileEventIndex - farcall RestoreMysteryGift call ValidateBackupSave call SaveBackupOptions call SaveBackupPlayerData @@ -617,8 +537,6 @@ TryLoadSaveFile: call LoadBackupPokemonData call LoadBox farcall RestorePartyMonMail - farcall RestoreMobileEventIndex - farcall RestoreMysteryGift call ValidateSave call SaveOptions call SavePlayerData @@ -839,17 +757,6 @@ _SaveData: ld bc, wCrystalDataEnd - wCrystalData call CopyBytes - ; This block originally had some mobile functionality, but since we're still in - ; BANK(sCrystalData), it instead overwrites the sixteen wEventFlags starting at 1:s4_a60e with - ; garbage from wd479. This isn't an issue, since ErasePreviousSave is followed by a regular - ; save that unwrites the garbage. - - ld hl, wd479 - ld a, [hli] - ld [s4_a60e + 0], a - ld a, [hli] - ld [s4_a60e + 1], a - jp CloseSRAM _LoadData: @@ -860,15 +767,6 @@ _LoadData: ld bc, wCrystalDataEnd - wCrystalData call CopyBytes - ; This block originally had some mobile functionality to mirror _SaveData above, but instead it - ; (harmlessly) writes the aforementioned wEventFlags to the unused wd479. - - ld hl, wd479 - ld a, [s4_a60e + 0] - ld [hli], a - ld a, [s4_a60e + 1] - ld [hli], a - jp CloseSRAM GetBoxAddress: diff --git a/engine/overworld/player_step.asm b/engine/overworld/player_step.asm index 7a65bb1f5..ff0eca7e2 100644 --- a/engine/overworld/player_step.asm +++ b/engine/overworld/player_step.asm @@ -76,7 +76,6 @@ HandlePlayerStep: ret .mobile - farcall StubbedTrainerRankings_StepCount ret .fail2 diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm index 9f1ebbaf1..d26c413b3 100644 --- a/engine/overworld/scripting.asm +++ b/engine/overworld/scripting.asm @@ -447,8 +447,6 @@ Script__2dmenu: Script_battletowertext: call SetUpTextbox call GetScriptByte - ld c, a - farcall BattleTowerText ret Script_verbosegiveitem: @@ -2317,8 +2315,6 @@ Script_endall: Script_halloffame: ld hl, wGameTimerPaused res GAME_TIMER_PAUSED_F, [hl] - farcall StubbedTrainerRankings_HallOfFame - farcall StubbedTrainerRankings_HallOfFame2 farcall HallOfFame ld hl, wGameTimerPaused set GAME_TIMER_PAUSED_F, [hl] diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm index 2003910b3..79b9e5359 100644 --- a/engine/overworld/time.asm +++ b/engine/overworld/time.asm @@ -256,35 +256,6 @@ _CheckLuckyNumberShowFlag: ld hl, wLuckyNumberDayTimer jp CheckDayDependentEventHL -DoMysteryGiftIfDayHasPassed: - ld a, BANK(sMysteryGiftTimer) - call OpenSRAM - ld hl, sMysteryGiftTimer - ld a, [hli] - ld [wTempMysteryGiftTimer], a - ld a, [hl] - ld [wTempMysteryGiftTimer + 1], a - call CloseSRAM - - ld hl, wTempMysteryGiftTimer - call CheckDayDependentEventHL - jr nc, .not_timed_out - ld hl, wTempMysteryGiftTimer - call InitOneDayCountdown - call CloseSRAM - farcall ResetDailyMysteryGiftLimitIfUnlocked - -.not_timed_out - ld a, BANK(sMysteryGiftTimer) - call OpenSRAM - ld hl, wTempMysteryGiftTimer - ld a, [hli] - ld [sMysteryGiftTimer], a - ld a, [hl] - ld [sMysteryGiftTimer + 1], a - call CloseSRAM - ret - UpdateTimeRemaining: ; If the amount of time elapsed exceeds the capacity of its ; unit, skip this part. diff --git a/engine/overworld/variables.asm b/engine/overworld/variables.asm index 65ad1ec74..f3e967fdd 100644 --- a/engine/overworld/variables.asm +++ b/engine/overworld/variables.asm @@ -59,7 +59,6 @@ _GetVarAction:: dwb wXCoord, RETVAR_STRBUF2 dwb wYCoord, RETVAR_STRBUF2 dwb wSpecialPhoneCallID, RETVAR_STRBUF2 - dwb wNrOfBeatenBattleTowerTrainers, RETVAR_STRBUF2 dwb wKurtApricornQuantity, RETVAR_STRBUF2 dwb wCurCaller, RETVAR_ADDR_DE dwb wBlueCardBalance, RETVAR_ADDR_DE diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm index 0c5890bde..7d6678e9c 100644 --- a/engine/phone/phone.asm +++ b/engine/phone/phone.asm @@ -451,7 +451,6 @@ Script_SpecialElmCall: ; unreferenced RingTwice_StartCall: call .Ring call .Ring - farcall StubbedTrainerRankings_PhoneCalls ret .Ring: @@ -479,7 +478,6 @@ PhoneCall:: ld [wPhoneCaller + 1], a call .Ring call .Ring - farcall StubbedTrainerRankings_PhoneCalls ret .Ring: diff --git a/engine/pokemon/breeding.asm b/engine/pokemon/breeding.asm index 747cf4de1..e138befae 100644 --- a/engine/pokemon/breeding.asm +++ b/engine/pokemon/breeding.asm @@ -226,7 +226,6 @@ HatchEggs: push de farcall SetEggMonCaughtData - farcall StubbedTrainerRankings_EggsHatched ld a, [wCurPartyMon] ld hl, wPartyMon1Species ld bc, PARTYMON_STRUCT_LENGTH diff --git a/engine/pokemon/correct_party_errors.asm b/engine/pokemon/correct_party_errors.asm deleted file mode 100644 index c10be0910..000000000 --- a/engine/pokemon/correct_party_errors.asm +++ /dev/null @@ -1,226 +0,0 @@ -CorrectPartyErrors: ; unreferenced - ld hl, wPartyCount - ld a, [hl] - and a - ret z - - cp PARTY_LENGTH + 1 - jr c, .party_length_okay - ld a, PARTY_LENGTH - ld [hl], a -.party_length_okay - inc hl - - ld b, a - ld c, 0 -.loop1 - ld a, [hl] - and a - jr z, .invalid_species - cp NUM_POKEMON + 1 - jr z, .invalid_species - cp EGG + 1 - jr c, .next_species - -.invalid_species - ld [hl], SMEARGLE - push hl - push bc - ld a, c - ld hl, wPartyMon1Species - call GetPartyLocation - ld [hl], SMEARGLE - pop bc - pop hl - -.next_species - inc hl - inc c - dec b - jr nz, .loop1 - ld [hl], $ff - - ld hl, wPartyMon1 - ld a, [wPartyCount] - ld d, a - ld e, 0 -.loop2 - push de - push hl - ld b, h - ld c, l - ld a, [hl] - and a - jr z, .invalid_species_2 - cp NUM_POKEMON + 1 - jr c, .check_level - -.invalid_species_2 - ld [hl], SMEARGLE - push de - ld d, 0 - ld hl, wPartySpecies - add hl, de - pop de - ld a, SMEARGLE - ld [hl], a - -.check_level - ld [wCurSpecies], a - call GetBaseData - ld hl, MON_LEVEL - add hl, bc - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .invalid_level - ld a, [hl] - cp MAX_LEVEL - jr c, .load_level - ld a, MAX_LEVEL -.invalid_level - ld [hl], a -.load_level - ld [wCurPartyLevel], a - - ld hl, MON_MAXHP - add hl, bc - ld d, h - ld e, l - ld hl, MON_STAT_EXP - 1 - add hl, bc - ld b, TRUE - predef CalcMonStats - pop hl - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop de - inc e - dec d - jr nz, .loop2 - - ld de, wPartyMonNicknames - ld a, [wPartyCount] - ld b, a - ld c, 0 -.loop3 - push bc - call .GetLengthOfStringWith6CharCap - push de - farcall CheckStringForErrors - pop hl - pop bc - jr nc, .valid_nickname - - push bc - push hl - ld hl, wPartySpecies - push bc - ld b, 0 - add hl, bc - pop bc - ld a, [hl] - cp EGG - ld hl, .TAMAGO - jr z, .got_nickname - ld [wNamedObjectIndex], a - call GetPokemonName - ld hl, wStringBuffer1 -.got_nickname - pop de - ld bc, MON_NAME_LENGTH - call CopyBytes - pop bc - -.valid_nickname - inc c - dec b - jr nz, .loop3 - - ld de, wPartyMonOTs - ld a, [wPartyCount] - ld b, a - ld c, 0 -.loop4 - push bc - call .GetLengthOfStringWith6CharCap - push de - farcall CheckStringForErrors - pop hl - jr nc, .valid_ot_name - ld d, h - ld e, l - ld hl, wPlayerName - ld bc, NAME_LENGTH - call CopyBytes -.valid_ot_name - pop bc - inc c - dec b - jr nz, .loop4 - - ld hl, wPartyMon1Moves - ld a, [wPartyCount] - ld b, a -.loop5 - push hl - ld c, NUM_MOVES - ld a, [hl] - and a - jr z, .invalid_move - cp NUM_ATTACKS + 1 - jr c, .moves_loop -.invalid_move - ld [hl], POUND - -.moves_loop - ld a, [hl] - and a - jr z, .fill_invalid_moves - cp NUM_ATTACKS + 1 - jr c, .next_move - -.fill_invalid_moves - xor a - ld [hli], a - dec c - jr nz, .fill_invalid_moves - jr .next_pokemon - -.next_move - inc hl - dec c - jr nz, .moves_loop - -.next_pokemon - pop hl - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop bc - dec b - jr nz, .loop5 - ret - -.TAMAGO: - db "タマゴ@@@" - -.GetLengthOfStringWith6CharCap: - push de - ld c, 1 - ld b, NAME_LENGTH_JAPANESE -.search_loop - ld a, [de] - cp "@" - jr z, .done - inc de - inc c - dec b - jr nz, .search_loop - dec c - dec de - ld a, "@" - ld [de], a -.done - pop de - ret diff --git a/engine/pokemon/evolve.asm b/engine/pokemon/evolve.asm index 0b2cc15bb..b3a620c05 100644 --- a/engine/pokemon/evolve.asm +++ b/engine/pokemon/evolve.asm @@ -242,7 +242,6 @@ EvolveAfterBattle_MasterLoop: push hl ld hl, EvolvedIntoText call PrintTextboxText - farcall StubbedTrainerRankings_MonsEvolved ld de, MUSIC_NONE call PlayMusic diff --git a/engine/pokemon/mon_menu.asm b/engine/pokemon/mon_menu.asm index 2607cdf58..359d15c87 100644 --- a/engine/pokemon/mon_menu.asm +++ b/engine/pokemon/mon_menu.asm @@ -613,7 +613,6 @@ MonMenu_Fly: jr z, .Fail cp $0 jr z, .Error - farcall StubbedTrainerRankings_Fly ld b, $4 ld a, $2 ret diff --git a/engine/pokemon/party_menu.asm b/engine/pokemon/party_menu.asm index 00bfa9b40..93b088b7b 100644 --- a/engine/pokemon/party_menu.asm +++ b/engine/pokemon/party_menu.asm @@ -76,7 +76,6 @@ WritePartyMenuTilemap: dw PlacePartyMonTMHMCompatibility dw PlacePartyMonEvoStoneCompatibility dw PlacePartyMonGender - dw PlacePartyMonMobileBattleSelection PlacePartyNicknames: hlcoord 3, 1 @@ -475,83 +474,6 @@ PlacePartyMonGender: .unknown db "…UNKNOWN@" -PlacePartyMonMobileBattleSelection: - ld a, [wPartyCount] - and a - ret z - ld c, a - ld b, 0 - hlcoord 12, 1 -.loop - push bc - push hl - ld de, .String_Sanka_Shinai - call PlaceString - pop hl - ld de, 2 * SCREEN_WIDTH - add hl, de - pop bc - inc b - dec c - jr nz, .loop - ld a, l - ld e, MON_NAME_LENGTH - sub e - ld l, a - ld a, h - sbc $0 - ld h, a - ld de, .String_Kettei_Yameru - call PlaceString - ld b, $3 - ld c, $0 - ld hl, wd002 - ld a, [hl] -.loop2 - push hl - push bc - hlcoord 12, 1 -.loop3 - and a - jr z, .done - ld de, 2 * SCREEN_WIDTH - add hl, de - dec a - jr .loop3 - -.done - ld de, .String_Banme - push hl - call PlaceString - pop hl - pop bc - push bc - push hl - ld a, c - ld hl, .Strings_1_2_3 - call GetNthString - ld d, h - ld e, l - pop hl - call PlaceString - pop bc - pop hl - inc hl - ld a, [hl] - inc c - dec b - ret z - jr .loop2 - -.String_Banme: - db " ばんめ  @" ; Place -.String_Sanka_Shinai: - db "さんかしない@" ; Cancel -.String_Kettei_Yameru: - db "けってい  やめる@" ; Quit -.Strings_1_2_3: - db "1@", "2@", "3@" ; 1st, 2nd, 3rd - PartyMenuCheckEgg: ld a, LOW(wPartySpecies) add b diff --git a/engine/pokemon/stats_screen.asm b/engine/pokemon/stats_screen.asm index 2b9e0e8a8..67edb79ee 100644 --- a/engine/pokemon/stats_screen.asm +++ b/engine/pokemon/stats_screen.asm @@ -7,24 +7,10 @@ DEF NUM_STAT_PAGES EQU const_value - 1 DEF STAT_PAGE_MASK EQU %00000011 BattleStatsScreenInit: - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, StatsScreenInit - - ld a, [wBattleMode] - and a - jr z, StatsScreenInit - jr _MobileStatsScreenInit +; fallthrough StatsScreenInit: ld hl, StatsScreenMain - jr StatsScreenInit_gotaddress - -_MobileStatsScreenInit: - ld hl, StatsScreenMobile - jr StatsScreenInit_gotaddress - -StatsScreenInit_gotaddress: ldh a, [hMapAnims] push af xor a @@ -79,31 +65,6 @@ StatsScreenMain: jr z, .loop ret -StatsScreenMobile: - xor a - ld [wJumptableIndex], a -; ??? - ld [wStatsScreenFlags], a - ld a, [wStatsScreenFlags] - and ~STAT_PAGE_MASK - or PINK_PAGE ; first_page - ld [wStatsScreenFlags], a -.loop - farcall Mobile_SetOverworldDelay - ld a, [wJumptableIndex] - and $7f - ld hl, StatsScreenPointerTable - rst JumpTable - call StatsScreen_WaitAnim - farcall MobileComms_CheckInactivityTimer - jr c, .exit - ld a, [wJumptableIndex] - bit 7, a - jr z, .loop - -.exit - ret - StatsScreenPointerTable: dw MonStatsInit ; regular pokémon dw EggStatsInit ; egg diff --git a/engine/rtc/rtc.asm b/engine/rtc/rtc.asm index d4d7a1ef3..ac10c92ab 100644 --- a/engine/rtc/rtc.asm +++ b/engine/rtc/rtc.asm @@ -135,16 +135,6 @@ ClockContinue: .time_overflow farcall ClearDailyTimers - farcall Function170923 - ld a, BANK(s5_aa8c) ; aka BANK(s5_b2fa) - call OpenSRAM - ld a, [s5_aa8c] - inc a - ld [s5_aa8c], a - ld a, [s5_b2fa] - inc a - ld [s5_b2fa], a - call CloseSRAM ret .dont_update diff --git a/gfx/font.asm b/gfx/font.asm index 465920b3e..54c876481 100644 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -54,9 +54,6 @@ INCBIN "gfx/font/black.1bpp" UnusedUpArrowGFX: ; unreferenced INCBIN "gfx/font/unused_up_arrow.1bpp" -MobilePhoneTilesGFX: -INCBIN "gfx/mobile/phone_tiles.2bpp" - MapEntryFrameGFX: INCBIN "gfx/frames/map_entry_sign.2bpp" diff --git a/gfx/mobile/ascii_font.png b/gfx/mobile/ascii_font.png deleted file mode 100644 index 1c32d2bda..000000000 Binary files a/gfx/mobile/ascii_font.png and /dev/null differ diff --git a/gfx/mobile/card.png b/gfx/mobile/card.png deleted file mode 100644 index 398c1dc75..000000000 Binary files a/gfx/mobile/card.png and /dev/null differ diff --git a/gfx/mobile/card_2.png b/gfx/mobile/card_2.png deleted file mode 100644 index 1632e8451..000000000 Binary files a/gfx/mobile/card_2.png and /dev/null differ diff --git a/gfx/mobile/card_folder.png b/gfx/mobile/card_folder.png deleted file mode 100644 index 89fc453ae..000000000 Binary files a/gfx/mobile/card_folder.png and /dev/null differ diff --git a/gfx/mobile/card_large_sprite.png b/gfx/mobile/card_large_sprite.png deleted file mode 100644 index 4d6beae47..000000000 Binary files a/gfx/mobile/card_large_sprite.png and /dev/null differ diff --git a/gfx/mobile/card_list.png b/gfx/mobile/card_list.png deleted file mode 100644 index 4086bff8b..000000000 Binary files a/gfx/mobile/card_list.png and /dev/null differ diff --git a/gfx/mobile/card_sprite.png b/gfx/mobile/card_sprite.png deleted file mode 100644 index c343465a5..000000000 Binary files a/gfx/mobile/card_sprite.png and /dev/null differ diff --git a/gfx/mobile/chris_silhouette.png b/gfx/mobile/chris_silhouette.png deleted file mode 100644 index 2952da076..000000000 Binary files a/gfx/mobile/chris_silhouette.png and /dev/null differ diff --git a/gfx/mobile/dialing.png b/gfx/mobile/dialing.png deleted file mode 100644 index a6a7598f8..000000000 Binary files a/gfx/mobile/dialing.png and /dev/null differ diff --git a/gfx/mobile/dialing_frame.png b/gfx/mobile/dialing_frame.png deleted file mode 100644 index faadc6f9c..000000000 Binary files a/gfx/mobile/dialing_frame.png and /dev/null differ diff --git a/gfx/mobile/dialpad.attrmap b/gfx/mobile/dialpad.attrmap deleted file mode 100644 index 0aabe5c5b..000000000 Binary files a/gfx/mobile/dialpad.attrmap and /dev/null differ diff --git a/gfx/mobile/dialpad.png b/gfx/mobile/dialpad.png deleted file mode 100644 index 1849a98d9..000000000 Binary files a/gfx/mobile/dialpad.png and /dev/null differ diff --git a/gfx/mobile/dialpad.tilemap b/gfx/mobile/dialpad.tilemap deleted file mode 100644 index a7ab408ff..000000000 Binary files a/gfx/mobile/dialpad.tilemap and /dev/null differ diff --git a/gfx/mobile/dialpad_cursor.png b/gfx/mobile/dialpad_cursor.png deleted file mode 100644 index 75b6747e8..000000000 Binary files a/gfx/mobile/dialpad_cursor.png and /dev/null differ diff --git a/gfx/mobile/down_arrow.png b/gfx/mobile/down_arrow.png deleted file mode 100644 index 33803e197..000000000 Binary files a/gfx/mobile/down_arrow.png and /dev/null differ diff --git a/gfx/mobile/electro_ball.png b/gfx/mobile/electro_ball.png deleted file mode 100644 index b6a9f11c3..000000000 Binary files a/gfx/mobile/electro_ball.png and /dev/null differ diff --git a/gfx/mobile/ez_chat_cursor.png b/gfx/mobile/ez_chat_cursor.png deleted file mode 100644 index 108be31b9..000000000 Binary files a/gfx/mobile/ez_chat_cursor.png and /dev/null differ diff --git a/gfx/mobile/havewant.png b/gfx/mobile/havewant.png deleted file mode 100644 index 63f7dafb1..000000000 Binary files a/gfx/mobile/havewant.png and /dev/null differ diff --git a/gfx/mobile/havewant_map.bin b/gfx/mobile/havewant_map.bin deleted file mode 100644 index 3551a77c5..000000000 Binary files a/gfx/mobile/havewant_map.bin and /dev/null differ diff --git a/gfx/mobile/kris_silhouette.png b/gfx/mobile/kris_silhouette.png deleted file mode 100644 index 77ff319ed..000000000 Binary files a/gfx/mobile/kris_silhouette.png and /dev/null differ diff --git a/gfx/mobile/mobile_adapters.pal b/gfx/mobile/mobile_adapters.pal deleted file mode 100644 index 83fcd5e1c..000000000 --- a/gfx/mobile/mobile_adapters.pal +++ /dev/null @@ -1,8 +0,0 @@ - RGB 18,31,15, 04,13,31, 00,00,31, 00,00,00 ; blue - RGB 18,31,15, 31,31,00, 31,15,00, 00,00,00 ; yellow - RGB 18,31,15, 09,24,00, 02,16,00, 00,00,00 ; green - RGB 18,31,15, 31,07,09, 18,00,01, 00,00,00 ; red - RGB 18,31,15, 28,05,31, 17,00,17, 00,00,00 ; purple - RGB 18,31,15, 09,09,09, 04,04,04, 00,00,00 ; black - RGB 18,31,15, 31,13,21, 27,07,12, 00,00,00 ; pink - RGB 18,31,15, 21,20,20, 14,14,31, 00,00,00 ; gray diff --git a/gfx/mobile/mobile_cable_1.png b/gfx/mobile/mobile_cable_1.png deleted file mode 100644 index 8def47f76..000000000 Binary files a/gfx/mobile/mobile_cable_1.png and /dev/null differ diff --git a/gfx/mobile/mobile_cable_2.png b/gfx/mobile/mobile_cable_2.png deleted file mode 100644 index d48a5ee51..000000000 Binary files a/gfx/mobile/mobile_cable_2.png and /dev/null differ diff --git a/gfx/mobile/mobile_center.attrmap b/gfx/mobile/mobile_center.attrmap deleted file mode 100644 index bcece9e94..000000000 Binary files a/gfx/mobile/mobile_center.attrmap and /dev/null differ diff --git a/gfx/mobile/mobile_center.tilemap b/gfx/mobile/mobile_center.tilemap deleted file mode 100644 index c6ae863be..000000000 Binary files a/gfx/mobile/mobile_center.tilemap and /dev/null differ diff --git a/gfx/mobile/mobile_menu.png b/gfx/mobile/mobile_menu.png deleted file mode 100644 index ae6cba38d..000000000 Binary files a/gfx/mobile/mobile_menu.png and /dev/null differ diff --git a/gfx/mobile/mobile_password.pal b/gfx/mobile/mobile_password.pal deleted file mode 100644 index 1dfb1bbc2..000000000 --- a/gfx/mobile/mobile_password.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 0, 0, 0 - RGB 3, 0, 0 - RGB 5, 0, 0 - RGB 31, 31, 29 - - RGB 0, 2, 10 - RGB 2, 10, 21 - RGB 0, 0, 0 - RGB 10, 26, 31 - - RGB 0, 0, 0 - RGB 0, 7, 8 - RGB 31, 8, 0 - RGB 1, 17, 15 - - RGB 31, 16, 0 - RGB 31, 22, 0 - RGB 31, 27, 0 - RGB 31, 31, 0 - - RGB 31, 18, 6 - RGB 0, 3, 0 - RGB 0, 9, 0 - RGB 0, 12, 0 - - RGB 0, 16, 0 - RGB 0, 22, 0 - RGB 0, 25, 0 - RGB 0, 27, 0 - - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - - RGB 31, 31, 29 - RGB 21, 21, 20 - RGB 11, 11, 10 - RGB 0, 0, 0 diff --git a/gfx/mobile/mobile_splash.attrmap b/gfx/mobile/mobile_splash.attrmap deleted file mode 100644 index 86666b3fd..000000000 Binary files a/gfx/mobile/mobile_splash.attrmap and /dev/null differ diff --git a/gfx/mobile/mobile_splash.pal b/gfx/mobile/mobile_splash.pal deleted file mode 100644 index a72635167..000000000 --- a/gfx/mobile/mobile_splash.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 31, 31, 31 - RGB 04, 10, 20 - RGB 16, 19, 25 - RGB 25, 27, 29 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 diff --git a/gfx/mobile/mobile_splash.png b/gfx/mobile/mobile_splash.png deleted file mode 100644 index 2ab921041..000000000 Binary files a/gfx/mobile/mobile_splash.png and /dev/null differ diff --git a/gfx/mobile/mobile_splash.tilemap b/gfx/mobile/mobile_splash.tilemap deleted file mode 100644 index 81818e531..000000000 Binary files a/gfx/mobile/mobile_splash.tilemap and /dev/null differ diff --git a/gfx/mobile/mobile_splash_check.png b/gfx/mobile/mobile_splash_check.png deleted file mode 100644 index d5ad353d8..000000000 Binary files a/gfx/mobile/mobile_splash_check.png and /dev/null differ diff --git a/gfx/mobile/mobile_trade.attrmap b/gfx/mobile/mobile_trade.attrmap deleted file mode 100644 index 6f4843dde..000000000 Binary files a/gfx/mobile/mobile_trade.attrmap and /dev/null differ diff --git a/gfx/mobile/mobile_trade.png b/gfx/mobile/mobile_trade.png deleted file mode 100644 index da41217d8..000000000 Binary files a/gfx/mobile/mobile_trade.png and /dev/null differ diff --git a/gfx/mobile/mobile_trade.tilemap b/gfx/mobile/mobile_trade.tilemap deleted file mode 100644 index bb67a49f4..000000000 Binary files a/gfx/mobile/mobile_trade.tilemap and /dev/null differ diff --git a/gfx/mobile/mobile_trade_bg.pal b/gfx/mobile/mobile_trade_bg.pal deleted file mode 100644 index d43c6e059..000000000 --- a/gfx/mobile/mobile_trade_bg.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 00, 00, 00 - - RGB 31, 15, 1 - RGB 14, 14, 31 - RGB 12, 09, 31 - RGB 00, 00, 00 - - RGB 18, 31, 15 - RGB 14, 14, 31 - RGB 12, 09, 31 - RGB 00, 00, 00 - - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 00, 00, 00 - - RGB 18, 31, 15 - RGB 31, 07, 09 - RGB 18, 00, 01 - RGB 00, 00, 00 - - RGB 18, 31, 15 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 00, 00, 00 - - RGB 31, 15, 1 - RGB 18, 00, 30 - RGB 09, 00, 17 - RGB 00, 00, 00 - - RGB 18, 31, 15 - RGB 18, 00, 30 - RGB 09, 00, 17 - RGB 00, 00, 00 diff --git a/gfx/mobile/mobile_trade_lights.pal b/gfx/mobile/mobile_trade_lights.pal deleted file mode 100644 index 43e86a231..000000000 --- a/gfx/mobile/mobile_trade_lights.pal +++ /dev/null @@ -1,19 +0,0 @@ - RGB 0, 0, 0 - RGB 31, 31, 7 - RGB 20, 31, 6 - RGB 13, 20, 16 - - RGB 0, 0, 0 - RGB 7, 11, 17 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 31, 24, 4 - RGB 25, 12, 0 - RGB 31, 7, 4 - - RGB 0, 0, 0 - RGB 25, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 diff --git a/gfx/mobile/mobile_trade_lights.png b/gfx/mobile/mobile_trade_lights.png deleted file mode 100644 index cdf1bd118..000000000 Binary files a/gfx/mobile/mobile_trade_lights.png and /dev/null differ diff --git a/gfx/mobile/mobile_trade_ob1.pal b/gfx/mobile/mobile_trade_ob1.pal deleted file mode 100644 index a507d8bdf..000000000 --- a/gfx/mobile/mobile_trade_ob1.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 31, 31, 31 - RGB 31, 31, 12 - RGB 31, 13, 12 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 23, 15 - RGB 31, 18, 07 - RGB 31, 15, 00 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 00, 25 - RGB 31, 00, 25 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 09, 19, 31 - RGB 09, 19, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 diff --git a/gfx/mobile/mobile_trade_ob2.pal b/gfx/mobile/mobile_trade_ob2.pal deleted file mode 100644 index a4a1a123d..000000000 --- a/gfx/mobile/mobile_trade_ob2.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 31, 31, 31 - RGB 31, 31, 12 - RGB 31, 13, 12 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 23, 15 - RGB 31, 18, 07 - RGB 31, 15, 00 - - RGB 31, 31, 31 - RGB 20, 20, 20 - RGB 11, 11, 11 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 09, 19, 31 - RGB 09, 19, 31 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 00, 25 - RGB 31, 00, 25 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 diff --git a/gfx/mobile/mobile_trade_sprites.png b/gfx/mobile/mobile_trade_sprites.png deleted file mode 100644 index db774bf28..000000000 Binary files a/gfx/mobile/mobile_trade_sprites.png and /dev/null differ diff --git a/gfx/mobile/password.attrmap b/gfx/mobile/password.attrmap deleted file mode 100644 index 7cd3613cb..000000000 Binary files a/gfx/mobile/password.attrmap and /dev/null differ diff --git a/gfx/mobile/password_bottom.tilemap b/gfx/mobile/password_bottom.tilemap deleted file mode 100644 index 6f449732b..000000000 Binary files a/gfx/mobile/password_bottom.tilemap and /dev/null differ diff --git a/gfx/mobile/password_shift.tilemap b/gfx/mobile/password_shift.tilemap deleted file mode 100644 index 1963e667a..000000000 Binary files a/gfx/mobile/password_shift.tilemap and /dev/null differ diff --git a/gfx/mobile/password_top.tilemap b/gfx/mobile/password_top.tilemap deleted file mode 100644 index e3b77159b..000000000 Binary files a/gfx/mobile/password_top.tilemap and /dev/null differ diff --git a/gfx/mobile/phone_tiles.png b/gfx/mobile/phone_tiles.png deleted file mode 100644 index b02286e5f..000000000 Binary files a/gfx/mobile/phone_tiles.png and /dev/null differ diff --git a/gfx/mobile/pichu_animated.png b/gfx/mobile/pichu_animated.png deleted file mode 100644 index 2832fdb6a..000000000 Binary files a/gfx/mobile/pichu_animated.png and /dev/null differ diff --git a/gfx/mobile/pichu_border.attrmap b/gfx/mobile/pichu_border.attrmap deleted file mode 100644 index 149adcea5..000000000 --- a/gfx/mobile/pichu_border.attrmap +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/gfx/mobile/pichu_border.png b/gfx/mobile/pichu_border.png deleted file mode 100644 index f0c0f64e9..000000000 Binary files a/gfx/mobile/pichu_border.png and /dev/null differ diff --git a/gfx/mobile/pichu_border.tilemap b/gfx/mobile/pichu_border.tilemap deleted file mode 100644 index 95d6e1f76..000000000 --- a/gfx/mobile/pichu_border.tilemap +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/gfx/mobile/pichu_border_bg.pal b/gfx/mobile/pichu_border_bg.pal deleted file mode 100644 index 8e4d617f6..000000000 --- a/gfx/mobile/pichu_border_bg.pal +++ /dev/null @@ -1,4 +0,0 @@ - RGB 31, 30, 30 - RGB 2, 0, 0 - RGB 10, 9, 9 - RGB 15, 14, 14 diff --git a/gfx/mobile/pichu_border_ob.pal b/gfx/mobile/pichu_border_ob.pal deleted file mode 100644 index 70975ba17..000000000 --- a/gfx/mobile/pichu_border_ob.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 31, 31, 31 - RGB 7, 5, 4 - RGB 31, 28, 4 - RGB 31, 5, 5 - - RGB 31, 31, 31 - RGB 7, 5, 4 - RGB 31, 23, 0 - RGB 31, 28, 4 - - RGB 31, 31, 31 - RGB 16, 19, 31 - RGB 17, 31, 31 - RGB 31, 31, 31 - - RGB 5, 5, 5 - RGB 7, 5, 4 - RGB 31, 28, 4 - RGB 19, 11, 6 - - RGB 31, 31, 31 - RGB 3, 15, 31 - RGB 4, 25, 25 - RGB 0, 7, 12 - - RGB 31, 31, 31 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - - RGB 4, 11, 22 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 - - RGB 22, 11, 8 - RGB 0, 16, 0 - RGB 0, 16, 0 - RGB 0, 16, 0 diff --git a/gfx/mobile/pokemon_news.bin b/gfx/mobile/pokemon_news.bin deleted file mode 100644 index 24a0bcfee..000000000 Binary files a/gfx/mobile/pokemon_news.bin and /dev/null differ diff --git a/gfx/mobile/pokemon_news.pal b/gfx/mobile/pokemon_news.pal deleted file mode 100644 index 940253176..000000000 --- a/gfx/mobile/pokemon_news.pal +++ /dev/null @@ -1,39 +0,0 @@ - RGB 24, 9, 8 - RGB 4, 9, 18 - RGB 18, 18, 12 - RGB 0, 0, 0 - - RGB 24, 24, 18 - RGB 18, 18, 12 - RGB 4, 9, 18 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 23, 11, 10 - RGB 13, 6, 5 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 15, 25, 5 - RGB 10, 20, 0 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 20, 28, 20 - RGB 10, 18, 15 - RGB 0, 0, 0 - - RGB 31, 31, 31 - RGB 22, 22, 12 - RGB 17, 12, 5 - RGB 0, 0, 0 - - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 27, 24, 0 - RGB 24, 16, 3 - RGB 0, 0, 0 diff --git a/gfx/mobile/pokemon_news.png b/gfx/mobile/pokemon_news.png deleted file mode 100644 index f473f8d5c..000000000 Binary files a/gfx/mobile/pokemon_news.png and /dev/null differ diff --git a/gfx/mobile/select.png b/gfx/mobile/select.png deleted file mode 100644 index 040205150..000000000 Binary files a/gfx/mobile/select.png and /dev/null differ diff --git a/gfx/mobile/select_start.png b/gfx/mobile/select_start.png deleted file mode 100644 index efa8d4a46..000000000 Binary files a/gfx/mobile/select_start.png and /dev/null differ diff --git a/gfx/mobile/stadium2_n64.attrmap b/gfx/mobile/stadium2_n64.attrmap deleted file mode 100644 index ef3adbf81..000000000 Binary files a/gfx/mobile/stadium2_n64.attrmap and /dev/null differ diff --git a/gfx/mobile/stadium2_n64.png b/gfx/mobile/stadium2_n64.png deleted file mode 100644 index 0e324906d..000000000 Binary files a/gfx/mobile/stadium2_n64.png and /dev/null differ diff --git a/gfx/mobile/stadium2_n64.tilemap b/gfx/mobile/stadium2_n64.tilemap deleted file mode 100644 index f7213ff21..000000000 --- a/gfx/mobile/stadium2_n64.tilemap +++ /dev/null @@ -1,13 +0,0 @@ - -121 ,-,./0 - -<=<7879:;$ GHG!"#ABCDEF$%$0 - -121 ,-,./0 -;<=<7879:;F$%$ GHG!"#ABCDEF$,./0 - - ,-,.79:;  7879CDEF$%$!"#ABCD ,-,./0&'()*+121 ,7879:;345643<=<7#ABCDEF>?@@?>GHG!"#A1 ,-,./0 - -121<7879:;<=<G!"#ABCDEF$%$ GHG!121 ,-,./0 - -1<=<7879:;< GHG!"#ABCDEF$%$ G \ No newline at end of file diff --git a/gfx/mobile/stadium2_n64_corrupt.tilemap b/gfx/mobile/stadium2_n64_corrupt.tilemap deleted file mode 100644 index c323afa09..000000000 --- a/gfx/mobile/stadium2_n64_corrupt.tilemap +++ /dev/null @@ -1,15 +0,0 @@ - -121 ,-,./0 - -<=<7879:;$ GHG!"#ABCDEF$%$0 - -121 ,-,./0 -;<=<7879:;F$%$ GHG!"#ABCDEF$,./0 - - ,-,.79:; - - 7879CDEF$%$!"#ABCD ,-,./0&'()*+121 ,7879:;345643<=<7#ABCDEF>?@@?>GHG!"#A1 ,-,./0 - -121<7879:;<=<G!"#ABCDEF$%$ GHG!121 ,-,./0 - -1<=<7879:;< GHG!"#ABCDEF$%$ G \ No newline at end of file diff --git a/gfx/mobile/unused_mobile_pulses.pal b/gfx/mobile/unused_mobile_pulses.pal deleted file mode 100644 index b51e42101..000000000 --- a/gfx/mobile/unused_mobile_pulses.pal +++ /dev/null @@ -1,11 +0,0 @@ - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 31, 00, 25 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - - RGB 09, 19, 31 - RGB 00, 00, 00 diff --git a/gfx/mobile/up_arrow.png b/gfx/mobile/up_arrow.png deleted file mode 100644 index d8cfc7f3f..000000000 Binary files a/gfx/mobile/up_arrow.png and /dev/null differ diff --git a/gfx/mystery_gift/card_sprite.png b/gfx/mystery_gift/card_sprite.png deleted file mode 100644 index dd5381424..000000000 Binary files a/gfx/mystery_gift/card_sprite.png and /dev/null differ diff --git a/gfx/mystery_gift/card_trade.png b/gfx/mystery_gift/card_trade.png deleted file mode 100644 index a84915b31..000000000 Binary files a/gfx/mystery_gift/card_trade.png and /dev/null differ diff --git a/gfx/mystery_gift/gs_mystery_gift.pal b/gfx/mystery_gift/gs_mystery_gift.pal deleted file mode 100644 index 529d71de6..000000000 --- a/gfx/mystery_gift/gs_mystery_gift.pal +++ /dev/null @@ -1,4 +0,0 @@ - RGB 31, 31, 31 - RGB 09, 31, 31 - RGB 10, 12, 31 - RGB 00, 03, 19 diff --git a/gfx/mystery_gift/mg_mobile.pal b/gfx/mystery_gift/mg_mobile.pal deleted file mode 100644 index c77e8c63f..000000000 --- a/gfx/mystery_gift/mg_mobile.pal +++ /dev/null @@ -1,24 +0,0 @@ - RGB 03, 07, 09 - RGB 26, 31, 00 - RGB 20, 16, 03 - RGB 31, 31, 31 - - RGB 13, 24, 29 - RGB 11, 16, 30 - RGB 07, 11, 22 - RGB 05, 06, 18 - - RGB 31, 31, 31 - RGB 20, 26, 31 - RGB 13, 24, 29 - RGB 11, 16, 30 - - RGB 31, 31, 31 - RGB 20, 26, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 20, 16, 08 - RGB 31, 00, 00 - RGB 00, 00, 00 diff --git a/gfx/mystery_gift/mobile_text.pal b/gfx/mystery_gift/mobile_text.pal deleted file mode 100644 index 036905b87..000000000 --- a/gfx/mystery_gift/mobile_text.pal +++ /dev/null @@ -1,4 +0,0 @@ - RGB 31, 31, 31 - RGB 26, 31, 00 - RGB 20, 16, 03 - RGB 00, 00, 00 diff --git a/gfx/mystery_gift/mystery_gift.pal b/gfx/mystery_gift/mystery_gift.pal deleted file mode 100644 index caa44f734..000000000 --- a/gfx/mystery_gift/mystery_gift.pal +++ /dev/null @@ -1,9 +0,0 @@ - RGB 31, 31, 31 - RGB 16, 31, 14 - RGB 05, 14, 21 - RGB 05, 13, 10 - - RGB 31, 31, 31 - RGB 11, 21, 25 - RGB 05, 14, 21 - RGB 00, 03, 19 diff --git a/gfx/mystery_gift/mystery_gift.png b/gfx/mystery_gift/mystery_gift.png deleted file mode 100644 index 61d499c36..000000000 Binary files a/gfx/mystery_gift/mystery_gift.png and /dev/null differ diff --git a/gfx/mystery_gift/name_card_bg.pal b/gfx/mystery_gift/name_card_bg.pal deleted file mode 100644 index b7f9dc5db..000000000 --- a/gfx/mystery_gift/name_card_bg.pal +++ /dev/null @@ -1,4 +0,0 @@ - RGB 31, 31, 31 - RGB 23, 16, 07 - RGB 23, 07, 07 - RGB 03, 07, 20 diff --git a/gfx/mystery_gift/name_card_ob.pal b/gfx/mystery_gift/name_card_ob.pal deleted file mode 100644 index 880b220e8..000000000 --- a/gfx/mystery_gift/name_card_ob.pal +++ /dev/null @@ -1,4 +0,0 @@ - RGB 00, 00, 00 - RGB 07, 05, 31 - RGB 14, 18, 31 - RGB 31, 31, 31 diff --git a/home.asm b/home.asm index 0e16558a3..8ee743044 100644 --- a/home.asm +++ b/home.asm @@ -58,4 +58,3 @@ INCLUDE "home/print_bcd.asm" INCLUDE "home/battle.asm" INCLUDE "home/sprite_anims.asm" INCLUDE "home/audio.asm" -INCLUDE "home/mobile.asm" diff --git a/home/battle.asm b/home/battle.asm index 21998983c..16110b9e8 100644 --- a/home/battle.asm +++ b/home/battle.asm @@ -176,25 +176,10 @@ FarCopyRadioText:: ld [MBC3RomBank], a ret -MobileTextBorder:: - ; For mobile link battles only. - ld a, [wLinkMode] - cp LINK_MOBILE - ret c - - ; Draw a cell phone icon at the - ; top right corner of the border. - hlcoord 19, 12 - ld [hl], $5e ; top - hlcoord 19, 13 - ld [hl], $5f ; bottom - ret - BattleTextbox:: ; Open a textbox and print text at hl. push hl call SpeechTextbox - call MobileTextBorder call UpdateSprites call ApplyTilemap pop hl diff --git a/home/gfx.asm b/home/gfx.asm index 339f5c3d7..0acb04957 100644 --- a/home/gfx.asm +++ b/home/gfx.asm @@ -202,16 +202,6 @@ Request2bpp:: ld a, TILES_PER_CYCLE ldh [hTilesPerCycle], a - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .NotMobile - ldh a, [hMobile] - and a - jr nz, .NotMobile - ld a, MOBILE_TILES_PER_CYCLE - ldh [hTilesPerCycle], a - -.NotMobile: ld a, e ld [wRequested2bppSource], a ld a, d @@ -276,16 +266,6 @@ Request1bpp:: ld a, TILES_PER_CYCLE ldh [hTilesPerCycle], a - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .NotMobile - ldh a, [hMobile] - and a - jr nz, .NotMobile - ld a, MOBILE_TILES_PER_CYCLE - ldh [hTilesPerCycle], a - -.NotMobile: ld a, e ld [wRequested1bppSource], a ld a, d diff --git a/home/header.asm b/home/header.asm index a450c072d..2e8c58949 100644 --- a/home/header.asm +++ b/home/header.asm @@ -47,7 +47,7 @@ SECTION "lcd", ROM0[$0048] jp LCD SECTION "timer", ROM0[$0050] - jp MobileTimer + jp Timer SECTION "serial", ROM0[$0058] jp Serial diff --git a/home/map.asm b/home/map.asm index 016584691..0459826c3 100644 --- a/home/map.asm +++ b/home/map.asm @@ -2205,7 +2205,6 @@ GetMapMusic:: jr z, .mahoganymart bit RADIO_TOWER_MUSIC_F, c jr nz, .radiotower - farcall Function8b342 ld e, c ld d, 0 .done diff --git a/home/menu.asm b/home/menu.asm index 126198809..ebb7db1ba 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -841,10 +841,3 @@ InterpretBattleMenu:: farcall _InterpretBattleMenu ld a, [wMenuCursorPosition] ret - -InterpretMobileMenu:: ; unreferenced - ldh a, [hROMBank] - ld [wMenuData_2DMenuItemStringsBank], a - farcall _InterpretMobileMenu - ld a, [wMenuCursorPosition] - ret diff --git a/home/print_text.asm b/home/print_text.asm index efca959eb..cfbde60f1 100644 --- a/home/print_text.asm +++ b/home/print_text.asm @@ -102,10 +102,6 @@ PrintNum:: homecall _PrintNum ret -MobilePrintNum:: - homecall _MobilePrintNum - ret - FarPrintText:: ldh [hTempBank], a ldh a, [hROMBank] diff --git a/home/serial.asm b/home/serial.asm index 628d5d592..149cc118f 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -6,10 +6,6 @@ Serial:: push de push hl - ldh a, [hMobileReceive] - and a - jr nz, .mobile - ld a, [wPrinterConnectionOpen] bit 0, a jr nz, .printer @@ -34,10 +30,6 @@ Serial:: ldh [rSC], a jr .player2 -.mobile - call MobileReceive - jr .end - .printer call PrinterReceive jr .end diff --git a/home/text.asm b/home/text.asm index da66edf6b..a53a0dc76 100644 --- a/home/text.asm +++ b/home/text.asm @@ -206,7 +206,6 @@ MACRO dict endc ENDM - dict "", MobileScriptChar dict "", LineChar dict "", NextLineChar dict "", CarriageReturnChar @@ -289,12 +288,6 @@ ENDM call PrintLetterDelay jp NextChar -MobileScriptChar:: - ld c, l - ld b, h - farcall RunMobileScript - jp PlaceNextChar - MACRO print_name push de ld de, \1 diff --git a/home/time.asm b/home/time.asm index 0b51dea79..d7418bd80 100644 --- a/home/time.asm +++ b/home/time.asm @@ -1,14 +1,6 @@ ; Functions relating to the timer interrupt and the real-time-clock. -Timer:: ; unreferenced - push af - ldh a, [hMobile] - and a - jr z, .not_mobile - call MobileTimer - -.not_mobile - pop af +Timer:: reti LatchClock:: diff --git a/includes.asm b/includes.asm index 9472e64c9..2b9859fbe 100644 --- a/includes.asm +++ b/includes.asm @@ -45,7 +45,6 @@ INCLUDE "constants/map_object_constants.asm" INCLUDE "constants/map_setup_constants.asm" INCLUDE "constants/mart_constants.asm" INCLUDE "constants/menu_constants.asm" -INCLUDE "constants/mobile_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/move_effect_constants.asm" INCLUDE "constants/item_constants.asm" diff --git a/layout.link b/layout.link index eeff7219c..c9cedd4cd 100644 --- a/layout.link +++ b/layout.link @@ -172,25 +172,13 @@ ROMX $3e "bank3E" ROMX $3f "bank3F" -ROMX $40 - "mobile40" ROMX $41 "bank41" ROMX $42 - "mobile42" "Intro Logo" "Credits" ROMX $43 "Title" -ROMX $44 - "Mobile Adapter SDK" -ROMX $45 - "Mobile Adapter SDK Mail" - "mobile45" -ROMX $46 - "mobile46" -ROMX $47 - "Battle Tower" ROMX $48 org $4000 "Pic Pointers" @@ -238,7 +226,6 @@ ROMX $5b "bank5B" "Pics 20" ROMX $5c - "mobile5C" "Pics 21" ROMX $5d "Crystal Phone Text 2" @@ -247,10 +234,8 @@ ROMX $5e "UpdateBattleHUDs" "Songs 5" "Crystal Sound Effects" - "mobile5E" "Pics 23" ROMX $5f - "mobile5F" "Pics 24" ROMX $60 "Map Scripts 13" @@ -306,14 +291,6 @@ ROMX $77 ROMX $78 "Debug Room" "Tileset Data 8" -ROMX $7b - "Battle Tower Text" -ROMX $7c - "Battle Tower Trainer Data" -ROMX $7d - "Mobile News Data" -ROMX $7e - "Crystal Events" ROMX $7f org $7de0 "Stadium 2 Checksums" @@ -340,17 +317,11 @@ WRAMX 1 "Party" WRAMX 2 "Pic Animations" -WRAMX 3 - "Battle Tower RAM" -WRAMX 4 - "News Script RAM" WRAMX 5 align 8 "GBC Video" org $d300 "Battle Animations" - org $d800 - "Mobile RAM" WRAMX 6 "Scratch RAM" WRAMX 7 @@ -376,14 +347,6 @@ SRAM $02 "Boxes 1-7" SRAM $03 "Boxes 8-14" -SRAM $04 - "SRAM Mobile 1" -SRAM $05 - "SRAM Mobile 2" -SRAM $06 - "SRAM Mobile 3" -SRAM $07 - "SRAM Mobile 4" HRAM "OAM DMA" "HRAM" diff --git a/lib/mobile/mail.asm b/lib/mobile/mail.asm deleted file mode 100644 index b428fcbf9..000000000 --- a/lib/mobile/mail.asm +++ /dev/null @@ -1,5160 +0,0 @@ -; A library included as part of the Mobile Adapter GB SDK. - -setcharmap ascii - - -SECTION "Mobile Adapter SDK Mail", ROMX - -String_114000: - db "---", 0 -String_114004: - db "CGB-AAAA-00", 0, 0 - -Unknown_114011: - dw String_114033 - dw String_11403a - dw String_114043 - dw String_11404e - dw String_114053 - dw String_114058 - dw String_114062 - dw String_114074 - dw String_11408d - dw String_11409f - dw String_1140b8 - dw String_1140e6 - dw String_114110 - dw String_11413f - dw String_114160 - dw String_114160 - dw String_114163 - -String_114033: - db "From: ", 0 -String_11403a: - db "Sender: ", 0 -String_114043: - db "Reply-To: ", 0 -String_11404e: - db "To: ", 0 -String_114053: - db "Cc: ", 0 -String_114058: - db "Subject: ", 0 -String_114062: - db "MIME-Version: 1.0", 0 -String_114074: - db "X-Game-title: XXXXXXXXXX", 0 -String_11408d: - db "X-Game-code: CGB-", 0 -String_11409f: - db "X-GBmail-type: exclusive", 0 -String_1140b8: - db "Content-Type: text/plain; charset=iso-2022-jp", 0 -String_1140e6: - db "Content-Type: multipart/mixed; boundary=\"", 0 -String_114110: - db "Content-Type: Application/Octet-Stream; name=\"", 0 -String_11413f: - db "Content-Transfer-Encoding:Base64", 0 -String_114160: - db "--", 0 -String_114163: - db ".", 0 - -Jumptable_114165: - dw Stubbed_Function114268 - dw Function114269 - dw Function11433c - dw Function1143b7 - dw Function1144d1 - dw Function114b55 - dw Function114bbc - dw Function114cd9 - dw Function114e62 - dw Function1152b8 - dw Function1154d4 - dw Function1156cc - dw Function1159fb - -Unknown_11417f: - dw .From - dw .Sender - dw .ReplyTo - dw .To - dw .CC - dw .Subject - dw .Date - dw .ContentType - dw .MimeVersion - dw .XMailer - dw .XGameTitle - dw .XGameCode - dw .XGBMailType - -.From: - db "FROM:", 0 -.Sender: - db "SENDER:", 0 -.ReplyTo: - db "REPLY-TO:", 0 -.To: - db "TO:", 0 -.CC: - db "CC:", 0 -.Subject: - db "SUBJECT:", 0 -.Date: - db "DATE:", 0 -.ContentType: - db "CONTENT-TYPE:", 0 -.MimeVersion: - db "MIME-VERSION:", 0 -.XMailer: - db "X-MAILER:", 0 -.XGameTitle: - db "X-GAME-TITLE:", 0 -.XGameCode: - db "X-GAME-CODE:", 0 -.XGBMailType: - db "X-GBMAIL-TYPE:", 0 - -String_114218: - db "NAME=", 0 -String_11421e: - db "MULTIPART", 0 -String_114228: - db "BOUNDARY=", 0 -String_114232: - db "=?ISO-2022-JP?B?", 0 - -Function114243:: - ld a, SRAM_ENABLE - ld [MBC3SRamEnable], a - ldh a, [hSRAMBank] - push af ; if [$dc02] == 0, this is popped to pc. - push de - ld a, [$dc02] - add a - ld e, a - ld d, 0 - ld hl, Jumptable_114165 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop de - jp hl - -Function11425c: - ld [$dc02], a - pop af - ldh [hSRAMBank], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ret - -Stubbed_Function114268: - ret - -Function114269: - ld h, d - ld l, e - xor a - ld [$dc02], a - ld [$dc03], a - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - ld b, [hl] -.asm_114282 - ld a, [de] - and a - jr z, .asm_1142a4 - ld h, a - ld a, [$dc03] - and a - jr nz, .asm_114292 - ld a, h - cp $80 - jr nc, .asm_1142ae - -.asm_114292 - ld a, h - cp $d - jr z, .asm_1142bb - xor a - ld [$dc02], a -.asm_11429b - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr nz, .asm_114282 - -.asm_1142a4 - ld a, [$dc03] - and a - jr nz, .asm_114303 - ld b, $80 - jr .asm_1142b0 - -.asm_1142ae - ld b, $81 - -.asm_1142b0 - ld a, [$dc00] - ld c, a - ld a, $1 - ld h, d - ld l, e - jp Function11425c - -.asm_1142bb - and a - jr z, .asm_1142a4 - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - ld h, a - ld a, [$dc03] - and a - jr nz, .asm_1142d4 - ld a, h - cp $80 - jr nc, .asm_1142ae - -.asm_1142d4 - ld a, h - cp $a - jr nz, .asm_1142ae - ld a, [$dc03] - and a - jr nz, .asm_11430d - ld a, [$dc02] - and a - jr nz, .asm_114309 - ld a, $1 - ld [$dc02], a - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - cp $20 - jr z, .asm_11429b - cp $9 - jr z, .asm_11429b - jr .asm_114282 - -.asm_1142fe - xor a - ld b, a - jp Function11425c - -.asm_114303 - xor a - ld b, $1 - jp Function11425c - -.asm_114309 - xor a - ld [$dc02], a - -.asm_11430d - ld a, [$dc02] - and a - jr nz, .asm_1142fe - ld a, $1 - ld [$dc03], a - inc e - call z, Function114333 - dec bc - ld a, b - or c - jr z, .asm_1142a4 - ld a, [de] - and a - jp z, .asm_1142a4 - cp $2e - jp nz, .asm_114282 - ld a, $1 - ld [$dc02], a - jp .asm_11429b - -Function114333: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function11433c: - push de - ld h, d - ld l, e - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - ld b, $b - call Function1143f3 - cp $2 - jr z, .asm_114358 - and a - jr z, .asm_114360 - pop hl -.asm_114351 - xor a - ld b, $3 - jp Function11425c - -.asm_114357 - pop hl - -.asm_114358 - pop hl - ld a, $1 - ld b, $82 - jp Function11425c - -.asm_114360 - ld a, h - ld [$dc03], a - pop hl - push bc - push de - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld b, $c - call Function1143f3 - cp $2 - jr z, .asm_114357 - and a - jr z, .asm_114381 - xor a - ld b, $2 - pop hl - pop hl - jp Function11425c - -.asm_114381 - pop de - pop bc - ld a, [$dc03] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - call Function114c0b - ld hl, String_114004 -.asm_114394 - ld de, $dc24 -.asm_114397 - ld a, [hli] - and a - jr z, .asm_1143ad - ld b, a - ld a, [de] - inc de - cp b - jr z, .asm_114397 -.asm_1143a1 - ld a, [hli] - and a - jr nz, .asm_1143a1 - ld a, [hl] - and a - jr nz, .asm_114394 - ld b, a - jp Function11425c - -.asm_1143ad - ld a, [de] - and a - jr nz, .asm_114351 - xor a - ld b, $1 - jp Function11425c - -Function1143b7: - ld a, [de] - ld b, a - inc de - ld a, [de] - ld c, a - inc de - ld a, [de] - ld h, a - inc de - ld a, [de] - inc de - push de - ld d, a - ld e, h - call Function1143f3 - cp $2 - jr z, .asm_1143eb - and a - jr nz, .asm_1143ed - ld a, h - pop hl - push af - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - jp Function11425c - -.asm_1143eb - ld b, $82 - -.asm_1143ed - ld a, $1 - pop hl - jp Function11425c - -Function1143f3: - call .asm_114412 - and a - jr nz, .asm_11440d - ld a, $4 - cp b - jr c, .asm_114407 - jr z, .asm_114402 -.asm_114400 - xor a - ret - -.asm_114402 - ld a, $0 - cp c - jr nc, .asm_114400 - -.asm_114407 - lb bc, $4, $0 - ld a, $2 - ret - -.asm_11440d - ld a, $1 - ld b, $84 - ret - -.asm_114412: - ld a, c - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld hl, Unknown_11417f - ld a, b - add a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld c, $0 - jr .asm_11444a - -.asm_11442b - ld a, [de] - and a - jp z, .asm_1144c2 - inc e - call z, Function1144c8 - cp "\r" - jr nz, .asm_11442b - ld a, [de] - inc e - call z, Function1144c8 - cp "\n" - jr nz, .asm_11442b - ld a, [de] - cp "." - jr z, .asm_1144ae - cp "\r" - jr z, .asm_1144b8 - -.asm_11444a - ld a, [$dc00] - ld [$dc02], a - ld a, [de] - and a - jr z, .asm_1144c2 - inc e - call z, Function1144c8 - cp "a" - jr c, .asm_114462 - cp "z" + 1 - jr nc, .asm_114462 - sub $20 - -.asm_114462 - ld b, a - ld a, [hl] - and a - jr z, .asm_114476 - cp b - jr nz, .asm_11446e - inc c - inc hl - jr .asm_11444a - -.asm_11446e - ld a, c - and a - jr z, .asm_11442b - dec c - dec hl - jr .asm_11446e - -.asm_114476 - ld a, " " - cp b - jr z, .asm_114481 - ld a, "\n" - cp b - jr z, .asm_114481 - dec de - -.asm_114481 - ld h, d - ld l, e - ld bc, NULL -.asm_114486 - ld a, [de] - and a - jr z, .asm_1144c2 - inc bc - inc e - call z, Function1144c8 - cp "\r" - jr nz, .asm_114486 - ld a, [de] - inc bc - inc e - call z, Function1144c8 - cp "\n" - jr nz, .asm_114486 - ld a, [de] - cp " " - jr z, .asm_114486 - cp "\t" - jr z, .asm_114486 - ld d, h - ld e, l - ld a, [$dc02] - ld h, a - xor a - ret - -.asm_1144ae - inc e - call z, Function1144c8 - ld a, [de] - cp "\r" - jp nz, .asm_11442b - -.asm_1144b8 - inc e - call z, Function1144c8 - ld a, [de] - cp "\n" - jp nz, .asm_11442b - -.asm_1144c2 - ld a, $0 - ld [hl], a - ld a, $1 - ret - -Function1144c8: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function1144d1: - call Function114561 - dec de - dec de - push de - inc de - inc de - inc de - inc hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc hl - ld a, [de] - ld [hld], a - dec de - ld a, [de] - ld [hl], a - xor a - ld [wDecoBigDoll], a - ld [$dc17], a - ld a, $2 - ld [$dc0e], a - ld hl, $dc03 - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - call Function114576 - cp $2 - jr z, .asm_11455b - and a - jr z, .asm_114511 - ld a, $1 - ld [$dc0d], a - call Function1146fa - and a - jr nz, .asm_11455b - jr .asm_11451c - -.asm_114511 - call Function1146a4 - and a - jr nz, .asm_11455b - ld a, $2 - ld [$dc0d], a - -.asm_11451c - pop hl - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, [$dc0d] - ld [de], a - ld b, $0 - ld a, [wDecoBigDoll] - and a - jr z, .asm_114537 - ld b, $1 - -.asm_114537 - ld hl, $dc06 - ld a, [hl] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld hl, $dc09 - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld a, d - or e - jr z, .asm_114559 - ld hl, wCurMapSceneScriptCount - ld e, [hl] - inc hl - ld d, [hl] - xor a - ld [de], a - jp Function11425c - -.asm_114559 - ld b, $83 - -.asm_11455b - pop hl - ld a, $1 - jp Function11425c - -Function114561: - ld hl, $dc03 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - ret - -Function114576: - xor a - ld [wDecoBed], a - ld b, $7 - call Function1143f3 - cp $2 - jr z, .asm_1145b6 - and a - jr nz, .asm_1145b4 - ld a, h - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - push hl - push de - push bc - ld hl, $dc24 - call Function115d53 - call Function1145c5 - pop bc - pop de - pop hl - and a - jr z, .asm_1145bf - ld a, b - and a - jr nz, .asm_1145ba - ld a, h - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld hl, String_114218 - call Function114acf - -.asm_1145b4 - xor a - ret - -.asm_1145b6 - ld b, $82 - jr .asm_1145bc - -.asm_1145ba - ld b, $81 - -.asm_1145bc - ld a, $2 - ret - -.asm_1145bf - ld a, $1 - ld [wDecoBed], a - ret - -Function1145c5: - ld hl, $dc24 - ld de, String_11421e - ld c, $0 -.asm_1145cd - ld a, [hli] - and a - jr z, .asm_1145ef - cp $20 - jr z, .asm_1145cd - cp $d - jr z, .asm_1145f8 - cp $61 - jr c, .asm_1145e3 - cp $7b - jr nc, .asm_1145e3 - sub $20 - -.asm_1145e3 - ld b, a - ld a, [de] - and a - jr z, .asm_11460e - inc de - cp b - jr z, .asm_1145cd - dec de - jr .asm_1145cd - -.asm_1145ef - ld b, $0 - jr .asm_1145f5 - -.asm_1145f3 - ld b, $81 - -.asm_1145f5 - ld a, $1 - ret - -.asm_1145f8 - ld a, [hli] - and a - jr z, .asm_1145f3 - cp $a - jr nz, .asm_1145f3 - ld a, [hli] - and a - jr z, .asm_1145f3 - cp $20 - jr z, .asm_1145cd - cp $9 - jr z, .asm_1145cd - jr .asm_1145f3 - -.asm_11460e - ld a, c - and a - jr nz, .asm_114619 - ld c, $1 - ld de, String_114228 - jr .asm_1145cd - -.asm_114619 - dec hl - ld a, [hl] - cp $22 - jr nz, .asm_114620 - inc hl - -.asm_114620 - ld de, $ddc8 - ld b, $0 - ld c, $40 -.asm_114627 - ld a, [hli] - cp $22 - jr z, .asm_114636 - cp $d - jr z, .asm_114636 - ld [de], a - inc de - inc b - dec c - jr nz, .asm_114627 - -.asm_114636 - ld a, b - ld [wPartyMon5Defense], a - xor a - ret - -Function11463c: - ld a, [$dc00] - push af - push de - ld hl, $ddc8 - ld a, [wPartyMon5Defense] - ld b, a -.asm_114648 - ld a, [de] - ld c, a - ld a, [hli] - cp c - jr nz, .asm_11468a - inc e - call z, Function11469b - dec b - jr nz, .asm_114648 - ld a, [de] - cp $2d - jr z, .asm_114673 - cp $d - jr nz, .asm_11468a - xor a - ld [wDecoCarpet], a -.asm_114662 - inc e - call z, Function11469b - ld a, [de] - cp $a - jr nz, .asm_11468a - inc e - call z, Function11469b - xor a - pop hl - pop hl - ret - -.asm_114673 - inc e - call z, Function11469b - ld a, [de] - cp $2d - jr nz, .asm_11468a - inc e - call z, Function11469b - ld a, $1 - ld [wDecoCarpet], a - ld a, [de] - cp $d - jr z, .asm_114662 - -.asm_11468a - pop de - pop af - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - xor a - ld [wDecoCarpet], a - ld a, $1 - ret - -Function11469b: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function1146a4: - call Function114867 - and a - jr nz, .asm_1146e4 - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a18 - and a - jr nz, .asm_1146e8 - call Function1148c2 - and a - jr nz, .asm_1146e4 - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a7a - and a - jr nz, .asm_1146e8 -.asm_1146da - dec bc - dec bc - call Function1149cc - and a - jr nz, .asm_1146e4 - xor a - ret - -.asm_1146e4 - ld b, $83 - jr .asm_1146f7 - -.asm_1146e8 - ld a, [$dc17] - and a - jr z, .asm_1146f5 - ld a, $1 - ld [wDecoBigDoll], a - jr .asm_1146da - -.asm_1146f5 - ld b, $81 - -.asm_1146f7 - ld a, $1 - ret - -Function1146fa: - call Function114867 - and a - jp nz, .asm_11478a - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function114a18 - and a - jp nz, .asm_11478e - call Function1149cc - and a - jp nz, .asm_11478a - ld a, $1 - ld [$dc0e], a - ld a, [$dc00] - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, $1 - ld [wDecoRightOrnament], a - call Function1147cd - and a - jp nz, .asm_1147b7 -.asm_114737 - call Function114843 - cp $1 - jr nz, .asm_114749 - ld a, [$dc17] - and a - jr z, .asm_114794 - ld a, $1 - ld [wDecoBigDoll], a - -.asm_114749 - call Function11494d - and a - jr nz, .asm_11478a - ld a, [wDecoBigDoll] - and a - jr nz, .asm_114786 - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - call Function1147cd - and a - jr nz, .asm_1147b7 - ld a, [$dc0e] - cp $3 - jr nz, .asm_114773 - dec bc - dec bc - -.asm_114773 - call Function1149cc - and a - jr nz, .asm_11478a - ld a, [$dc0d] - inc a - ld [$dc0d], a - ld a, [wDecoBigDoll] - and a - jr z, .asm_114799 - -.asm_114786 - ld b, $1 - jr .asm_1147cb - -.asm_11478a - ld b, $83 - jr .asm_114796 - -.asm_11478e - ld a, [$dc17] - and a - jr nz, .asm_114796 - -.asm_114794 - ld b, $81 - -.asm_114796 - ld a, $1 - ret - -.asm_114799 - ld a, [wDecoCarpet] - and a - jr z, .asm_114737 - jr .asm_1147cb - - ld hl, $dc03 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - call Function114a7a - and a - jr z, .asm_1147cb - xor a - ld [wDecoBigDoll], a - -.asm_1147b7 - ld a, [$dc17] - and a - jr z, .asm_114794 - ld a, $1 - ld [wDecoBigDoll], a - ld a, [$dc0d] - cp $1 - jr nz, .asm_114773 - ld b, $1 - -.asm_1147cb - xor a - ret - -Function1147cd: - ld bc, NULL - ld a, [wDecoRightOrnament] - and a - jr nz, .asm_11480c -.asm_1147d6 - ld a, [de] - and a - jr z, .asm_11482f - inc e - call z, Function11483a - inc bc - cp $d - jr nz, .asm_1147d6 - ld a, [de] - cp $a - jr nz, .asm_11482f -.asm_1147e8 - inc bc - inc e - call z, Function11483a - ld a, [de] - cp $20 - jr z, .asm_114827 - cp $9 - jr z, .asm_114827 - cp $d - jr nz, .asm_11482b - inc e - call z, Function11483a - ld a, [de] - cp $a - jr nz, .asm_11482f - inc e - call z, Function11483a - ld a, h - and a - jr z, .asm_11480c - dec bc - -.asm_11480c - ld a, [de] - cp $2d - jr nz, .asm_1147d6 - inc e - call z, Function11483a - ld a, [de] - cp $2d - jr nz, .asm_1147d6 - inc e - call z, Function11483a - push bc - call Function11463c - pop bc - and a - jr nz, .asm_1147d6 - ret - -.asm_114827 - ld h, $1 - jr .asm_1147e8 - -.asm_11482b - ld h, $0 - jr .asm_11480c - -.asm_11482f - and a - jr nz, .asm_114837 - ld a, $1 - ld [$dc17], a - -.asm_114837 - ld a, $1 - ret - -Function11483a: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function114843: - ld a, [$dc00] - push af - push de - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - call Function114a18 - and a - jr nz, .asm_11485f - pop de - pop af - ld [$dc00], a - ld hl, String_114218 - call Function114acf - ret - -.asm_11485f - pop de - pop af - ld [$dc00], a - ld a, $1 - ret - -Function114867: - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, $2 - ld [de], a - inc e - call z, Function1148b9 - ld a, $1 - ld [de], a - inc e - call z, Function1148b9 - ld hl, $dc03 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld a, [hli] - ld [de], a - inc e - call z, Function1148b9 - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld d, $5 -.asm_1148a9 - dec bc - ld a, b - or c - jr z, .asm_1148b6 - dec d - jr nz, .asm_1148a9 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_1148b6 - ld a, $1 - ret - -Function1148b9: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function1148c2: - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, c - ld [de], a - inc e - call z, Function114944 - ld a, b - ld [de], a - inc e - call z, Function114944 - ld a, [$dc0e] - ld [de], a - inc e - call z, Function114944 - cp $3 - jr nz, .asm_114904 - ld hl, wDecoPlant - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - -.asm_114904 - ld hl, $dc03 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld a, [hli] - ld [de], a - inc e - call z, Function114944 - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld a, [$dc0e] - cp $3 - jr z, .asm_114932 - ld d, $6 - jr .asm_114934 - -.asm_114932 - ld d, $a - -.asm_114934 - dec bc - ld a, b - or c - jr z, .asm_114941 - dec d - jr nz, .asm_114934 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_114941 - ld a, $1 - ret - -Function114944: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function11494d: - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld a, [$dc0e] - ld [de], a - inc e - call z, Function1149c3 - cp $3 - jr nz, .asm_114983 - ld hl, wDecoPlant - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - -.asm_114983 - ld hl, $dc03 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld a, [hli] - ld [de], a - inc e - call z, Function1149c3 - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl - ld c, [hl] - inc hl - ld b, [hl] - ld a, [$dc0e] - cp $3 - jr z, .asm_1149b1 - ld d, $4 - jr .asm_1149b3 - -.asm_1149b1 - ld d, $8 - -.asm_1149b3 - dec bc - ld a, b - or c - jr z, .asm_1149c0 - dec d - jr nz, .asm_1149b3 - ld [hl], b - dec hl - ld [hl], c - xor a - ret - -.asm_1149c0 - ld a, $1 - ret - -Function1149c3: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function1149cc: - ld hl, $dc06 - ld a, [hl] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - push de - ld hl, $dc09 - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld a, d - or e - jr z, .asm_114a0b - dec de - ld a, d - or e - jr z, .asm_114a0b - ld [hl], d - dec hl - ld [hl], e - ld hl, wCurMapSceneScriptCount - ld e, [hl] - inc hl - ld d, [hl] - ld a, c - ld [de], a - inc e - call z, Function114a0f - ld a, b - ld [de], a - inc e - call z, Function114a0f - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - pop de - xor a - ret - -.asm_114a0b - pop de - ld a, $1 - ret - -Function114a0f: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function114a18: - ld bc, NULL - ld h, b -.asm_114a1c - inc bc - ld a, [de] - and a - jr z, .asm_114a66 - inc e - call z, Function114a71 - cp $d - jr nz, .asm_114a1c - ld a, [de] - cp $a - jr nz, .asm_114a66 -.asm_114a2e - inc bc - inc e - call z, Function114a71 - ld a, [de] - cp $20 - jr z, .asm_114a5e - cp $9 - jr z, .asm_114a5e - cp $d - jr nz, .asm_114a62 - inc e - call z, Function114a71 - ld a, [de] - cp $a - jr nz, .asm_114a66 - inc e - call z, Function114a71 - ld a, h - and a - jr z, .asm_114a52 - dec bc - -.asm_114a52 - ld hl, $dc03 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - xor a - ret - -.asm_114a5e - ld h, $1 - jr .asm_114a2e - -.asm_114a62 - ld h, $0 - jr .asm_114a1c - -.asm_114a66 - and a - jr nz, .asm_114a6e - ld a, $1 - ld [$dc17], a - -.asm_114a6e - ld a, $1 - ret - -Function114a71: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function114a7a: - ld bc, NULL -.asm_114a7d - inc bc - ld a, [de] - and a - jr z, .asm_114abb - inc e - call z, Function114ac6 - cp $d - jr nz, .asm_114a7d - ld a, [de] - cp $a - jr nz, .asm_114abb - inc e - call z, Function114ac6 - inc bc - ld a, [de] - cp $2e - jr nz, .asm_114a7d - inc e - call z, Function114ac6 - ld a, [de] - cp $d - jr nz, .asm_114a7d - inc e - call z, Function114ac6 - ld a, [de] - cp $a - jr nz, .asm_114abb - inc e - call z, Function114ac6 - ld hl, $dc03 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - xor a - ret - -.asm_114abb - and a - jr nz, .asm_114ac3 - ld a, $1 - ld [$dc17], a - -.asm_114ac3 - ld a, $1 - ret - -Function114ac6: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function114acf: -.asm_114acf - push hl - push bc -.asm_114ad1 - ld a, [hl] - ld b, a - ld a, [de] - inc e - call z, Function114b4c - cp $61 - jr c, .asm_114ae2 - cp $7b - jr nc, .asm_114ae2 - sub $20 - -.asm_114ae2 - cp b - jr z, .asm_114af4 - pop bc - dec bc - push bc - ld a, b - or c - jr nz, .asm_114ad1 -.asm_114aec - ld a, $2 - ld [$dc0e], a - pop bc - pop hl - ret - -.asm_114af4 - inc hl -.asm_114af5 - ld a, [hli] - and a - jr z, .asm_114b19 - ld b, a - ld a, [de] - inc e - call z, Function114b4c - cp $61 - jr c, .asm_114b09 - cp $7b - jr nc, .asm_114b09 - sub $20 - -.asm_114b09 - cp b - jr nz, .asm_114b15 - pop bc - dec bc - push bc - ld a, b - or c - jr nz, .asm_114af5 - jr .asm_114aec - -.asm_114b15 - pop bc - pop hl - jr .asm_114acf - -.asm_114b19 - ld b, $0 - ld c, $40 - ld a, [de] - cp $22 - jr nz, .asm_114b26 - inc e - call z, Function114b4c - -.asm_114b26 - ld hl, wDecoPlant - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - inc hl -.asm_114b31 - ld a, [de] - cp $22 - jr z, .asm_114b42 - cp $d - jr z, .asm_114b42 - inc e - call z, Function114b4c - inc b - dec c - jr nz, .asm_114b31 - -.asm_114b42 - ld [hl], b - pop bc - pop hl - ld a, $3 - ld [$dc0e], a - xor a - ret - -Function114b4c: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function114b55: - call Function114561 - ld b, $0 - ld hl, $dc03 - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 -.asm_114b65 - push de - push bc - push hl - call Function1143f3 - cp $2 - jr z, .asm_114bb2 - and a - jr nz, .asm_114b8c - ld a, h - pop hl - inc hl - ld [hld], a - ld a, $1 - ld [hli], a - inc hl - ld [hl], e - inc hl - ld [hl], d - inc hl - ld [hl], c - inc hl - ld [hl], b - inc hl -.asm_114b82 - pop bc - pop de - inc b - ld a, b - cp $d - jr z, .asm_114b96 - jr .asm_114b65 - -.asm_114b8c - pop hl - xor a -rept NAME_LENGTH_JAPANESE - ld [hli], a -endr - jr .asm_114b82 - -.asm_114b96 - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld bc, $004e - ld hl, $dc24 - call Function115d6a - jp Function11425c - -.asm_114bb2 - ld a, $1 - pop bc - pop bc - pop bc - ld b, $82 - jp Function11425c - -Function114bbc: - ld h, d - ld l, e - ld a, [hli] - ld b, a - ld a, [hli] - ld c, a - ld a, [hli] - ld e, a - ld d, [hl] - inc hl - push hl - call Function1143f3 - cp $2 - jr z, .asm_114c03 - and a - jr nz, .asm_114bff - ld a, h - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - call Function114c0b - ld hl, $dc24 - call Function114c5e - ld a, b - or c - jr z, .asm_114bff - pop hl - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, $dc24 - push bc - call Function115d6a - pop hl - jp Function11425c - -.asm_114bff - ld b, $84 - jr .asm_114c05 - -.asm_114c03 - ld b, $82 - -.asm_114c05 - ld a, $1 - pop hl - jp Function11425c - -Function114c0b: - ld hl, $dc24 - push bc - call Function115d53 - pop bc - ld hl, $dc24 - ld d, h - ld e, l -.asm_114c18 - ld a, [hli] - cp $d - jr z, .asm_114c34 - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_114c18 -.asm_114c24 - xor a - ld [de], a - ld hl, $dc24 - ld bc, NULL -.asm_114c2c - ld a, [hli] - inc bc - and a - jr nz, .asm_114c2c - dec bc - xor a - ret - -.asm_114c34 - dec bc - ld a, b - or c - jr z, .asm_114c24 - ld a, [hli] - cp $a - jr nz, .asm_114c18 - dec bc - ld a, b - or c - jr z, .asm_114c24 - ld a, [hli] - cp $20 - jr z, .asm_114c4e - cp $9 - jr z, .asm_114c4e - jr .asm_114c24 - -.asm_114c4e - dec bc - ld a, b - or c - jr z, .asm_114c24 - jr .asm_114c18 - -Function114c55: ; unreferenced - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function114c5e: - ld de, wPartyMon5Defense - push hl -.asm_114c62 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_114cc6 - cp $3d - jr nz, .asm_114c62 - ld a, [hli] - ld [de], a - inc de - cp $3f - jr nz, .asm_114c62 - dec de - dec de -.asm_114c75 - ld a, [hli] - cp $3f - jr nz, .asm_114c75 - ld a, [hli] - cp $42 - jr nz, .asm_114cb8 - inc hl - ld bc, NULL - push hl -.asm_114c84 - inc bc - ld a, [hli] - cp $3f - jr nz, .asm_114c84 - inc bc - ld a, [hli] - cp $3d - jr nz, .asm_114c84 - dec bc - dec bc - ld a, l - ld [$dc03], a - ld a, h - ld [$dc04], a - pop hl - push de - call Function115c49 - pop de - ld h, d - ld l, e - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_114ca6 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_114ca6 - ld a, [$dc03] - ld l, a - ld a, [$dc04] - ld h, a - jr .asm_114c62 - -.asm_114cb8 - ld a, $3d - ld [de], a - inc de - ld a, $3f - ld [de], a - inc de -.asm_114cc0 - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_114cc0 - -.asm_114cc6 - ld [de], a - pop hl - ld de, wPartyMon5Defense - ld bc, NULL -.asm_114cce - inc bc - ld a, [de] - ld [hli], a - inc de - and a - jr z, .asm_114cd7 - jr .asm_114cce - -.asm_114cd7 - dec bc - ret - -Function114cd9: - ld h, d - ld l, e - ld b, [hl] - inc hl - ld c, [hl] - inc hl - ld e, [hl] - inc hl - ld d, [hl] - inc hl - push hl - call Function1143f3 - and a - jr nz, .asm_114d33 - ld [$dc03], a - ld [$dc04], a - ld a, h - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld hl, $dc24 - call Function114d39 - ld hl, $dc24 - call Function114d99 - pop hl - push hl -rept 4 - inc hl -endr - ld a, [hld] - cp b - jr c, .asm_114d2d - jr z, .asm_114d29 -.asm_114d11 - pop hl - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, wPartyMon5Defense - call Function115d6a - xor a - jp Function11425c - -.asm_114d29 - ld a, [hli] - cp c - jr nc, .asm_114d11 - -.asm_114d2d - ld b, $83 - jr .asm_114d33 - - ld b, $82 - -.asm_114d33 - pop hl - ld a, $1 - jp Function11425c - -Function114d39: -.asm_114d39 - ld a, [$dc04] - and a - jr nz, .asm_114d4a - ld a, [de] - cp $28 - jr z, .asm_114d55 - cp $22 - jr z, .asm_114d55 - jr .asm_114d7f - -.asm_114d4a - ld a, [de] - cp $29 - jr z, .asm_114d5f - cp $22 - jr z, .asm_114d6f - jr .asm_114d84 - -.asm_114d55 - ld [$dc03], a - ld a, $1 - ld [$dc04], a - jr .asm_114d84 - -.asm_114d5f - ld a, [$dc03] - cp $28 - jr nz, .asm_114d84 - xor a - ld [$dc03], a - ld [$dc04], a - jr .asm_114d84 - -.asm_114d6f - ld a, [$dc03] - cp $22 - jr nz, .asm_114d84 - xor a - ld [$dc03], a - ld [$dc04], a - jr .asm_114d84 - -.asm_114d7f - cp $20 - jr z, .asm_114d84 - ld [hli], a - -.asm_114d84 - dec bc - ld a, b - or c - jr z, .asm_114d96 - inc e - jr nz, .asm_114d39 - push bc - ld bc, $dc00 - call Function115d80 - pop bc - jr .asm_114d39 - -.asm_114d96 - xor a - ld [hli], a - ret - -Function114d99: - ld de, wPartyMon5Defense - xor a - ld [de], a -.asm_114d9e - ld a, [hli] - call Function114df1 - and a - jr z, .asm_114dde - cp $40 - jr nz, .asm_114d9e - dec hl -.asm_114daa - dec hl - ld a, [hl] - call Function114e2d - and a - jr z, .asm_114daa - inc hl - push hl - ld b, $0 -.asm_114db6 - ld a, [hli] - cp $40 - jr z, .asm_114dc1 - call Function114e2d - and a - jr nz, .asm_114dc4 - -.asm_114dc1 - inc b - jr .asm_114db6 - -.asm_114dc4 - pop hl - ld a, [wPartyMon5Defense] - and a - jr z, .asm_114dd2 - ld a, $2c - inc de - ld [de], a - ld a, [wPartyMon5Defense] - -.asm_114dd2 - inc a - ld [wPartyMon5Defense], a -.asm_114dd6 - inc de - ld a, [hli] - ld [de], a - dec b - jr nz, .asm_114dd6 - jr .asm_114d9e - -.asm_114dde - inc de - xor a - ld [de], a - ld a, $dd - cpl - ld h, a - ld a, $c8 - cpl - ld l, a - inc hl - add hl, de - ld b, h - ld c, l - inc bc - inc bc - xor a - ret - -Function114df1: - cp $1b - ret nz - ld a, [hli] - and a - jr z, .asm_114e2b - cp $24 - jr nz, .asm_114e09 - ld a, [hli] - and a - jr z, .asm_114e2b - cp $42 - jr z, .asm_114e0b - cp $40 - jr z, .asm_114e0b - dec hl - -.asm_114e09 - dec hl - ret - -.asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $1b - jr nz, .asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $28 - jr nz, .asm_114e0b - ld a, [hli] - and a - jr z, .asm_114e2b - cp $42 - jr z, .asm_114e29 - cp $4a - jr z, .asm_114e29 - jr .asm_114e0b - -.asm_114e29 - ld a, [hli] - ret - -.asm_114e2b - xor a - ret - -Function114e2d: - cp $30 - jr c, .asm_114e45 - cp $40 - jr c, .asm_114e58 - cp $41 - jr c, .asm_114e45 - cp $5b - jr c, .asm_114e58 - cp $61 - jr c, .asm_114e45 - cp $7b - jr c, .asm_114e58 - -.asm_114e45 - cp $20 - jr z, .asm_114e58 - cp $2d - jr z, .asm_114e58 - cp $2e - jr z, .asm_114e58 - cp $5f - jr z, .asm_114e58 -.asm_114e55 - ld a, $1 - ret - -.asm_114e58 - cp $3c - jr z, .asm_114e55 - cp $3e - jr z, .asm_114e55 - xor a - ret - -Function114e62: - ld a, c - and a - jr nz, .asm_114e6f - ld a, [wTimerEventStartDay] - and a - jp z, Function11425c - jr .asm_114e76 - -.asm_114e6f - xor a - ld [wTimerEventStartDay], a - call Function114ee9 - -.asm_114e76 - call Function114f0a - cp $ff - jp z, Function11425c - and a - jr nz, .asm_114e99 - call Function114ea0 - and a - jr nz, .asm_114e99 - ld hl, $dc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -.asm_114e99 - ld a, $1 - ld b, $83 - jp Function11425c - -Function114ea0: - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, $d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_114edb - inc e - call z, Function114ee0 - ld a, $a - ld [de], a - dec bc - inc e - call z, Function114ee0 - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ld [wTimerEventStartDay], a - ret - -.asm_114edb - ld a, $1 - ld b, $83 - ret - -Function114ee0: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function114ee9: - ld hl, $dc03 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld [hli], a - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld c, a - ld [hli], a - inc de - ld a, [de] - ld b, a - ld [hli], a - inc de - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ret - -Function114f0a: - call Function114f39 - and a - jr nz, .asm_114f26 - ld a, [$dc03] - cp $6 - jr c, .asm_114f21 - cp $c - jr z, .asm_114f23 - call Function114f59 - and a - jr nz, .asm_114f23 - -.asm_114f21 - xor a - ret - -.asm_114f23 - ld a, $1 - ret - -.asm_114f26 - call Function114f59 - and a - jr nz, .asm_114f23 - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - and a - jr z, .asm_114f21 - ld a, $ff - ret - -Function114f39: - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld a, [de] - and a - jr z, .asm_114f58 - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d - ld a, $1 - ret - -.asm_114f58 - ret - -Function114f59: - ld a, [wTimerEventStartDay] - and a - jr nz, .asm_114f7c - ld a, [$dc03] - cp $11 - jr z, .asm_114fa7 - add a - ld e, a - ld d, 0 - ld hl, Unknown_114011 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call Function115020 - and a - jr nz, .asm_114fe7 - ld a, $1 - ld [wTimerEventStartDay], a - -.asm_114f7c - ld a, [$dc03] - cp $5 - jr c, .asm_114fc9 - jr z, .asm_114fec - cp $8 - jr c, .asm_114fa5 - jr z, .asm_114ff4 - cp $b - jr c, .asm_114fa5 - jr z, .asm_114ffc - cp $c - jr z, .asm_115007 - cp $d - jr z, .asm_114fa5 - cp $10 - jr c, .asm_115015 - jr z, .asm_114fa5 - cp $12 - jr c, .asm_114fa5 - jr .asm_114fe7 - -.asm_114fa5 - xor a - ret - -.asm_114fa7 - ld hl, wDecoBed - ld c, [hl] - inc hl - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - call Function115d53 - ld hl, $dc24 - call Function115020 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114fc9 - call Function115062 - and a - jr nz, .asm_114fe7 - ld a, [$dc04] - dec a - ld [$dc04], a - and a - jr z, .asm_114fdf - call Function114f39 - and a - jr nz, .asm_114fc9 - -.asm_114fdf - ld a, [$dc05] - ld [$dc04], a - jr .asm_11501e - -.asm_114fe7 - ld a, $1 - ld b, $83 - ret - -.asm_114fec - call Function115062 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114ff4 - call Function115179 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_114ffc - ld hl, String_114000 - call Function115217 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_115007 - call Function11528f - ld hl, $dc24 - call Function115217 - and a - jr nz, .asm_114fe7 - jr .asm_11501e - -.asm_115015 - ld hl, String_114000 - call Function115217 - and a - jr nz, .asm_114fe7 - -.asm_11501e - xor a - ret - -Function115020: - push hl - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl -.asm_115036 - ld a, [hli] - and a - jr z, .asm_115046 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115056 - inc e - call z, Function115059 - jr .asm_115036 - -.asm_115046 - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_115056 - ld a, $1 - ret - -Function115059: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function115062: - ld hl, wDecoBed - ld a, [hli] - and a - jr z, .asm_1150ae - ld c, a - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld b, $0 - ld hl, $dc24 - ld a, [wTimerEventStartDay] - cp $1 - jr z, .asm_11509b - cp $2 - jr z, .asm_115098 - cp $3 - jr nz, .asm_1150b2 - ld a, $2c - ld [hli], a - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - ld a, $9 - ld [hli], a - jr .asm_11509b - -.asm_115098 - ld a, $2c - ld [hli], a - -.asm_11509b - call Function115d53 - call Function1150b3 - call Function115136 - ld a, [wTimerEventStartDay] - inc a - cp $4 - jr nz, .asm_1150ae - ld a, $2 - -.asm_1150ae - ld [wTimerEventStartDay], a - xor a - -.asm_1150b2 - ret - -Function1150b3: - ld hl, $dc24 - ld de, wPartyMon5Defense - ld b, $0 -.asm_1150bb - ld c, $0 - ld a, [hli] - cp $1b - jr z, .asm_1150c9 - ld [de], a - inc de - and a - jr z, .asm_115133 - jr .asm_1150bb - -.asm_1150c9 - inc c - ld a, [hl] - cp $24 - jr nz, .asm_1150bb - inc hl - inc c - ld a, [hl] - cp $42 - jr z, .asm_1150dc - cp $40 - jr z, .asm_1150dc - jr .asm_1150bb - -.asm_1150dc - push hl -.asm_1150dd - inc c - ld a, [hli] - and a - jr z, .asm_115133 - cp $1b - jr nz, .asm_1150dd - inc c - ld a, [hli] - cp $28 - jr nz, .asm_1150dd - inc c - ld a, [hli] - cp $42 - jr z, .asm_1150f8 - cp $4a - jr z, .asm_1150f8 - jr .asm_1150dd - -.asm_1150f8 - ld a, l - ld [wDecoConsole], a - ld a, h - ld [wDecoLeftOrnament], a - ld hl, String_114232 -.asm_115103 - ld a, [hli] - and a - jr z, .asm_11510b - ld [de], a - inc de - jr .asm_115103 - -.asm_11510b - pop hl - dec hl - dec hl - push de - call Function1158c2 - pop de - ld h, d - ld l, e - ld c, [hl] - inc hl - ld b, [hl] - inc hl -.asm_115119 - ld a, [hli] - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .asm_115119 - ld a, $3f - ld [de], a - inc de - ld a, $3d - ld [de], a - inc de - ld a, [wDecoConsole] - ld l, a - ld a, [wDecoLeftOrnament] - ld h, a - jr .asm_1150bb - -.asm_115133 - xor a - ld [de], a - ret - -Function115136: - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld hl, wPartyMon5Defense -.asm_11514d - ld a, [hli] - and a - jr z, .asm_11515d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_11516d - inc e - call z, Function115170 - jr .asm_11514d - -.asm_11515d - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_11516d - ld a, $1 - ret - -Function115170: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function115179: - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld hl, $013f - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [hli] - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, $2d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, [$014c] - ld h, a - and $f0 - swap a - cp $a - jr nc, .asm_1151d8 - add $30 - jr .asm_1151da - -.asm_1151d8 - add $37 - -.asm_1151da - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld a, h - and $f - cp $a - jr nc, .asm_1151f2 - add $30 - jr .asm_1151f4 - -.asm_1151ef - ld a, $1 - ret - -.asm_1151f2 - add $37 - -.asm_1151f4 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_1151ef - inc e - call z, Function11520e - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -Function11520e: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function115217: - push hl - ld hl, $dc06 - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - pop hl -.asm_11522d - ld a, [hli] - and a - jr z, .asm_11523d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - jr .asm_11522d - -.asm_11523d - ld a, [$dc03] - cp $b - jr z, .asm_115278 - cp $c - jr z, .asm_115278 - cp $e - jr z, .asm_115252 - cp $f - jr z, .asm_115265 - jr .asm_115262 - -.asm_115252 - ld hl, $dc06 - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - xor a - ret - -.asm_115262 - ld a, $1 - ret - -.asm_115265 - ld h, $2 -.asm_115267 - ld a, $2d - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - dec h - jr nz, .asm_115267 - jr .asm_115252 - -.asm_115278 - ld a, $22 - ld [de], a - dec bc - ld a, b - or c - jr z, .asm_115262 - inc e - call z, Function115286 - jr .asm_115252 - -Function115286: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function11528f: - ld hl, wDecoBed - ld c, [hl] - inc hl - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, $dc24 -.asm_1152a4 - ld a, [de] - ld [hli], a - inc e - call z, Function1152af - dec c - jr nz, .asm_1152a4 - ld [hl], c - ret - -Function1152af: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function1152b8: - push bc - call Function11537d - push de - ld h, d - ld l, e - ld a, [hli] - ld b, a - ld c, $1 - call Function1153d2 - pop de - and a - jr nz, .asm_1152f9 -.asm_1152ca - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] -.asm_1152d0 - ld a, [$dc03] - cp $3 - jr nz, .asm_1152d8 - push de - -.asm_1152d8 - cp $5 - jr nz, .asm_1152e7 - pop hl - ld a, [hli] - ld b, a - ld c, $3 - call Function1153d2 - and a - jr nz, .asm_1152f9 - -.asm_1152e7 - ld a, [de] - inc de - and a - jr nz, .asm_115301 - ld a, [$dc03] - cp $6 - jr z, .asm_115335 - inc a - ld [$dc03], a - jr .asm_1152d0 - -.asm_1152f9 - pop hl - ld a, $1 - ld b, $83 - jp Function11425c - -.asm_115301 - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d -.asm_115307 - ld [$dc05], a - ld a, $1 - ld [$dc04], a - call Function1153b5 - call Function114f59 - and a - jr nz, .asm_1152f9 - ld a, [$dc05] - dec a - jr nz, .asm_115307 - ld a, [$dc03] - inc a - ld [$dc03], a - call Function114ea0 - and a - jr nz, .asm_1152f9 - ld [wTimerEventStartDay], a - ld a, [$dc03] - cp $6 - jr nz, .asm_1152ca - -.asm_115335 - call Function1153b5 - xor a - ld [wTimerEventStartDay], a - call Function114f59 - and a - jr nz, .asm_1152f9 - call Function114ea0 - and a - jr nz, .asm_1152f9 - ld a, [$dc03] - inc a - ld [$dc03], a - cp $9 - jr nz, .asm_115335 - pop bc - ld a, b - and a - jr z, .asm_11536b - call Function1153b5 - xor a - ld [wTimerEventStartDay], a - call Function114f59 - and a - jr nz, .asm_1152f9 - call Function114ea0 - and a - jr nz, .asm_1152f9 - -.asm_11536b - ld hl, $dc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -Function11537d: - ld hl, $dc06 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld b, a - inc de - ld a, [de] - ld [hli], a - inc hl - ld a, [de] - ld [hld], a - ld a, b - ld [hli], a - inc de - ld hl, wDecoRightOrnament - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d - xor a - ld [$dc03], a - ld [wTimerEventStartDay], a - ret - -Function1153b5: - ld hl, $dc0d - ld e, [hl] - inc hl - ld d, [hl] - inc hl - inc hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - inc de - ld a, [de] - ld [wDecoBed], a - inc de - ld hl, $dc0d - ld [hl], e - inc hl - ld [hl], d - ret - -Function1153d2: - ld a, [$dc03] - ld d, a - ld a, [$dc04] - ld e, a - push de - xor a - ld [$dc03], a - ld [$dc04], a - ld a, $24 - ld [wDecoConsole], a - ld a, $dc - ld [wDecoLeftOrnament], a - push bc - jr .asm_1153f4 - -.asm_1153ef - ld a, [hli] - and a - jr z, .asm_115426 - ld b, a - -.asm_1153f4 - push bc -.asm_1153f5 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - push hl - ld a, [wDecoConsole] - ld l, a - ld a, [wDecoLeftOrnament] - ld h, a - push bc - ld b, $0 - call Function115d53 - inc hl - ld [hl], a - pop bc - ld a, l - ld e, a - ld [wDecoConsole], a - ld a, h - ld d, a - ld [wDecoLeftOrnament], a - dec b - jr z, .asm_11542b - pop hl - jr .asm_1153f5 - -.asm_115426 - dec c - jr nz, .asm_1153ef - jr .asm_115430 - -.asm_11542b - pop hl - pop bc - dec c - jr nz, .asm_1153ef - -.asm_115430 - ld a, l - ld [wDecoConsole], a - ld a, h - ld [wDecoLeftOrnament], a - xor a - ld [de], a - ld hl, $dc24 -.asm_11543d - ld a, [hli] - and a - jr nz, .asm_11543d - ld a, [hl] - and a - jr z, .asm_115457 - dec hl - ld a, $2c - ld [hli], a - jr .asm_11543d - -.asm_11544b - pop hl - ld a, h - ld [$dc03], a - ld a, l - ld [$dc04], a - ld a, $1 - ret - -.asm_115457 - ld hl, $dc24 - call Function114d99 - ld hl, $ddc8 -.asm_115460 - ld a, [hli] - and a - jr z, .asm_11546d - cp $2c - jr nz, .asm_115460 - dec hl - xor a - ld [hli], a - jr .asm_115460 - -.asm_11546d - pop de - ld a, e - cp $1 - jr z, .asm_115477 - xor a - ld [hli], a - jr .asm_115478 - -.asm_115477 - dec bc - -.asm_115478 - ld hl, $dc18 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, b - cp h - jr c, .asm_11548c - jr nz, .asm_11544b - ld a, c - cp l - jr c, .asm_11548c - jr z, .asm_11548c - jr .asm_11544b - -.asm_11548c - ld hl, $dc18 - ld a, c - cpl - ld e, a - ld a, b - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - ld de, $dc18 - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - ld hl, wDecoRightOrnament - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $ddc8 - call Function115d6a - ld hl, wDecoRightOrnament - ld a, [wCurMapBGEventCount] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld a, [wDecoConsole] - ld e, a - ld a, [wDecoLeftOrnament] - ld d, a - pop hl - ld a, h - ld [$dc03], a - ld a, l - ld [$dc04], a - xor a - ret - -Function1154d4: - xor a - ld [wTimerEventStartDay], a - call Function1155af - call Function11560a - and a - jr nz, .asm_11552c - call Function1155d1 - ld a, [wDecoRightOrnament] - dec a - ld [wDecoRightOrnament], a - and a - jp z, .asm_115577 - cp $1 - jr nz, .asm_115531 - xor a - ld [wDailyResetTimer], a -.asm_1154f7 - ld a, [wDecoBigDoll] - cp $2 - jr z, .asm_115502 - cp $3 - jr z, .asm_11550f - -.asm_115502 - ld a, $a - ld [$dc03], a - call Function114f59 - and a - jr z, .asm_11551a - jr .asm_11552c - -.asm_11550f - ld a, $c - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - -.asm_11551a - call Function114ea0 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - call Function11560a - and a - jr z, .asm_1155a0 - -.asm_11552c - ld a, $1 - jp Function11425c - -.asm_115531 - ld a, $1 - ld [wDailyResetTimer], a - ld a, $b - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c -.asm_115547 - call Function114ea0 - and a - jr nz, .asm_11552c - ld a, $e - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - jr .asm_1154f7 - -.asm_115560 - call Function114ea0 - and a - jr nz, .asm_11552c - ld a, [wDailyResetTimer] - and a - jr z, .asm_11557d - ld a, $f - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - -.asm_115577 - call Function114ea0 - and a - jr nz, .asm_11552c - -.asm_11557d - ld a, $10 - ld [$dc03], a - call Function114f59 - and a - jr nz, .asm_11552c - call Function114ea0 - and a - jr nz, .asm_11552c - ld hl, $dc09 - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - jp Function11425c - -.asm_1155a0 - ld a, [wDecoRightOrnament] - dec a - ld [wDecoRightOrnament], a - and a - jr z, .asm_115560 - call Function1155d1 - jr .asm_115547 - -Function1155af: - ld hl, $dc06 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld b, a - inc de - ld a, [de] - ld [hli], a - ld [hl], b - inc hl - ld [hli], a - inc de - ld a, [de] - ld [wDecoRightOrnament], a - inc de - ld a, e - ld [hli], a - ld [hl], d - call Function1155d1 - ret - -Function1155d1: - ld a, [$dc0d] - ld l, a - ld a, [$dc0e] - ld h, a - ld a, [hli] - ld [wDecoBigDoll], a - cp $3 - jr nz, .asm_1155f0 - ld de, wDecoCarpet - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, [hli] - ld [wDecoBed], a - -.asm_1155f0 - ld de, $dc17 - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld a, l - ld [$dc0d], a - ld a, h - ld [$dc0e], a - ret - -Function11560a: - ld a, [$dc06] - ld [wCurMapBGEventCount], a - ld a, [$dc17] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld hl, $dc1a - ld c, [hl] - inc hl - ld b, [hl] - ld a, [wCurMapCallbackCount] - cp b - jp c, .asm_1156b1 - jr nz, .asm_115631 - ld a, [$dc09] - cp c - jp c, .asm_1156b1 - -.asm_115631 - ld a, b - or c - jr z, .asm_1156a9 - ld a, [$dc09] - ld l, a - ld a, [wCurMapCallbackCount] - ld h, a - ld a, c - cpl - ld e, a - ld a, b - cpl - ld d, a - inc de - add hl, de - ld a, l - ld [$dc09], a - ld a, h - ld [wCurMapCallbackCount], a -.asm_11564d - ld a, $3 - cp b - jr c, .asm_1156b6 - jr nz, .asm_115659 - ld a, $db - cp c - jr c, .asm_1156b6 - -.asm_115659 - ld a, [$dc1a] - ld e, a - ld a, [$dc1b] - ld d, a - ld a, c - cpl - ld l, a - ld a, b - cpl - ld h, a - inc hl - add hl, de - ld a, l - ld [$dc1a], a - ld a, h - ld [$dc1b], a - push bc - ld hl, $dc18 - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - call Function115d53 - ld hl, $dc18 - ld [hl], e - inc hl - ld [hl], d - pop bc - ld a, [wCurMapBGEventCount] - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld hl, wCurMapSceneScriptCount - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - call Function115d6a - ld hl, wCurMapSceneScriptCount - ld [hl], e - inc hl - ld [hl], d - ld hl, $dc1a - ld c, [hl] - inc hl - ld b, [hl] - ld a, b - or c - jr nz, .asm_11564d - -.asm_1156a9 - ld a, [wCurMapBGEventCount] - ld [$dc06], a - xor a - ret - -.asm_1156b1 - ld a, $1 - ld b, $83 - ret - -.asm_1156b6 - ld a, $3 - cpl - ld h, a - ld a, $db - cpl - ld l, a - add hl, bc - ld de, $dc1a - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - ld bc, $03db - jr .asm_115659 - -Function1156cc: - ld a, [wTimerEventStartDay] - and a - jp z, Function11425c - cp $2 - jr z, .asm_1156fa - cp $3 - jr z, .asm_1156fd - cp $4 - jr z, .asm_1156fd - cp $5 - jr z, .asm_115716 - cp $ff - jr z, .asm_11572b - cp $1 - jp nz, Function11425c - call Function115732 - call Function11575c - ld a, h - ld [wDecoPoster], a - ld a, l - ld [wDecoPlant], a - -.asm_1156fa - call Function1157d0 - -.asm_1156fd - call Function11581e - and a - jr nz, .asm_11572b - ld a, [wTimerEventStartDay] - cp $5 - jr z, .asm_115716 - ld a, [wDecoPoster] - ld h, a - ld a, [wDecoPlant] - ld l, a - xor a - jp Function11425c - -.asm_115716 - ld hl, wCurMapCallbackCount - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - ld [wTimerEventStartDay], a - jp Function11425c - -.asm_11572b - ld a, $1 - ld b, $83 - jp Function11425c - -Function115732: - ld hl, $dc02 - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - dec de - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hli], a - ld a, c - ld [hli], a - ld [hl], b - ret - -Function11575c: - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $3 -.asm_11576a - rl l - rl h - rl d - cp d - jr c, .asm_11577c - rl c - rl b - dec e - jr nz, .asm_11576a - jr .asm_11578a - -.asm_11577c - ld a, d - sub $3 - ld d, a - ld a, $3 - scf - rl c - rl b - dec e - jr nz, .asm_11576a - -.asm_11578a - ld a, d - and a - jr z, .asm_11578f - inc bc - -.asm_11578f - sla c - rl b - sla c - rl b - ld h, b - ld l, c - push hl - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $40 -.asm_1157a2 - rl l - rl h - rl d - cp d - jr c, .asm_1157b4 - rl c - rl b - dec e - jr nz, .asm_1157a2 - jr .asm_1157c3 - -.asm_1157b4 - ld a, d - sub $40 - ld d, a - ld a, $40 - scf - rl c - rl b - dec e - jr nz, .asm_1157a2 - inc bc - -.asm_1157c3 - and a - sla c - rl b - pop hl - add hl, bc - ld a, $2 - ld [wTimerEventStartDay], a - ret - -Function1157d0: - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$dc0e] - ld c, a - ld a, [wDecoBed] - ld b, a - cp h - jr c, .asm_1157eb - jr nz, .asm_1157e9 - ld a, c - cp l - jr c, .asm_1157eb - jr z, .asm_1157eb - -.asm_1157e9 - ld b, h - ld c, l - -.asm_1157eb - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [$dc05], a - ld a, h - ld [$dc06], a - ld a, h - or l - jr nz, .asm_11580f - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [wDecoBed], a - ld a, $4 - ld [wTimerEventStartDay], a - ret - -.asm_11580f - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [wDecoBed], a - ld a, $3 - ld [wTimerEventStartDay], a - ret - -Function11581e: - ld a, [wTimerEventStartDay] - and a - ret z - ld a, [$dc0e] - ld c, a - ld a, [wDecoBed] - ld b, a - ld hl, $dc02 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc24 - push bc - call Function115d53 - pop bc - ld hl, $dc02 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld hl, $dc24 - ld de, wPartyMon5Defense - call Function1158c2 - ld hl, wPartyMon5Defense - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - ld a, [wCurMapCallbackCount] - ld l, a - ld a, [wCurMapCallbacksPointer] - ld h, a - cp b - jr c, .asm_1158bb - jr nz, .asm_11586e - ld a, l - cp c - jr c, .asm_1158bb - -.asm_11586e - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wCurMapCallbackCount], a - ld a, h - ld [wCurMapCallbacksPointer], a - pop bc - pop hl - ld hl, wCurMapSceneScriptCount - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wPartyMon5Speed - call Function115d6a - ld hl, wCurMapSceneScriptCount - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, [wTimerEventStartDay] - cp $3 - jr z, .asm_1158b4 - cp $4 - jr z, .asm_1158ad - jr .asm_1158bc - -.asm_1158ad - ld a, $5 - ld [wTimerEventStartDay], a - jr .asm_1158b9 - -.asm_1158b4 - ld a, $2 - ld [wTimerEventStartDay], a - -.asm_1158b9 - xor a - ret - -.asm_1158bb - pop hl - -.asm_1158bc - ld a, $ff - ld [wTimerEventStartDay], a - ret - -Function1158c2: - ld a, e - ld [wSwarmFlags], a - ld a, d - ld [$dc21], a - xor a - ld [$dc22], a - xor a - ld [de], a - inc de - ld [de], a - inc de - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - xor a - ld [wDailyFlags2], a - -.asm_1158e5 - ld b, $3 - push hl - ld hl, $dc1b -.asm_1158eb - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .asm_1158eb - ld a, [$dc19] - ld c, a - ld a, [$dc1a] - ld b, a - xor a - or b - jr nz, .asm_115914 - ld a, $2 - cp c - jr c, .asm_115914 - push hl - dec hl - ld a, c - ld [wDailyFlags2], a -.asm_115908 - xor a - ld [hld], a - inc c - ld a, $3 - cp c - jr nz, .asm_115908 - pop hl - ld bc, $0003 - -.asm_115914 - dec bc - dec bc - dec bc - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - push de - push hl - ld hl, wSwarmFlags - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] -rept 4 - inc de -endr - ld [hl], d - dec hl - ld [hl], e - pop hl - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - ld d, a - srl a - srl a - ld [hli], a - ld a, $3 - and d - ld d, a - ld a, $f0 - and b - or d - swap a - ld [hli], a - ld a, $f - and b - ld d, a - ld a, c - and $c0 - or d - rlca - rlca - ld [hli], a - ld a, $3f - and c - ld [hld], a - dec hl - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [bc] - inc bc - call Function1159dc - ld [hli], a - ld a, [$dc22] - inc a - cp $10 - jr nz, .asm_1159b1 - push af - push bc - ld a, [$dc19] - ld b, a - ld a, [$dc1a] - or b - jr nz, .asm_115998 - ld a, [$dc05] - ld b, a - ld a, [$dc06] - or b - jr nz, .asm_115998 - pop bc - pop af - jr .asm_1159c4 - -.asm_115998 - pop bc - pop af - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - push hl - ld hl, wSwarmFlags - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - ld c, a - ld b, [hl] - inc bc - inc bc - ld a, b - ld [hld], a - ld [hl], c - pop hl - xor a - -.asm_1159b1 - ld [$dc22], a - ld a, [$dc19] - cp $0 - jp nz, .asm_1158e5 - ld a, [$dc1a] - cp $0 - jp nz, .asm_1158e5 - -.asm_1159c4 - ld a, [wDailyFlags2] - cp $0 - jr z, .asm_1159d8 - push hl - dec hl - ld b, a -.asm_1159ce - ld a, $3d - ld [hld], a - inc b - ld a, $3 - cp b - jr nz, .asm_1159ce - pop hl - -.asm_1159d8 - ld a, $0 - ld [hl], a - ret - -Function1159dc: - cp $1a - jr c, .asm_1159ef - cp $34 - jr c, .asm_1159f2 - cp $3e - jr c, .asm_1159f5 - cp $3e - jr z, .asm_1159f8 - ld a, $2f - ret - -.asm_1159ef - add $41 - ret - -.asm_1159f2 - add $47 - ret - -.asm_1159f5 - sub $4 - ret - -.asm_1159f8 - ld a, $2b - ret - -Function1159fb: - ld a, [wTimerEventStartDay] - and a - jp z, Function11425c - cp $2 - jr z, .asm_115a29 - cp $3 - jr z, .asm_115a2c - cp $4 - jr z, .asm_115a2c - cp $5 - jr z, .asm_115a45 - cp $ff - jr z, .asm_115a5a - cp $1 - jp nz, Function11425c - call Function115732 - call Function115a5f - ld a, h - ld [wDecoPlant], a - ld a, l - ld [wDecoPoster], a - -.asm_115a29 - call Function115ab0 - -.asm_115a2c - call Function115b00 - and a - jr nz, .asm_115a5a - ld a, [wTimerEventStartDay] - cp $5 - jr z, .asm_115a45 - ld a, [wDecoPoster] - ld h, a - ld a, [wDecoPlant] - ld l, a - xor a - jp Function11425c - -.asm_115a45 - ld hl, wCurMapCallbackCount - ld a, [hli] - cpl - ld e, a - ld a, [hli] - cpl - ld d, a - inc de - ld a, [hli] - ld h, [hl] - ld l, a - add hl, de - xor a - ld [wTimerEventStartDay], a - jp Function11425c - -.asm_115a5a - ld a, $1 - jp Function11425c - -Function115a5f: - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld e, $10 - ld b, $0 - ld c, b - ld d, b - ld a, $42 -.asm_115a6e - rl l - rl h - rl d - cp d - jr c, .asm_115a80 - rl c - rl b - dec e - jr nz, .asm_115a6e - jr .asm_115a8e - -.asm_115a80 - ld a, d - sub $42 - ld d, a - ld a, $42 - scf - rl c - rl b - dec e - jr nz, .asm_115a6e - -.asm_115a8e - sla c - rl b - pop hl - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - srl h - rr l - srl h - rr l - ld b, h - ld c, l - sla c - rl b - add hl, bc - ld a, $2 - ld [wTimerEventStartDay], a - ret - -Function115ab0: - ld hl, $dc05 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [$dc0e] - ld c, a - ld a, [wDecoBed] - ld b, a - cp h - jr c, .asm_115acb - jr nz, .asm_115ac9 - ld a, c - cp l - jr c, .asm_115acb - jr z, .asm_115acb - -.asm_115ac9 - ld b, h - ld c, l - -.asm_115acb - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [$dc05], a - ld a, h - ld [$dc06], a - ld a, h - or l - jr nz, .asm_115af0 - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [wDecoBed], a - ld a, $4 - ld [wTimerEventStartDay], a - xor a - ret - -.asm_115af0 - pop bc - ld a, c - ld [$dc0e], a - ld a, b - ld [wDecoBed], a - ld a, $3 - ld [wTimerEventStartDay], a - xor a - ret - -Function115b00: - ld a, [wTimerEventStartDay] - and a - ret z - ld a, [$dc0e] - ld c, a - ld a, [wDecoBed] - ld b, a - ld hl, $dc02 - ld a, [hli] - ld [$dc00], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, wPartyMon5Defense - push bc - call Function115bc8 - pop hl - and a - jr z, .asm_115b43 - cp $2 - jr z, .asm_115b3b - ld a, [wTimerEventStartDay] - cp $4 - jr z, .asm_115b43 - inc hl - inc hl - jr .asm_115b43 - -.asm_115b36 - pop hl - ld b, $83 - jr .asm_115b3d - -.asm_115b3b - ld b, $81 - -.asm_115b3d - ld a, $ff - ld [wTimerEventStartDay], a - ret - -.asm_115b43 - ld a, [wDecoCarpet] - add a - cpl - ld c, a - ld b, $ff - inc bc - add hl, bc - ld b, h - ld c, l - ld hl, $dc02 - ld a, [$dc00] - ld [hli], a - ld [hl], e - inc hl - ld [hl], d - ld hl, wPartyMon5Defense - ld de, $dc24 - call Function115c49 - ld hl, $dc24 - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - ld a, [wCurMapCallbackCount] - ld l, a - ld a, [wCurMapCallbacksPointer] - ld h, a - cp b - jr c, .asm_115b36 - jr nz, .asm_115b7b - ld a, l - cp c - jr c, .asm_115b36 - -.asm_115b7b - push bc - ld a, b - cpl - ld b, a - ld a, c - cpl - ld c, a - inc bc - add hl, bc - ld a, l - ld [wCurMapCallbackCount], a - ld a, h - ld [wCurMapCallbacksPointer], a - pop bc - pop hl - ld hl, wCurMapSceneScriptCount - ld a, [hli] - ld [wCurMapBGEventCount], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $dc26 - call Function115d6a - ld hl, wCurMapSceneScriptCount - ld a, [wCurMapBGEventCount] - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, [wTimerEventStartDay] - cp $3 - jr z, .asm_115bc1 - cp $4 - jr z, .asm_115bba - jr .asm_115b3b - -.asm_115bba - ld a, $5 - ld [wTimerEventStartDay], a - jr .asm_115bc6 - -.asm_115bc1 - ld a, $2 - ld [wTimerEventStartDay], a - -.asm_115bc6 - xor a - ret - -Function115bc8: - xor a - ld [wDecoCarpet], a -.asm_115bcc - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c1b - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c3a - ld a, [de] - cp $d - jr nz, .asm_115bcc - inc e - call z, .Function115c3d - ld a, [de] - cp $a - jr nz, .asm_115c46 - inc e - call z, .Function115c3d - dec bc - ld a, b - or c - jr z, .asm_115c46 - ld a, [wDecoCarpet] - inc a - ld [wDecoCarpet], a - dec bc - ld a, b - or c - jr nz, .asm_115bcc - -.asm_115c1b - ld a, [wTimerEventStartDay] - cp $4 - jr z, .asm_115c33 - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - ld a, [de] - ld [hli], a - inc e - call z, .Function115c3d - xor a - ld [hl], a - ld a, $1 - ret - -.asm_115c33 - dec hl - dec hl - xor a - ld [hl], a - ld a, $1 - ret - -.asm_115c3a - xor a - ld [hl], a - ret - -.Function115c3d: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -.asm_115c46 - ld a, $2 - ret - -Function115c49: - ld a, e - ld [wDailyFlags2], a - ld a, d - ld [wSwarmFlags], a - xor a - ld [de], a - inc de - ld [de], a - inc de - - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - -.asm_115c64 - ld a, [$dc1a] - or a - jr nz, .asm_115c71 - ld a, [$dc19] - cp $4 - jr c, .asm_115c99 - -.asm_115c71 - ld b, $4 - push hl - ld hl, $dc1b -.asm_115c77 - ld a, [de] - inc de - call .decodeBase64Character - ld [hli], a - dec b - jr nz, .asm_115c77 - ld a, [$dc19] - ld c, a - ld a, [$dc1a] - ld b, a -rept 4 - dec bc -endr -.asm_115c8c - ld a, [de] - cp $d - jr z, .asm_115c95 - cp $a - jr nz, .asm_115c9f - -.asm_115c95 - inc de - dec bc - jr .asm_115c8c - -.asm_115c99 - ld a, $ff - ld [wTimerEventStartDay], a - ret - -.asm_115c9f - ld a, c - ld [$dc19], a - ld a, b - ld [$dc1a], a - push de - push hl - ld hl, wDailyFlags2 - ld a, [hli] - ld h, [hl] - ld l, a - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - pop hl - dec hl - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - ld a, [$dc19] - cp $0 - jp nz, .asm_115c64 - ld a, [$dc1a] - cp $0 - jp nz, .asm_115c64 - ret - -.decodeBase64Character - cp "+" - jr c, .asm_115d27 - jr z, .asm_115d2f - cp "/" - jr c, .asm_115d27 - jr z, .asm_115d32 - cp "0" - jr c, .asm_115d27 - cp "9" + 1 - jr c, .asm_115d35 - cp "=" - jr c, .asm_115d27 - jr z, .asm_115d38 - cp "A" - jr c, .asm_115d27 - cp "Z" + 1 - jr c, .asm_115d4d - cp "a" - jr c, .asm_115d27 - cp "z" + 1 - jr c, .asm_115d50 - -.asm_115d27 - pop hl - pop hl - ld a, $ff - ld [wTimerEventStartDay], a - ret - -.asm_115d2f - ld a, $3e - ret - -.asm_115d32 - ld a, $3f - ret - -.asm_115d35 - add $4 - ret - -.asm_115d38 - push de - push hl - ld a, [wDailyFlags2] - ld l, a - ld a, [wSwarmFlags] - ld h, a - ld e, [hl] - inc hl - ld d, [hl] - dec de - ld [hl], d - dec hl - ld [hl], e - pop hl - pop de - xor a - ret - -.asm_115d4d - sub $41 - ret - -.asm_115d50 - sub $47 - ret - -Function115d53: -.asm_115d53 - ld a, [de] - ld [hli], a - inc e - call z, Function115d61 - dec bc - ld a, b - or c - jr nz, .asm_115d53 - xor a - ld [hl], a - ret - -Function115d61: - push bc - ld bc, $dc00 - call Function115d80 - pop bc - ret - -Function115d6a: -.asm_115d6a - ld a, [hli] - ld [de], a - inc e - call z, Function115d77 - dec bc - ld a, b - or c - jr nz, .asm_115d6a - xor a - ret - -Function115d77: - push bc - ld bc, wCurMapBGEventCount - call Function115d80 - pop bc - ret - -Function115d80: - ld e, a - ld a, d - cp $bf - jr z, .asm_115d8b - inc d - ld a, e - ld e, $0 - ret - -.asm_115d8b - ld a, [bc] - inc a - ld [bc], a - ldh [hSRAMBank], a - ld [MBC3SRamBank], a - ld a, e - ld d, $a0 - ld e, $0 - ret diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm deleted file mode 100644 index 1a86018a7..000000000 --- a/lib/mobile/main.asm +++ /dev/null @@ -1,9546 +0,0 @@ -; A library included as part of the Mobile Adapter GB SDK. - -setcharmap ascii - -; Mobile Adapter protocol commands -DEF MOBILE_COMMAND_BEGIN_SESSION EQU $10 -DEF MOBILE_COMMAND_END_SESSION EQU $11 -DEF MOBILE_COMMAND_DIAL_TELEPHONE EQU $12 -DEF MOBILE_COMMAND_HANG_UP_TELEPHONE EQU $13 -DEF MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL EQU $14 -DEF MOBILE_COMMAND_TRANSFER_DATA EQU $15 -DEF MOBILE_COMMAND_TELEPHONE_STATUS EQU $17 -DEF MOBILE_COMMAND_READ_CONFIGURATION_DATA EQU $19 -DEF MOBILE_COMMAND_WRITE_CONFIGURATION_DATA EQU $1a -DEF MOBILE_COMMAND_TRANSFER_DATA_END EQU $1f -DEF MOBILE_COMMAND_ISP_LOGIN EQU $21 -DEF MOBILE_COMMAND_ISP_LOGOUT EQU $22 -DEF MOBILE_COMMAND_OPEN_TCP_CONNECTION EQU $23 -DEF MOBILE_COMMAND_CLOSE_TCP_CONNECTION EQU $24 -DEF MOBILE_COMMAND_DNS_QUERY EQU $28 -DEF MOBILE_COMMAND_ERROR EQU $6e - - -SECTION "Mobile Adapter SDK", ROMX - -MobileSDK_CopyBytes: -; Copy b bytes from hl to de -.loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - ret - -MobileSDK_CopyString: -; Copy bytes from hl to de until a 0 is encountered. -; Include the 0 in the copy, and count the number of -; nonzero bytes copied. Keep the de pointer at the -; copied zero. -.loop - ld a, [hli] - ld [de], a - or a - ret z - inc de - inc bc - jr .loop - -MobileSDK_CopyStringLen: -; Copy bytes from hl to de until a 0 is encountered, -; or a bytes have been copied, whichever comes first. -; Add the byte count to the count previously stored -; in bc. - push bc - ld c, $0 - ld b, a - dec b -.loop - ld a, [hli] - ld [de], a - or a - jr z, .done - inc de - inc c - dec b - jr nz, .loop - xor a - ld [de], a - -.done - ld a, c - pop bc - add c - ld c, a - ld a, b - adc 0 - ld b, a - ret - -ResetReceivePacketBuffer: -; Clear two bytes at wMobileSDK_ReceivedBytes - xor a - ld hl, wMobileSDK_ReceivedBytes - ld [hli], a - ld [hl], a - ret - -_MobileAPI:: -; Use the byte at wMobileAPIIndex as a parameter -; for a dw. -; If [wMobileAPIIndex] not in {MOBILEAPI_06, MOBILEAPI_07, MOBILEAPI_08}, -; clear [wc835]. - push de - ld a, [wMobileAPIIndex] - cp MOBILEAPI_06 - jr z, .noreset - cp MOBILEAPI_07 - jr z, .noreset - cp MOBILEAPI_08 - jr z, .noreset - xor a - ld [wc835], a - ld a, [wMobileAPIIndex] -.noreset - ; Get the pointer - ld d, 0 - ld e, a - ld hl, .dw - add hl, de - ; Store the low byte in [wMobileAPIIndex] - ld a, [hli] - ld [wMobileAPIIndex], a - ld a, [hl] - ; restore de - pop de - ld hl, ReturnMobileAPI ; return here - push hl - ; If the destination function is not Function110236, - ; call Function1100b4. - ld h, a - ld a, [wMobileAPIIndex] - ld l, a - push hl - ld a, LOW(Function110236) - cp l - jr nz, .okay - ld a, HIGH(Function110236) - cp h -.okay - call nz, Function1100b4 - ld hl, wc986 - ld a, [hli] - ld h, [hl] - ld l, a - ret ; indirectly jump to the function loaded from the dw, which returns to ReturnMobileAPI. - -.dw - dw Function110115 - dw Function110236 - dw Function110291 - dw Function1103ac - dw Function110438 - dw Function1104c6 - dw Function110578 - dw Function110582 - dw Function11058c - dw Function1105dd - dw Function1106ef - dw Function110757 - dw Function1107ff - dw Function110899 - dw Function1108a3 - dw Function110905 - dw Function1109a4 - dw Function1109f9 - dw Function110a5b - dw Function110c3c - dw Function110c9e - dw Function110ddd - dw Function1111fe - dw Function1113fe - dw MobileAPI_SetTimer - dw MobileAPI_TelephoneStatus - dw Function111596 - dw Function11162d - dw Function11032c - dw Function11148c - dw Function111610 - dw Function1103ac - dw Function110235 - dw Function111540 - -Function1100b4: - push bc -.loop - di - ld a, [wc800] - ld b, a - ld a, [wc80b] - ld c, a - ld a, [wc822] - ei - or a - bit 0, a - jr z, .done - ld a, b - or a - jr nz, .loop - ld a, c - cp $4 - jr z, .loop - xor a - ld [wc80f], a - ld hl, wc821 - set 1, [hl] - scf -.done - pop bc - ret - -MobileAPI_SetTimer: - xor a - ldh [rTAC], a - ld e, c - ld b, a - ld hl, Unknown_112089 - add hl, bc - ld c, [hl] - inc hl - ldh a, [rKEY1] - bit 7, a - jr nz, .asm_1100f9 - ld a, e - sra c - ld a, e - cp $4 - jr nc, .asm_1100f9 - ld de, $000f - add hl, de - -.asm_1100f9 - ld a, c - ldh [rTMA], a - ldh [rTIMA], a - ld a, [hli] - ld [wc81f], a - ld [wc816], a - ld a, [hl] - ld [wc820], a - ld [wc815], a - ld c, LOW(rTAC) - ld a, rTAC_65536_HZ - ldh [c], a - ld a, 1 << rTAC_ON | rTAC_65536_HZ - ldh [c], a - ret - -Function110115: - ld hl, wc821 - bit 1, [hl] - jr nz, .asm_110120 - xor a - ld l, a - ld h, a - ret - -.asm_110120 - res 1, [hl] - ld a, [wc80f] - ld e, a - cp $22 - jr z, .asm_11016a - cp $23 - jr z, .asm_11016a - cp $25 - jr z, .asm_11016a - cp $26 - jr z, .asm_11018e - cp $24 - jr z, .asm_1101a4 - cp $30 - jp z, .asm_1101f8 - cp $31 - jp z, .asm_11020d - cp $32 - jr z, .asm_1101a4 - cp $33 - jr z, .asm_1101a4 - swap a - and $f - cp $1 - jr z, .asm_11016a - cp $0 - jr z, .asm_11015d -.asm_110158 - ld hl, 0 -.asm_11015b - ld a, e - ret - -.asm_11015d - ld a, e - add $15 - ld e, a - xor a - ld hl, wc810 - ld [hli], a - ld [hl], a - ld hl, wc821 - -.asm_11016a - xor a - ld [wc86d], a - ld [hl], a - ld [wc807], a - inc a - ld [wc86a], a - ld hl, wc822 - res 0, [hl] - res 5, [hl] - ld hl, wMobileSDK_PacketBuffer - xor a - ld [hli], a - inc a - ld [hl], a - call Function111686 - ld a, $15 - cp e - jr nz, .asm_110158 - jr .asm_1101d7 - -.asm_11018e - ld a, [wc821] - bit 4, a - ld a, $1 - jr z, .asm_11016a - ld a, $2 - ld [wc86a], a - ld a, [wc805] - ld [wc807], a - jr .asm_110158 - -.asm_1101a4 - res 0, [hl] - ld hl, wc822 - res 5, [hl] - ld hl, wc821 - res 7, [hl] - res 6, [hl] - set 5, [hl] - xor a - ld [wc86d], a - ld [wc9af], a - ld a, $2 - ld [wc86a], a - ld a, $4 - ld [wc807], a - ld a, e - cp $32 - jr z, .asm_1101d7 - cp $33 - jr z, .asm_1101d7 - cp $30 - jr z, .asm_1101d7 - cp $31 - jp nz, .asm_110158 - -.asm_1101d7 - ld hl, wc810 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, $32 - cp e - jp nz, .asm_11015b - ld a, $3 - cp h - jp nz, .asm_11015b - dec a - cp l - jr z, .asm_1101f2 - dec a - cp l - jp nz, .asm_11015b - -.asm_1101f2 - ld bc, wc880 - jp .asm_11015b - -.asm_1101f8 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $a4 - jr z, .asm_1101a4 - ld a, $3 - ld [wc86a], a - ld hl, wc810 - ld a, [hli] - ld h, [hl] - ld l, a - jp .asm_11015b - -.asm_11020d - ld a, [wc810] - cp $2 - jr z, .asm_1101a4 - cp $3 - jr z, .asm_1101a4 - ld a, $4 - ld [wc86a], a - ld hl, wc810 - ld a, [hli] - ld h, [hl] - ld l, a - jp .asm_11015b - -Function110226: - ld a, $21 - -Function110228: - ld [wc80f], a - ld hl, wc821 - set 1, [hl] - ret - -Function110231: - ld a, $20 - jr Function110228 - -Function110235: - nop - -Function110236: - ld a, [wMobileAPIIndex] - push af - push bc - push hl - xor a - ldh [rTAC], a - ldh a, [rIF] - and $1b - ldh [rIF], a - call ResetReceivePacketBuffer - ld bc, $0452 - ld hl, wc800 -.asm_11024e - xor a - ld [hli], a - dec bc - ld a, c - or b - jr nz, .asm_11024e - ld a, [wc822] - set 6, a - ld [wc822], a - pop hl - ld a, l - ld [wc981], a - ld a, h - ld [wc982], a - pop bc - ld hl, wc983 - ld a, c - ld [hli], a - ld a, b - ld [hl], a - ld hl, wc86e - ld a, e - ld [hli], a - ld [hl], d - xor a - ld [wc819], a - ld c, $c - call MobileAPI_SetTimer - call Function1104b0 - pop af - cp $35 - jr nz, .asm_110289 - ld a, $2b - jr .asm_11028b - -.asm_110289 - ld a, $a - -.asm_11028b - ld [wc86a], a - jp Function110432 - -Function110291: - ld a, [wc821] - bit 1, a - jr z, .asm_1102a6 - ld a, [wc80f] - cp $14 - jr z, .asm_1102b3 - cp $25 - jr z, .asm_1102b3 - ld a, [wc821] - -.asm_1102a6 - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $1 - jp nz, Function110226 - -.asm_1102b3 - xor a - ldh [rTAC], a - xor a - ld [wc819], a - ld a, l - ld b, h - ld hl, wc880 - ld [hli], a - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hl], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - ld hl, wc829 - ld a, LOW(wc872) - ld [hli], a - ld a, HIGH(wc872) - ld [hl], a - ld de, wMobileSDK_PacketBuffer - ld b, MobilePacket_WriteConfigurationData.End - MobilePacket_WriteConfigurationData - ld hl, MobilePacket_WriteConfigurationData - call MobileSDK_CopyBytes - ld a, [wc882] - ld c, a - or a - jr z, .asm_1102f2 - cp $80 - jr nc, .asm_1102f2 - ld c, $80 - jr .asm_1102f4 - -.asm_1102f2 - ld a, $80 - -.asm_1102f4 - ld b, a - inc a - ld [de], a - inc de - ld a, $80 - add c - ld hl, wc882 - ld [hli], a - ld a, [hl] - ld [de], a - inc de - add $80 - ld [hl], a - ld hl, wc880 - ld a, [hli] - ld h, [hl] - ld l, a - ld c, b - call MobileSDK_CopyBytes - ld a, l - ld [wc880], a - ld a, h - ld [wc880 + 1], a - ld b, c - inc b - call Function111f63 - call Function1104b0 - ld a, $2e - ld [wc86a], a - ld hl, wc821 - res 1, [hl] - set 0, [hl] - ret - -Function11032c: - ld a, [wc821] - bit 1, a - jp nz, Function110226 - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $1 - jp nz, Function110226 - xor a - ldh [rTAC], a - ld [wc819], a - ld hl, wc880 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - ld de, wMobileSDK_PacketBuffer - ld b, 6 ; header size - ld hl, MobilePacket_ReadConfigurationDataPart1 - call MobileSDK_CopyBytes - ld a, [wc883] - ld [de], a - inc de - ld a, [wc882] - ld c, a - or a - jr z, .asm_11037f - cp $80 - jr nc, .asm_11037f - ld c, $80 - jr .asm_110381 - -.asm_11037f - ld a, $80 - -.asm_110381 - ld [de], a - inc de - ld b, $2 - call Function111f63 - call Function1104b0 - ld a, $2d - ld [wc86a], a - jp Function110432 - -Function110393: - ld c, LOW(rIE) - ldh a, [c] - or (1 << SERIAL) | (1 << TIMER) - ldh [c], a - ret - -Function11039a: - ld b, $0 -.asm_11039c - inc b - jr z, .asm_1103a3 - ld a, [hli] - or a - jr nz, .asm_11039c - -.asm_1103a3 - ld a, b - cp c - jr nc, .asm_1103aa - cp $2 - ret - -.asm_1103aa - scf - ret - -Function1103ac: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $1 - jp nz, Function110226 - push hl - ld c, $15 - call Function11039a - jr c, .asm_1103d2 - ld c, $22 - call Function11039a - jr c, .asm_1103d2 - ld c, $12 - call Function11039a - jr nc, .isp_login - -.asm_1103d2 - pop hl - jp Function110231 - -.isp_login - xor a - ldh [rTAC], a - ld [wc86d], a - ld [wc97a], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - ld hl, wc829 - ld a, LOW(wc880) - ld [hli], a - ld a, HIGH(wc880) - ld [hl], a - call Mobile_DialTelephone - push hl - ld b, a - call Function111f63 - ld b, MobilePacket_ISPLogin.End - MobilePacket_ISPLogin - ld hl, MobilePacket_ISPLogin - ld de, wMobileSDK_PacketBuffer + 45 - call MobileSDK_CopyBytes - inc de - inc de - pop hl - ld bc, 0 - call MobileSDK_CopyString - ld a, c - ld [wMobileSDK_PacketBuffer + 51], a - ld [wc86b], a - push de - inc de - ld bc, 0 - ld a, $20 - call MobileSDK_CopyStringLen - ld l, e - ld h, d - pop de - ld a, c - ld [de], a - ld a, [wc86b] - add c - add $a - ld [wMobileSDK_PacketBuffer + 50], a - call Function1104b0 - ld a, $b - ld [wc86a], a - -Function110432: - ld hl, wc821 - set 0, [hl] - ret - -Function110438: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $1 - jp nz, Function110226 - push hl - ld c, $15 - call Function11039a - jr nc, .asm_110454 - pop hl - jp Function110231 - -.asm_110454 - xor a - ldh [rTAC], a - ld [wc97a], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - ld hl, wc98f - ld a, LOW(wc880 + 1) - ld [hli], a - ld a, HIGH(wc880 + 1) - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $ff - ld [wc86e], a - call Mobile_DialTelephone - ld b, a - call Function111f63 - call Function1104b0 - ld a, $c - ld [wc86a], a - jr Function110432 - -Mobile_DialTelephone: - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_DialTelephone - ld b, MobilePacket_DialTelephone.End - MobilePacket_DialTelephone - call MobileSDK_CopyBytes - pop bc - pop hl - push bc - ld a, [wMobileSDK_AdapterType] - cp $8c - jr c, .asm_11049e - ld a, $3 - jr .asm_1104a1 - -.asm_11049e - ld a, [wc871] - -.asm_1104a1 - ld [de], a - inc de - ld bc, $0001 - ld a, MOBILE_PHONE_NUMBER_LENGTH - call MobileSDK_CopyStringLen - ld a, c - ld [wMobileSDK_PacketBuffer + 5], a - ret - -Function1104b0: - xor a - ld [wMobileSDK_SendCommandID], a - call Function110393 - xor a - ld [wc86b], a - ld de, MobilePacket_Idle.End - MobilePacket_Idle - ld hl, MobilePacket_Idle - ld b, 1 - jp PacketSendBytes - -Function1104c6: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $4 - jr z, .asm_110526 - cp $3 - jr z, .asm_110526 - cp $2 - jp nz, Function110226 - ld hl, wc822 - bit 4, [hl] - jr nz, .asm_110507 - ld a, $2 - ld [wc86b], a - ld a, MOBILE_COMMAND_ISP_LOGOUT | $80 - ld [wMobileSDK_SendCommandID], a - ld de, MobilePacket_ISPLogout.End - MobilePacket_ISPLogout - ld hl, MobilePacket_ISPLogout - ld b, $5 - call PacketSendBytes -.asm_1104fa - ld a, $e - ld [wc86a], a - ld hl, wc821 - set 0, [hl] - res 3, [hl] - ret - -.asm_110507 - ld a, [wc807] - or a - jr nz, .asm_11051f - ld a, $1 - ld [wc86a], a - ld hl, wc822 - res 4, [hl] - ld hl, wc821 - ld a, [hl] - and $17 - ld [hl], a - ret - -.asm_11051f - ld a, $2 - ld [wc86b], a - jr .asm_1104fa - -.asm_110526 - call Function112724 - xor a - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer + 32 - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $7 - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_1120c1 - call MobileSDK_CopyString - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $e - ld [wc86a], a - jp Function110432 - -Function110578: - ld b, $25 - call Function110596 - or a - jp nz, Function1135ba - ret - -Function110582: - ld b, $26 - call Function110596 - or a - jp nz, Function11359d - ret - -Function11058c: - ld b, $27 - call Function110596 - or a - jp nz, Function1135ad - ret - -Function110596: - ld a, [wc821] - bit 0, a - jr nz, .asm_1105d9 - ld a, [wc86a] - cp $1 - jr nz, .asm_1105d9 - ld a, [wc835] - or a - ret nz - ld a, b - ld [wcb36], a - xor a - ldh [rTAC], a - ld a, e - ld [wc86e], a - ld a, d - ld [wc86e + 1], a - xor a - ld [wc819], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - ld hl, wc829 - ld a, LOW(wc880) - ld [hli], a - ld a, HIGH(wc880) - ld [hl], a - call Function1104b0 - ld a, [wcb36] - ld [wc86a], a - xor a - jp Function110432 - -.asm_1105d9 - pop hl - jp Function110226 - -Function1105dd: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $1 - jp nz, Function110226 - xor a - ldh [rTAC], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - ld hl, wc98f - ld a, LOW(wc880 + 1) - ld [hli], a - ld a, HIGH(wc880 + 1) - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld a, $ff - ld [wc86e], a - call Function1104b0 - ld a, $d - ld [wc86a], a - jp Function110432 - -Function110615: - ld b, $15 - ld [wc86e], a - or a - jr z, .asm_110625 - dec a - jr z, .asm_11062c - dec a - jp z, .asm_1106c1 - ret - -.asm_110625 - ld a, $19 - ld hl, wc83e - jr .asm_110631 - -.asm_11062c - ld a, $6e - ld hl, wc852 - -.asm_110631 - push hl - push bc - ld [wMobileSDK_PacketBuffer + 91], a - ld hl, wc829 - ld a, LOW(wMobileSDK_PacketBuffer + 86) - ld [hli], a - ld a, HIGH(wMobileSDK_PacketBuffer + 86) - ld [hl], a - xor a - ld [wMobileSDK_PacketBuffer + 90], a - ld [wc86b], a - ld [wc9af], a - ld de, wMobileSDK_PacketBuffer + 80 - ld hl, MobilePacket_OpenTCPConnection - ld b, MobilePacket_OpenTCPConnection.End - MobilePacket_OpenTCPConnection - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_DNSQuery - ld b, MobilePacket_DNSQuery.End - MobilePacket_DNSQuery - call MobileSDK_CopyBytes - pop bc - pop hl - push de - inc de - ld a, b - ld bc, 0 - call MobileSDK_CopyStringLen - ld a, c - pop hl - ld [hl], a - ld b, c - call Function111f63 - ld a, [wc86e] - cp $2 - jr nz, .asm_1106ac - ld a, [wMobileSDK_ReceivePacketBuffer + 128] - or a - jr z, .asm_1106ac - ld hl, wc995 - ld a, [hli] - cp $99 - jr nz, .asm_1106ac - ld a, [hli] - cp $66 - jr nz, .asm_1106ac - ld a, [hli] - cp $23 - jr nz, .asm_1106ac - ld a, $2 - ld [wc86e], a - dec a - ld [wc86b], a - ld a, $a3 - ld de, $0010 - ld hl, wc995 - call Function111f02 - ld a, $f - ld [wc86a], a - jp Function110432 - -.asm_1106ac - ld hl, wMobileSDK_PacketBuffer - ld a, MOBILE_COMMAND_DNS_QUERY | $80 - ld [wMobileSDK_SendCommandID], a - ld b, $5 - call PacketSendBytes - ld a, $f - ld [wc86a], a - jp Function110432 - -.asm_1106c1 - ld b, $50 - ld hl, wc876 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, $0007 - add hl, de - ld de, wc8ff -.asm_1106d0 - ld a, [hli] - ld [de], a - cp $2f - jr z, .asm_1106da - inc de - dec b - jr nz, .asm_1106d0 - -.asm_1106da - xor a - ld [de], a - dec hl - ld a, l - ld [wc876], a - ld a, h - ld [wc877], a - ld hl, wc8ff - ld a, $50 - ld b, $40 - jp .asm_110631 - -Function1106ef: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $2 - jp nz, Function110226 - ld a, [wc86d] - or a - jp nz, Function110226 - push hl - ld c, $20 - call Function11039a - jr nc, .asm_110712 - pop hl - jp Function110231 - -.asm_110712 - xor a - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer + 96 - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer + 112 - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - inc de - inc de - ld bc, $0001 - ld hl, Unknown_11209e - call MobileSDK_CopyString - pop hl - push hl - ld b, $ff -.asm_11073b - inc b - ld a, [hli] - or a - jr z, .asm_110744 - cp $40 - jr nz, .asm_11073b - -.asm_110744 - ld a, c - add b - add $2 - ld [wMobileSDK_PacketBuffer + 117], a - pop hl - call MobileSDK_CopyBytes - call Function11295e - ld a, $0 - jp Function110615 - -Function110757: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $3 - jp nz, Function110226 - ld a, [wc98a] - or a - jp nz, Function110226 - push hl -.asm_11076f - ld a, [hli] - or a - jr nz, .asm_11076f - ld a, [hl] - or a - jp z, .asm_1107fb - pop hl - push hl - ld c, $20 - call Function11039a - jr c, .asm_1107fb -.asm_110781 - ld c, $81 - call Function11039a - jr c, .asm_1107fb - xor a - cp [hl] - jr nz, .asm_110781 - call Function112724 - xor a - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - ld de, wMobileSDK_PacketBuffer + 12 - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer + 18 - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld de, wMobileSDK_PacketBuffer + 19 - ld hl, Unknown_1120a4 - call MobileSDK_CopyString - pop hl - call MobileSDK_CopyString - ld a, $3e - ld [de], a - inc de - inc c - ld a, l - ld [wc87c], a - ld a, h - ld [wc87d], a - call Function11295e - ld a, c - ld [wMobileSDK_PacketBuffer + 17], a - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer + 12 - ld d, $0 - ld e, c - ld b, $5 - call PacketSendBytes - ld a, $15 - ld [wc86a], a - jp Function110432 - -.asm_1107fb - pop hl - jp Function110231 - -Function1107ff: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $3 - jp nz, Function110226 - ld a, [wc98a] - or a - jp z, Function110226 - ld a, c - or b - jp z, Function110231 - ld a, l - ld [wc87c], a - ld a, h - ld [wc87d], a - ld hl, wc87e - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, d - ld [wc86e + 1], a - call Function112724 - ld hl, wc98a - ld a, [hl] - and $1 - xor $1 - ld [wc86b], a - inc [hl] - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer + 6 - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - ld de, wMobileSDK_PacketBuffer + 150 - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer + 156 - ld a, [wc86c] - ld [de], a - ld a, [wc86b] - or a - jr nz, .asm_110891 - ld bc, $0001 - ld de, wMobileSDK_PacketBuffer + 157 - ld hl, Unknown_1120ba - call MobileSDK_CopyString - ld a, c - ld [wMobileSDK_PacketBuffer + 155], a - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld de, $0011 - ld hl, wMobileSDK_PacketBuffer + 150 - ld b, $5 - call PacketSendBytes - -.asm_110891 - ld a, $16 - ld [wc86a], a - jp Function110432 - -Function110899: - ld a, [wc86a] - cp $3 - jp nz, Function110226 - jr Function1108ab - -Function1108a3: - ld a, [wc86a] - cp $4 - jp nz, Function110226 - -Function1108ab: - ld hl, wc821 - bit 0, [hl] - jp nz, Function110226 - call Function112724 - xor a - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer + 32 - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $7 - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_1120c1 - call MobileSDK_CopyString - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $17 - ld [wc86a], a - jp Function110432 - -Function110905: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $2 - jp nz, Function110226 - ld a, [wc86d] - or a - jp nz, Function110226 - xor a - ld [wc86b], a - push hl - ld c, $20 - call Function11039a - jr c, .asm_11092f - ld c, $22 - call Function11039a - jr nc, .asm_110933 - -.asm_11092f - pop hl - jp Function110231 - -.asm_110933 - ld de, wMobileSDK_PacketBuffer + 96 - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - inc de - inc de - ld hl, Unknown_1120c8 - call MobileSDK_CopyString - pop hl - push hl - ld b, $ff -.asm_11094a - inc b - ld a, [hli] - or a - jr z, .asm_110953 - cp $40 - jr nz, .asm_11094a - -.asm_110953 - ld a, b - add $6 - ld c, a - ld [wMobileSDK_PacketBuffer + 101], a - pop hl - ld de, wMobileSDK_PacketBuffer + 108 - call MobileSDK_CopyBytes -.asm_110961 - ld a, [hli] - or a - jr nz, .asm_110961 - call Function11295e - ld a, c - ld [wMobileSDK_PacketBuffer + 101], a - ld bc, $0006 - ld de, wMobileSDK_PacketBuffer + 172 - ld a, $20 - call MobileSDK_CopyStringLen - call Function11295e - ld a, c - ld [wMobileSDK_PacketBuffer + 165], a - ld de, wMobileSDK_PacketBuffer + 160 - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer + 167 - ld hl, Unknown_1120ce - ld b, $5 - call MobileSDK_CopyBytes - ld de, wMobileSDK_PacketBuffer + 128 - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, $1 - jp Function110615 - -Function1109a4: - ld hl, wc821 - bit 0, [hl] - jp nz, Function110226 - ld a, [wc86a] - cp $4 - jp nz, Function110226 - ld a, e - ld [wc86e], a - ld a, d - ld [wc86e + 1], a - xor a - ld [wc86b], a - call Function112729 - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $7 - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_1120d4 - call MobileSDK_CopyString - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $18 - ld [wc86a], a - jp Function110432 - -Function1109f9: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $4 - jp nz, Function110226 - xor a - ld [wc86b], a - ld a, e - ld [wc86e], a - ld a, d - ld [wc86e + 1], a - ld a, l - or h - jp z, Function110231 - push hl - call Function112729 - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $d - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_1120db - call MobileSDK_CopyString - ld de, wMobileSDK_PacketBuffer + 12 - pop hl - call Function110d37 - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $1d - ld [wc86a], a - jp Function110432 - -Function110a5b: - ld a, [wc821] - bit 2, a - jr z, .asm_110a6d - ld a, [wc86a] - cp $1a - jp nz, Function110226 - jp Function110af4 - -.asm_110a6d - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $4 - jp nz, Function110226 - ld a, l - or h - jp z, Function110231 - ld a, l - ld [wc86e], a - ld a, h - ld [wc86e + 1], a - ld hl, wc827 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc de - inc de - dec bc - dec bc - ld hl, wc98f - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, b - ld [hl], a - ld hl, wc829 - ld a, LOW(wc880) - ld [hli], a - ld a, HIGH(wc880) - ld [hli], a - ld a, $80 - ld [hli], a - xor a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - xor a - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $d - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_1120e8 - call MobileSDK_CopyString - ld de, wMobileSDK_PacketBuffer + 12 - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - call Function110d37 - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $1a - ld [wc86a], a - jp Function110432 - -Function110af4: - ld hl, wc827 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc de - inc de - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld e, [hl] - ld a, b - or c - ld [wc86e], a - ld [wc86e + 1], a - jr z, .asm_110b5c - dec bc - dec bc - ld a, [wc993] - or a - jp nz, .asm_110bd5 - ld a, [wc994] - or a - jr z, .asm_110b1c - ld e, a - -.asm_110b1c - xor a - ld [wc994], a - cp b - jr nz, .asm_110b5c - ld a, e - cp c - jr c, .asm_110b5c - push bc - sub c - ld [hl], a - ld b, c - ld hl, wc82d - ld a, [wc993] - add c - ld [hli], a - ld a, b - adc 0 - ld [hl], a - xor a - ld [wc993], a - ld hl, wMobileSDK_ReceivePacketBuffer + 3 - ld a, [hli] - inc hl - sub e - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - pop bc - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - ld [hli], a - ld [hl], b - ret - -.asm_110b5c - ld a, c - sub e - ld c, a - ld a, b - sbc $0 - ld b, a - ld a, c - ld [hli], a - ld [hl], b - ld hl, wc82d - ld a, [wc993] - add e - ld [hli], a - ld a, 0 - adc 0 - ld [hl], a - xor a - ld [wc993], a - ld a, [wc86e] - or a - jr z, .asm_110b9b - ld b, e - ld hl, wMobileSDK_ReceivePacketBuffer + 3 - ld a, [hli] - inc hl - sub e - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - -.asm_110b9b - call Function1127f3 - jr z, .asm_110bbb - di - ld hl, wc821 - res 2, [hl] - ld a, $1 - ld [wc86b], a - ld de, $000b - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer + 128 - ld b, $5 - jp PacketSendBytes - -.asm_110bbb - ld a, $4 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - res 2, [hl] - ld hl, wc827 - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, wc82d - ld b, $2 - jp MobileSDK_CopyBytes - -.asm_110bd5 - ld e, a - xor a - cp b - jr nz, .asm_110c05 - ld a, e - cp c - jr c, .asm_110c05 - ld b, c - ld hl, wc993 - ld a, [hl] - sub c - ld [hl], a - ld a, $80 - sub e - ld e, a - ld d, 0 - ld hl, wc880 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - ld [hli], a - xor a - ld [hl], a - ret - -.asm_110c05 - push hl - push bc - ld a, [wc993] - ld b, a - ld a, $80 - sub e - ld e, a - ld d, 0 - ld hl, wc880 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - ld a, e - ld [wc829], a - ld a, d - ld [wc829 + 1], a - pop bc - ld a, [wc993] - ld e, a - ld a, c - sub e - ld c, a - ld a, b - sbc $0 - ld b, a - ld a, [wc994] - ld e, a - pop hl - jp .asm_110b1c - -Function110c3c: - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $4 - jp nz, Function110226 - ld a, l - or h - jp z, Function110231 - ld a, l - ld [wc86e], a - ld a, h - ld [wc86e + 1], a - call Function112729 - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $d - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_1120f5 - call MobileSDK_CopyString - ld de, wMobileSDK_PacketBuffer + 12 - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - call Function110d37 - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $1b - ld [wc86a], a - jp Function110432 - -Function110c9e: - ld a, [wc821] - bit 2, a - jr z, .asm_110cb0 - ld a, [wc86a] - cp $1c - jp nz, Function110226 - jp Function110af4 - -.asm_110cb0 - bit 0, a - jp nz, Function110226 - ld a, [wc86a] - cp $4 - jp nz, Function110226 - ld a, l - or h - jp z, Function110231 - ld a, l - ld [wc86e], a - ld a, h - ld [wc86e + 1], a - ld hl, wc827 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc de - inc de - dec bc - dec bc - ld hl, wc98f - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, b - ld [hl], a - ld hl, wc829 - ld a, LOW(wc880) - ld [hli], a - ld a, HIGH(wc880) - ld [hli], a - ld a, $80 - ld [hli], a - xor a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - xor a - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - ld a, $e - ld [de], a - inc de - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - ld hl, Unknown_112102 - call MobileSDK_CopyString - ld de, wMobileSDK_PacketBuffer + 11 - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - call Function110d37 - ld b, c - call Function111f63 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $1c - ld [wc86a], a - jp Function110432 - -Function110d37: - push bc - push de - ld b, 0 -.check_under_10k - ld a, HIGH(10000) - cp h - jr c, .subtract_10k - jr nz, .done_10k - ld a, LOW(10000) - cp l - jr z, .subtract_10k - jr nc, .done_10k - -.subtract_10k - inc b - ld a, b - ld bc, -10000 - add hl, bc - ld b, a - jr .check_under_10k - -.done_10k - ld a, $30 - or b - ld [de], a - inc de - ld b, 0 -.check_under_1k - ld a, HIGH(1000) - cp h - jr c, .subtract_1k - jr nz, .done_1k - ld a, LOW(1000) - cp l - jr z, .subtract_1k - jr nc, .done_1k - -.subtract_1k - inc b - ld a, b - ld bc, -1000 - add hl, bc - ld b, a - jr .check_under_1k - -.done_1k - ld a, $30 - or b - ld [de], a - inc de - ld b, 0 -.check_under_100 - ld a, HIGH(100) - cp h - jr nz, .subtract_100 - ld a, LOW(100) - cp l - jr z, .subtract_100 - jr nc, .check_under_10 - -.subtract_100 - inc b - ld a, b - ld bc, -100 - add hl, bc - ld b, a - jr .check_under_100 - -.check_under_10 - ld a, $30 - or b - ld [de], a - inc de - ld b, $0 - ld a, l -.subtract_10 - cp 10 - jr c, .done_10 - sub 10 - inc b - jr .subtract_10 - -.done_10 - ld l, a - ld a, $30 - or b - ld [de], a - inc de - ld a, $30 - or l - ld [de], a - pop de - ld l, e - ld h, d - ld b, $5 -.find_first_digit - ld a, [hl] - cp $30 - jr nz, .found_first_digit - inc hl - dec b - jr nz, .find_first_digit - jr .done - -.found_first_digit - ld a, $5 - cp b - jr z, .done - sub b - ld c, a - ld a, [wMobileSDK_PacketBuffer + 5] - sub c - ld c, a - ld [wMobileSDK_PacketBuffer + 5], a - push hl - ld b, $1 -.penultimate_loop - inc b - ld a, [hli] - cp $d - jr nz, .penultimate_loop - pop hl - call MobileSDK_CopyBytes - pop hl - ret - -.done - pop bc -.last_loop - ld a, [de] - inc de - cp $a - jr nz, .last_loop - ret - -Function110ddd: - ld a, [wc821] - bit 2, a - ld a, [wc86a] - jr z, .asm_110e00 - cp $13 - jp z, Function111044 - cp $1f - jp z, Function111044 - cp $21 - jp z, Function111044 - jp Function110226 - -.asm_110df9 - pop hl -.asm_110dfa - pop hl - pop hl - pop hl -.asm_110dfd - jp Function110231 - -.asm_110e00 - cp $2 - jp nz, Function110226 - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86d] - or a - jp nz, Function110226 - ld a, l - ld [wc9b5], a - ld a, h - ld [wc9b6], a - xor a - ld [wc989], a - ld [wc9a5], a - ld [wc98a], a - ld [wc993], a - ld a, [hli] - ld [wc833], a - ld a, [hli] - ld [wc834], a - inc hl - inc hl - ld a, l - ld [wc97f], a - ld a, h - ld [wc980], a - dec hl - dec hl - ld a, [hli] - ld h, [hl] - ld l, a - ld a, LOW(wc880) - cp l - jr nz, .asm_110e4a - ld a, HIGH(wc880) - cp h - jr z, .asm_110dfd - -.asm_110e4a - push hl - push de - push bc - push hl - ld b, URIPrefix.End - URIPrefix - ld de, URIPrefix -.asm_110e53 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_110df9 - inc hl - dec b - jr nz, .asm_110e53 - push hl - ld b, HTTPUploadURL.End - HTTPUploadURL - ld c, $0 - ld de, HTTPUploadURL -.asm_110e64 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_110e70 - inc hl - dec b - jr nz, .asm_110e64 - pop hl - jr .asm_110df9 - -.asm_110e70 - pop hl - push hl - ld b, HTTPRankingURL.End - HTTPRankingURL - ld c, $0 - ld de, HTTPRankingURL -.asm_110e79 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_110e86 - inc hl - dec b - jr nz, .asm_110e79 - pop hl - jp .asm_110df9 - -.asm_110e86 - pop hl - push hl - ld b, HTTPUtilityURL.End - HTTPUtilityURL - ld c, $0 - ld de, HTTPUtilityURL -.asm_110e8f - ld a, [de] - inc de - cp [hl] - jr nz, .asm_110ea2 - inc hl - dec b - jr nz, .asm_110e8f - pop hl - ld a, $1 - ld [wc98a], a - ld c, $1 - jr .asm_110eb3 - -.asm_110ea2 - pop hl - ld b, HTTPDownloadURL.End - HTTPDownloadURL - ld c, $0 - ld de, HTTPDownloadURL -.asm_110eaa - ld a, [de] - inc de - cp [hl] - jr nz, .asm_110ecb - inc hl - dec b - jr nz, .asm_110eaa - -.asm_110eb3 - ld hl, wc97f - ld a, [hli] - ld h, [hl] - ld l, a - ld c, $12 - call Function11039a - jp c, .asm_110df9 - ld c, $12 - call Function11039a - jp c, .asm_110df9 - ld c, $1 - -.asm_110ecb - ld a, c - ld [wc98f], a - ld [wMobileSDK_ReceivePacketBuffer + 128], a - pop hl - call Function1111d7 - ld a, b - cp $4 - jr c, .asm_110ee3 - jp nz, .asm_110dfa - xor a - or c - jp nz, .asm_110dfa - -.asm_110ee3 - ld hl, wc98b - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - pop bc - pop de - pop hl - ld a, l - ld [wc876], a - ld a, h - ld [wc877], a - ld hl, wc872 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc hl - inc hl - xor a - ld [wc994], a - -Function110f07: - ld hl, wc833 - ld a, [hli] - ld h, [hl] - ld l, a - or h - jr z, .asm_110f12 - xor a - ld [hl], a - -.asm_110f12 - ld hl, wc991 - xor a - ld [hli], a - ld [hl], a - ld hl, wc866 - ld a, [hli] - or [hl] - inc hl - or [hl] - inc hl - or [hl] - jr nz, .asm_110f28 - ld a, $2 - jp Function110615 - -.asm_110f28 - ld a, $2 - ld [wc86e], a - ld a, $1f - ld [wMobileSDK_PacketBuffer + 10], a - ld a, $90 - ld [wMobileSDK_PacketBuffer + 11], a - ld a, $1 - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_OpenTCPConnection - ld b, $6 - call MobileSDK_CopyBytes - ld hl, wc866 - ld b, $4 - call MobileSDK_CopyBytes - inc de - inc de - ld b, $6 - call Function111f63 - ld a, [wMobileSDK_ReceivePacketBuffer + 128] - or a - jr z, .asm_110f95 - ld hl, wc995 - ld a, [hli] - cp $99 - jr nz, .asm_110f8a - ld a, [hli] - cp $66 - jr nz, .asm_110f8a - ld a, [hli] - cp $23 - jr nz, .asm_110f8a - ld a, $2 - ld [wc86e], a - dec a - ld [wc86b], a - ld a, $a3 - ld de, $0010 - ld hl, wc995 - call Function111f02 - ld a, $f - ld [wc86a], a - jp Function110432 - -.asm_110f8a - ld hl, wMobileSDK_PacketBuffer - ld de, wc995 - ld b, $10 - call MobileSDK_CopyBytes - -.asm_110f95 - ld de, $0010 - ld hl, wMobileSDK_PacketBuffer - ld a, MOBILE_COMMAND_OPEN_TCP_CONNECTION | $80 - ld [wMobileSDK_SendCommandID], a - ld b, $5 - call PacketSendBytes - ld a, $f - ld [wc86a], a - jp Function110432 - -URIPrefix: - db "http://" -.End - -HTTPDownloadURL: - db "gameboy.datacenter.ne.jp/cgb/download" -.End - -HTTPUploadURL: - db "gameboy.datacenter.ne.jp/cgb/upload" -.End - -HTTPUtilityURL: - db "gameboy.datacenter.ne.jp/cgb/utility" -.End - -HTTPRankingURL: - db "gameboy.datacenter.ne.jp/cgb/ranking" -.End - -Function111044: - ld hl, wc827 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc de - inc de - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld e, [hl] - ld a, b - or c - ld [wc86e], a - ld [wc86e + 1], a - dec bc - dec bc - jp z, Function1111ca - ld a, [wc991] - or a - call nz, Function11115f - xor a - cp e - jp z, .asm_1110eb - xor a - cp b - jr nz, .asm_1110ac - ld a, e - cp c - jr c, .asm_1110ac - push bc - sub c - ld [hl], a - ld b, c - ld hl, wc82d - ld a, c - ld [hli], a - xor a - ld [hl], a - ld hl, wMobileSDK_ReceivePacketBuffer + 3 - ld a, [hli] - inc hl - sub e - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - pop bc - ld a, [wc991] - ld l, a - ld h, 0 - add hl, bc - ld c, l - ld b, h - xor a - ld [wc991], a - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - ld [hli], a - ld [hl], b - ret - -.asm_1110ac - ld a, c - sub e - ld c, a - ld a, b - sbc $0 - ld b, a - ld a, c - ld [hli], a - ld [hl], b - ld hl, wc82d - ld a, [wc991] - add e - ld [hli], a - ld a, 0 - adc 0 - ld [hl], a - xor a - ld [wc991], a - ld a, [wc86e] - or a - jr z, .asm_1110eb - ld b, e - ld hl, wMobileSDK_ReceivePacketBuffer + 3 - ld a, [hli] - inc hl - sub e - dec a - ld e, a - ld d, 0 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - -.asm_1110eb - di - ld a, $2 - ld [wc989], a - ld hl, wc821 - res 2, [hl] - ld a, [wMobileSDK_ReceivePacketBuffer] - cp MOBILE_COMMAND_TRANSFER_DATA_END | $80 - jr z, .asm_111144 - ld de, $000b - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - ld a, $1 - ld [wc86b], a - ret - - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wc82d] - ld [hli], a - ld a, [wc82e] - ld [hl], a - ld hl, wc98f - inc [hl] - ld a, $f - ld [wc86a], a - ld a, $1 - ld [wc86b], a - ld a, [wc86d] - ld [wc86e], a - xor a - ld [wc989], a - ld a, $a3 - ld de, $0010 - ld hl, wc995 - jp Function111f02 - -.asm_111144 - res 0, [hl] - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wc82d] - ld [hli], a - ld a, [wc82e] - ld [hl], a - ld a, $2 - ld [wc86a], a - xor a - ld [wc86d], a - ei - ret - -Function11115f: - ld e, a - xor a - cp b - jr nz, .asm_111168 - ld a, c - cp e - jr c, .asm_1111a2 - -.asm_111168 - push hl - push bc - ld b, e - ld c, e - ld a, [wc993] - sub e - ld e, a - ld d, 0 - ld hl, wc880 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - call MobileSDK_CopyBytes - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - ld e, c - ld a, c - ld hl, wc82d - ld [hli], a - xor a - ld [hl], a - pop bc - ld a, c - sub e - ld c, a - ld a, b - sbc $0 - ld b, a - ld a, [wc992] - ld [wc82b], a - ld e, a - pop hl - ret - -.asm_1111a2 - ld a, e - sub c - ld [wc991], a - ld a, [wc993] - sub e - ld e, a - ld d, 0 - ld hl, wc880 - add hl, de - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - ld b, c - call MobileSDK_CopyBytes - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - ld [hli], a - xor a - ld [hl], a - pop af - ret - -Function1111ca: - ld hl, wc821 - res 2, [hl] - ld a, $6 - ld [wc86b], a - jp Function112430 - -Function1111d7: - push hl - ld hl, wc866 - ld a, [hli] - or [hl] - inc hl - or [hl] - inc hl - or [hl] - pop hl - jr nz, .asm_1111ee - ld de, $0007 - add hl, de -.asm_1111e8 - ld a, [hli] - cp $2f - jr nz, .asm_1111e8 - dec hl - -.asm_1111ee - ld bc, -1 -.asm_1111f1 - ld a, [hli] - inc bc - or a - jr nz, .asm_1111f1 - ld hl, wc87a - ld a, c - ld [hli], a - ld a, b - ld [hl], a - ret - -Function1111fe: - ld a, [wc821] - bit 2, a - ld a, [wc86a] - jp nz, Function1113ea - cp $2 - jp nz, Function110226 - ld a, [wc821] - bit 0, a - jp nz, Function110226 - ld a, [wc86d] - or a - jp nz, Function110226 - xor a - ld [wc989], a - ld [wc98a], a - ld [wc993], a - push hl - push de - push bc - push hl -rept 4 - inc hl -endr - ld a, [hli] - ld [wc833], a - ld a, [hli] - ld [wc834], a - inc hl - inc hl - ld a, l - ld [wc97f], a - ld a, h - ld [wc980], a - dec hl - dec hl - ld a, [hli] - ld h, [hl] - ld l, a - ld a, LOW(wc880) - cp l - jr nz, .asm_111251 - ld a, HIGH(wc880) - cp h - jp z, Function1113f7 - -.asm_111251 - ld b, URIPrefix.End - URIPrefix - ld de, URIPrefix -.asm_111256 - ld a, [de] - inc de - cp [hl] - jp nz, Function1113f7 - inc hl - dec b - jr nz, .asm_111256 - push hl - ld b, HTTPDownloadURL.End - HTTPDownloadURL - ld c, $0 - ld de, HTTPDownloadURL -.asm_111268 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_111275 - inc hl - dec b - jr nz, .asm_111268 - pop hl - jp Function1113f7 - -.asm_111275 - pop hl - push hl - ld b, HTTPRankingURL.End - HTTPRankingURL - ld c, $0 - ld de, HTTPRankingURL -.asm_11127e - ld a, [de] - inc de - cp [hl] - jr nz, .asm_11128f - inc hl - dec b - jr nz, .asm_11127e - ld a, $2 - ld [wc98a], a - pop hl - jr .asm_1112a0 - -.asm_11128f - pop hl - ld b, HTTPUploadURL.End - HTTPUploadURL - ld c, $0 - ld de, HTTPUploadURL -.asm_111297 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_1112cc - inc hl - dec b - jr nz, .asm_111297 - -.asm_1112a0 - ld a, [hli] - or a - jr nz, .asm_1112a0 -.asm_1112a4 - ld a, [hld] - cp $2f - jr nz, .asm_1112a4 - inc hl - inc hl - ld a, [hl] - cp $30 - jr c, .asm_1112cc - cp $3a - jr nc, .asm_1112cc - ld hl, wc97f - ld a, [hli] - ld h, [hl] - ld l, a - ld c, $12 - call Function11039a - jp c, Function1113f7 - ld c, $12 - call Function11039a - jp c, Function1113f7 - ld c, $1 - -.asm_1112cc - ld a, c - ld [wc98f], a - ld [wMobileSDK_ReceivePacketBuffer + 128], a - pop hl - ld de, $0006 - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call Function1111d7 - ld a, b - cp $4 - jr c, .asm_1112eb - jp nz, Function1113f8 - xor a - or c - jp nz, Function1113f8 - -.asm_1112eb - pop bc - pop de - pop hl - ld a, l - ld [wc876], a - ld a, h - ld [wc877], a - ld hl, wc872 - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc hl - inc hl - ld a, e - ld [hli], a - ld a, d - ld [hl], a - call Function111335 - ld hl, wc876 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - ld [wc9aa], a - ld a, [hli] - ld [wc9ab], a - ld a, [hli] - ld [wc9ac], a - ld a, [hli] - ld [wc9ad], a - inc hl - inc hl - ld a, [hli] - ld [wc876], a - ld a, [hl] - ld [wc877], a - ld a, [wc98f] - xor $1 - ld [wc994], a - jp Function110f07 - -Function111335: - ld hl, wc876 - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - xor a - ld [wc8c9], a -.asm_111344 - ld de, $8ad0 - add hl, de - jr nc, .asm_11134e - add $3 - jr .asm_111344 - -.asm_11134e - ld de, $7530 - add hl, de -.asm_111352 - ld de, $d8f0 - add hl, de - jr nc, .asm_11135b - inc a - jr .asm_111352 - -.asm_11135b - ld de, $2710 - add hl, de - ld [wc8c6], a - xor a -.asm_111363 - ld de, $f448 - add hl, de - jr nc, .asm_11136d - add $30 - jr .asm_111363 - -.asm_11136d - ld de, $0bb8 - add hl, de -.asm_111371 - ld de, $fc18 - add hl, de - jr nc, .asm_11137b - add $10 - jr .asm_111371 - -.asm_11137b - ld de, $03e8 - add hl, de -.asm_11137f - ld de, $fed4 - add hl, de - jr nc, .asm_111389 - add $3 - jr .asm_11137f - -.asm_111389 - ld de, $012c - add hl, de -.asm_11138d - ld de, $ff9c - add hl, de - jr nc, .asm_111396 - inc a - jr .asm_11138d - -.asm_111396 - ld de, $0064 - add hl, de - ld [wc8c7], a - xor a -.asm_11139e - ld de, $ffe2 - add hl, de - jr nc, .asm_1113a8 - add $30 - jr .asm_11139e - -.asm_1113a8 - ld de, $001e - add hl, de -.asm_1113ac - ld de, $fff6 - add hl, de - jr nc, .asm_1113b6 - add $10 - jr .asm_1113ac - -.asm_1113b6 - ld de, $000a - add hl, de - add l - ld [wc8c8], a - ld de, wc9a5 - ld hl, wc8c6 - ld a, [hli] - or $30 - ld [de], a - inc de - ld a, [hl] - swap a - and $f - or $30 - ld [de], a - inc de - ld a, [hli] - and $f - or $30 - ld [de], a - inc de - ld a, [hl] - swap a - and $f - or $30 - ld [de], a - inc de - ld a, [hl] - and $f - or $30 - ld [de], a - inc de - ret - -Function1113ea: - cp $14 - jp z, Function111044 - cp $24 - jp z, Function111044 - jp Function110226 - -Function1113f7: - pop hl - -Function1113f8: - pop hl - pop hl - pop hl - jp Function110231 - -Function1113fe: - ld a, [wc822] - bit 4, a - jp z, .asm_11147f - bit 7, a - jp nz, .asm_11147f - ld a, [wc821] - bit 0, a - jp nz, .asm_11147f -.asm_111413 - ld a, [wc800] - or a - jr nz, .asm_111413 - di - ld a, [wc821] - bit 3, a - jp nz, .asm_11147b - ld a, [wc807] - or a - jr nz, .asm_111436 - ld hl, wc821 - set 1, [hl] - ld a, $23 - ld [wc80f], a - ld a, $ff - ei - ret - -.asm_111436 - xor a - ld [wc86b], a - push hl - ld hl, wc829 - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - pop hl - ld a, [hli] - or a - jr z, .asm_111485 - cp $81 - jr nc, .asm_111485 - ld c, a - inc a - inc a - ld [de], a - inc de - ld a, $ff - ld [de], a - inc de - ld a, c - ld [de], a - inc de - ld b, c - call MobileSDK_CopyBytes - ld b, c - inc b - inc b - call Function111f63 - ld hl, wc822 - set 7, [hl] - ld hl, wc821 - set 0, [hl] - ld a, $0 - ei - ret - -.asm_11147b - ei - ld a, $1 - ret - -.asm_11147f - call Function110226 - ld a, $ff - ret - -.asm_111485 - ei - call Function110231 - ld a, $ff - ret - -Function11148c: - ld a, [wc822] - bit 4, a - jp z, Function110226 - ld a, [wc821] - bit 0, a - jp nz, Function110226 - bit 3, a - jp z, Function110226 - ld e, l - ld d, h - ld a, [wc992] - or a - jr nz, .asm_111507 - ld a, [wc993] - ld c, a - ld b, 0 - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - add hl, bc - ld a, [hli] - or a - jr z, .asm_1114bb - cp $81 - jr c, .asm_1114bd - -.asm_1114bb - ld a, $80 - -.asm_1114bd - ld b, a - inc c - add c - ld [wc993], a - ld a, [wc994] - dec a - sub b - ld c, a - ld [wc994], a - ld a, b - ld [de], a - inc de - call MobileSDK_CopyBytes -.asm_1114d2 - xor a - or c - jr nz, .asm_1114dc - ld hl, wc821 - res 3, [hl] - ret - -.asm_1114dc - ld a, [hli] - or a - jr z, .asm_1114e4 - cp $81 - jr c, .asm_1114e6 - -.asm_1114e4 - ld a, $80 - -.asm_1114e6 - cp c - ret c - ld [wc991], a - dec c - ld a, c - or a - jr z, .asm_111500 - ld [wc992], a - ld b, a - ld de, wc880 - call MobileSDK_CopyBytes -.asm_1114fa - ld hl, wc821 - res 3, [hl] - ret - -.asm_111500 - ld a, $ff - ld [wc992], a - jr .asm_1114fa - -.asm_111507 - cp $ff - jr nz, .asm_11150c - xor a - -.asm_11150c - ld b, a - ld a, [wc991] - sub b - ld c, a - ld hl, wc880 - ld a, [wc991] - ld [de], a - inc de - ld a, b - or a - jr z, .asm_111521 - call MobileSDK_CopyBytes - -.asm_111521 - ld hl, wMobileSDK_ReceivePacketBuffer + 5 - ld b, c - call MobileSDK_CopyBytes - push hl - ld a, c - inc a - ld [wc993], a - ld b, a - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - sub b - ld [wc994], a - ld c, a - xor a - ld hl, wc991 - ld [hli], a - ld [hl], a - pop hl - jr .asm_1114d2 - -Function111540: - nop - -MobileAPI_TelephoneStatus: - ld hl, wc821 - bit 0, [hl] - jp nz, Function110226 - ld a, [wc86a] - cp $5 - jp nc, Function110226 - ld [wc985], a - ld a, e - ld [wc86e], a - ld a, d - ld [wc86e + 1], a - ld a, [wc807] - cp $2 - jr c, .asm_111582 - xor a - ld [wc86b], a - ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80 - ld hl, MobilePacket_TelephoneStatus - call PacketSendEmptyBody -.asm_11156f - ld a, [wMobileAPIIndex] - cp $40 - jr nz, .asm_11157a - ld a, $2c - jr .asm_11157c - -.asm_11157a - ld a, $1e - -.asm_11157c - ld [wc86a], a - jp Function110432 - -.asm_111582 - xor a - ldh [rTAC], a - ld a, [wc870] - ld c, a - call MobileAPI_SetTimer - call Function1104b0 - ld a, $1 - ld [wc86b], a - jr .asm_11156f - -Function111596: - ld hl, wc86a - ld a, [hl] - cp $1 - jp z, Function110226 - cp $2a - jp z, Function110226 - ld a, [wc800] - bit 1, a - jr nz, .asm_1115af - ld a, $2a - jr Function1115e4 - -.asm_1115af - ld a, [wMobileSDK_SendCommandID] - cp $92 - jr nz, .asm_1115dd - ld a, $2a - ld b, $0 - di - ld [hli], a - ld [hl], b - ld hl, wc822 - res 5, [hl] - res 0, [hl] - xor a - ld [wc80b], a - ld [wc800], a - ld a, $8 - ld [wc807], a - call ResetReceivePacketBuffer - call Function11164f - ld hl, wc821 - set 0, [hl] - ei - ret - -.asm_1115dd - ld a, $2a - ld [hli], a - ld a, $1 - ld [hl], a - ret - -Function1115e4: - di - push af - ld hl, wc821 - set 0, [hl] - ld a, $1 - ld [wc86b], a - ld a, [wc86d] - or a - ld a, [wMobileSDK_ReceivePacketBuffer] - jr z, .asm_111609 - cp MOBILE_COMMAND_TRANSFER_DATA_END | $80 - jr z, .asm_11160d - cp MOBILE_COMMAND_CLOSE_TCP_CONNECTION | $80 - jr z, .asm_11160d -.asm_111601 - call Function112430 -.asm_111604 - pop af - ld [wc86a], a - ret - -.asm_111609 - cp $a3 - jr z, .asm_111601 - -.asm_11160d - ei - jr .asm_111604 - -Function111610: - ld hl, wc86a - ld a, [hl] - dec a - jp z, Function110226 - dec a - jp z, Function110226 - ld a, [wc800] - or a - jr nz, .asm_111626 - ld a, $28 - jr Function1115e4 - -.asm_111626 - ld a, $28 - ld b, $2 - ld [hli], a - ld [hl], b - ret - -Function11162d: - ld a, [wc86a] - cp $1 - jp nz, Function110226 - xor a - ld hl, wMobileSDK_PacketBuffer - ld [hli], a - ld [hl], a - call Function111686 - call ResetReceivePacketBuffer - ld bc, $0452 - ld hl, wc800 -.asm_111647 - xor a - ld [hli], a - dec bc - ld a, c - or b - jr nz, .asm_111647 - ret - -Function11164f: - ld hl, wc815 - xor a - ld [hli], a - ld a, [wc81f] - ld b, a - ld a, [wMobileSDK_AdapterType] - ld a, b - srl a - srl a - add b - add b - ld [hl], a - ret - -Function111664: - ld hl, wMobileSDK_ReceivedBytes - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [wMobileSDK_SendCommandID] - cp $ff - jr z, .asm_111679 - ld a, [wc822] - bit 0, a - jr z, .asm_11167c -.asm_111679 - ld hl, wMobileSDK_ReceivePacketBufferAlt -.asm_11167c - add hl, de - ld [hl], c - inc de - ld hl, wMobileSDK_ReceivedBytes - ld a, e - ld [hli], a - ld [hl], d - ret - -Function111686: - xor a - ldh [rTAC], a - ld c, LOW(rIE) - ldh a, [c] - and ~(1 << SERIAL | 1 << TIMER) - ldh [c], a - ld a, [wMobileSDK_PacketBuffer + 1] - ld [wc86a], a - ld a, [wMobileSDK_PacketBuffer] - ld c, a - ld hl, wc821 - ld a, [hl] - or c - ld [hl], a - ret - -Function1116a0: - ld a, $1 - jr Function1116a9 - -Function1116a4: - set 1, [hl] - ld a, [wc86a] - -Function1116a9: - ld [wMobileSDK_PacketBuffer + 1], a - ld hl, wc815 - xor a - ld [hli], a - ld a, [wc81f] - rla - ld [hl], a - ld hl, wc821 - ld a, [hl] - ld b, a - and $d - ld [hl], a - ld a, $2 - and b - ld [wMobileSDK_PacketBuffer], a - ret - -_MobileReceive:: - ld a, [wc800] - rrca - jp nc, Function1118bc - rrca - jp c, Function1117e7 - ld hl, wc801 - ld a, [hli] - ld d, [hl] - ld e, a - dec de - ld a, d - ld [hld], a - ld a, e - ld [hl], a - cp $2 - jp nc, Function1118bc - ld a, d - or a - jp nz, Function1118bc - ld hl, wc808 - add hl, de - ldh a, [rSB] - ld [hl], a - ld a, $8 - cp l - jp nz, Function1118bc - ld a, [wMobileSDK_SendCommandID] - cp $ff - jr z, .asm_111716 - ld a, $f2 - cp [hl] - jp z, Function111796 - dec a - cp [hl] - jp z, Function1117a0 - dec a - cp [hl] - jp z, Function1117a0 - ld a, [wc807] - cp $1 - jr nz, .asm_111716 - ld a, [wc806] - or a - jr z, .asm_111778 -.asm_111716 - ld a, [wMobileSDK_SendCommandID] - cp -1 - jr z, .asm_111730 - cp MOBILE_COMMAND_ERROR | $80 - jr z, .asm_111727 - cp MOBILE_COMMAND_TRANSFER_DATA_END | $80 - jr nz, .asm_111727 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 -.asm_111727 - cp [hl] - jr nz, asm_11179a - ld a, [wMobileSDK_AdapterType] - or a - jr z, .asm_111730 -.asm_111730 - xor a - ld [wc819], a - ld a, $3 - ld [wc800], a - xor a - ld hl, wc80a - ld [hli], a - ld [hli], a - ld [hli], a - ld hl, wc81f - ld a, [hli] - ld b, a - ld a, [hl] - ld hl, wc815 - ld [hli], a - ld a, b - ld [hli], a - ld a, [wc822] - bit 0, a - jr z, .asm_111757 - ld a, $b - jr .asm_111774 -.asm_111757 - ld a, [wMobileSDK_SendCommandID] - cp -1 - jr z, .asm_11176e - cp MOBILE_COMMAND_DIAL_TELEPHONE | $80 - jr z, .asm_111772 - cp MOBILE_COMMAND_OPEN_TCP_CONNECTION | $80 - jr z, .asm_111772 - cp MOBILE_COMMAND_DNS_QUERY | $80 - jr z, .asm_111772 - ld a, $20 - jr .asm_111774 -.asm_11176e - ld a, $3 - jr .asm_111774 -.asm_111772 - ld a, $60 -.asm_111774 - ld [hl], a - jp Function1118bc -.asm_111778 - xor a - ld [wc800], a -Function11177c: - ld hl, wc820 - ld a, [hld] - ld e, a - ld a, [hl] - dec a - ld b, $3 -.asm_111785 - or a - rra - rr e - dec b - jr nz, .asm_111785 - or a - inc a - ld hl, wc816 - ld [hld], a - ld [hl], e - jp Function1118bc - -Function111796: - ld b, $a - jr asm_1117a2 -asm_11179a: - xor a - ld [hli], a - ld [hl], a - jp Function1118bc - -Function1117a0: - ld b, $3 -asm_1117a2: - ld hl, wc822 - set 3, [hl] - ld hl, wc815 - ld a, [wc820] - ld [hli], a - ld a, [wc81f] - ld [hl], a - xor a - ld [wc800], a - ld hl, wc819 - inc [hl] - ld a, b - cp [hl] - jp nc, Function1118bc - xor a - ld hl, wc806 - ld [hli], a - ld [wc800], a - ld a, $6 - ld [hl], a - ld hl, wc821 - set 1, [hl] - ld a, $15 - ld [wc80f], a - ld hl, wc810 - ld a, [wc808] - and $f - cp $2 - jr nz, .asm_1117e1 - inc a -.asm_1117e1 - ld [hli], a - xor a - ld [hl], a - jp Function1118bc - -Function1117e7: - ld a, [wc80b] - or a - jr z, .asm_1117f8 - dec a - jp z, Function11186e - dec a - jp z, Function111884 - jp Function111892 -.asm_1117f8 - ld hl, wc80a - ld a, [hl] - or a - jr nz, .asm_111803 - ld b, $99 - jr .asm_111805 -.asm_111803 - ld b, $66 -.asm_111805 - ldh a, [rSB] - cp b - jr z, .asm_111840 - cp $d2 - jr nz, .asm_111817 - xor a - ld [wc9ae], a -.asm_111812 - xor a - ld [hl], a - jp Function1118bc -.asm_111817 - ld a, [wc9ae] - inc a - ld [wc9ae], a - cp $14 - jr c, .asm_111812 - ld a, $6 - ld [wc807], a - ld a, $10 - ld [wc80f], a - xor a - ld [wc800], a - ld hl, wc822 - res 0, [hl] - ld hl, wc821 - ld a, [hl] - set 1, a - and $f - ld [hl], a - jr Function1118bc -.asm_111840 - inc [hl] - ld a, $2 - cp [hl] - jr nz, Function1118bc - xor a - ld [hli], a - inc [hl] - ld hl, wMobileSDK_PacketChecksum - ld b, $3 -.asm_11184e - ld [hli], a - dec b - jr nz, .asm_11184e - ld a, [wc822] - bit 4, a - jr z, .asm_111864 - ld b, a - ld a, [wc821] - bit 3, a - jr nz, .asm_111864 - jp Function11177c -.asm_111864 - ld a, [wc820] - ld [hli], a - ld a, [wc81f] - ld [hl], a - jr Function1118bc - -Function11186e: - call Function1118c2 - ld a, $4 - cp [hl] - jr nz, Function1118bc - xor a - ld [hli], a - ldh a, [rSB] - ld [wc80c], a - inc [hl] - or a - jr nz, Function1118bc - inc [hl] - jr Function1118bc - -Function111884: - call Function1118c2 - ld a, [wc80c] - cp [hl] - jr nz, Function1118bc - xor a - ld [hli], a - inc [hl] - jr Function1118bc - -Function111892: - ldh a, [rSB] - ld c, a - call Function111664 - ld hl, wc80a - inc [hl] - ld a, $2 - cp [hl] - jr c, .asm_1118b4 - ld a, [wc80a] - add $11 - ld e, a - ld d, $c8 - ld a, [de] - cp c - jr z, Function1118bc - ld a, $1 - ld [wc814], a - jr Function1118bc -.asm_1118b4 - ld a, $4 - cp [hl] - jr nz, Function1118bc - xor a - ld [hli], a - inc [hl] -Function1118bc: - ld hl, wc822 - res 1, [hl] - ret - -Function1118c2: - ldh a, [rSB] - ld c, a - ld b, 0 - ld hl, wMobileSDK_PacketChecksum - ld a, [hli] - ld l, [hl] - ld h, a - add hl, bc - ld a, h - ld [wMobileSDK_PacketChecksum], a - ld a, l - ld [wMobileSDK_PacketChecksum + 1], a - call Function111664 - ld hl, wc80a - inc [hl] - ret - -_Timer:: - ld a, [wc80b] - cp $4 - call z, Function111b3c - call Function11214e - ld hl, wc807 - ld a, [hli] - cp $2 - jr c, .asm_111927 - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - and b - cp $ff - jr z, .asm_1118fe - ld a, c - or b - jr nz, .asm_111927 -.asm_1118fe - ld hl, wc807 - ld a, $6 - cp [hl] - jp z, Function111b3b - ld [hl], a - ld a, $10 - ld [wc80f], a - xor a - ld [wc800], a - ld hl, wc822 - res 0, [hl] - ld hl, wc821 - ld a, [hl] - and $f - or $2 - ld [hl], a - ld a, $10 - ld [wc80f], a - jp Function111b3b -.asm_111927 - ld a, [wc800] - cp $1 - jp z, Function111b21 - cp $3 - jp z, Function111a2a - ld a, [wc807] - cp $1 - jp c, Function111b3b - ld hl, wc815 - dec [hl] - jp nz, Function111b3b - inc hl - dec [hl] - jp nz, Function111b3b - ld hl, wc807 - ld a, [wc822] - bit 3, a - jp nz, Function111a0b - bit 4, a - jr nz, .asm_11199c - ld a, [hl] - cp $1 - jp z, Function1119f0_BeginSession - cp $a - jr z, .asm_111984 - cp $8 - jr z, .asm_11197d - ld a, [wc86a] - cp $2a - jr z, .asm_111991 - cp $d - jr nz, .asm_111977 - ld a, [wc86b] - cp $4 - jr nc, .asm_11199c -.asm_111977 - call Function111f97 - jp Function111b3b -.asm_11197d - ld a, [wc805] - ld [hl], a - jp Function111b3b -.asm_111984 - xor a - ld [hl], a - ld hl, wc821 - res 0, [hl] - call Function111686 - jp Function111b3b -.asm_111991 - xor a - ld [hl], a - ld [wc821], a - call Function111686 - jp Function111b3b -.asm_11199c - ld b, a - ld [hl], a - or a - jp z, Function111b3b - ld a, [wc822] - bit 7, a - jr nz, .asm_1119be -.asm_1119a9 - ld a, [wc821] - bit 3, a - jr nz, .asm_111977 - ld de, MobilePacket_TransferData.End - MobilePacket_TransferData - ld hl, MobilePacket_TransferData - ld a, $95 - call Function111f02 - jp Function111b3b -.asm_1119be - ld a, [wc821] - bit 3, a - jr nz, .asm_1119dd - ld a, [wMobileSDK_PacketBuffer + 5] - add $a - ld e, a - ld d, 0 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 - ld [wMobileSDK_SendCommandID], a - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - call PacketSendBytes - jp Function111b3b -.asm_1119dd - ld hl, wc821 - set 1, [hl] - res 0, [hl] - ld hl, wc822 - res 7, [hl] - ld a, $21 - ld [wc80f], a - jr .asm_1119a9 - -Function1119f0_BeginSession: - ld a, MOBILE_COMMAND_BEGIN_SESSION | $80 - ld [wMobileSDK_SendCommandID], a - ld [wc808], a - ld b, $5 - ld de, MobilePacket_BeginSession.End - MobilePacket_BeginSession - ld hl, MobilePacket_BeginSession - call PacketSendBytes - ld a, $1 - ld [wc806], a - jp Function111b3b - -Function111a0b: - ld a, [hl] - cp $6 - jp z, Function111b3b - ld hl, wc822 - res 3, [hl] - res 0, [hl] - ld hl, wc81a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a - ld b, $5 - call PacketSendBytes - jp Function111b3b - -Function111a2a: - ld hl, wc80b - ld a, [hld] - or a - jr z, asm_111a47 - cp $3 - jr nz, asm_111a40 - ld a, [hl] - cp $2 - jp z, Function111ab9 - cp $3 - jp z, Function111abd -asm_111a40: - ld a, $4b - -Function111a42: - ldh [rSB], a - jp Function111b2e - -asm_111a47: - ld hl, wc815 - dec [hl] - jr nz, asm_111a40 - inc hl - dec [hl] - jr nz, asm_111a40 - inc hl - dec [hl] - jr z, .asm_111a63 - ld hl, wc81f - ld a, [hli] - ld d, a - ld a, [hl] - ld hl, wc815 - ld [hli], a - ld a, d - ld [hli], a - jr asm_111a40 -.asm_111a63 - di - ld a, [wc86a] - cp $2a - jr z, .asm_111aa8 - ld hl, wc9b2 - inc [hl] - ld a, [hl] - cp $1 - jr z, .asm_111a91 - ld hl, wc822 - res 5, [hl] - res 0, [hl] - ld hl, wc821 - res 4, [hl] - ld a, $0 - ld [wc805], a - ld a, $29 - ld [wc86a], a - ld a, $1 - ld [wc806], a - jr .asm_111aa8 -.asm_111a91 - ld a, $29 - ld [wc86a], a - xor a - ld [wc806], a - ld [wc86b], a - ld [wc80b], a - ld [wc800], a - ld a, $8 - ld [wc807], a -.asm_111aa8 - call ResetReceivePacketBuffer - call Function11164f - ld hl, wc822 - res 5, [hl] - res 0, [hl] - ei - jp Function111b3b - -Function111ab9: - ld a, $80 - jr Function111a42 - -Function111abd: - ld a, [wc814] - or a - jr nz, .asm_111acb - ld a, [wMobileSDK_ReceivePacketBuffer] - xor $80 - jp Function111a42 -.asm_111acb - ld hl, wc819 - inc [hl] - ld a, $3 - cp [hl] - jr z, .asm_111afe - call ResetReceivePacketBuffer - ld a, $3 - ld [wc800], a - xor a - ld hl, wc80a - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, wc815 - ld a, [wc820] - ld [hli], a - ld a, [wc81f] - ld [hli], a - ld a, [wc822] - bit 0, a - jr z, .asm_111af9 - ld a, $b - jr .asm_111afb -.asm_111af9 - ld a, $20 -.asm_111afb - ld [hli], a - jr .asm_111b1c -.asm_111afe - ld hl, wc806 - xor a - ld [hli], a - ld [wc800], a - ld a, $6 - ld [hl], a - ld hl, wc821 - set 1, [hl] - ld a, $15 - ld [wc80f], a - ld a, $2 - ld [wc810], a - xor a - ld [wc810 + 1], a -.asm_111b1c - ld a, $f1 - jp Function111a42 - -Function111b21: - ld hl, wc803 - ld a, [hli] - ld e, a - ld d, [hl] - ld a, [de] - ldh [rSB], a - inc de - ld a, d - ld [hld], a - ld [hl], e - -Function111b2e: - ld hl, wc822 - set 1, [hl] - ld a, (0 << rSC_ON) | (1 << rSC_CGB) | (1 << rSC_CLOCK) - ldh [rSC], a - ld a, (1 << rSC_ON) | (1 << rSC_CGB) | (1 << rSC_CLOCK) - ldh [rSC], a - -Function111b3b: - ret - -Function111b3c: - xor a - ld [wc819], a - ld [wc80b], a - ld hl, wc9b1 - ld [hli], a - ld [hl], a - ld [wc800], a - ld hl, wc822 - res 5, [hl] - bit 0, [hl] - jr z, .asm_111b59 - ld a, [wMobileSDK_ReceivePacketBufferAlt] - jr .asm_111b5c -.asm_111b59 - ld a, [wMobileSDK_ReceivePacketBuffer] -.asm_111b5c - - cp MOBILE_COMMAND_TRANSFER_DATA_END | $80 - jr nz, .asm_111b62 - ld a, MOBILE_COMMAND_TRANSFER_DATA | $80 -.asm_111b62 - ld b, a - - ld hl, Function111e28 - push hl - cp MOBILE_COMMAND_ERROR | $80 - jp z, GetErrorCode - ld a, [wMobileSDK_SendCommandID] - cp -1 - jp z, Function111ef8 - cp MOBILE_COMMAND_TRANSFER_DATA | $80 - jp z, Function111c17 - cp MOBILE_COMMAND_DNS_QUERY | $80 - jp z, Function111d23 - cp MOBILE_COMMAND_OPEN_TCP_CONNECTION | $80 - jr z, .asm_111bbe - cp MOBILE_COMMAND_CLOSE_TCP_CONNECTION | $80 - jr z, .asm_111bbe - cp MOBILE_COMMAND_HANG_UP_TELEPHONE | $80 - jr z, .asm_111be0 - cp MOBILE_COMMAND_READ_CONFIGURATION_DATA | $80 - jr z, .asm_111bf0 - cp MOBILE_COMMAND_WRITE_CONFIGURATION_DATA | $80 - jp z, Function111c06 - cp MOBILE_COMMAND_TELEPHONE_STATUS | $80 - jp z, Function111d70 - cp MOBILE_COMMAND_ISP_LOGIN | $80 - jr z, .asm_111bd0 - cp MOBILE_COMMAND_ISP_LOGOUT | $80 - jr z, .asm_111bca - cp MOBILE_COMMAND_BEGIN_SESSION | $80 - jp z, ParseResponse_BeginSession - cp MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL | $80 - jp z, Function111d65 - cp MOBILE_COMMAND_DIAL_TELEPHONE | $80 - jp z, Function111d65 - ld hl, wc822 - res 0, [hl] - ld a, $a - ld [wc807], a - xor a - ld [wc800], a - ret - -.asm_111bbe - ld a, [wMobileSDK_ReceivePacketBuffer + 4] - ld [wc86c], a - ld a, $4 - ld [wc807], a - ret - -.asm_111bca - ld a, $3 - ld [wc807], a - ret - -.asm_111bd0 - ld a, $4 - ld [wc807], a - ld de, wc823 - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - ld b, $4 - jp MobileSDK_CopyBytes - -.asm_111be0 - ld a, $2 - ld [wc807], a - ld hl, wc822 - res 4, [hl] - ld hl, wc821 - res 4, [hl] - ret - -.asm_111bf0 - ld hl, wc829 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_ReceivePacketBuffer + 3 ; packet size - ld a, [hli] - dec a - ld b, a - inc hl - call MobileSDK_CopyBytes - ld a, $2 - ld [wc807], a - ret - -Function111c06: - ld de, wc872 - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - ld b, $2 - call MobileSDK_CopyBytes - ld a, $2 - ld [wc807], a - ret - -Function111c17: - ld a, [wMobileSDK_ReceivePacketBuffer] - cp MOBILE_COMMAND_TRANSFER_DATA_END | $80 - jp z, Function111d07 - ld a, [wc86e + 1] - ld b, a - ld a, [wc86e] - or b - jp z, Function111d07 - ld hl, wc82b - ld a, [hli] - ld e, a - ld d, [hl] - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - dec a - jp z, Function111d07 - ld c, a - ld a, [wc822] - bit 4, a - jp z, Function111cc2 - ld a, [wc992] - or a - jr nz, .asm_111c89 - ld a, [wMobileSDK_ReceivePacketBuffer + 5] - or a - jr z, .asm_111c50 - cp $81 - jr c, .asm_111c52 -.asm_111c50 - ld a, $80 -.asm_111c52 - ld b, a - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - dec a - dec a - cp b - jr c, .asm_111c6e -.asm_111c5b - ld hl, wc821 - set 3, [hl] - ld hl, wc993 - ld a, $1 - ld [hli], a - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - dec a - ld [hl], a - jp Function111d07 -.asm_111c6e - ld hl, wc992 - or a - jr z, .asm_111c83 - ld [hld], a - ld [hl], b - ld b, a - ld hl, wMobileSDK_ReceivePacketBuffer + 6 - ld de, wc880 - call MobileSDK_CopyBytes - jp Function111d07 -.asm_111c83 - ld a, $ff - ld [hld], a - ld [hl], b - jr Function111d07 -.asm_111c89 - cp $ff - jr nz, .asm_111c9d - ld hl, wc991 - ld a, [hli] - ld b, a - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - dec a - cp b - jr nc, .asm_111c5b - jr z, .asm_111c5b - xor a - ld [hl], a -.asm_111c9d - ld hl, wc991 - ld a, [hli] - sub [hl] - ld b, a - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - dec a - cp b - jr nc, .asm_111c5b - jr z, .asm_111c5b - ld b, a - ld l, [hl] - ld h, $0 - add l - ld [wc992], a - ld de, wc880 - add hl, de - ld e, l - ld d, h - ld hl, wMobileSDK_ReceivePacketBuffer + 5 - call MobileSDK_CopyBytes - jr Function111d07 - -Function111cc2: - xor a - cp d - jr nz, .asm_111cda - ld a, c - cp e - jr c, .asm_111cda - jr z, .asm_111cda - ld a, [wc821] - set 2, a - ld [wc821], a - ld a, c - sub e - ld c, e - ld e, a - jr .asm_111ce1 -.asm_111cda - ld a, e - sub c - ld e, a - ld a, d - sbc $0 - ld d, a -.asm_111ce1 - ld a, d - ld [hld], a - ld [hl], e - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - ld hl, wMobileSDK_ReceivePacketBuffer + 5 - ld a, c - or a - jr z, Function111d07 - ld b, a - call MobileSDK_CopyBytes - ld hl, wc829 - ld a, e - ld [hli], a - ld [hl], d - ld de, $3 - add hl, de - ld a, [hl] - add c - ld [hli], a - jr nc, Function111d07 - inc [hl] - -Function111d07: - ld a, [wc822] - bit 4, a - jr z, .asm_111d1c - bit 7, a - jr z, .asm_111d1c - ld hl, wc822 - res 7, [hl] - ld hl, wc821 - res 0, [hl] -.asm_111d1c - ld a, [wc805] - ld [wc807], a - ret - -Function111d23: - ld a, [wc829] - ld e, a - ld a, [wc829 + 1] - ld d, a - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - ld b, $4 - call MobileSDK_CopyBytes - ld a, $4 - ld [wc807], a - ret - -ParseResponse_BeginSession: - ld de, wMobileSDK_ReceivePacketBuffer + 3 - ld hl, MobilePacket_BeginSession + 5 - ld b, 1 + STRLEN("NINTENDO") -.check_loop - ld a, [de] - inc de - cp [hl] - jr nz, .check_done - inc hl - dec b - jr nz, .check_loop -.check_done - ld a, b - or a - jr nz, .done - - ld a, [wMobileSDK_ReceivePacketBuffer + 14] ; device type - cp $80 - jr c, .fail - cp $90 - jr nc, .fail -.done - ld [wMobileSDK_AdapterType], a - ld a, $2 - ld [wc807], a - ret -.fail - xor a - jr .done - -Function111d65: - ld a, $3 - ld [wc807], a - ld hl, wc821 - set 4, [hl] - ret - -Function111d70: - ld hl, wc822 - bit 0, [hl] - jr z, .asm_111dc0 - ld a, [wc805] - ld [wc807], a - ld a, [wMobileSDK_ReceivePacketBufferAlt + 4] - ld b, a - call Function111dd9 - call Function111e15 - res 0, [hl] - ld a, b - cp $7 - jr z, .asm_111da9 - or a - ret nz - ld hl, wc821 - res 4, [hl] - set 1, [hl] - ld a, [wc822] - bit 4, a - jr nz, .asm_111dbb - ld a, $23 - ld [wc80f], a - ld a, $6 - ld [wc807], a - ret -.asm_111da9 - ld hl, wc821 - res 4, [hl] - set 1, [hl] - ld a, $11 - ld [wc80f], a - ld a, $6 - ld [wc807], a - ret -.asm_111dbb - xor a - ld [wc807], a - ret -.asm_111dc0 - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMobileSDK_ReceivePacketBuffer + 4] - ld b, a - call Function111dd9 - call Function111e15 - ld a, b - ld [hl], a - ld a, [wc805] - ld [wc807], a - ret - -Function111dd9: - cp $ff - jr z, .asm_111de7 - or a - ret z - cp $4 - jr z, .asm_111dea - cp $5 - jr z, .asm_111e12 -.asm_111de7 - ld b, $7 - ret -.asm_111dea - ld b, $5 - ld a, [wc822] - bit 0, a - jr z, .asm_111df8 - ld a, [wc86a] - jr .asm_111dfb -.asm_111df8 - ld a, [wc985] -.asm_111dfb - cp $4 - ret z - cp $1c - ret z - cp $1a - ret z - dec b - cp $3 - ret z - ld b, $1 - ld a, [wc822] - bit 4, a - ret z - inc b - ret -.asm_111e12 - ld b, $3 - ret - -Function111e15: - ld a, b - and $7 - rrca - rrca - rrca - push hl - ld l, a - ld a, [wc821] - and $1f - or l - ld [wc821], a - pop hl - ret - -Function111e28: - jp ResetReceivePacketBuffer - -GetErrorCode: -; Converts an error packet into a BCD error code - ld a, [wMobileSDK_SendCommandID] - cp -1 - jp z, Function111ef8 - ld a, [wc86a] - cp $d - jr z, .asm_111e48 - cp $2a - jr z, .asm_111e48 - ld a, $6 - ld [wc807], a - ld hl, wc821 - set 1, [hl] -.asm_111e48 - ld a, [wc822] - bit 0, a - jr z, .asm_111e54 - ld hl, wMobileSDK_ReceivePacketBufferAlt + 4 - jr .asm_111e57 -.asm_111e54 - ld hl, wMobileSDK_ReceivePacketBuffer + 4 -.asm_111e57 - ld a, [hli] - ld [wc80e], a - cp MOBILE_COMMAND_BEGIN_SESSION - jr z, .adapter_not_plugged_in - cp MOBILE_COMMAND_DIAL_TELEPHONE - jr z, .dial_telephone - cp MOBILE_COMMAND_HANG_UP_TELEPHONE - jr z, .hang_up_logout - cp MOBILE_COMMAND_TRANSFER_DATA - jr z, .transfer_data - cp MOBILE_COMMAND_READ_CONFIGURATION_DATA - jr z, .read_configuration_data - cp MOBILE_COMMAND_ISP_LOGIN - jr z, .isp_login - cp MOBILE_COMMAND_ISP_LOGOUT - jr z, .hang_up_logout - cp MOBILE_COMMAND_OPEN_TCP_CONNECTION - jr z, .open_tcp_connection - cp MOBILE_COMMAND_CLOSE_TCP_CONNECTION - jr z, .close_tcp_connection - cp MOBILE_COMMAND_DNS_QUERY - jr z, .dns_query - ld a, [hl] - -.store_error_code - ld [wc80f], a - ret - -.adapter_not_plugged_in - ld a, $10 - jr .store_error_code - -.dial_telephone - ld a, [hl] - or $0 - jr z, .asm_111e9d - cp $2 - jr z, .asm_111e99 - ld a, $13 - jr .store_error_code -.asm_111e99 - ld a, $17 - jr .store_error_code -.asm_111e9d - ld a, $12 - jr .store_error_code - -.hang_up_logout - ld hl, wc821 - res 1, [hl] - res 4, [hl] - ld a, $2 - ld [wc807], a - ret - -.transfer_data - ld a, [hl] - cp $1 - jr nz, .asm_111ed3 - ld a, [wc822] - bit 4, a - jr z, .asm_111ed3 - res 4, a - ld [wc822], a - ld hl, wc821 - ld a, [hl] - and $f - or $2 - ld [hl], a - ld a, $23 - ld [wc80f], a - ld a, $6 - ld [wc807], a - ret -.asm_111ed3 - ld hl, wc822 - res 5, [hl] - ld a, $24 - jr .store_error_code - -.read_configuration_data - ld a, $14 - jr .store_error_code - -.isp_login - ld a, $22 - jr .store_error_code - -.open_tcp_connection - ld hl, wc821 - res 1, [hl] - -.dns_query - ld a, $24 - jr .store_error_code - -.close_tcp_connection - ld hl, wc821 - res 1, [hl] - ld a, $3 - ld [wc807], a - ret - -Function111ef8: - ld a, [wc805] - ld [wc807], a - ret - -PacketSendEmptyBody: - ld de, 10 - -Function111f02: - ld [wMobileSDK_SendCommandID], a - ld b, $5 - -PacketSendBytes: -; hl = bytes -; de = size -; b = ? - call Function1100b4 - ret c - ld a, [wc800] - cp $0 - jr z, .asm_111f17 - call Function110226 - scf - ret -.asm_111f17 - ldh a, [rSC] - and 1 << rSC_ON - jr nz, .asm_111f17 - di - ld a, [wMobileSDK_SendCommandID] - cp $ff - jr z, .asm_111f35 - ld a, l - ld [wc81c], a - ld a, h - ld [wc81d], a - ld a, e - ld [wc81a], a - ld a, d - ld [wc81b], a -.asm_111f35 - ld a, e - ld [wc801], a - ld a, d - ld [wc802], a - ld a, l - ld [wc803], a - ld a, h - ld [wc804], a - ld hl, wc807 - ld a, [hl] - cp b - jr z, .asm_111f4f - ld [wc805], a -.asm_111f4f - ld a, b - ld [wc807], a - xor a - ld [wc806], a - ld a, $1 - ld [wc800], a - ld hl, wc822 - set 5, [hl] - ei - ret - -Function111f63: - push de - ld hl, 0 - ld c, b - xor a - cp b - jr z, .asm_111f71 -.asm_111f6c - call Function111f8d - jr nz, .asm_111f6c - -.asm_111f71 - ld b, $4 -.asm_111f73 - call Function111f8d - jr nz, .asm_111f73 - ld e, l - ld d, h - ld hl, $000a - add hl, bc - ld c, l - ld b, h - pop hl - ld a, d - ld [hli], a - ld a, e - ld [hli], a - ld a, $80 - ld [hli], a - xor a - ld [hl], a - ld e, c - ld d, b - ret - -Function111f8d: - dec de - ld a, [de] - add l - ld l, a - ld a, $0 - adc h - ld h, a - dec b - ret - -Function111f97: - ld hl, wc822 - bit 0, [hl] - ret nz - ld a, [wc807] - cp $2 - jr c, .done - cp $5 - jr z, .done - cp $6 - jr nz, .hang_up - ld a, [wc80f] - cp $22 - jr z, .done - cp $23 - jr z, .done - cp $26 - jr z, .done - swap a - and $f - cp $1 - jr z, .done - cp $0 - jr z, .done - cp $8 - jr nz, .hang_up -.done - scf - ret -.hang_up - ld b, $5 - ld hl, wMobileSDK_SendCommandID - ld a, [hl] - cp -1 - jr z, .begin_session - ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80 - ld [hl], a - ld hl, MobilePacket_TelephoneStatus - ld de, MobilePacket_TelephoneStatus.End - MobilePacket_TelephoneStatus - call PacketSendBytes - ld hl, wc822 - set 0, [hl] - ret -.begin_session - ld hl, MobilePacket_BeginSession - ld de, MobilePacket_BeginSession.End - MobilePacket_BeginSession - jp PacketSendBytes - - ds 14 - -MobilePacket_Idle: - db $4b -.End - -MobilePacket_BeginSession: - db $99, $66, MOBILE_COMMAND_BEGIN_SESSION, $00, $00, $08, "NINTENDO", $02, $77, $80, $00 -.End - -MobilePacket_EndSession: - db $99, $66, MOBILE_COMMAND_END_SESSION, $00, $00, $00, $00, $11, $80, $00 -.End - -MobilePacket_DialTelephone: - db $99, $66, MOBILE_COMMAND_DIAL_TELEPHONE, $00, $00, $00 -.End - -MobilePacket_HangUpTelephone: - db $99, $66, MOBILE_COMMAND_HANG_UP_TELEPHONE, $00, $00, $00, $00, $13, $80, $00 -.End - -MobilePacket_TelephoneStatus: - db $99, $66, MOBILE_COMMAND_TELEPHONE_STATUS, $00, $00, $00, $00, $17, $80, $00 -.End - -MobilePacket_ISPLogin: - db $99, $66, MOBILE_COMMAND_ISP_LOGIN, $00, $00 -.End - -MobilePacket_ISPLogout: - db $99, $66, MOBILE_COMMAND_ISP_LOGOUT, $00, $00, $00, $00, $22, $80, $00 -.End - -MobilePacket_ReadConfigurationDataPart1: - db $99, $66, MOBILE_COMMAND_READ_CONFIGURATION_DATA, $00, $00, $02, $00, $60, $00, $7b, $80, $00 -.End - -MobilePacket_ReadConfigurationDataPart2: - db $99, $66, MOBILE_COMMAND_READ_CONFIGURATION_DATA, $00, $00, $02, $60, $60, $00, $db, $80, $00 -.End - -MobilePacket_WriteConfigurationData: - db $99, $66, MOBILE_COMMAND_WRITE_CONFIGURATION_DATA, $00, $00 -.End - -MobilePacket_DNSQuery: - db $99, $66, MOBILE_COMMAND_DNS_QUERY, $00, $00 -.End - -MobilePacket_WaitForTelephoneCall: - db $99, $66, MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL, $00, $00, $00, $00, $14, $80, $00 -.End - -MobilePacket_TransferData: - db $99, $66, MOBILE_COMMAND_TRANSFER_DATA, $00, $00, $01, $ff, $01, $15, $80, $00 -.End - -MobilePacket_OpenTCPConnection: - db $99, $66, MOBILE_COMMAND_OPEN_TCP_CONNECTION, $00, $00, $06 -.End - -MobilePacket_CloseTCPConnection: - db $99, $66, MOBILE_COMMAND_CLOSE_TCP_CONNECTION, $00, $00, $01 -.End - -Unknown_112089: - db -20, $14, $c9 - db -28, $0f, $0e - db -32, $0c, $53 - db -60, $07, $94 - db -80, $05, $ee - db -20, $10, $b4 - db -28, $0c, $dd - -Unknown_11209e: - db "HELO ", 0 -Unknown_1120a4: - db "MAIL FROM:<", 0 -Unknown_1120b0: - db "RCPT TO:<", 0 -Unknown_1120ba: - db "DATA\r\n", 0 -Unknown_1120c1: - db "QUIT\r\n", 0 -Unknown_1120c8: - db "USER ", 0 -Unknown_1120ce: - db "PASS ", 0 -Unknown_1120d4: - db "STAT\r\n", 0 -Unknown_1120db: - db "LIST 00000\r\n", 0 -Unknown_1120e8: - db "RETR 00000\r\n", 0 -Unknown_1120f5: - db "DELE 00000\r\n", 0 -Unknown_112102: - db "TOP 00000 0\r\n", 0 -Unknown_112110: - db "GET ", 0 -Unknown_112115: - db " HTTP/1.0\r\n", 0 -Unknown_112121: - db "User-Agent: CGB-", 0 -Unknown_112132: - db "\r\n\r\n", 0 -Unknown_112137: - db "POST ", 0 -Unknown_11213d: - db "Content-Length: ", 0 - -Function11214e: - ld a, [wc822] - bit 5, a - ret nz - ld a, [wc86a] - cp $a - ret c - ld c, a - cp $d - jr z, .asm_112187 - cp $f - jr z, .asm_112196 - cp $29 - jr z, .asm_112175 - cp $2a - jr z, .asm_112175 - cp $28 - jr z, .asm_112175 -.asm_11216f - ld a, [wc807] - cp $6 - ret z -.asm_112175 - ld b, $0 - sla c - ld hl, Jumptable_1121ac - 2 * $a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld hl, wc86b - inc [hl] - ld a, [hl] - ret -.asm_112187 - ld c, a - ld a, [wc86b] - cp $1 - jr nz, .asm_11216f - ld hl, wc821 - res 1, [hl] - jr .asm_112175 -.asm_112196 - ld c, a - ld a, [wc80f] - cp $24 - jr nz, .asm_11216f - ld a, [wc86b] - cp $1 - jr nz, .asm_11216f - ld hl, wc821 - res 1, [hl] - jr .asm_112175 - -Jumptable_1121ac: - dw Function1121f6 - dw Function112271 - dw Function112373 - dw Function1123b6 - dw Function1123e1 - dw Function112451 - dw Function112715 - dw Function11273a - dw Function11299c - dw Function112d33 - dw Function112d33 - dw Function112840 - dw Function1128db - dw Function112969 - dw Function112a56 - dw Function112b71 - dw Function112bec - dw Function112bbb - dw Function112bec - dw Function112b71 - dw Function1134cb - dw Function112d33 - dw Function112d33 - dw Function112d33 - dw Function112d33 - dw Function112d33 - dw Function112d33 - dw Function113519 - dw Function113519 - dw Function113519 - dw Function113e42 - dw Function113ef2 - dw Function113f2d - dw Function1121f6 - dw Function1134cb - dw Function113672 - dw Function113626 - -Function1121f6: - dec a - jr z, .asm_1121fe - dec a - jr z, .asm_112210 - dec [hl] - ret - -.asm_1121fe - ld a, [wMobileSDK_AdapterType] - or a - jr z, .asm_112206 - jr Mobile_EndSession - -.asm_112206 - ld a, $10 - call Function11225d - res 0, [hl] - set 1, [hl] - ret - -.asm_112210 - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMobileSDK_AdapterType] - cp $88 - jr c, .asm_112249 - sub $88 - ld [hl], a - - ; There aren't more than four adapters - cp $4 - jr c, .asm_112226 - ld a, $3 -.asm_112226 - - ; The green adapter was scrapped, so the red adapter is the third - cp $3 - jr nz, .asm_11222b - dec a -.asm_11222b - - ld b, a - ld a, $4 - sub b - ld d, a - rlca - add d - ld c, a - xor a - cp b - jr z, .asm_11223a - ld a, $3 - xor b - -.asm_11223a - ld hl, wc871 - ld [hld], a - ld [hl], c - ld a, [wc86a] - cp $a - jr nz, Function112251 - jp Function1116a0 - -.asm_112249 - ld a, $10 - call Function11225d - jp Function1116a4 - -Function112251: - xor a - ld [wc821], a - ld [wc807], a - inc a - ld [wc86a], a - ret - -Function11225d: - ld [wc80f], a - ld a, $5 - ld [wc86a], a - ld hl, wc821 - ret - -Mobile_EndSession: - ld a, MOBILE_COMMAND_END_SESSION | $80 - ld hl, MobilePacket_EndSession - jp PacketSendEmptyBody - -Function112271: - dec a - jr z, .asm_11228c - dec a - jr z, .asm_112292 - dec a - jr z, .asm_1122a1 - dec a - jp z, .asm_112309 - dec a - jp z, .asm_112326 - dec a - jp z, .asm_112335 - dec a - jp z, .asm_112342 - dec [hl] - ret - -.asm_11228c - ld hl, MobilePacket_ReadConfigurationDataPart1 - jp Function11236b - -.asm_112292 - ld hl, wc829 - ld a, LOW(wc8ca + 22) - ld [hli], a - ld a, HIGH(wc8ca + 22) - ld [hli], a - ld hl, MobilePacket_ReadConfigurationDataPart2 - jp Function11236b - -.asm_1122a1 - ld hl, wc880 - ld a, [hli] - cp "M" - jr nz, .asm_1122f5 - ld a, [hld] - cp "A" - jr nz, .asm_1122f5 - ld b, $be - ld de, 0 -.asm_1122b3 - ld a, [hli] - add e - ld e, a - ld a, $0 - adc d - ld d, a - dec b - jr nz, .asm_1122b3 - ld a, [hli] - cp d - jr nz, .asm_1122fc - ld a, [hl] - cp e - jr nz, .asm_1122fc - ld hl, wc884 - ld de, wc836 - ld b, $8 - call MobileSDK_CopyBytes - ld hl, wc8ca - ld b, $2c - call MobileSDK_CopyBytes - ld a, [wMobileSDK_PacketBuffer + 50] - ld c, a - sub $8 - ld e, a - ld d, 0 - ld hl, wMobileSDK_PacketBuffer + 51 - add hl, de - ld e, l - ld d, h - ld hl, wc836 - ld b, $8 - call MobileSDK_CopyBytes - ld b, c - call Function111f63 - jr Function11235a - -.asm_1122f5 - ld a, $25 - ld [wc872], a - jr .asm_112301 - -.asm_1122fc - ld a, $14 - ld [wc872], a - -.asm_112301 - ld a, $6 - ld [wc86b], a - jp Mobile_EndSession - -.asm_112309 - ld a, [wc821] - and $e0 - jr nz, .asm_112314 - ld b, $92 - jr Function11234b - -.asm_112314 - cp $e0 - ld a, $11 - jr z, .asm_11231b - inc a - -.asm_11231b - ld [wc872], a - ld a, $6 - ld [wc86b], a - jp Mobile_EndSession - -.asm_112326 - ld d, a - ld a, [wMobileSDK_PacketBuffer + 50] - add $a - ld e, a - ld hl, wMobileSDK_PacketBuffer + 45 - ld a, $a1 - jp Function111f02 - -.asm_112335 - ld a, $2 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - set 5, [hl] - ret - -.asm_112342 - ld a, [wc872] - call Function11225d - jp Function1116a4 - -Function11234b: - ld a, [wMobileSDK_PacketBuffer + 5] - add $a - ld e, a - ld d, 0 - ld hl, wMobileSDK_PacketBuffer - ld a, b - jp Function111f02 - -Function11235a: - ld hl, wc86e - ld a, LOW(wc880) - ld [hli], a - ld a, HIGH(wc880) - ld [hl], a - ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80 - ld hl, MobilePacket_TelephoneStatus - jp PacketSendEmptyBody - -Function11236b: - ld a, $99 - ld de, $000c - jp Function111f02 - -Function112373: - dec a - jr z, Function11235a - dec a - jr z, .asm_112381 - dec a - jr z, .asm_11239b - dec a - jr z, .asm_1123ad - dec [hl] - ret - -.asm_112381 - ld a, [wc821] - and $e0 - jr nz, .asm_11238c - ld b, $92 - jr Function11234b - -.asm_11238c - cp $e0 - ld a, $11 - jr z, .asm_112393 - inc a - -.asm_112393 - ld a, $3 - ld [wc86b], a - jp Mobile_EndSession - -.asm_11239b - ld hl, wc822 - set 4, [hl] - ld a, $2 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - set 6, [hl] - ret - -.asm_1123ad - ld a, [wc872] - call Function11225d - jp Function1116a4 - -Function1123b6: - dec a - jr z, .wait_for_call - dec a - jr z, .asm_1123c6 - ret - -.asm_1123bd - dec [hl] - -.wait_for_call - ld a, MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL | $80 - ld hl, MobilePacket_WaitForTelephoneCall - jp PacketSendEmptyBody - -.asm_1123c6 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $ee - jr z, .asm_1123bd - ld hl, wc822 - set 4, [hl] - ld a, $2 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - set 6, [hl] - set 5, [hl] - ret - -Function1123e1: - dec a - jr z, .asm_1123f2 - dec a - jr z, .asm_11240a - dec a - jr z, .asm_112416 - dec a - jr z, .asm_11241e - dec a - jr z, .asm_112421 - dec [hl] - ret - -.asm_1123f2 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jr z, .asm_112408 - call Function1127e1 - jr z, .asm_112408 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 32 - jp Function1127c5 - -.asm_112408 - jr Function112430 - -.asm_11240a - xor a - ld [wc86d], a - ld a, MOBILE_COMMAND_ISP_LOGOUT | $80 - ld hl, MobilePacket_ISPLogout - jp PacketSendEmptyBody - -.asm_112416 - ld a, MOBILE_COMMAND_HANG_UP_TELEPHONE | $80 - ld hl, MobilePacket_HangUpTelephone - jp PacketSendEmptyBody - -.asm_11241e - jp Mobile_EndSession - -.asm_112421 - ld hl, wc822 - res 4, [hl] - ld hl, wc821 - ld a, [hl] - and $f - ld [hl], a - jp Function1116a0 - -Function112430: - ld a, $3 - ld [wc807], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_CloseTCPConnection - ld b, MobilePacket_CloseTCPConnection.End - MobilePacket_CloseTCPConnection - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - inc b - call Function111f63 - ld a, $a4 - ld hl, wMobileSDK_PacketBuffer - jp Function111f02 - -Function112451: - dec a - jr z, .asm_112458 - dec a - jr z, .asm_112496 - ret - -.asm_112458 - ld b, $6 - ld de, wMobileSDK_PacketBuffer + 92 - call Function111f63 - ld a, [wc86e] - inc a - cp $3 - jr nz, .asm_11248b - ld a, [wMobileSDK_ReceivePacketBuffer + 128] - or a - jr z, .asm_11248b - ld hl, wc995 - ld a, [hli] - cp $99 - jr nz, .asm_112480 - ld a, [hli] - cp $66 - jr nz, .asm_112480 - ld a, [hli] - cp $23 - jr z, .asm_11248b - -.asm_112480 - ld hl, wMobileSDK_PacketBuffer + 80 - ld de, wc995 - ld b, $10 - call MobileSDK_CopyBytes - -.asm_11248b - ld a, $a3 - ld de, $0010 - ld hl, wMobileSDK_PacketBuffer + 80 - jp Function111f02 - -.asm_112496 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $a3 - jr z, .asm_1124ce - ld a, [wc822] - bit 3, a - jr z, .asm_1124ab - dec [hl] - ld a, $3 - ld [wc807], a - ret - -.asm_1124ab - ld a, [wc9af] - cp $5 - jr c, .asm_1124b8 - ld hl, wc821 - set 1, [hl] - ret - -.asm_1124b8 - dec [hl] - ld hl, wc9af - inc [hl] - ld hl, wc822 - set 3, [hl] - ld hl, wc815 - ld a, [wc820] - ld [hli], a - ld a, [wc81f] - ld [hl], a - ret - -.asm_1124ce - xor a - ld [wc9af], a - ld a, [wc86e] - inc a - ld [wc86d], a - dec a - jp z, Function11261c - dec a - jp z, Function112654 - dec a - jp z, Function112597 - dec a - jp z, Function112566 - call Function1125c7 - push de - ld de, wc880 - ld hl, wc827 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, $1 - ld [wc86e], a - ld a, $fa - ld [hli], a - xor a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - pop de - ld a, $1 - ld [wc994], a - call Function11269b - ld a, $5 - ld [wc86b], a - call Function112534 - ld a, [wc9a5] - or a - jr z, .asm_112521 - ld a, $1 - -.asm_112521 - add $23 - ld [wc86a], a - ld a, [wc98a] - cp $2 - jr nz, .asm_112531 - xor a - ld [wc9a5], a - -.asm_112531 - jp Function1125bf - -Function112534: - ld b, $fa - ld hl, wc880 - xor a -.asm_11253a - ld [hli], a - dec b - jr nz, .asm_11253a - ld a, [wc876] - ld [wc87c], a - ld a, [wc877] - ld [wc87d], a - ld a, [wc87a] - ld [wc87e], a - ld a, [wc87b] - ld [wc87f], a - ld a, c - ld [wMobileSDK_PacketBuffer + 17], a - ld b, c - call Function111f63 - ld a, $95 - ld hl, wMobileSDK_PacketBuffer + 12 - jp Function111f02 - -Function112566: - call Function1125c7 - ld a, [wMobileSDK_PacketBuffer + 19] - and $1 - or a - jr nz, .asm_11257d - ld a, [wc98a] - cp $2 - jr nz, .asm_11257d - ld a, $1 - ld [wc994], a - -.asm_11257d - call Function11269b - ld a, $5 - ld [wc86b], a - call Function112534 - ld a, [wc9a5] - or a - jr z, .asm_112590 - ld a, $1 - -.asm_112590 - add $21 - ld [wc86a], a - jr Function1125bf - -Function112597: - call Function1125c7 - call Function11269b - ld a, $5 - ld [wc86b], a - call Function112534 - ld a, [wc98f] - ld b, a - ld a, [wc994] - and $1 - add $13 - bit 0, b - jr z, .asm_1125bc - sub $13 - add $1f - dec b - sla b - add b - -.asm_1125bc - ld [wc86a], a - -Function1125bf: - ld hl, wc821 - set 0, [hl] - res 2, [hl] - ret - -Function1125c7: - ld hl, wc872 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld d, [hl] - ld a, [wc994] - and $1 - xor $1 - ld [wc86b], a - ld hl, wc827 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - inc de - inc de - ld a, LOW(wc880) - ld [hli], a - ld a, HIGH(wc880) - ld [hli], a - dec bc - dec bc - ld a, $fa - ld [hli], a - ld a, $0 - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - ld de, wMobileSDK_PacketBuffer + 12 - ld hl, MobilePacket_TransferData - ld b, $5 - call MobileSDK_CopyBytes - inc de - ld a, [wc86c] - ld [de], a - inc de - ret - -Function11261c: - xor a - ld [wc86b], a - ld a, [wc86c] - ld [wMobileSDK_PacketBuffer + 118], a - ld de, wMobileSDK_PacketBuffer + 102 - ld [de], a - inc de - ld b, $1 - call Function111f63 - call Function112724 - ld a, [wMobileSDK_PacketBuffer + 117] - ld b, a - ld de, wMobileSDK_PacketBuffer + 118 - add e - ld e, a - ld a, $0 - adc d - ld d, a - call Function111f63 - ld hl, wMobileSDK_PacketBuffer + 96 - call Function1127c5 - ld a, $11 - ld [wc86a], a - -Function11264e: - ld hl, wc821 - set 0, [hl] - ret - -Function112654: - xor a - ld [wc86b], a - ld a, [wc86c] - ld [wMobileSDK_PacketBuffer + 102], a - ld [wMobileSDK_PacketBuffer + 166], a - ld de, wMobileSDK_PacketBuffer + 134 - ld [de], a - inc de - ld b, $1 - call Function111f63 - call Function112724 - ld a, [wMobileSDK_PacketBuffer + 165] - ld b, a - ld de, wMobileSDK_PacketBuffer + 166 - add e - ld e, a - ld a, $0 - adc d - ld d, a - call Function111f63 - ld a, [wMobileSDK_PacketBuffer + 101] - ld b, a - ld de, wMobileSDK_PacketBuffer + 102 - add e - ld e, a - ld a, $0 - adc d - ld d, a - call Function111f63 - ld hl, wMobileSDK_PacketBuffer + 128 - call Function1127c5 - ld a, $12 - ld [wc86a], a - jr Function11264e - -Function11269b: - ld bc, $0001 - ld hl, Unknown_112110 - ld a, [wc994] - or a - call nz, Function1126ac - call MobileSDK_CopyString - ret - -Function1126ac: - ld hl, Unknown_112137 - ret - -Function1126b0: - ld hl, Unknown_112115 - jp MobileSDK_CopyString - -Function1126b6: - ld hl, Unknown_112121 - call MobileSDK_CopyString - ld hl, $013f - ld b, $4 - call MobileSDK_CopyBytes - ld a, $2d - ld [de], a - inc de - ld a, [$014c] - and $f0 - swap a - or $30 - ld [de], a - inc de - ld a, [$014c] - and $f - or $30 - ld [de], a - inc de - ld a, $7 - add c - ld c, a - ld hl, Unknown_112132 - jp MobileSDK_CopyString - -Function1126e6: - xor a - ld [wc86b], a - ld hl, Unknown_11213d - call MobileSDK_CopyString - ld hl, wc9a5 - ld b, $5 -.asm_1126f5 - ld a, [hl] - cp $30 - jr nz, .asm_112701 - inc hl - dec b - ld a, $1 - cp b - jr nz, .asm_1126f5 - -.asm_112701 - push bc - call MobileSDK_CopyBytes - ld a, $d - ld [de], a - inc de - ld a, $a - ld [de], a - inc de - pop bc - ld a, b - add $2 - add c - ld c, a - or c - ret - -Function112715: - xor a - ld [wc86c], a - ld a, $2 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - ret - -Function112724: - ld a, $ff - ld [wc86e], a - -Function112729: - push hl - ld hl, wc82c - xor a - ld [hld], a - ld a, $ff - ld [hld], a - ld a, HIGH(wc880) - ld [hld], a - ld a, LOW(wc880) - ld [hl], a - pop hl - ret - -Function11273a: - dec a - jr z, .asm_112752 - dec a - jr z, .asm_11278f - dec a - jr z, .asm_112744 - ret - -.asm_112744 - xor a - ld [wc86d], a - ld a, $30 - call Function11225d - set 1, [hl] - res 0, [hl] - ret - -.asm_112752 - call Function1127e1 - jr nz, .asm_11277a - ld hl, wc880 - call Function112b11 - ld a, $2 - cp d - jr nz, .asm_1127b7 - ld a, $20 - cp e - jr nz, .asm_1127b7 - call Function112724 - ld a, [wMobileSDK_PacketBuffer + 117] - add $a - ld e, a - ld d, 0 - ld a, $95 - ld hl, wMobileSDK_PacketBuffer + 112 - jp Function111f02 - -.asm_11277a - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jr z, Function1127cd - ld hl, wc86b - dec [hl] - xor a - ld [wMobileSDK_ReceivePacketBuffer + 3], a - ld hl, wMobileSDK_PacketBuffer + 96 - jp Function1127c5 - -.asm_11278f - call Function1127e1 - jr nz, .asm_11277a - ld hl, wc880 - call Function112b11 - ld a, $2 - cp d - jr nz, .asm_1127b7 - ld a, $50 - cp e - jr nz, .asm_1127b7 - ld a, $3 - ld [wc86a], a - ld hl, wc821 - ld a, [hl] - and $d6 - or $80 - ld [hl], a - xor a - ld [wc98a], a - ret - -.asm_1127b7 - ld hl, wc810 - ld a, e - ld [hli], a - ld [hl], d - ld a, $2 - ld [wc86b], a - jp Function112430 - -Function1127c5: - ld de, $000b - ld a, $95 - jp Function111f02 - -Function1127cd: - ld hl, wc810 - xor a - ld [hli], a - ld [hl], a - xor a - ld [wc86d], a - ld a, $30 - call Function11225d - set 1, [hl] - res 0, [hl] - ret - -Function1127e1: - call Function112807 - ld hl, wc832 - -Function1127e7: - ld a, [hli] - cp $d - ret nz - ld a, [hl] - cp $a - ret nz - ld a, $20 - ld [hl], a - ret - -Function1127f3: - call Function112807 - ld hl, wc82f - ld a, [hli] - cp $d - ret nz - ld a, [hli] - cp $a - ret nz - ld a, [hli] - cp $2e - ret nz - jr Function1127e7 - -Function112807: - push bc - push de - ld hl, wMobileSDK_ReceivePacketBuffer + 3 - ld a, [hl] - dec a - jr z, .asm_11282d - ld c, a - cp $5 - jr nc, .asm_112830 - ld a, $5 - sub c - ld b, a - ld e, c - ld d, $0 - ld hl, wc82f - add hl, de - ld de, wc82f - call MobileSDK_CopyBytes - ld hl, wMobileSDK_ReceivePacketBuffer + 5 - ld b, c -.asm_11282a - call MobileSDK_CopyBytes - -.asm_11282d - pop de - pop bc - ret - -.asm_112830 - sub $5 - ld c, a - ld b, 0 - ld hl, wMobileSDK_ReceivePacketBuffer + 5 - add hl, bc - ld b, $5 - ld de, wc82f - jr .asm_11282a - -Function112840: - dec a - jr z, .asm_112844 - ret - -.asm_112844 - call Function1127e1 - jr nz, .asm_1128ab - ld hl, wc880 - ld a, [hli] - cp $32 - jr nz, Function1128bd - ld a, [hli] - cp $35 - jr nz, Function1128bd - call Function112724 - ld hl, wc87c - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - or a - jr z, .asm_11289d - push hl - ld hl, wc86b - dec [hl] - ld bc, $0001 - ld de, wMobileSDK_PacketBuffer + 19 - ld hl, Unknown_1120b0 - call MobileSDK_CopyString - pop hl - ld a, $80 - call MobileSDK_CopyStringLen - ld a, $3e - ld [de], a - inc de - inc c - ld a, l - ld [wc87c], a - ld a, h - ld [wc87d], a - call Function11295e - ld a, c - ld [wMobileSDK_PacketBuffer + 17], a - ld b, c - call Function111f63 - ld hl, wMobileSDK_PacketBuffer + 12 - ld d, $0 - ld e, c - ld a, $95 - jp Function111f02 - -.asm_11289d - ld a, $3 - ld [wc86a], a - call Function1128d3 - ld a, $1 - ld [wc98a], a - ret - -.asm_1128ab - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp z, Function1127cd - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer - jp Function1127c5 - -Function1128bd: - ld hl, wc880 - call Function112b11 - ld hl, wc810 - ld a, e - ld [hli], a - ld [hl], d - ld a, $30 - call Function11225d - set 1, [hl] - res 0, [hl] - ret - -Function1128d3: - ld hl, wc821 - res 0, [hl] - res 2, [hl] - ret - -Function1128db: - dec a - jr z, .asm_112947 - dec a - jr z, .asm_1128e5 - dec a - jr z, .asm_112913 - ret - -.asm_1128e5 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp z, Function1127cd - call Function113482 - ld a, [wc86e + 1] - or a - jr nz, .asm_112901 - ld a, $3 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - ret - -.asm_112901 - call Function112724 - ld de, wMobileSDK_PacketBuffer + 5 - ld a, $1 - ld [de], a - inc de - inc de - ld b, $1 - call Function111f63 - jr .asm_112941 - -.asm_112913 - call Function1127e1 - jr nz, .asm_11293d - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp z, Function1127cd - ld hl, wc880 - call Function112b11 - ld a, d - cp $2 - jr nz, .asm_11295b - ld a, e - cp $50 - jr nz, .asm_11295b - ld a, $3 - ld [wc86a], a - call Function1128d3 - xor a - ld [wc98a], a - ret - -.asm_11293d - ld hl, wc86b - dec [hl] - -.asm_112941 - ld hl, wMobileSDK_PacketBuffer - jp Function1127c5 - -.asm_112947 - call Function1127e1 - jr nz, .asm_11293d - ld hl, wc880 - call Function112b11 - ld a, d - cp $3 - jr nz, .asm_11295b - ld a, e - cp $54 - ret z - -.asm_11295b - jp Function1128bd - -Function11295e: - ld a, $d - ld [de], a - inc de - inc c - ld a, $a - ld [de], a - inc de - inc c - ret - -Function112969: - dec a - jr z, .asm_112970 - dec a - jr z, .asm_112989 - ret - -.asm_112970 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jr z, .asm_112986 - call Function1127e1 - jr z, .asm_112986 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 32 - jp Function1127c5 - -.asm_112986 - jp Function112430 - -.asm_112989 - xor a - ld [wc86d], a - ld a, $2 - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - res 7, [hl] - set 5, [hl] - ret - -Function11299c: - dec a - jr z, .asm_1129aa - dec a - jr z, .asm_1129c9 - dec a - jr z, .asm_1129e7 - dec a - jp z, .asm_112a1d - ret - -.asm_1129aa - call Function1127e1 - jr nz, .asm_1129fe - ld a, [wc880] - cp $2b - jr nz, .asm_112a0f - call Function112724 - ld a, [wMobileSDK_PacketBuffer + 101] - add $a - ld e, a - ld d, 0 - ld a, $95 - ld hl, wMobileSDK_PacketBuffer + 96 - jp Function111f02 - -.asm_1129c9 - ld d, a - call Function1127e1 - jr nz, .asm_1129fe - ld a, [wc880] - cp $2b - jr nz, .asm_112a0f - call Function112724 - ld a, [wMobileSDK_PacketBuffer + 165] - add $a - ld e, a - ld a, $95 - ld hl, wMobileSDK_PacketBuffer + 160 - jp Function111f02 - -.asm_1129e7 - call Function1127e1 - jr nz, .asm_1129fe - ld a, [wc880] - cp $2b - jr nz, .asm_112a0f - ld a, $4 - ld [wc86a], a - call Function1128d3 - set 7, [hl] - ret - -.asm_1129fe - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jr z, Function112a42 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 128 - jp Function1127c5 - -.asm_112a0f - ld a, [wc86b] - ld [wMobileSDK_PacketBuffer + 32], a - ld a, $3 - ld [wc86b], a - jp Function112430 - -.asm_112a1d - xor a - ld [wc86d], a - ld de, $0002 - ld a, [wMobileSDK_PacketBuffer + 32] - cp $1 - jr z, .asm_112a2c - inc de -.asm_112a2c - -Function112a2c: - ld hl, wc821 - set 1, [hl] - res 0, [hl] - ld hl, wc80f - ld a, $31 - ld [hli], a - ld a, e - ld [hli], a - ld [hl], d - ld a, $5 - ld [wc86a], a - ret - -Function112a42: - ld hl, wc810 - xor a - ld [hli], a - ld [hl], a - xor a - ld [wc86d], a - ld a, $31 - call Function11225d - set 1, [hl] - res 0, [hl] - ret - -Function112a56: - dec a - jr z, .asm_112a5a - ret - -.asm_112a5a - call Function1127e1 - jr nz, .asm_112a95 - ld hl, wc880 - ld a, [hli] - cp $2b - jr nz, .asm_112aa6 -.asm_112a67 - ld a, [hli] - cp $20 - jr nz, .asm_112a67 - call Function112aac - ld a, [wc86e] - ld c, a - ld a, [wc86e + 1] - ld b, a - ld a, e - ld [bc], a - inc bc - ld a, d - ld [bc], a - call Function112aac - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - inc hl - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, $4 - ld [wc86a], a - jp Function1128d3 - -.asm_112a95 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jr z, Function112a42 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 128 - jp Function1127c5 - -.asm_112aa6 - ld de, $0005 - jp Function112a2c - -Function112aac: - ld a, [wc872] - push af - ld a, [wc873] - push af - ld a, [wc874] - push af - ld bc, 0 - ld de, 0 -.asm_112abe - ld a, [hli] - cp $d - jr z, .asm_112b04 - cp $20 - jr z, .asm_112b04 - and $f - ld b, a - sla e - rl d - rl c - ld a, e - ld [wc872], a - ld a, d - ld [wc873], a - ld a, c - ld [wc874], a - sla e - rl d - rl c - sla e - rl d - rl c - ld a, [wc872] - add e - ld e, a - ld a, [wc873] - adc d - ld d, a - ld a, [wc874] - adc c - ld c, a - ld a, b - add e - ld e, a - ld a, $0 - adc d - ld d, a - ld a, $0 - adc c - ld c, a - jr .asm_112abe - -.asm_112b04 - pop af - ld [wc874], a - pop af - ld [wc873], a - pop af - ld [wc872], a - ret - -Function112b11: - ld a, [wc872] - push af - ld a, [wc873] - push af - ld a, [wc874] - push af - ld bc, $0300 - ld de, wc872 - call .asm_112b60 - call nc, .asm_112b60 - call nc, .asm_112b60 - dec hl -.asm_112b2d - ld a, [hli] - cp "\r" - jr z, .asm_112b36 - cp " " - jr nz, .asm_112b2d - -.asm_112b36 - push hl - ld hl, wc872 - ld de, 0 - ld a, b - or a - jr z, .asm_112b49 - dec a - jr z, .asm_112b4b - dec a - jr z, .asm_112b4f - jr .asm_112b52 - -.asm_112b49 - ld a, [hli] - ld d, a - -.asm_112b4b - ld a, [hli] - swap a - ld e, a - -.asm_112b4f - ld a, [hli] - or e - ld e, a - -.asm_112b52 - pop hl - pop af - ld [wc874], a - pop af - ld [wc873], a - pop af - ld [wc872], a - ret - -.asm_112b60: - ld a, [hli] - cp "0" - jr c, .asm_112b6f - cp "9" + 1 - jr nc, .asm_112b6f - and $f - ld [de], a - inc de - dec b - ret - -.asm_112b6f - scf - ret - -Function112b71: - dec a - jr z, .asm_112b75 - ret - -.asm_112b75 - call Function1127e1 - jr nz, .asm_112ba3 - ld hl, wc880 - ld a, [hli] - cp $2b - jr nz, .asm_112bb5 -.asm_112b82 - ld a, [hli] - cp $20 - jr nz, .asm_112b82 -.asm_112b87 - ld a, [hli] - cp $20 - jr nz, .asm_112b87 - call Function112aac - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, c - ld [hli], a - ld a, $4 - ld [wc86a], a - jp Function1128d3 - -.asm_112ba3 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp z, Function112a42 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 128 - jp Function1127c5 - -.asm_112bb5 - ld de, $0004 - jp Function112a2c - -Function112bbb: - dec a - jr z, .asm_112bbf - ret - -.asm_112bbf - call Function1127e1 - jr nz, .asm_112bd4 - ld hl, wc880 - ld a, [hli] - cp $2b - jr nz, .asm_112be6 - ld a, $4 - ld [wc86a], a - jp Function1128d3 - -.asm_112bd4 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp z, Function112a42 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 128 - jp Function1127c5 - -.asm_112be6 - ld de, $0004 - jp Function112a2c - -Function112bec: - dec a - jr z, .asm_112bf7 - dec a - jp z, .asm_112cdb - dec a - ret nz - dec [hl] - ret - -.asm_112bf7 - ld a, [wc880] - cp $2d - jr nz, .asm_112c03 - call Function1127e1 - jr z, .asm_112c0b - -.asm_112c03 - ld a, [wc821] - bit 2, a - jp z, .asm_112cef - -.asm_112c0b - ld hl, wc86b - inc [hl] - ld hl, wc880 - ld a, [hli] - cp $2b - jp nz, Function112d20 - ld b, $7f -.asm_112c1a - ld a, [hli] - dec b - cp $a - jr nz, .asm_112c1a - push hl - ld hl, wc98f - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, b - ld [wc82d], a - ld a, [hli] - ld h, [hl] - sub b - ld l, a - ld a, h - sbc $0 - ld h, a - jr nc, .asm_112c56 - cp $ff - jr nz, .asm_112c56 - ld hl, wc991 - ld a, [hli] - ld c, a - inc hl - ld a, b - sub c - ld [hli], a - ld a, [wc82b] - ld [hl], a - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, c - ld [hli], a - xor a - ld [hl], a - pop hl - ld b, c - jp MobileSDK_CopyBytes - -.asm_112c56 - ld [wc993], a - ld a, [wc82b] - ld c, a - ld [wc994], a - push hl - ld a, l - sub c - ld l, a - ld a, h - sbc $0 - ld h, a - jr nc, .asm_112c9f - cp $ff - jr nz, .asm_112c9f - ld a, c - ld [wMobileSDK_ReceivePacketBuffer + 1], a - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - sub c - pop hl - ld c, l - pop hl - push af - call MobileSDK_CopyBytes - pop af - push de - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - ld e, a - ld d, 0 - add hl, de - pop de - ld b, c - call MobileSDK_CopyBytes - ld a, [wMobileSDK_ReceivePacketBuffer + 1] - sub c - ld [wc994], a - ld hl, wc827 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wc991] - ld [hli], a - xor a - ld [hl], a - ret - -.asm_112c9f - ld [wc994], a - ld a, l - ld [wc82b], a - ld a, h - ld [wc82c], a - pop hl - pop hl - call MobileSDK_CopyBytes - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - sub c - push de - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - ld e, a - ld d, 0 - add hl, de - pop de - ld b, c - call MobileSDK_CopyBytes - ld a, [wc82d] - add c - ld [wc82d], a - ld a, [wc82e] - adc 0 - ld [wc82e], a - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - ld hl, wc821 - res 2, [hl] - -.asm_112cdb - ld a, [wc821] - bit 2, a - jr z, .asm_112cea - ld a, $2 - ld [wc86b], a - jp .asm_112d09 - -.asm_112cea - call Function1127f3 - jr z, .asm_112d01 - -.asm_112cef - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp z, Function112a42 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer + 128 - jp Function1127c5 - -.asm_112d01 - ld a, $4 - ld [wc86a], a - call Function1128d3 - -.asm_112d09 - ld a, [wc86e] - ld l, a - ld a, [wc86e + 1] - or l - ret z - ld hl, wc827 - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, wc82d - ld b, $2 - jp MobileSDK_CopyBytes - -Function112d20: - ld a, [wc86a] - cp $1a - jr nz, .asm_112d2d - ld de, $0004 - jp Function112a2c - -.asm_112d2d - ld de, $0004 - jp Function112a2c - -Function112d33: - dec a - jr z, .asm_112d87 - dec a - jr z, .asm_112d9f - dec a - jp z, .asm_112e46 - dec a - jr z, .asm_112d4d - dec a - jp z, Function113317 - dec a - jp z, Function113386 - dec a - jp .asm_112e46 - -.asm_112d4c ; unreferenced - ret - -.asm_112d4d - ld a, [wc86a] - cp $23 - jr z, .asm_112d6d - cp $1f - jr z, .asm_112d60 - cp $20 - jr z, .asm_112d6d - cp $22 - jr nz, .asm_112d82 - -.asm_112d60 - ld hl, wc98b - ld a, [hli] - cp $1 - jr nz, .asm_112d82 - ld a, [hl] - cp $4 - jr nz, .asm_112d82 - -.asm_112d6d - ld hl, wc86e - xor a - ld [hli], a - ld [hl], a - ld hl, wc82b - ld [hli], a - ld [hl], a - ld hl, wc821 - res 2, [hl] - ld hl, wc86b - dec [hl] - dec [hl] - -.asm_112d82 - ld hl, wc86b - dec [hl] - ret - -.asm_112d87 - call Function113482 - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - -.asm_112d9f - ld a, [wc821] - bit 2, a - jr z, .asm_112dab - ld a, $3 - ld [hl], a - jr .asm_112dc1 - -.asm_112dab - ld a, [wMobileSDK_ReceivePacketBuffer] - cp MOBILE_COMMAND_TRANSFER_DATA_END | $80 - jr z, .asm_112dc1 - ld hl, wc86b - dec [hl] - ld de, $000b - ld hl, wMobileSDK_PacketBuffer - ld b, $5 - jp PacketSendBytes - -.asm_112dc1 - ld a, [wc989] - cp $2 - jr nc, .asm_112df2 - call Function112f61 - bit 2, a - ret nz - cp $3 - jr z, .asm_112e38 - cp $1 - jr nz, .asm_112df2 - ld a, [wc86a] - cp $1f - jr z, .asm_112de1 - cp $20 - jr nz, .asm_112df2 - -.asm_112de1 - ld hl, wc98b - ld a, [hli] - cp $1 - jr nz, .asm_112df2 - ld a, $4 - cp [hl] - jr nz, .asm_112df2 - xor a - ld [wc990], a - -.asm_112df2 - ld a, [wc86e] - ld l, a - ld a, [wc86e + 1] - or l - ret z - ld a, [wc86a] - cp $13 - jr z, .asm_112e21 - cp $14 - jr z, .asm_112e21 - cp $20 - ret z - cp $22 - ret z - cp $23 - ret z - cp $1f - jr nz, .asm_112e21 - ld hl, wc98b - ld a, [hli] - cp $0 - ret nz - ld a, $2 - cp [hl] - ret nz - ld a, [wc86a] - -.asm_112e21 - cp $24 - jr nz, .asm_112e2a - ld hl, wc878 - jr .asm_112e2d - -.asm_112e2a - ld hl, wc827 - -.asm_112e2d - ld a, [hli] - ld e, a - ld d, [hl] - ld hl, wc82d - ld b, $2 - jp MobileSDK_CopyBytes - -.asm_112e38 - ld hl, wc821 - set 1, [hl] - res 0, [hl] - ld de, wc98b - ld a, $24 - jr .asm_112e95 - -.asm_112e46 - ld a, [wc86a] - cp $1f - jr z, .asm_112ea6 - cp $20 - jr z, .asm_112ea6 - ld a, [wc98a] - cp $1 - jr z, .asm_112e65 - ld a, [wc86a] - cp $21 - jp z, .asm_112eea - cp $22 - jp z, .asm_112eea - -.asm_112e65 - ld a, [wc990] - or a - jp z, .asm_112f3d -.asm_112e6c - ld hl, wc98c - ld a, [hld] - cp $3 - jr nz, .asm_112e7f - ld a, [hl] - or a - jr z, .asm_112e7f - cp $3 - jr nc, .asm_112e7f - call Function1133fe - -.asm_112e7f - ld hl, wc821 - set 1, [hl] - res 0, [hl] - ld de, wc98b - ld a, [wc990] - cp $1 - ld a, $32 - jr z, .asm_112e95 - inc de - inc de - inc a - -.asm_112e95 - ld [wc80f], a - ld hl, wc810 - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - ld a, $5 - ld [wc86a], a - ret - -.asm_112ea6 - ld hl, wc98b - ld a, [hli] - ld h, [hl] - ld l, a - cp $0 - jr nz, .asm_112ec1 - ld a, $2 - cp h - jr nz, .asm_112ec1 - ld a, [wc98d] - ld b, a - ld a, [wc98e] - or b - jr nz, .asm_112e6c - jr .asm_112f3d - -.asm_112ec1 - ld a, $1 - cp l - jr nz, .asm_112e6c - ld a, $4 - cp h - jr nz, .asm_112e6c - ld a, [wc9a5] - or a - jr nz, .asm_112efb - ld a, [wc86e] - ld l, a - ld a, [wc86e + 1] - or l - jr nz, .asm_112efb - ld a, $2 - ld [wc86a], a - xor a - ld [wc86d], a - ld hl, wc821 - res 0, [hl] - ret - -.asm_112eea - ld hl, wc98b - ld a, [hli] - ld h, [hl] - ld l, a - cp $0 - jp nz, .asm_112e6c - ld a, $2 - cp h - jp nz, .asm_112e6c - -.asm_112efb - ld a, [wc98d] - ld b, a - ld a, [wc98e] - cp b - jp nz, .asm_112e6c - or a - jr z, .asm_112f13 - cp $1 - jp nz, .asm_112e6c - ld a, $1 - ld [wc993], a - -.asm_112f13 - ld a, [wc86b] - cp $7 - jr z, .asm_112f3d - ld hl, wc98f - inc [hl] - ld a, $f - ld [wc86a], a - ld a, $1 - ld [wc86b], a - ld a, [wc86d] - ld [wc86e], a - xor a - ld [wc989], a - ld a, $a3 - ld de, $0010 - ld hl, wc995 - jp Function111f02 - -.asm_112f3d - ld a, [wc993] - cp $1 - jr nz, .asm_112f52 - ld a, $2 - ld [wc990], a - ld hl, wc98d - dec a - ld [hli], a - ld [hl], a - jp .asm_112e7f - -.asm_112f52 - ld a, $2 - ld [wc86a], a - xor a - ld [wc86d], a - ld hl, wc821 - res 0, [hl] - ret - -Function112f61: - ld hl, wc989 - ld a, [hl] - or a - jr nz, .asm_112f8a - inc [hl] - ld hl, wc880 - ld de, $0008 - add hl, de -.asm_112f70 - ld a, [hli] - cp $20 - jr z, .asm_112f70 - dec hl - ld d, $0 - cp $32 - jr z, .asm_112f7d - inc d - -.asm_112f7d - ld a, d - ld [wc990], a - call Function112b11 - ld hl, wc98b - ld a, e - ld [hli], a - ld [hl], d - -.asm_112f8a - ld hl, wc880 - ld a, [wc82d] - ld b, a - or a - jr nz, .asm_112fa1 - ld hl, wc98b - ld a, $0 - ld [hli], a - ld [hl], a - ld a, $1 - ld [wc990], a - ret - -.asm_112fa1 - call Function112fd5 - call Function113008 - call Function113026 - call Function113054 - call Function113167 - call Function113180 - call Function113268 - jr c, .asm_112fc9 - ld a, $d - cp [hl] - jr z, .asm_112fc2 - ld a, $a - cp [hl] - jr nz, .asm_112fa1 - -.asm_112fc2 - ld hl, wc990 - res 2, [hl] - jr .asm_112fce - -.asm_112fc9 - ld hl, wc990 - set 2, [hl] - -.asm_112fce - call Function11306b - ld a, [wc990] - ret - -Function112fd5: - ld de, Unknown_113001 - push hl - call Function113281 - jr nc, .asm_112fe0 - pop hl - ret - -.asm_112fe0 - pop de - push bc - push de - push hl - ld b, $0 -.asm_112fe6 - inc b - ld a, [hli] - cp $a - jr nz, .asm_112fe6 - pop hl - ld c, b - ld a, [wc833] - ld e, a - ld a, [wc834] - ld d, a - or e - jr z, .asm_112ffe - call MobileSDK_CopyBytes - xor a - ld [de], a - -.asm_112ffe - pop hl - pop bc - ret - -Unknown_113001: - db "date: ", 0 - -Function113008: - ld de, Unknown_1132a6 - push hl - call Function113273 - jr nc, .asm_113013 - pop hl - ret - -.asm_113013 - call Function112b11 - ld hl, wc98d - ld a, e - ld [hli], a - ld [hl], d - pop hl - ld a, d - or e - ret z - ld a, $2 - ld [wc990], a - ret - -Function113026: - ld de, Unknown_1132b2 - push hl - call Function113273 - jr nc, .asm_113031 - pop hl - ret - -.asm_113031 - pop hl - push bc - push hl - push hl - ld b, $0 -.asm_113037 - inc b - ld a, [hli] - cp $a - jr nz, .asm_113037 - pop hl - ld c, b - ld de, wMobileSDK_PacketBuffer + 18 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 18 - ld de, wc9b5 - ld b, c - call MobileSDK_CopyBytes - xor a - ld [de], a - pop hl - pop bc - ret - -Function113054: - ld de, Unknown_1132bf - push hl - call Function113273 - jr nc, .asm_11305f - pop hl - ret - -.asm_11305f - push bc - ld de, wc9b5 - ld b, $30 - call Function1136c1 - pop bc - pop hl - ret - -Function11306b: - ld hl, wc880 - ld a, [wc82d] - ld b, a - -Function113072: - call Function113268 - jp nc, Function113089 - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jp nz, Function1131a9 - push hl - ld hl, wc990 - res 2, [hl] - pop hl - jr Function113095 - -Function113089: - ld a, [hl] - cp $d - jr z, .asm_113094 - cp $a - jr z, Function113095 - jr Function113072 - -.asm_113094 - inc hl - -Function113095: - inc hl - push bc - ld a, [wc872] - ld b, a - ld a, [wc873] - or b - pop bc - jr z, .asm_1130b3 - ld a, [wc86a] - cp $23 - jr z, .asm_1130b3 - cp $20 - jr z, .asm_1130b3 - cp $22 - jr z, .asm_1130b3 - jr .asm_1130d6 - -.asm_1130b3 - xor a - ld hl, wc86e - ld [hli], a - ld [hl], a - ld hl, wc821 - res 2, [hl] - ld a, [wc86a] - cp $13 - jr z, .asm_1130c8 - cp $14 - ret nz - -.asm_1130c8 - ld a, $6 - ld [wc86b], a - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - ret z - jp Function112430 - -.asm_1130d6 - ld a, [wc82b] - ld c, a - dec b - dec b - ld a, b - ld [wc82d], a - jr z, .asm_11310d - ld a, [wc873] - ld d, a - ld a, [wc872] - ld e, a - dec de - dec de - xor a - or d - jr nz, .asm_1130f5 - ld a, e - cp b - jp c, Function113206 - -.asm_1130f5 - ld a, e - sub b - ld [wc82b], a - ld a, d - sbc $0 - ld [wc82c], a - ld a, [wc874] - ld e, a - ld a, [wc875] - ld d, a - inc de - inc de - call MobileSDK_CopyBytes - -.asm_11310d - ld a, [wMobileSDK_ReceivePacketBuffer] - cp $9f - jr z, .asm_113150 - ld a, [wMobileSDK_ReceivePacketBuffer + 3] - or a - jr z, .asm_113150 - ld l, c - sub c - ld c, a - ld a, l - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - add hl, bc - ld b, a - push de - ld a, [wc82b] - ld e, a - ld a, [wc82c] - ld d, a - xor a - or d - jr nz, .asm_113135 - ld a, e - cp b - jp c, Function113245 - -.asm_113135 - pop de - push hl - ld hl, wc82d - ld a, [hl] - add b - ld [hli], a - ld a, [hl] - adc 0 - ld [hl], a - ld c, b - pop hl - call MobileSDK_CopyBytes - ld hl, wc82b - ld a, [hl] - sub c - ld [hli], a - ld a, [hl] - sbc $0 - ld [hl], a - -.asm_113150 - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - ld hl, wc821 - res 2, [hl] - ld a, $1 - ld [wc86b], a - ld a, $2 - ld [wc989], a - ret - -Function113167: - ld de, Unknown_1132ff - push hl - call Function113273 - jr nc, .asm_113172 - pop hl - ret - -.asm_113172 - pop de - push bc - push de - push hl - ld b, $0 -.asm_113178 - inc b - ld a, [hli] - cp $a - jr nz, .asm_113178 - jr Function113197 - -Function113180: - ld de, Unknown_11330c - push hl - call Function113273 - jr nc, .asm_11318b - pop hl - ret - -.asm_11318b - pop de - push bc - push de - push hl - ld b, $0 -.asm_113191 - inc b - ld a, [hli] - cp $a - jr nz, .asm_113191 - -Function113197: - pop hl - ld c, b - ld de, wMobileSDK_PacketBuffer + 16 - ld a, b - ld [de], a - inc de - dec b - dec b - call MobileSDK_CopyBytes - xor a - ld [de], a - pop hl - pop bc - ret - -Function1131a9: - ld hl, wc979 - ld de, wc880 - ld b, $0 - ld c, b - ld a, [hl] - cp $a - jr z, .asm_1131c4 -.asm_1131b7 - ld a, [hld] - inc b - cp $a - jr nz, .asm_1131b7 - inc hl - inc hl - dec b - ld c, b - call MobileSDK_CopyBytes - -.asm_1131c4 - ld a, [wc82b] - ld b, a - add c - ld c, a - push bc - ld a, $ff - sub b - ld c, a - ld b, 0 - ld hl, wMobileSDK_ReceivePacketBuffer + 4 - add hl, bc - pop bc - call MobileSDK_CopyBytes - ld a, c - ld [wc82d], a - ld a, $fa - sub c - ld [wc82b], a - ld hl, wc829 - ld a, e - ld [hli], a - ld a, d - ld [hl], a - ld l, e - ld h, d - ld de, wc97a -.asm_1131ef - xor a - ld [hli], a - ld a, l - cp e - jr nz, .asm_1131ef - ld a, d - cp h - jr nz, .asm_1131ef - ld hl, wc821 - res 2, [hl] - ld hl, wc86b - dec [hl] - dec [hl] - ld a, $4 - ret - -Function113206: - ld a, b - sub e - ld [wc991], a - ld a, [wc821] - bit 2, a - ld a, c - jr nz, .asm_113214 - xor a - -.asm_113214 - ld [wc992], a - ld b, e - ld c, e - ld a, [wc874] - ld e, a - ld a, [wc875] - ld d, a - inc de - inc de - call MobileSDK_CopyBytes - ld a, [wc991] - ld [wc993], a - ld b, a - ld de, wc880 - call MobileSDK_CopyBytes - ld hl, wc82d - ld a, c - ld [hli], a - xor a - ld [hl], a - ld hl, wc821 - set 2, [hl] - ld a, $3 - ld [wc86b], a - ret - -Function113245: - ld a, b - sub e - ld [wc992], a - ld [wc82b], a - ld b, e - ld c, e - pop de - call MobileSDK_CopyBytes - ld hl, wc82d - ld a, c - add [hl] - ld [hli], a - ld a, $0 - adc [hl] - ld [hl], a - ld hl, wc821 - set 2, [hl] - ld a, $3 - ld [wc86b], a - ret - -Function113268: -.asm_113268 - dec b - ld a, [hli] - cp $a - ret z - xor a - or b - jr nz, .asm_113268 - scf - ret - -Function113273: - ld c, $0 -.asm_113275 - ld a, [de] - inc de - or a - ret z - xor [hl] - inc hl - or c - ld c, a - jr z, .asm_113275 - scf - ret - -Function113281: - ld c, $0 - push hl - ld l, e - ld h, d - pop de -.asm_113287 - ld a, [de] - inc de - call Function11329d - xor [hl] - inc hl - or c - ld c, a - xor a - cp [hl] - jr z, .asm_113298 - cp c - jr z, .asm_113287 - scf - -.asm_113298 - push hl - ld l, e - ld h, d - pop de - ret - -Function11329d: - cp $41 - ret c - cp $5b - ret nc - or $20 - ret - -Unknown_1132a6: - db "Gb-Status: ", 0 -Unknown_1132b2: - db "Gb-Auth-ID: ", 0 -Unknown_1132bf: - db "WWW-Authenticate: GB00 name=", $22, 0 -Unknown_1132dd: - db "Content-Type: application/x-cgb", $d, "\n", 0 -Unknown_1132ff: - db "URI-header: ", 0 -Unknown_11330c: - db "Location: ", 0 - -Function113317: - ld a, $1 - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer + 18 - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - call Function1126b0 - ld hl, Unknown_1132dd - ld a, [wc9a5] - or a - call nz, MobileSDK_CopyString - ld a, [wc86a] - cp $22 - jr nz, .asm_113344 - ld a, [wc98a] - cp $2 - jr nz, .asm_113351 - jr .asm_113348 - -.asm_113344 - cp $24 - jr nz, .asm_113351 - -.asm_113348 - ld a, [wc9a5] - or a - jr z, .asm_11336a - call Function1133de - -.asm_113351 - ld hl, wc9b5 - call MobileSDK_CopyString - call Function1126b6 - ld a, c - ld [wMobileSDK_PacketBuffer + 17], a - ld b, c - call Function111f63 - ld a, $95 - ld hl, wMobileSDK_PacketBuffer + 12 - jp Function111f02 - -.asm_11336a - ld hl, Unknown_113372 - call MobileSDK_CopyString - jr .asm_113351 - -Unknown_113372: - db "Content-Length: 0", $d, "\n", 0 - -Function113386: - call Function113482 - ld a, $1 - ld [wc86b], a - ld de, wMobileSDK_PacketBuffer - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86c] - ld [de], a - inc de - ld b, $1 - call Function111f63 - ld de, wMobileSDK_PacketBuffer + 12 - ld hl, MobilePacket_TransferData - ld b, $6 - call MobileSDK_CopyBytes - ld a, [wc86d] - cp $3 - jp nz, Function113317 - ld de, wMobileSDK_PacketBuffer + 18 - ld a, [wc86c] - ld [de], a - inc de - ld bc, $0001 - call Function1126b0 - ld a, [wc994] - or a - call nz, Function1133de - call Function1126b6 - ld a, c - ld [wMobileSDK_PacketBuffer + 17], a - ld b, c - call Function111f63 - ld a, $95 - ld hl, wMobileSDK_PacketBuffer + 12 - jp Function111f02 - -Function1133de: - call Function1126e6 - xor a - ld [wc86b], a - ld a, [wc9aa] - ld [wc87c], a - ld a, [wc9ab] - ld [wc87d], a - ld a, [wc9ac] - ld [wc87e], a - ld a, [wc9ad] - ld [wc87f], a - ret - -Function1133fe: - ld hl, wMobileSDK_PacketBuffer + 17 - ld a, [hli] - cp "h" - jr nz, .asm_113432 - ld a, [hli] - cp "t" - jr nz, .asm_113432 - ld a, [hli] - cp "t" - jr nz, .asm_113432 - ld a, [hli] - cp "p" - jr nz, .asm_113432 - ld a, [hli] - cp ":" - jr nz, .asm_113432 - ld a, [hli] - cp "/" - jr nz, .asm_113432 - ld a, [hli] - cp "/" - jr nz, .asm_113432 - ld hl, wMobileSDK_PacketBuffer + 16 - ld de, wc880 - ld a, [hli] - ld b, a - call MobileSDK_CopyBytes - xor a - ld [de], a - ret - -.asm_113432 - ld a, [wMobileSDK_PacketBuffer + 17] - cp "/" - jr z, .asm_113460 - ld de, wc880 - ld hl, wc9b5 - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - call MobileSDK_CopyString - ld l, e - ld h, d -.asm_11344c - ld a, [hld] - cp "/" - jr nz, .asm_11344c - inc hl - inc hl - ld e, l - ld d, h -.asm_113455 - ld hl, wMobileSDK_PacketBuffer + 16 - ld a, [hli] - ld b, a - call MobileSDK_CopyBytes - xor a - ld [de], a - ret - -.asm_113460 - ld de, wc880 - ld hl, wc9b5 - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - cp "/" - jr z, .asm_113478 - ld b, $7 - call MobileSDK_CopyBytes - -.asm_113478 - ld a, [hli] - ld [de], a - inc de - cp "/" - jr nz, .asm_113478 - dec de - jr .asm_113455 - -Function113482: - ld hl, wc87f - ld a, [hld] - ld b, a - ld a, [hld] - ld c, a - ld a, b - or c - ret z - pop hl - ld hl, rSC - add hl, bc - jr c, .asm_113496 - xor a - ld l, a - ld h, a - -.asm_113496 - ld e, l - ld d, h - ld hl, wc87f - ld a, d - ld [hld], a - ld a, e - ld [hld], a - jr nc, .asm_1134a3 - ld c, $fe - -.asm_1134a3 - ld a, [hld] - ld l, [hl] - ld h, a - ld a, c - inc a - ld [wMobileSDK_PacketBuffer + 5], a - ld de, wMobileSDK_PacketBuffer + 7 - ld b, c - call MobileSDK_CopyBytes - ld a, l - ld [wc87c], a - ld a, h - ld [wc87d], a - ld b, c - inc b - call Function111f63 - ld hl, wc86b - dec [hl] - ld hl, wMobileSDK_PacketBuffer - ld a, $95 - jp Function111f02 - -Function1134cb: - dec a - jr z, .asm_1134d9 - dec a - jr z, .asm_1134f4 - dec a - jr z, .asm_1134fc - dec a - jr z, .asm_11350e - dec [hl] - ret - -.asm_1134d9 - ld a, [wMobileSDK_ReceivePacketBuffer + 4] - cp $0 - jr z, .asm_1134f0 - cp $ff - jr z, .asm_1134f0 - ld a, [wc985] - ld [wc86a], a - ld hl, wc821 - res 0, [hl] - ret - -.asm_1134f0 - inc [hl] - inc [hl] - jr .asm_1134fc - -.asm_1134f4 - ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80 - ld hl, MobilePacket_TelephoneStatus - jp PacketSendEmptyBody - -.asm_1134fc - ld hl, wc86e - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMobileSDK_ReceivePacketBuffer + 6] - cp $f0 - jr c, .asm_11350b - set 7, [hl] - -.asm_11350b - jp Mobile_EndSession - -.asm_11350e - ld a, [wc86a] - cp $1e - jp nz, Function112251 - jp Function1116a0 - -Function113519: - dec a - jr z, .asm_113527 - dec a - jr z, .asm_11352d - dec a - jr z, .asm_11353c - dec a - jr z, .asm_11353f - dec [hl] - ret - -.asm_113527 - ld hl, MobilePacket_ReadConfigurationDataPart1 - jp Function11236b - -.asm_11352d - ld hl, wc829 - ld a, LOW(wc8ca + 22) - ld [hli], a - ld a, HIGH(wc8ca + 22) - ld [hli], a - ld hl, MobilePacket_ReadConfigurationDataPart2 - jp Function11236b - -.asm_11353c - jp Mobile_EndSession - -.asm_11353f - ld hl, wc880 - ld a, [hli] - cp "M" - jr nz, .asm_113586 - ld a, [hld] - cp "A" - jr nz, .asm_113586 - ld b, $be - ld de, 0 -.asm_113551 - ld a, [hli] - add e - ld e, a - ld a, $0 - adc d - ld d, a - dec b - jr nz, .asm_113551 - ld a, [hli] - cp d - jr nz, .asm_11358a - ld a, [hl] - cp e - jr nz, .asm_11358a - ld a, [wc86e] - ld e, a - ld a, [wc86e + 1] - ld d, a - ld hl, .asm_11357e - push hl - ld a, [wc86a] - cp $25 - jr z, Function1135ba - cp $26 - jr z, Function11359d - cp $27 - jr z, Function1135ad -.asm_11357e - ld a, $1 - ld [wc835], a - jp Function1116a0 - -.asm_113586 - ld a, $25 - jr .asm_11358c - -.asm_11358a - ld a, $14 - -.asm_11358c - call Function11225d - jp Function1116a4 - -Function113592: - push de - ld l, e - ld h, d - xor a - ld [hl], a - inc de - call MobileSDK_CopyBytes - pop de - ret - -Function11359d: - ld b, $20 - call Function113592 - ld a, $21 - ld hl, wc88c - call MobileSDK_CopyStringLen - xor a - ld [de], a - ret - -Function1135ad: - ld b, $1e - call Function113592 - ld a, $1f - ld hl, wc8ac - jp MobileSDK_CopyStringLen - -Function1135ba: - ld b, $65 - call Function113592 - ld hl, wc8f6 - call Function1135eb - ld a, $11 - ld hl, wc8fe - call MobileSDK_CopyStringLen - inc de - ld hl, wc90e - call Function1135eb - ld a, $11 - ld hl, wc916 - call MobileSDK_CopyStringLen - inc de - ld hl, wc926 - call Function1135eb - ld a, $11 - ld hl, wc92e - jp MobileSDK_CopyStringLen - -Function1135eb: - ld b, $8 -.asm_1135ed - ld a, [hl] - swap a - and $f - cp $f - jr z, .asm_11361c - or $30 - cp $3a - call z, Function113620 - cp $3b - call z, Function113623 - ld [de], a - inc de - ld a, [hli] - and $f - cp $f - jr z, .asm_11361c - or $30 - cp $3a - call z, Function113620 - cp $3b - call z, Function113623 - ld [de], a - inc de - dec b - jr nz, .asm_1135ed - -.asm_11361c - xor a - ld [de], a - inc de - ret - -Function113620: - ld a, $23 - ret - -Function113623: - ld a, $2a - ret - -Function113626: - dec a - jr z, .asm_113634 - dec a - jr z, .asm_113639 - dec a - jr z, .asm_11366c - dec a - jr z, .asm_11366f - dec [hl] - ret - -.asm_113634 - ld b, $9a - jp Function11234b - -.asm_113639 - ld a, [wc882] - or a - jr nz, .asm_113642 - inc [hl] - jr .asm_11366c - -.asm_113642 - ld de, wMobileSDK_PacketBuffer + 5 - ld c, a - inc a - ld [de], a - inc de - ld a, $80 - ld [de], a - inc de - ld hl, wc880 - ld a, [hli] - ld h, [hl] - ld l, a - ld b, c - call MobileSDK_CopyBytes - ld b, c - inc b - call Function111f63 - ld a, [wMobileSDK_PacketBuffer + 5] - add $a - ld e, a - ld d, 0 - ld a, $9a - ld hl, wMobileSDK_PacketBuffer - jp Function111f02 - -.asm_11366c - jp Mobile_EndSession - -.asm_11366f - jp Function1116a0 - -Function113672: - dec a - jr z, .asm_113680 - dec a - jr z, .asm_113686 - dec a - jr z, .asm_1136bb - dec a - jr z, .asm_1136be - dec [hl] - ret - -.asm_113680 - ld hl, wMobileSDK_PacketBuffer - jp Function11236b - -.asm_113686 - ld a, [wc882] - or a - jr z, .asm_113693 - cp $81 - jr nc, .asm_113693 - inc [hl] - jr .asm_1136bb - -.asm_113693 - ld hl, wMobileSDK_PacketBuffer + 7 - sub $80 - ld [hld], a - ld a, $80 - ld [hl], a - ld de, wMobileSDK_PacketBuffer + 8 - ld b, $2 - call Function111f63 - ld hl, wc880 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, $0080 - add hl, de - ld e, h - ld a, l - ld hl, wc829 - ld [hli], a - ld [hl], e - ld hl, wMobileSDK_PacketBuffer - jp Function11236b - -.asm_1136bb - jp Mobile_EndSession - -.asm_1136be - jp Function1116a0 - -Function1136c1: - xor a - ld [wMobileSDK_PacketBuffer + 225], a - ld a, l - ld [wMobileSDK_PacketBuffer + 192], a - ld a, h - ld [wMobileSDK_PacketBuffer + 193], a - ld hl, wMobileSDK_PacketBuffer + 194 - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ld a, b - ld [hli], a - ld hl, wMobileSDK_PacketBuffer + 192 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 32 - ld b, $30 - ld c, b - call MobileSDK_CopyBytes - ld hl, wc97f - ld a, [hli] - ld h, [hl] - ld l, a -.asm_1136eb - ld a, [hli] - or a - jr nz, .asm_1136eb - call MobileSDK_CopyString - ld a, $37 - cp c - inc a - jr nc, .asm_1136ff - ld a, $2 - ld [wMobileSDK_PacketBuffer + 225], a - ld a, $78 - -.asm_1136ff - sub c - ld b, a - ld a, $80 - ld [de], a - inc de - xor a -.asm_113706 - dec b - jr z, .asm_11370d - ld [de], a - inc de - jr .asm_113706 - -.asm_11370d - or a - sla c - rl b - sla c - rl b - sla c - rl b - ld a, c - ld [de], a - inc de - ld a, b - ld [de], a - inc de - ld l, e - ld h, d - ld b, $6 - xor a -.asm_113725 - ld [hli], a - dec b - jr nz, .asm_113725 - ld de, wMobileSDK_PacketBuffer + 160 - ld hl, Unknown_113b7e - ld b, $10 - call MobileSDK_CopyBytes - -.asm_113734 - ld hl, wMobileSDK_PacketBuffer + 197 - ld a, LOW(MD5_K_Table) - ld [hli], a - ld a, HIGH(MD5_K_Table) - ld [hl], a - ld hl, wMobileSDK_PacketBuffer + 199 - ld a, LOW(Unknown_113a70) - ld [hli], a - ld a, HIGH(Unknown_113a70) - ld [hl], a - ld hl, wMobileSDK_PacketBuffer + 160 - ld de, wMobileSDK_PacketBuffer + 209 - ld b, $10 - call MobileSDK_CopyBytes - -.asm_113751 - ld hl, wMobileSDK_PacketBuffer + 199 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - ld c, a - push hl - call Function113909 - ld hl, wMobileSDK_PacketBuffer + 176 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a32 - pop hl - ld a, [hli] - ld d, [hl] - inc hl - ld e, a - push hl - ld a, [wMobileSDK_PacketBuffer + 225] - bit 0, a - jr z, .asm_11377c - ld hl, $0040 - add hl, de - ld e, l - ld d, h - -.asm_11377c - ld hl, wMobileSDK_PacketBuffer + 32 - add hl, de - ld e, l - ld d, h - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a32 - ld hl, wMobileSDK_PacketBuffer + 197 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a32 - pop hl - ld a, [hli] - ld b, a - ld a, l - ld [wMobileSDK_PacketBuffer + 199], a - ld a, h - ld [wMobileSDK_PacketBuffer + 200], a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a40 - ld hl, wMobileSDK_PacketBuffer + 178 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a32 - ld hl, wMobileSDK_PacketBuffer + 176 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 197 - ld a, [hli] - ld h, [hl] - ld l, a -rept 4 - inc hl -endr - ld a, h - ld [wMobileSDK_PacketBuffer + 198], a - ld a, l - ld [wMobileSDK_PacketBuffer + 197], a - cp $8e ; LOW(MD5_K_Table + $100) ??? - jp nz, .asm_113751 - ld de, wMobileSDK_PacketBuffer + 209 - ld hl, wMobileSDK_PacketBuffer + 160 - call Function113a32 - ld de, wMobileSDK_PacketBuffer + 213 - call Function113a32 - ld de, wMobileSDK_PacketBuffer + 217 - call Function113a32 - ld de, wMobileSDK_PacketBuffer + 221 - call Function113a32 - ld hl, wMobileSDK_PacketBuffer + 225 - bit 1, [hl] - jr z, .asm_1137fc - dec [hl] - jp .asm_113734 - -.asm_1137fc - ld hl, wMobileSDK_PacketBuffer + 32 - ld de, wMobileSDK_PacketBuffer + 80 - ld bc, $0030 - call Function113d66 - ld hl, wMobileSDK_PacketBuffer + 194 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, Unknown_113a55 - call MobileSDK_CopyString - ld hl, wMobileSDK_PacketBuffer + 80 - ld bc, $0020 - call Function113c8e - ld a, l - ld [wMobileSDK_PacketBuffer + 194], a - ld a, h - ld [wMobileSDK_PacketBuffer + 195], a - ld b, $12 - ld hl, wMobileSDK_PacketBuffer + 80 - ld de, wMobileSDK_PacketBuffer + 32 -.asm_11382d - ld a, $40 - and [hl] - rlca - ld c, a - ld a, [hli] - bit 4, a - jr z, .asm_113839 - set 6, c - -.asm_113839 - bit 2, a - jr z, .asm_11383f - set 5, c - -.asm_11383f - bit 0, a - jr z, .asm_113845 - set 4, c - -.asm_113845 - ld a, [hli] - bit 6, a - jr z, .asm_11384c - set 3, c - -.asm_11384c - bit 4, a - jr z, .asm_113852 - set 2, c - -.asm_113852 - bit 2, a - jr z, .asm_113858 - set 1, c - -.asm_113858 - bit 0, a - jr z, .asm_11385e - set 0, c - -.asm_11385e - ld a, c - ld [de], a - inc de - dec b - jr nz, .asm_11382d - ld b, $12 - ld hl, wMobileSDK_PacketBuffer + 115 - ld de, wMobileSDK_PacketBuffer + 67 -.asm_11386c - ld a, $2 - and [hl] - rrca - ld c, a - ld a, [hld] - bit 3, a - jr z, .asm_113878 - set 1, c - -.asm_113878 - bit 5, a - jr z, .asm_11387e - set 2, c - -.asm_11387e - bit 7, a - jr z, .asm_113884 - set 3, c - -.asm_113884 - ld a, [hld] - bit 1, a - jr z, .asm_11388b - set 4, c - -.asm_11388b - bit 3, a - jr z, .asm_113891 - set 5, c - -.asm_113891 - bit 5, a - jr z, .asm_113897 - set 6, c - -.asm_113897 - bit 7, a - jr z, .asm_11389d - set 7, c - -.asm_11389d - ld a, c - ld [de], a - dec de - dec b - jr nz, .asm_11386c - ld b, $10 - ld de, wMobileSDK_PacketBuffer + 80 - ld hl, wMobileSDK_PacketBuffer + 160 - call MobileSDK_CopyBytes - ld bc, $0010 - ld hl, wc97f - ld a, [hli] - ld h, [hl] - ld l, a - call MobileSDK_CopyString - ld a, $24 - sub c - ld b, a - ld l, e - ld h, d - ld a, $ff -.asm_1138c2 - ld [hli], a - dec b - jr nz, .asm_1138c2 - xor a - ld [hl], a - ld b, $24 - ld hl, wMobileSDK_PacketBuffer + 32 - ld de, wMobileSDK_PacketBuffer + 80 -.asm_1138d0 - ld a, [de] - inc de - xor [hl] - ld c, $0 - bit 0, a - jr z, .asm_1138db - set 3, c - -.asm_1138db - bit 3, a - jr z, .asm_1138e1 - set 6, c - -.asm_1138e1 - bit 6, a - jr z, .asm_1138e7 - set 0, c - -.asm_1138e7 - and $b6 - or c - ld [hli], a - dec b - jr nz, .asm_1138d0 - ld hl, wMobileSDK_PacketBuffer + 194 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 32 - ld bc, $0024 - call Function113c8e - ld a, $22 - ld [hli], a - ld a, $d - ld [hli], a - ld a, $a - ld [hli], a - xor a - ld [hl], a - ret - -Function113909: - call Function11391e - ld a, c - and $f0 - swap a - or a - jr z, Function11392f - dec a - jr z, Function113973 - dec a - jp z, Function1139b7 - jp Function1139de - -Function11391e: - and $f - ld e, a - ld d, 0 - ld hl, Unknown_113b70 - add hl, de - ld de, wMobileSDK_PacketBuffer + 176 - ld b, $8 - jp MobileSDK_CopyBytes - -Function11392f: - ld hl, wMobileSDK_PacketBuffer + 178 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 184 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 180 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a0b - ld hl, wMobileSDK_PacketBuffer + 178 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 188 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 188 - call Function113a1f - ld hl, wMobileSDK_PacketBuffer + 182 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 188 - call Function113a0b - ld hl, wMobileSDK_PacketBuffer + 184 - ld de, wMobileSDK_PacketBuffer + 188 - call Function113a15 - ret - -Function113973: - ld hl, wMobileSDK_PacketBuffer + 178 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 184 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 182 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a0b - ld hl, wMobileSDK_PacketBuffer + 182 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 188 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 188 - call Function113a1f - ld hl, wMobileSDK_PacketBuffer + 180 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 188 - call Function113a0b - ld hl, wMobileSDK_PacketBuffer + 184 - ld de, wMobileSDK_PacketBuffer + 188 - call Function113a15 - ret - -Function1139b7: - ld hl, wMobileSDK_PacketBuffer + 178 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 184 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 180 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a28 - ld hl, wMobileSDK_PacketBuffer + 182 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a28 - ret - -Function1139de: - ld hl, wMobileSDK_PacketBuffer + 182 - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wMobileSDK_PacketBuffer + 184 - ld b, $4 - call MobileSDK_CopyBytes - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a1f - ld hl, wMobileSDK_PacketBuffer + 178 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a15 - ld hl, wMobileSDK_PacketBuffer + 180 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wMobileSDK_PacketBuffer + 184 - call Function113a28 - ret - -Function113a0b: - ld b, $4 -.asm_113a0d - ld a, [de] - inc de - and [hl] - ld [hli], a - dec b - jr nz, .asm_113a0d - ret - -Function113a15: - ld b, $4 -.asm_113a17 - ld a, [de] - inc de - or [hl] - ld [hli], a - dec b - jr nz, .asm_113a17 - ret - -Function113a1f: - ld b, $4 -.asm_113a21 - ld a, [hl] - cpl - ld [hli], a - dec b - jr nz, .asm_113a21 - ret - -Function113a28: - ld b, $4 -.asm_113a2a - ld a, [de] - inc de - xor [hl] - ld [hli], a - dec b - jr nz, .asm_113a2a - ret - -Function113a32: - ld a, [de] - inc de - add [hl] - ld [hli], a - ld b, $3 -.asm_113a38 - ld a, [de] - inc de - adc [hl] - ld [hli], a - dec b - jr nz, .asm_113a38 - ret - -Function113a40: -.asm_113a40 - or a - push hl - ld a, [hli] - rla - ld a, [hl] - rla - ld [hli], a - ld a, [hl] - rla - ld [hli], a - ld a, [hl] - rla - ld [hl], a - pop hl - ld a, [hl] - rla - ld [hl], a - dec b - jr nz, .asm_113a40 - ret - -Unknown_113a55: - db "Authorization: GB00 name=", $22, 0 - -Unknown_113a70: - db $00, $00, $00, $07, $06, $04, $00, $0c, $04, $08, $00, $11, $02, $0c, $00, $16 - db $00, $10, $00, $07, $06, $14, $00, $0c, $04, $18, $00, $11, $02, $1c, $00, $16 - db $00, $20, $00, $07, $06, $24, $00, $0c, $04, $28, $00, $11, $02, $2c, $00, $16 - db $00, $30, $00, $07, $06, $34, $00, $0c, $04, $38, $00, $11, $02, $3c, $00, $16 - db $10, $04, $00, $05, $16, $18, $00, $09, $14, $2c, $00, $0e, $12, $00, $00, $14 - db $10, $14, $00, $05, $16, $28, $00, $09, $14, $3c, $00, $0e, $12, $10, $00, $14 - db $10, $24, $00, $05, $16, $38, $00, $09, $14, $0c, $00, $0e, $12, $20, $00, $14 - db $10, $34, $00, $05, $16, $08, $00, $09, $14, $1c, $00, $0e, $12, $30, $00, $14 - db $20, $14, $00, $04, $26, $20, $00, $0b, $24, $2c, $00, $10, $22, $38, $00, $17 - db $20, $04, $00, $04, $26, $10, $00, $0b, $24, $1c, $00, $10, $22, $28, $00, $17 - db $20, $34, $00, $04, $26, $00, $00, $0b, $24, $0c, $00, $10, $22, $18, $00, $17 - db $20, $24, $00, $04, $26, $30, $00, $0b, $24, $3c, $00, $10, $22, $08, $00, $17 - db $30, $00, $00, $06, $36, $1c, $00, $0a, $34, $38, $00, $0f, $32, $14, $00, $15 - db $30, $30, $00, $06, $36, $0c, $00, $0a, $34, $28, $00, $0f, $32, $04, $00, $15 - db $30, $20, $00, $06, $36, $3c, $00, $0a, $34, $18, $00, $0f, $32, $34, $00, $15 - db $30, $10, $00, $06, $36, $2c, $00, $0a, $34, $08, $00, $0f, $32, $24, $00, $15 - -Unknown_113b70: - dw wMobileSDK_PacketBuffer + 160 - dw wMobileSDK_PacketBuffer + 164 - dw wMobileSDK_PacketBuffer + 168 - dw wMobileSDK_PacketBuffer + 172 - dw wMobileSDK_PacketBuffer + 160 - dw wMobileSDK_PacketBuffer + 164 - dw wMobileSDK_PacketBuffer + 168 - -Unknown_113b7e: - db $01, $23, $45, $67, $89, $ab, $cd, $ef - db $fe, $dc, $ba, $98, $76, $54, $32, $10 - -MD5_K_Table: - dl $d76aa478, $e8c7b756, $242070db, $c1bdceee - dl $f57c0faf, $4787c62a, $a8304613, $fd469501 - dl $698098d8, $8b44f7af, $ffff5bb1, $895cd7be - dl $6b901122, $fd987193, $a679438e, $49b40821 - dl $f61e2562, $c040b340, $265e5a51, $e9b6c7aa - dl $d62f105d, $02441453, $d8a1e681, $e7d3fbc8 - dl $21e1cde6, $c33707d6, $f4d50d87, $455a14ed - dl $a9e3e905, $fcefa3f8, $676f02d9, $8d2a4c8a - dl $fffa3942, $8771f681, $6d9d6122, $fde5380c - dl $a4beea44, $4bdecfa9, $f6bb4b60, $bebfbc70 - dl $289b7ec6, $eaa127fa, $d4ef3085, $04881d05 - dl $d9d4d039, $e6db99e5, $1fa27cf8, $c4ac5665 - dl $f4292244, $432aff97, $ab9423a7, $fc93a039 - dl $655b59c3, $8f0ccc92, $ffeff47d, $85845dd1 - dl $6fa87e4f, $fe2ce6e0, $a3014314, $4e0811a1 - dl $f7537e82, $bd3af235, $2ad7d2bb, $eb86d391 - -Function113c8e: - ld a, c - ld [wMobileSDK_PacketBuffer + 201], a - ld a, b - ld [wMobileSDK_PacketBuffer + 202], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b - xor a - ld [wMobileSDK_PacketBuffer + 207], a - -.asm_113ca0 - ld b, $3 - push hl - ld hl, wMobileSDK_PacketBuffer + 203 -.asm_113ca6 - ld a, [de] - inc de - ld [hli], a - dec b - jr nz, .asm_113ca6 - ld a, [wMobileSDK_PacketBuffer + 201] - ld c, a - ld a, [wMobileSDK_PacketBuffer + 202] - ld b, a - xor a - or b - jr nz, .asm_113ccf - ld a, $2 - cp c - jr c, .asm_113ccf - push hl - dec hl - ld a, c - ld [wMobileSDK_PacketBuffer + 207], a -.asm_113cc3 - xor a - ld [hld], a - inc c - ld a, $3 - cp c - jr nz, .asm_113cc3 - pop hl - ld bc, $0003 - -.asm_113ccf - dec bc - dec bc - dec bc - ld a, c - ld [wMobileSDK_PacketBuffer + 201], a - ld a, b - ld [wMobileSDK_PacketBuffer + 202], a - push de - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - ld d, a - srl a - srl a - ld [hli], a - ld a, $3 - and d - ld d, a - ld a, $f0 - and b - or d - swap a - ld [hli], a - ld a, $f - and b - ld d, a - ld a, c - and $c0 - or d - rlca - rlca - ld [hli], a - ld a, $3f - and c - ld [hld], a - dec hl - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - inc bc - call Function113d47 - ld [hli], a - ld a, [bc] - inc bc - call Function113d47 - ld [hli], a - ld a, [bc] - inc bc - call Function113d47 - ld [hli], a - ld a, [bc] - inc bc - call Function113d47 - ld [hli], a - ld a, [wMobileSDK_PacketBuffer + 201] - cp $0 - jp nz, .asm_113ca0 - ld a, [wMobileSDK_PacketBuffer + 202] - cp $0 - jp nz, .asm_113ca0 - ld a, [wMobileSDK_PacketBuffer + 207] - cp $0 - jr z, .asm_113d43 - push hl - dec hl - ld b, a -.asm_113d39 - ld a, $3d - ld [hld], a - inc b - ld a, $3 - cp b - jr nz, .asm_113d39 - pop hl - -.asm_113d43 - ld a, $0 - ld [hl], a - ret - -Function113d47: - cp $1a - jr c, .asm_113d5a - cp $34 - jr c, .asm_113d5d - cp $3e - jr c, .asm_113d60 - cp $3e - jr z, .asm_113d63 - ld a, $2f - ret - -.asm_113d5a - add $41 - ret - -.asm_113d5d - add $47 - ret - -.asm_113d60 - sub $4 - ret - -.asm_113d63 - ld a, $2b - ret - -Function113d66: - ld a, c - ld [wMobileSDK_PacketBuffer + 201], a - ld a, b - ld [wMobileSDK_PacketBuffer + 202], a - ld c, e - ld b, d - ld e, l - ld d, h - ld l, c - ld h, b -.asm_113d74 - ld a, [wMobileSDK_PacketBuffer + 202] - or a - jr nz, .asm_113d82 - ld a, [wMobileSDK_PacketBuffer + 201] - cp $4 - jp c, .asm_113e26 - -.asm_113d82 - ld b, $4 - push hl - ld hl, wMobileSDK_PacketBuffer + 203 -.asm_113d88 - ld a, [de] - inc de - call .decodeBase64Character - ld [hli], a - dec b - jr nz, .asm_113d88 - ld a, [wMobileSDK_PacketBuffer + 201] - ld c, a - ld a, [wMobileSDK_PacketBuffer + 202] - ld b, a -rept 4 - dec bc -endr - ld a, b - or c - jr z, .asm_113dae -.asm_113da1 - ld a, [de] - cp $d - jr z, .asm_113daa - cp $a - jr nz, .asm_113dae - -.asm_113daa - inc de - dec bc - jr .asm_113da1 - -.asm_113dae - ld a, c - ld [wMobileSDK_PacketBuffer + 201], a - ld a, b - ld [wMobileSDK_PacketBuffer + 202], a - push de - dec hl - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - ld b, h - ld c, l - pop hl - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - inc bc - ld a, [bc] - ld [hli], a - ld a, [wMobileSDK_PacketBuffer + 201] - or a - jr nz, .asm_113d74 - ld a, [wMobileSDK_PacketBuffer + 202] - or a - jp nz, .asm_113d74 - xor a - ld [hl], a - ret - -.decodeBase64Character: - cp "+" - jr c, .asm_113e24 - jr z, .asm_113e31 - cp "/" - jr c, .asm_113e24 - jr z, .asm_113e34 - cp "0" - jr c, .asm_113e24 - cp "9" + 1 - jr c, .asm_113e37 - cp "=" - jr c, .asm_113e24 - jr z, .asm_113e3a - cp "A" - jr c, .asm_113e24 - cp "Z" + 1 - jr c, .asm_113e3c - cp "a" - jr c, .asm_113e24 - cp "z" + 1 - jr c, .asm_113e3f - -.asm_113e24 - pop hl - pop hl -.asm_113e26 - ld hl, wc821 - set 1, [hl] - ld a, $20 - ld [wc80f], a - ret - -.asm_113e31 - ld a, $3e - ret - -.asm_113e34 - ld a, $3f - ret - -.asm_113e37 - add $4 - ret - -.asm_113e3a - xor a - ret - -.asm_113e3c - sub $41 - ret - -.asm_113e3f - sub $47 - ret - -Function113e42: - dec a - jr z, .asm_113e4f - dec a - jr z, .asm_113e85 - dec a - jr z, .asm_113ea8 - dec a - jr z, .asm_113eb0 - ret - -.asm_113e4f - ld a, [wc807] - cp $8 - jr nz, .asm_113e58 -.asm_113e56 - dec [hl] - ret - -.asm_113e58 - xor a - ld [wc86d], a - ld a, $2 - ld [wc86a], a - ld hl, wc821 - ld a, [hl] - and $10 - set 5, a - ld [hl], a - jp Function113eb8 - -.asm_113e6d - ld a, [wc86d] - or a - ld a, [wMobileSDK_ReceivePacketBuffer] - jr z, .asm_113e81 - cp $9f - jr z, .asm_113e85 - cp $a4 - jr z, .asm_113e85 -.asm_113e7e - jp Function112430 - -.asm_113e81 - cp $a3 - jr z, .asm_113e7e - -.asm_113e85 - xor a - ld [wc86d], a - ld [wMobileSDK_SendCommandID], a - ld a, $2 - ld [wc86a], a - ld a, $3 - ld [wc807], a - ld hl, wc821 - ld a, [hl] - and $10 - set 5, a - ld [hl], a - ld hl, wc822 - bit 0, [hl] - call z, Function111f97 - ret - -.asm_113ea8 - ld a, [wc807] - cp $8 - jr z, .asm_113e56 - ret - -.asm_113eb0 - ld a, $1 - ld [wc86b], a - jp .asm_113e6d - -Function113eb8: - ld a, $ff - ld [wMobileSDK_SendCommandID], a - ld hl, wc822 - res 5, [hl] - res 0, [hl] - jp Function111f97 - -Function113ec7: ; unreferenced - ld hl, wc822 - ld a, [hl] - push af - res 3, [hl] - res 0, [hl] - ld hl, wc81a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - inc hl - ld a, [hld] - dec hl - xor $80 - ld [wMobileSDK_SendCommandID], a - ld b, $5 - call PacketSendBytes - pop af - bit 0, a - ret z - ld hl, wc822 - set 0, [hl] - ret - -Function113ef2: - dec a - jr z, .asm_113efa - dec a - jr z, .asm_113f03 - dec [hl] - ret - -.asm_113efa - ld a, [wc807] - cp $8 - jr nz, Function113eb8 - dec [hl] - ret - -.asm_113f03 - ld a, $26 - call Function11225d - ld a, $2a - ld [wc86a], a - ld hl, wc820 - ld a, [hld] - ld h, [hl] - ld l, a - ld e, l - ld d, h - add hl, de - add hl, de - ld e, l - ld d, h - ld hl, wc815 - ld e, a - ld [hli], a - ld a, d - ld [hl], a - xor a - ld [wc800], a - ld hl, wMobileSDK_PacketBuffer - ld a, $2 - ld [hli], a - dec a - ld [hl], a - ret - -Function113f2d: - dec a - jr z, .asm_113f35 - dec a - jr z, .asm_113f4f - dec [hl] - ret - -.asm_113f35 - ld a, [wc807] - cp $8 - jr nz, .asm_113f3e - dec [hl] - ret - -.asm_113f3e - xor a - ld [wMobileSDK_ReceivePacketBuffer], a - ld [wMobileSDK_ReceivePacketBufferAlt], a - ld a, [wMobileSDK_SendCommandID] - cp $91 - jr z, .asm_113f4f - jp Function113eb8 - -.asm_113f4f - xor a - ld [wc86d], a - ld hl, wc821 - set 0, [hl] - ld hl, wc822 - xor a - ld [hl], a - xor a - ld [wc80b], a - xor a - ld [wMobileSDK_PacketBuffer], a - ld hl, wc820 - ld a, [hld] - ld h, [hl] - ld l, a - ld e, l - ld d, h - add hl, de - add hl, de - ld e, l - ld d, h - ld hl, wc815 - ld e, a - ld [hli], a - ld a, d - ld [hl], a - xor a - ld [wc800], a - ld hl, wMobileSDK_PacketBuffer - xor a - ld [hli], a - inc a - ld [hl], a - ret diff --git a/main.asm b/main.asm index a8c32e207..452aaf6c3 100644 --- a/main.asm +++ b/main.asm @@ -64,7 +64,6 @@ INCLUDE "engine/events/std_collision.asm" INCLUDE "engine/events/bug_contest/judging.asm" INCLUDE "engine/events/pokerus/apply_pokerus_tick.asm" INCLUDE "engine/events/bug_contest/contest_2.asm" -INCLUDE "engine/pokemon/correct_party_errors.asm" INCLUDE "engine/math/get_square_root.asm" @@ -134,7 +133,6 @@ INCLUDE "engine/battle/trainer_huds.asm" INCLUDE "data/trainers/class_names.asm" INCLUDE "engine/battle/ai/redundant.asm" INCLUDE "engine/events/move_deleter.asm" -INCLUDE "engine/link/mystery_gift_2.asm" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/pokemon/print_move_description.asm" INCLUDE "engine/events/pokerus/pokerus.asm" @@ -184,9 +182,7 @@ INCLUDE "engine/events/move_tutor.asm" INCLUDE "engine/gfx/crystal_layouts.asm" INCLUDE "engine/events/celebi.asm" INCLUDE "engine/menus/main_menu.asm" -INCLUDE "mobile/mobile_menu.asm" INCLUDE "engine/pokemon/search_owned.asm" -INCLUDE "mobile/mobile_12_2.asm" INCLUDE "engine/events/buena_menu.asm" @@ -219,9 +215,7 @@ INCLUDE "engine/pokemon/stats_screen.asm" INCLUDE "engine/events/catch_tutorial.asm" INCLUDE "engine/movie/evolution_animation.asm" INCLUDE "engine/movie/init_hof_credits.asm" -INCLUDE "engine/events/battle_tower/get_trainer_class.asm" INCLUDE "engine/battle/sliding_intro.asm" -INCLUDE "mobile/print_opp_message.asm" INCLUDE "engine/battle/check_battle_scene.asm" INCLUDE "engine/movie/gbc_only.asm" INCLUDE "engine/events/poke_seer.asm" @@ -289,12 +283,9 @@ SECTION "Crystal Features 2", ROMX INCLUDE "engine/events/kurt.asm" INCLUDE "engine/gfx/player_gfx.asm" -INCLUDE "mobile/mobile_22.asm" INCLUDE "engine/events/unown_walls.asm" INCLUDE "engine/events/buena.asm" INCLUDE "engine/events/dratini.asm" -INCLUDE "engine/events/battle_tower/rules.asm" -INCLUDE "mobile/mobile_22_2.asm" SECTION "bank23", ROMX @@ -486,61 +477,26 @@ INCLUDE "engine/events/npc_trade.asm" INCLUDE "engine/events/mom_phone.asm" -SECTION "mobile40", ROMX - -INCLUDE "mobile/mobile_40.asm" - - SECTION "bank41", ROMX INCLUDE "engine/gfx/dma_transfer.asm" INCLUDE "gfx/emotes.asm" INCLUDE "engine/overworld/warp_connection.asm" -INCLUDE "engine/link/mystery_gift.asm" INCLUDE "engine/battle/used_move_text.asm" -INCLUDE "mobile/mobile_41.asm" INCLUDE "engine/gfx/load_overworld_font.asm" -SECTION "mobile42", ROMX - -INCLUDE "mobile/mobile_42.asm" - - SECTION "Title", ROMX INCLUDE "engine/movie/unused_title.asm" INCLUDE "engine/movie/title.asm" -SECTION "mobile45", ROMX - -INCLUDE "mobile/mobile_45_sprite_engine.asm" -INCLUDE "mobile/mobile_45_2.asm" -INCLUDE "mobile/mobile_45_stadium.asm" - - -SECTION "mobile46", ROMX - -INCLUDE "mobile/mobile_46.asm" - - -SECTION "Battle Tower", ROMX - -INCLUDE "engine/events/battle_tower/trainer_text.asm" - - SECTION "bank5B", ROMX -INCLUDE "mobile/mobile_5b.asm" INCLUDE "engine/link/link_trade.asm" -SECTION "mobile5C", ROMX - -INCLUDE "mobile/mobile_5c.asm" - - SECTION "Crystal Phone Text 2", ROMX INCLUDE "data/phone/text/bike_shop.asm" @@ -565,16 +521,6 @@ SECTION "UpdateBattleHUDs", ROMX INCLUDE "engine/battle/update_battle_huds.asm" -SECTION "mobile5E", ROMX - -INCLUDE "mobile/mobile_5e.asm" - - -SECTION "mobile5F", ROMX - -INCLUDE "mobile/mobile_5f.asm" - - SECTION "Phone Text 2", ROMX INCLUDE "data/text/std_text.asm" @@ -662,27 +608,6 @@ INCLUDE "engine/debug/debug_room.asm" endc -SECTION "Battle Tower Text", ROMX - -INCLUDE "data/battle_tower/trainer_text.asm" - - -SECTION "Battle Tower Trainer Data", ROMX - -INCLUDE "data/battle_tower/unknown.asm" - - -SECTION "Mobile News Data", ROMX - -INCLUDE "mobile/news/news.asm" - - -SECTION "Crystal Events", ROMX - -INCLUDE "engine/events/battle_tower/load_trainer.asm" -INCLUDE "engine/events/odd_egg.asm" - - SECTION "Stadium 2 Checksums", ROMX[$7DE0], BANK[$7F] ; The end of the ROM is taken up by checksums of the content, apparently used diff --git a/maps/BattleTower1F.asm b/maps/BattleTower1F.asm index a43ea6627..9581bc9e7 100644 --- a/maps/BattleTower1F.asm +++ b/maps/BattleTower1F.asm @@ -14,10 +14,8 @@ BattleTower1F_MapScripts: BattleTower1FCheckStateScene: setval BATTLETOWERACTION_CHECKSAVEFILEISYOURS - special BattleTowerAction iffalse .SkipEverything setval BATTLETOWERACTION_GET_CHALLENGE_STATE ; readmem sBattleTowerChallengeState - special BattleTowerAction ifequal $0, .SkipEverything ifequal $2, .LeftWithoutSaving ifequal $3, .SkipEverything @@ -32,9 +30,7 @@ BattleTower1FCheckStateScene: .LeftWithoutSaving sdefer BattleTower_LeftWithoutSaving setval BATTLETOWERACTION_CHALLENGECANCELED - special BattleTowerAction setval BATTLETOWERACTION_06 - special BattleTowerAction .SkipEverything: setscene SCENE_BATTLETOWER1F_NOOP ; fallthrough @@ -54,28 +50,23 @@ BattleTower1FRulesSign: BattleTower1FReceptionistScript: setval BATTLETOWERACTION_GET_CHALLENGE_STATE ; readmem sBattleTowerChallengeState - special BattleTowerAction ifequal $3, Script_BeatenAllTrainers2 ; maps/BattleTowerBattleRoom.asm opentext writetext Text_BattleTowerWelcomesYou promptbutton setval BATTLETOWERACTION_CHECK_EXPLANATION_READ ; if new save file: bit 1, [sBattleTowerSaveFileFlags] - special BattleTowerAction ifnotequal $0, Script_Menu_ChallengeExplanationCancel sjump Script_BattleTowerIntroductionYesNo Script_Menu_ChallengeExplanationCancel: writetext Text_WantToGoIntoABattleRoom setval TRUE - special Menu_ChallengeExplanationCancel ifequal 1, Script_ChooseChallenge ifequal 2, Script_BattleTowerExplanation sjump Script_BattleTowerHopeToServeYouAgain Script_ChooseChallenge: setval BATTLETOWERACTION_RESETDATA ; ResetBattleTowerTrainerSRAM - special BattleTowerAction - special CheckForBattleTowerRules ifnotequal FALSE, Script_WaitButton writetext Text_SaveBeforeEnteringBattleRoom yesorno @@ -85,23 +76,18 @@ Script_ChooseChallenge: iffalse Script_Menu_ChallengeExplanationCancel setscene SCENE_BATTLETOWER1F_NOOP setval BATTLETOWERACTION_SET_EXPLANATION_READ ; set 1, [sBattleTowerSaveFileFlags] - special BattleTowerAction - special BattleTowerRoomMenu ifequal $a, Script_Menu_ChallengeExplanationCancel ifnotequal $0, Script_MobileError setval BATTLETOWERACTION_11 - special BattleTowerAction writetext Text_RightThisWayToYourBattleRoom waitbutton closetext setval BATTLETOWERACTION_CHOOSEREWARD - special BattleTowerAction sjump Script_WalkToBattleTowerElevator Script_ResumeBattleTowerChallenge: closetext setval BATTLETOWERACTION_LOADLEVELGROUP ; load choice of level group - special BattleTowerAction Script_WalkToBattleTowerElevator: musicfadeout MUSIC_NONE, 8 setmapscene BATTLE_TOWER_BATTLE_ROOM, SCENE_BATTLETOWERBATTLEROOM_ENTER @@ -110,7 +96,6 @@ Script_WalkToBattleTowerElevator: follow BATTLETOWER1F_RECEPTIONIST, PLAYER applymovement BATTLETOWER1F_RECEPTIONIST, MovementData_BattleTower1FWalkToElevator setval BATTLETOWERACTION_0A - special BattleTowerAction warpsound disappear BATTLETOWER1F_RECEPTIONIST stopfollow @@ -120,15 +105,12 @@ Script_WalkToBattleTowerElevator: Script_GivePlayerHisPrize: setval BATTLETOWERACTION_1C - special BattleTowerAction setval BATTLETOWERACTION_GIVEREWARD - special BattleTowerAction ifequal POTION, Script_YourPackIsStuffedFull getitemname STRING_BUFFER_4, USE_SCRIPT_VAR giveitem ITEM_FROM_MEM, 5 writetext Text_PlayerGotFive setval BATTLETOWERACTION_1D - special BattleTowerAction closetext end @@ -146,7 +128,6 @@ Script_BattleTowerExplanation: writetext Text_BattleTowerIntroduction_2 Script_BattleTowerSkipExplanation: setval BATTLETOWERACTION_SET_EXPLANATION_READ - special BattleTowerAction sjump Script_Menu_ChallengeExplanationCancel Script_BattleTowerHopeToServeYouAgain: @@ -155,11 +136,6 @@ Script_BattleTowerHopeToServeYouAgain: closetext end -Script_MobileError2: ; unreferenced - special BattleTowerMobileError - closetext - end - Script_WaitButton: waitbutton closetext @@ -172,8 +148,6 @@ Script_ChooseChallenge2: ; unreferenced special TryQuickSave iffalse Script_Menu_ChallengeExplanationCancel setval BATTLETOWERACTION_SET_EXPLANATION_READ - special BattleTowerAction - special Function1700ba ifequal $a, Script_Menu_ChallengeExplanationCancel ifnotequal $0, Script_MobileError writetext Text_ReceivedAListOfLeadersOnTheHonorRoll @@ -186,15 +160,11 @@ Script_ChooseChallenge2: ; unreferenced Script_StartChallenge: ; unreferenced setval BATTLETOWERACTION_LEVEL_CHECK - special BattleTowerAction ifnotequal $0, Script_AMonLevelExceeds setval BATTLETOWERACTION_UBERS_CHECK - special BattleTowerAction ifnotequal $0, Script_MayNotEnterABattleRoomUnderL70 - special CheckForBattleTowerRules ifnotequal FALSE, Script_WaitButton setval BATTLETOWERACTION_05 - special BattleTowerAction ifequal $0, .zero writetext Text_CantBeRegistered_PreviousRecordDeleted sjump .continue @@ -212,9 +182,7 @@ Script_StartChallenge: ; unreferenced iffalse Script_Menu_ChallengeExplanationCancel setscene SCENE_BATTLETOWER1F_NOOP setval BATTLETOWERACTION_06 - special BattleTowerAction setval BATTLETOWERACTION_12 - special BattleTowerAction writetext Text_RightThisWayToYourBattleRoom waitbutton sjump Script_ResumeBattleTowerChallenge @@ -235,7 +203,6 @@ Script_MayNotEnterABattleRoomUnderL70: sjump Script_Menu_ChallengeExplanationCancel Script_MobileError: - special BattleTowerMobileError closetext end @@ -740,7 +707,6 @@ Text_AMonLevelExceeds: done Text_MayNotEnterABattleRoomUnderL70: - text_ram wcd49 text " may not" line "enter a BATTLE" cont "ROOM under L70." diff --git a/maps/BattleTowerBattleRoom.asm b/maps/BattleTowerBattleRoom.asm index 1cf4438c1..9aa75f36c 100644 --- a/maps/BattleTowerBattleRoom.asm +++ b/maps/BattleTowerBattleRoom.asm @@ -21,8 +21,6 @@ Script_BattleRoom: applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerWalksIn ; beat all 7 opponents in a row Script_BattleRoomLoop: - setval BATTLETOWERBATTLEROOM_YOUNGSTER - special LoadOpponentTrainerAndPokemonWithOTSprite appear BATTLETOWERBATTLEROOM_YOUNGSTER warpsound waitsfx @@ -31,12 +29,9 @@ Script_BattleRoomLoop: battletowertext BATTLETOWERTEXT_INTRO promptbutton closetext - special BattleTowerBattle ; predef StartBattle special FadeOutPalettes reloadmap ifnotequal $0, Script_FailedBattleTowerChallenge - readmem wNrOfBeatenBattleTowerTrainers - ifequal BATTLETOWER_STREAK_LENGTH, Script_BeatenAllTrainers applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksOut warpsound disappear BATTLETOWERBATTLEROOM_YOUNGSTER @@ -66,12 +61,6 @@ Script_DontBattleNextOpponent: writetext Text_SaveAndEndTheSession yesorno iffalse Script_DontSaveAndEndTheSession - setval BATTLETOWERACTION_SAVELEVELGROUP ; save level group - special BattleTowerAction - setval BATTLETOWERACTION_SAVEOPTIONS ; choose reward - special BattleTowerAction - setval BATTLETOWERACTION_SAVE_AND_QUIT ; quicksave - special BattleTowerAction playsound SFX_SAVE waitsfx special FadeOutPalettes @@ -80,10 +69,6 @@ Script_DontSaveAndEndTheSession: writetext Text_CancelYourBattleRoomChallenge yesorno iffalse Script_ContinueAndBattleNextOpponent - setval BATTLETOWERACTION_CHALLENGECANCELED - special BattleTowerAction - setval BATTLETOWERACTION_06 - special BattleTowerAction closetext special FadeOutPalettes warpfacing UP, BATTLE_TOWER_1F, 7, 7 @@ -92,10 +77,7 @@ Script_DontSaveAndEndTheSession: Script_FailedBattleTowerChallenge: pause 60 - special BattleTowerFade warpfacing UP, BATTLE_TOWER_1F, 7, 7 - setval BATTLETOWERACTION_CHALLENGECANCELED - special BattleTowerAction opentext writetext Text_ThanksForVisiting waitbutton @@ -104,7 +86,6 @@ Script_FailedBattleTowerChallenge: Script_BeatenAllTrainers: pause 60 - special BattleTowerFade warpfacing UP, BATTLE_TOWER_1F, 7, 7 Script_BeatenAllTrainers2: opentext @@ -112,8 +93,6 @@ Script_BeatenAllTrainers2: sjump Script_GivePlayerHisPrize Script_TooMuchTimeElapsedNoRegister: ; unreferenced - setval BATTLETOWERACTION_CHALLENGECANCELED - special BattleTowerAction opentext writetext Text_TooMuchTimeElapsedNoRegister waitbutton @@ -121,10 +100,6 @@ Script_TooMuchTimeElapsedNoRegister: ; unreferenced end Script_ChallengeCanceled: ; unreferenced - setval BATTLETOWERACTION_CHALLENGECANCELED - special BattleTowerAction - setval BATTLETOWERACTION_06 - special BattleTowerAction opentext writetext Text_ThanksForVisiting writetext Text_WeHopeToServeYouAgain diff --git a/maps/BattleTowerElevator.asm b/maps/BattleTowerElevator.asm index 8775ce7b2..ce81e2e16 100644 --- a/maps/BattleTowerElevator.asm +++ b/maps/BattleTowerElevator.asm @@ -19,8 +19,6 @@ BattleTowerElevatorRideElevatorScript: follow BATTLETOWERELEVATOR_RECEPTIONIST, PLAYER applymovement BATTLETOWERELEVATOR_RECEPTIONIST, MovementData_BattleTowerElevatorReceptionistWalksIn applymovement PLAYER, MovementData_BattleTowerElevatorPlayerWalksIn - setval BATTLETOWERACTION_0A - special BattleTowerAction playsound SFX_ELEVATOR earthquake 60 waitsfx diff --git a/maps/BattleTowerHallway.asm b/maps/BattleTowerHallway.asm index 1f47e4c30..2cfe20353 100644 --- a/maps/BattleTowerHallway.asm +++ b/maps/BattleTowerHallway.asm @@ -21,16 +21,8 @@ BattleTowerHallwayChooseBattleRoomScript: sjump .WalkToChosenBattleRoom .asm_load_battle_room - ldh a, [rSVBK] - push af - - ld a, BANK(wBTChoiceOfLvlGroup) - ldh [rSVBK], a - ld a, [wBTChoiceOfLvlGroup] + ld a, 10 ld [wScriptVar], a - - pop af - ldh [rSVBK], a ret ; enter different rooms for different levels to battle against diff --git a/maps/CeruleanPokecenter1F.asm b/maps/CeruleanPokecenter1F.asm index 885cdc663..7665f55db 100644 --- a/maps/CeruleanPokecenter1F.asm +++ b/maps/CeruleanPokecenter1F.asm @@ -12,8 +12,6 @@ CeruleanPokecenter1FNurseScript: jumpstd PokecenterNurseScript CeruleanPokecenter1FSuperNerdScript: - special Mobile_DummyReturnFalse - iftrue .mobile jumptextfaceplayer CeruleanPokecenter1FSuperNerdText .mobile diff --git a/maps/DayCare.asm b/maps/DayCare.asm index b70928fc5..62750fe92 100644 --- a/maps/DayCare.asm +++ b/maps/DayCare.asm @@ -30,7 +30,6 @@ DayCareManScript_Inside: closetext readvar VAR_PARTYCOUNT ifequal PARTY_LENGTH, .PartyFull - special GiveOddEgg opentext writetext DayCareText_GotOddEgg playsound SFX_KEY_ITEM diff --git a/maps/EcruteakPokecenter1F.asm b/maps/EcruteakPokecenter1F.asm index 1eef618eb..a385c2850 100644 --- a/maps/EcruteakPokecenter1F.asm +++ b/maps/EcruteakPokecenter1F.asm @@ -59,8 +59,6 @@ EcruteakPokecenter1FNurseScript: jumpstd PokecenterNurseScript EcruteakPokecenter1FPokefanMScript: - special Mobile_DummyReturnFalse - iftrue .mobile jumptextfaceplayer EcruteakPokecenter1FPokefanMText .mobile diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm index 55e10c860..d6f99c28f 100644 --- a/maps/ElmsLab.asm +++ b/maps/ElmsLab.asm @@ -307,7 +307,6 @@ ElmsLabHealingMachine: end ElmsLabHealingMachine_HealParty: - special StubbedTrainerRankings_Healings special HealParty playmusic MUSIC_NONE setval HEALMACHINE_ELMS_LAB diff --git a/maps/FastShipCabins_SW_SSW_NW.asm b/maps/FastShipCabins_SW_SSW_NW.asm index 339d0519d..5249b8467 100644 --- a/maps/FastShipCabins_SW_SSW_NW.asm +++ b/maps/FastShipCabins_SW_SSW_NW.asm @@ -47,8 +47,6 @@ TrainerGuitaristClyde: .Script: endifjustbattled - special Mobile_DummyReturnFalse - iftrue .mobile opentext writetext GuitaristClydeAfterBattleText waitbutton @@ -69,7 +67,6 @@ FastShipBed: closetext special FadeBlackQuickly special ReloadSpritesNoPalettes - special StubbedTrainerRankings_Healings special HealParty playmusic MUSIC_HEAL pause 60 diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm index d13b598b9..e5f9547bb 100644 --- a/maps/GoldenrodDeptStore5F.asm +++ b/maps/GoldenrodDeptStore5F.asm @@ -109,7 +109,6 @@ Carrie: writetext GoldenrodDeptStore5FCarrieMysteryGiftExplanationText waitbutton closetext - special UnlockMysteryGift end .NotGBC: diff --git a/maps/GoldenrodPokecenter1F.asm b/maps/GoldenrodPokecenter1F.asm index 9483b8133..8be922411 100644 --- a/maps/GoldenrodPokecenter1F.asm +++ b/maps/GoldenrodPokecenter1F.asm @@ -15,8 +15,6 @@ GoldenrodPokecenter1FNurseScript: jumpstd PokecenterNurseScript GoldenrodPokecenter1F_GSBallSceneLeft: - setval BATTLETOWERACTION_CHECKMOBILEEVENT - special BattleTowerAction ifequal MOBILE_EVENT_OBJECT_GS_BALL, .gsball end @@ -47,8 +45,6 @@ GoldenrodPokecenter1F_GSBallSceneLeft: end GoldenrodPokecenter1F_GSBallSceneRight: - setval BATTLETOWERACTION_CHECKMOBILEEVENT - special BattleTowerAction ifequal MOBILE_EVENT_OBJECT_GS_BALL, .gsball end diff --git a/maps/MobileBattleRoom.asm b/maps/MobileBattleRoom.asm index 118813076..5b2b04a38 100644 --- a/maps/MobileBattleRoom.asm +++ b/maps/MobileBattleRoom.asm @@ -19,9 +19,6 @@ MobileBattleRoomInitializeAndPreparePokecenter2FScript: MobileBattleRoomConsoleScript: refreshscreen - special Function1037c2 - ifequal $1, .one - special Function1037eb iffalse .false ifequal $1, .one_ ifequal $2, .two_ @@ -39,16 +36,12 @@ MobileBattleRoomConsoleScript: special RestartMapMusic refreshscreen .two_ - special StubbedTrainerRankings_Healings special HealParty - special Function10383c iftrue .false .one - special Function10387b writetext MobileBattleRoom_EstablishingCommsText waitbutton reloadmappart - special Function101225 .false closetext end diff --git a/maps/MobileTradeRoom.asm b/maps/MobileTradeRoom.asm index 96d7535ac..6b659ca92 100644 --- a/maps/MobileTradeRoom.asm +++ b/maps/MobileTradeRoom.asm @@ -19,11 +19,9 @@ MobileTradeRoomInitializeAndPreparePokecenter2FScript: MobileTradeRoomConsoleScript: refreshscreen - special Function1037c2 writetext MobileTradeRoom_EstablishingCommsText waitbutton reloadmappart - special Function101231 closetext end diff --git a/maps/MrPokemonsHouse.asm b/maps/MrPokemonsHouse.asm index de0489f30..906954aa3 100644 --- a/maps/MrPokemonsHouse.asm +++ b/maps/MrPokemonsHouse.asm @@ -111,7 +111,6 @@ MrPokemonsHouse_OakScript: special FadeBlackQuickly special ReloadSpritesNoPalettes playmusic MUSIC_HEAL - special StubbedTrainerRankings_Healings special HealParty pause 60 special FadeInQuickly diff --git a/maps/Pokecenter2F.asm b/maps/Pokecenter2F.asm index e4175fd2a..e47808656 100644 --- a/maps/Pokecenter2F.asm +++ b/maps/Pokecenter2F.asm @@ -16,7 +16,6 @@ Pokecenter2F_MapScripts: def_callbacks Pokecenter2FCheckMysteryGiftScene: - special CheckMysteryGift ifequal $0, .done clearevent EVENT_MYSTERY_GIFT_DELIVERY_GUY checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2 @@ -73,13 +72,6 @@ LinkReceptionistScript_Trade: writetext Text_TradeReceptionistIntro yesorno iffalse .Cancel - special Mobile_DummyReturnFalse ; always returns false - iffalse .NoMobile - writetext Text_TradeReceptionistMobile - special AskMobileOrCable - iffalse .Cancel - ifequal $1, .Mobile -.NoMobile: special SetBitsForLinkTradeRequest writetext Text_PleaseWait special WaitForLinkedFriend @@ -150,7 +142,6 @@ LinkReceptionistScript_Trade: iffalse .Mobile_DidNotSave special TryQuickSave iffalse .Mobile_DidNotSave - special Function1011f1 writetext Text_PleaseComeIn waitbutton closetext @@ -175,13 +166,6 @@ LinkReceptionistScript_Battle: writetext Text_BattleReceptionistIntro yesorno iffalse .Cancel - special Mobile_DummyReturnFalse ; always returns false - iffalse .NoMobile - writetext Text_BattleReceptionistMobile - special AskMobileOrCable - iffalse .Cancel - ifequal $1, .Mobile -.NoMobile: special SetBitsForBattleRequest writetext Text_PleaseWait special WaitForLinkedFriend @@ -252,9 +236,6 @@ LinkReceptionistScript_Battle: writetext Text_MustSaveGame yesorno iffalse .Mobile_DidNotSave - special Function103780 - iffalse .Mobile_DidNotSave - special Function1011f1 writetext Text_PleaseComeIn waitbutton closetext @@ -268,16 +249,6 @@ LinkReceptionistScript_Battle: end .SelectThreeMons: - special Mobile_SelectThreeMons - iffalse .Mobile_DidNotSelect - ifequal $1, .Mobile_OK - ifequal $2, .Mobile_OK - ifequal $3, .Mobile_InvalidParty - sjump .Mobile_DidNotSelect - -.Mobile_InvalidParty: - writetext Text_BrokeStadiumRules - waitbutton .Mobile_DidNotSelect: closetext setval FALSE @@ -378,7 +349,6 @@ Script_LeftCableTradeCenter: end Script_LeftMobileTradeRoom: - special Function101220 scall Script_WalkOutOfMobileTradeRoom setscene SCENE_POKECENTER2F_CHECK_MYSTERY_GIFT setmapscene MOBILE_TRADE_ROOM, SCENE_MOBILETRADEROOM_INITIALIZE @@ -398,7 +368,6 @@ Script_LeftCableColosseum: end Script_LeftMobileBattleRoom: - special Function101220 scall Script_WalkOutOfMobileBattleRoom setscene SCENE_POKECENTER2F_CHECK_MYSTERY_GIFT setmapscene MOBILE_BATTLE_ROOM, SCENE_MOBILEBATTLEROOM_INITIALIZE @@ -597,7 +566,6 @@ Pokecenter2FOfficerScript: writetext Text_MysteryGiftDeliveryGuy_HereYouGo promptbutton waitsfx - special GetMysteryGiftItem iffalse .BagIsFull itemnotify setevent EVENT_MYSTERY_GIFT_DELIVERY_GUY diff --git a/maps/Route26HealHouse.asm b/maps/Route26HealHouse.asm index 1135febf5..48273f0ff 100644 --- a/maps/Route26HealHouse.asm +++ b/maps/Route26HealHouse.asm @@ -14,7 +14,6 @@ Route26HealHouseTeacherScript: closetext special FadeBlackQuickly special ReloadSpritesNoPalettes - special StubbedTrainerRankings_Healings playmusic MUSIC_HEAL special HealParty pause 60 diff --git a/maps/Route40.asm b/maps/Route40.asm index b8641c6d2..2bdd61352 100644 --- a/maps/Route40.asm +++ b/maps/Route40.asm @@ -77,13 +77,8 @@ Route40Lass1Script: jumptextfaceplayer Route40Lass1Text Route40PokefanMScript: - special Mobile_DummyReturnFalse - iftrue .mobile jumptextfaceplayer Route40PokefanMText -.mobile - jumptextfaceplayer Route40PokefanMText_Mobile - Route40Lass2Script: jumptextfaceplayer Route40Lass2Text diff --git a/maps/SaffronPokecenter1F.asm b/maps/SaffronPokecenter1F.asm index a7d483d74..e92e3f0a1 100644 --- a/maps/SaffronPokecenter1F.asm +++ b/maps/SaffronPokecenter1F.asm @@ -13,13 +13,8 @@ SaffronPokecenter1FNurseScript: jumpstd PokecenterNurseScript SaffronPokecenter1FTeacherScript: - special Mobile_DummyReturnFalse - iftrue .mobile jumptextfaceplayer SaffronPokecenter1FTeacherText -.mobile - jumptextfaceplayer SaffronPokecenter1FTeacherMobileText - SaffronPokecenter1FFisherScript: faceplayer opentext diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm index 08f04f8ac..1bd9011bd 100644 --- a/maps/TeamRocketBaseB2F.asm +++ b/maps/TeamRocketBaseB2F.asm @@ -165,7 +165,6 @@ LanceHealsCommon: waitbutton closetext special FadeOutPalettes - special StubbedTrainerRankings_Healings playsound SFX_FULL_HEAL special HealParty special FadeInPalettes diff --git a/maps/TrainerHouseB1F.asm b/maps/TrainerHouseB1F.asm index 89e6872bc..9334611c4 100644 --- a/maps/TrainerHouseB1F.asm +++ b/maps/TrainerHouseB1F.asm @@ -18,7 +18,6 @@ TrainerHouseReceptionistScript: iftrue .FoughtTooManyTimes writetext TrainerHouseB1FIntroText promptbutton - special TrainerHouse iffalse .GetCal3Name gettrainername STRING_BUFFER_3, CAL, CAL2 sjump .GotName @@ -40,7 +39,6 @@ TrainerHouseReceptionistScript: writetext TrainerHouseB1FCalBeforeText waitbutton closetext - special TrainerHouse iffalse .NoSpecialBattle winlosstext TrainerHouseB1FCalBeatenText, 0 setlasttalked TRAINERHOUSEB1F_CHRIS diff --git a/mobile/fixed_words.asm b/mobile/fixed_words.asm deleted file mode 100644 index a736dfaf2..000000000 --- a/mobile/fixed_words.asm +++ /dev/null @@ -1,4124 +0,0 @@ -; These functions seem to be related to the selection of preset phrases -; for use in mobile communications. Annoyingly, they separate the -; Battle Tower function above from the data it references. -Function11c05d: - ld a, e - or d - jr z, .error - ld a, e - and d - cp $ff - jr z, .error - push hl - call CopyMobileEZChatToC608 - pop hl - call PlaceString - and a - ret - -.error - ld c, l - ld b, h - scf - ret - -Function11c075: - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call Function11c08f - ret - -Function11c082: ; unreferenced - push de - ld a, c - call Function11c254 - pop de - ld bc, wcd36 - call PrintEZChatBattleMessage - ret - -Function11c08f: - ld l, e - ld h, d - push hl - ld a, 3 -.loop - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .okay - inc bc - -.okay - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .loop - pop hl - ld de, 2 * SCREEN_WIDTH - add hl, de - ld a, $3 -.loop2 - push af - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - push bc - call Function11c05d - jr c, .okay2 - inc bc - -.okay2 - ld l, c - ld h, b - pop bc - pop af - dec a - jr nz, .loop2 - ret - -PrintEZChatBattleMessage: -; Use up to 6 words from bc to print text starting at de. - ; Preserve [wJumptableIndex], [wcf64] - ld a, [wJumptableIndex] - ld l, a - ld a, [wcf64] - ld h, a - push hl - ; reset value at [wc618] (not preserved) - ld hl, wc618 - ld a, $0 - ld [hli], a - ; preserve de - push de - ; [wJumptableIndex] keeps track of which line we're on (0, 1, or 2) - ; [wcf64] keeps track of how much room we have left in the current line - xor a - ld [wJumptableIndex], a - ld a, 18 - ld [wcf64], a - ld a, 6 -.loop - push af - ; load the 2-byte word data pointed to by bc - ld a, [bc] - ld e, a - inc bc - ld a, [bc] - ld d, a - inc bc - ; if $0000, we're done - or e - jr z, .done - ; preserving hl and bc, get the length of the word - push hl - push bc - call CopyMobileEZChatToC608 - call GetLengthOfWordAtC608 - ld e, c - pop bc - pop hl - ; if the functions return 0, we're done - ld a, e - or a - jr z, .done -.loop2 - ; e contains the length of the word - ; add 1 for the space, unless we're at the start of the line - ld a, [wcf64] - cp 18 - jr z, .skip_inc - inc e - -.skip_inc - ; if the word fits, put it on the same line - cp e - jr nc, .same_line - ; otherwise, go to the next line - ld a, [wJumptableIndex] - inc a - ld [wJumptableIndex], a - ; if we're on line 2, insert "" - ld [hl], "" - rra - jr c, .got_line_terminator - ; else, insert "" - ld [hl], "" - -.got_line_terminator - inc hl - ; init the next line, holding on to the same word - ld a, 18 - ld [wcf64], a - dec e - jr .loop2 - -.same_line - ; add the space, unless we're at the start of the line - cp 18 - jr z, .skip_space - ld [hl], " " - inc hl - -.skip_space - ; deduct the length of the word - sub e - ld [wcf64], a - ld de, wc608 -.place_string_loop - ; load the string from de to hl - ld a, [de] - cp "@" - jr z, .done - inc de - ld [hli], a - jr .place_string_loop - -.done - ; next word? - pop af - dec a - jr nz, .loop - ; we're finished, place "" - ld [hl], "" - ; now, let's place the string from wc618 to bc - pop bc - ld hl, wc618 - call PlaceHLTextAtBC - ; restore the original values of [wJumptableIndex] and [wcf64] - pop hl - ld a, l - ld [wJumptableIndex], a - ld a, h - ld [wcf64], a - ret - -GetLengthOfWordAtC608: - ld c, $0 - ld hl, wc608 -.loop - ld a, [hli] - cp "@" - ret z - inc c - jr .loop - -CopyMobileEZChatToC608: - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, "@" - ld hl, wc608 - ld bc, NAME_LENGTH - call ByteFill - ld a, d - and a - jr z, .get_name - ld hl, MobileEZChatCategoryPointers - dec d - sla d - ld c, d - ld b, $0 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - pop hl - ld c, e - ld b, $0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - ld bc, NAME_LENGTH_JAPANESE - 1 -.copy_string - ld de, wc608 - call CopyBytes - ld de, wc608 - pop af - ldh [rSVBK], a - ret - -.get_name - ld a, e - ld [wNamedObjectIndex], a - call GetPokemonName - ld hl, wStringBuffer1 - ld bc, MON_NAME_LENGTH - 1 - jr .copy_string - -Function11c1ab: - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - call Function11c1b9 - pop af - ldh [hInMenu], a - ret - -Function11c1b9: - call .InitKanaMode - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - call EZChat_MasterLoop - pop af - ldh [rSVBK], a - ret - -.InitKanaMode: - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd23], a - ld [wcd20], a - ld [wcd21], a - ld [wcd22], a - ld [wcd35], a - ld [wcd2b], a - ld a, $ff - ld [wcd24], a - ld a, [wMenuCursorY] - dec a - call Function11c254 - call ClearBGPalettes - call ClearSprites - call ClearScreen - call Function11d323 - call SetPalettes - call DisableLCD - ld hl, SelectStartGFX - ld de, vTiles2 - ld bc, $60 - call CopyBytes - ld hl, EZChatSlowpokeLZ - ld de, vTiles0 - call Decompress - call EnableLCD - farcall ReloadMapPart - farcall ClearSpriteAnims - farcall LoadPokemonData - farcall Pokedex_ABCMode - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, wc6d0 - ld de, wLYOverrides - ld bc, $100 - call CopyBytes - pop af - ldh [rSVBK], a - call EZChat_GetCategoryWordsByKana - call EZChat_GetSeenPokemonByKana - ret - -Function11c254: - push af - ld a, BANK(sEZChatMessages) - call OpenSRAM - ld hl, sEZChatMessages - pop af - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, 0 - add hl, bc - ld de, wcd36 - ld bc, EASY_CHAT_MESSAGE_LENGTH - call CopyBytes - call CloseSRAM - ret - -EZChat_ClearBottom12Rows: - ld a, " " - hlcoord 0, 6 - ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH - call ByteFill - ret - -EZChat_MasterLoop: -.loop - call JoyTextDelay - ldh a, [hJoyPressed] - ldh [hJoypadPressed], a - ld a, [wJumptableIndex] - bit 7, a - jr nz, .exit - call .DoJumptableFunction - farcall PlaySpriteAnimations - farcall ReloadMapPart - jr .loop - -.exit - farcall ClearSpriteAnims - call ClearSprites - ret - -.DoJumptableFunction: - jumptable .Jumptable, wJumptableIndex - -.Jumptable: - dw .SpawnObjects ; 00 - dw .InitRAM ; 01 - dw Function11c35f ; 02 - dw Function11c373 ; 03 - dw Function11c3c2 ; 04 - dw Function11c3ed ; 05 - dw Function11c52c ; 06 - dw Function11c53d ; 07 - dw Function11c658 ; 08 - dw Function11c675 ; 09 - dw Function11c9bd ; 0a - dw Function11c9c3 ; 0b - dw Function11caad ; 0c - dw Function11cab3 ; 0d - dw Function11cb52 ; 0e - dw Function11cb66 ; 0f - dw Function11cbf5 ; 10 - dw Function11ccef ; 11 - dw Function11cd04 ; 12 - dw Function11cd20 ; 13 - dw Function11cd54 ; 14 - dw Function11ce0b ; 15 - dw Function11ce2b ; 16 - -.SpawnObjects: - depixel 3, 1, 2, 5 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - - depixel 8, 1, 2, 5 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $1 - ld [hl], a - - depixel 9, 2, 2, 0 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $3 - ld [hl], a - - depixel 10, 16 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $4 - ld [hl], a - - depixel 10, 4 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $5 - ld [hl], a - - depixel 10, 2 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $2 - ld [hl], a - - ld hl, wcd23 - set 1, [hl] - set 2, [hl] - jp Function11cfb5 - -.InitRAM: - ld a, $9 - ld [wcd2d], a - ld a, $2 - ld [wcd2e], a - ld [wcd2f], a - ld [wcd30], a - ld de, wcd2d - call Function11cfce - jp Function11cfb5 - -Function11c35f: - ld hl, wcd2f - inc [hl] - inc [hl] - dec hl - dec hl - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - jp Function11cfb5 - -Function11c373: - ld hl, wcd30 - inc [hl] - inc [hl] - dec hl - dec hl - dec [hl] - push af - ld de, wcd2d - call Function11cfce - pop af - ret nz - call Function11c38a - jp Function11cfb5 - -Function11c38a: - ld hl, Unknown_11c986 - ld bc, wcd36 - ld a, $6 -.asm_11c392 - push af - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - push de - pop hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - or e - jr z, .asm_11c3af - ld a, e - and d - cp $ff - jr z, .asm_11c3af - call Function11c05d - jr .asm_11c3b5 -.asm_11c3af - ld de, String_11c3bc - call PlaceString -.asm_11c3b5 - pop bc - pop hl - pop af - dec a - jr nz, .asm_11c392 - ret - -String_11c3bc: - db "ーーーーー@" - -Function11c3c2: - call EZChat_ClearBottom12Rows - ld de, Unknown_11cfbe - call Function11d035 - hlcoord 1, 7 - ld de, String_11c4db - call PlaceString - hlcoord 1, 16 - ld de, String_11c51b - call PlaceString - call Function11c4be - ld hl, wcd23 - set 0, [hl] - ld hl, wcd24 - res 0, [hl] - call Function11cfb5 - -Function11c3ed: - ld hl, wcd20 - ld de, hJoypadPressed - ld a, [de] - and $8 - jr nz, .asm_11c426 - ld a, [de] - and $2 - jr nz, .asm_11c41a - ld a, [de] - and $1 - jr nz, .asm_11c42c - ld de, hJoyLast - ld a, [de] - and $40 - jr nz, .asm_11c47c - ld a, [de] - and $80 - jr nz, .asm_11c484 - ld a, [de] - and $20 - jr nz, .asm_11c48c - ld a, [de] - and $10 - jr nz, .asm_11c498 - ret - -.asm_11c41a - call PlayClickSFX -.asm_11c41d - ld hl, wcd24 - set 0, [hl] - ld a, $c - jr .asm_11c475 -.asm_11c426 - ld a, $8 - ld [wcd20], a - ret - -.asm_11c42c - ld a, [wcd20] - cp $6 - jr c, .asm_11c472 - sub $6 - jr z, .asm_11c469 - dec a - jr z, .asm_11c41d - ld hl, wcd36 - ld c, $c - xor a -.asm_11c440 - or [hl] - inc hl - dec c - jr nz, .asm_11c440 - and a - jr z, .asm_11c460 - ld de, Unknown_11cfba - call Function11cfce - decoord 1, 2 - ld bc, wcd36 - call Function11c08f - ld hl, wcd24 - set 0, [hl] - ld a, $e - jr .asm_11c475 -.asm_11c460 - ld hl, wcd24 - set 0, [hl] - ld a, $11 - jr .asm_11c475 -.asm_11c469 - ld hl, wcd24 - set 0, [hl] - ld a, $a - jr .asm_11c475 -.asm_11c472 - call Function11c4a5 -.asm_11c475 - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.asm_11c47c - ld a, [hl] - cp $3 - ret c - sub $3 - jr .asm_11c4a3 -.asm_11c484 - ld a, [hl] - cp $6 - ret nc - add $3 - jr .asm_11c4a3 -.asm_11c48c - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - dec a - jr .asm_11c4a3 -.asm_11c498 - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - inc a -.asm_11c4a3 - ld [hl], a - ret - -Function11c4a5: - ld hl, wcd23 - res 0, [hl] - ld a, [wcd2b] - and a - jr nz, .asm_11c4b7 - xor a - ld [wcd21], a - ld a, $6 - ret - -.asm_11c4b7 - xor a - ld [wcd22], a - ld a, $15 - ret - -Function11c4be: - ld a, $1 - hlcoord 0, 6, wAttrmap - ld bc, $a0 - call ByteFill - ld a, $7 - hlcoord 0, 14, wAttrmap - ld bc, $28 - call ByteFill - farcall ReloadMapPart - ret - -String_11c4db: - db "6つのことば¯くみあわせます" - next "かえたいところ¯えらぶと でてくる" - next "ことばのグループから いれかえたい" - next "たんご¯えらんでください" - db "@" - -String_11c51b: - db "ぜんぶけす やめる   けってい@" - -Function11c52c: - call EZChat_ClearBottom12Rows - call EZChat_PlaceCategoryNames - call Function11c618 - ld hl, wcd24 - res 1, [hl] - call Function11cfb5 - -Function11c53d: - ld hl, wcd21 - ld de, hJoypadPressed - - ld a, [de] - and START - jr nz, .start - - ld a, [de] - and SELECT - jr nz, .select - - ld a, [de] - and B_BUTTON - jr nz, .b - - ld a, [de] - and A_BUTTON - jr nz, .a - - ld de, hJoyLast - - ld a, [de] - and D_UP - jr nz, .up - - ld a, [de] - and D_DOWN - jr nz, .down - - ld a, [de] - and D_LEFT - jr nz, .left - - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [wcd21] - cp 15 - jr c, .got_category - sub $f - jr z, .done - dec a - jr z, .mode - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [wcd20], a - -.b - ld a, $4 - jr .go_to_function - -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $15 - jr .go_to_function - -.mode - ld a, $13 - jr .go_to_function - -.got_category - ld a, $8 - -.go_to_function - ld hl, wcd24 - set 1, [hl] - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.done - ld a, [wcd20] - call Function11ca6a - call PlayClickSFX - ret - -.up - ld a, [hl] - cp $3 - ret c - sub $3 - jr .finish_dpad - -.down - ld a, [hl] - cp $f - ret nc - add $3 - jr .finish_dpad - -.left - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - cp $c - ret z - cp $f - ret z - dec a - jr .finish_dpad - -.right - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - cp $e - ret z - cp $11 - ret z - inc a - -.finish_dpad - ld [hl], a - ret - -EZChat_PlaceCategoryNames: - ld de, MobileEZChatCategoryNames - ld bc, Coords_11c63a - ld a, 15 -.loop - push af - ld a, [bc] - inc bc - ld l, a - ld a, [bc] - inc bc - ld h, a - push bc - call PlaceString - ; The category names are padded with "@". - ; To find the next category, the system must - ; find the first character at de that is not "@". -.find_next_string_loop - inc de - ld a, [de] - cp "@" - jr z, .find_next_string_loop - pop bc - pop af - dec a - jr nz, .loop - hlcoord 1, 17 - ld de, EZChatString_Stop_Mode_Cancel - call PlaceString - ret - -Function11c618: - ld a, $2 - hlcoord 0, 6, wAttrmap - ld bc, $c8 - call ByteFill - farcall ReloadMapPart - ret - -EZChatString_Stop_Mode_Cancel: - db "けす    モード   やめる@" - -Coords_11c63a: - dwcoord 1, 7 - dwcoord 7, 7 - dwcoord 13, 7 - dwcoord 1, 9 - dwcoord 7, 9 - dwcoord 13, 9 - dwcoord 1, 11 - dwcoord 7, 11 - dwcoord 13, 11 - dwcoord 1, 13 - dwcoord 7, 13 - dwcoord 13, 13 - dwcoord 1, 15 - dwcoord 7, 15 - dwcoord 13, 15 - -Function11c658: - call EZChat_ClearBottom12Rows - call Function11c770 - ld de, Unknown_11cfc2 - call Function11d035 - call Function11c9ab - call Function11c7bc - call Function11c86e - ld hl, wcd24 - res 3, [hl] - call Function11cfb5 - -Function11c675: - ld hl, wMobileCommsJumptableIndex - ld de, hJoypadPressed - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr z, .select - - ld a, [wcd26] - and a - ret z - sub $c - jr nc, .asm_11c699 - xor a -.asm_11c699 - ld [wcd26], a - jr .asm_11c6c4 - -.start - ld hl, wcd28 - ld a, [wcd26] - add $c - cp [hl] - ret nc - ld [wcd26], a - ld a, [hl] - ld b, a - ld hl, wMobileCommsJumptableIndex - ld a, [wcd26] - add [hl] - jr c, .asm_11c6b9 - cp b - jr c, .asm_11c6c4 -.asm_11c6b9 - ld a, [wcd28] - ld hl, wcd26 - sub [hl] - dec a - ld [wMobileCommsJumptableIndex], a -.asm_11c6c4 - call Function11c992 - call Function11c7bc - call Function11c86e - ret - -.select - ld de, hJoyLast - ld a, [de] - and D_UP - jr nz, .asm_11c708 - ld a, [de] - and D_DOWN - jr nz, .asm_11c731 - ld a, [de] - and D_LEFT - jr nz, .asm_11c746 - ld a, [de] - and D_RIGHT - jr nz, .asm_11c755 - ret - -.a - call Function11c8f6 - ld a, $4 - ld [wcd35], a - jr .asm_11c6fc -.b - ld a, [wcd2b] - and a - jr nz, .asm_11c6fa - ld a, $6 - jr .asm_11c6fc -.asm_11c6fa - ld a, $15 -.asm_11c6fc - ld [wJumptableIndex], a - ld hl, wcd24 - set 3, [hl] - call PlayClickSFX - ret - -.asm_11c708 - ld a, [hl] - cp $3 - jr c, .asm_11c711 - sub $3 - jr .asm_11c76e -.asm_11c711 - ld a, [wcd26] - sub $3 - ret c - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c71c - ld hl, wcd28 - ld a, [wcd26] - add $c - ret c - cp [hl] - ret nc - ld a, [wcd26] - add $3 - ld [wcd26], a - jr .asm_11c6c4 -.asm_11c731 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - add $3 - cp b - ret nc - ld a, [hl] - cp $9 - jr nc, .asm_11c71c - add $3 - jr .asm_11c76e -.asm_11c746 - ld a, [hl] - and a - ret z - cp $3 - ret z - cp $6 - ret z - cp $9 - ret z - dec a - jr .asm_11c76e -.asm_11c755 - ld a, [wcd28] - ld b, a - ld a, [wcd26] - add [hl] - inc a - cp b - ret nc - ld a, [hl] - cp $2 - ret z - cp $5 - ret z - cp $8 - ret z - cp $b - ret z - inc a -.asm_11c76e - ld [hl], a - ret - -Function11c770: - xor a - ld [wMobileCommsJumptableIndex], a - ld [wcd26], a - ld [wcd27], a - ld a, [wcd2b] - and a - jr nz, .cd2b_is_nonzero - ld a, [wcd21] - and a - jr z, .cd21_is_zero - ; load from data array - dec a - sla a - ld hl, MobileEZChatData_WordAndPageCounts - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld [wcd28], a - ld a, [hl] -.load - ld [wcd29], a - ret - -.cd21_is_zero - ; compute from [wc7d2] - ld a, [wc7d2] - ld [wcd28], a -.div_12 - ld c, 12 - call SimpleDivide - and a - jr nz, .no_need_to_floor - dec b -.no_need_to_floor - ld a, b - jr .load - -.cd2b_is_nonzero - ; compute from [wc6a8 + 2 * [wcd22]] - ld hl, wc6a8 - ld a, [wcd22] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hl] - ld [wcd28], a - jr .div_12 - -Function11c7bc: - ld bc, Unknown_11c854 - ld a, [wcd2b] - and a - jr nz, .asm_11c814 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c7e9 - ld a, [wcd26] - ld e, a -.asm_11c7d0 - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - ret z - push bc - push de - call Function11c05d - pop de - pop bc - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7d0 - ret - -.asm_11c7e9 - ld hl, wListPointer - ld a, [wcd26] - ld e, a - add hl, de -.asm_11c7f1 - push de - ld a, [hli] - ld e, a - ld d, 0 - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c811 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c7f1 - ret - -.asm_11c811 - pop hl - pop de - ret - -.asm_11c814 - ld hl, wc648 - ld a, [wcd22] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [wcd26] - ld e, a -.asm_11c831 - push de - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld a, [bc] - ld l, a - inc bc - ld a, [bc] - ld h, a - inc bc - and l - cp $ff - jr z, .asm_11c851 - push bc - call Function11c05d - pop bc - pop hl - pop de - inc e - ld a, [wcd28] - cp e - jr nz, .asm_11c831 - ret - -.asm_11c851 - pop hl - pop de - ret - -Unknown_11c854: - dwcoord 2, 8 - dwcoord 8, 8 - dwcoord 14, 8 - dwcoord 2, 10 - dwcoord 8, 10 - dwcoord 14, 10 - dwcoord 2, 12 - dwcoord 8, 12 - dwcoord 14, 12 - dwcoord 2, 14 - dwcoord 8, 14 - dwcoord 14, 14 - dw -1 - -Function11c86e: - ld a, [wcd26] - and a - jr z, .asm_11c88a - hlcoord 2, 17 - ld de, MobileString_Prev - call PlaceString - hlcoord 6, 17 - ld c, $3 - xor a -.asm_11c883 - ld [hli], a - inc a - dec c - jr nz, .asm_11c883 - jr .asm_11c895 -.asm_11c88a - hlcoord 2, 17 - ld c, $7 - ld a, $7f -.asm_11c891 - ld [hli], a - dec c - jr nz, .asm_11c891 -.asm_11c895 - ld hl, wcd28 - ld a, [wcd26] - add $c - jr c, .asm_11c8b7 - cp [hl] - jr nc, .asm_11c8b7 - hlcoord 16, 17 - ld de, MobileString_Next - call PlaceString - hlcoord 11, 17 - ld a, $3 - ld c, a -.asm_11c8b1 - ld [hli], a - inc a - dec c - jr nz, .asm_11c8b1 - ret - -.asm_11c8b7 - hlcoord 17, 16 - ld a, $7f - ld [hl], a - hlcoord 11, 17 - ld c, $7 -.asm_11c8c2 - ld [hli], a - dec c - jr nz, .asm_11c8c2 - ret - -BCD2String: ; unreferenced - inc a - push af - and $f - ldh [hDividend], a - pop af - and $f0 - swap a - ldh [hDividend + 1], a - xor a - ldh [hDividend + 2], a - push hl - farcall Function11a80c - pop hl - ld a, [wcd63] - add "0" - ld [hli], a - ld a, [wcd62] - add "0" - ld [hli], a - ret - -MobileString_Page: ; unreferenced - db "ぺージ@" - -MobileString_Prev: - db "まえ@" - -MobileString_Next: - db "つぎ@" - -Function11c8f6: - ld a, [wcd20] - call Function11c95d - push hl - ld a, [wcd2b] - and a - jr nz, .asm_11c938 - ld a, [wcd21] - ld d, a - and a - jr z, .asm_11c927 - ld hl, wcd26 - ld a, [wMobileCommsJumptableIndex] - add [hl] -.asm_11c911 - ld e, a -.asm_11c912 - pop hl - push de - call Function11c05d - pop de - ld a, [wcd20] - ld c, a - ld b, 0 - ld hl, wcd36 - add hl, bc - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ret - -.asm_11c927 - ld hl, wcd26 - ld a, [wMobileCommsJumptableIndex] - add [hl] - ld c, a - ld b, 0 - ld hl, wListPointer - add hl, bc - ld a, [hl] - jr .asm_11c911 -.asm_11c938 - ld hl, wc648 - ld a, [wcd22] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wcd26] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [wMobileCommsJumptableIndex] - ld e, a - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_11c912 - -Function11c95d: - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11c986 - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - push bc - push bc - pop hl - ld a, $5 - ld c, a - ld a, $7f -.asm_11c972 - ld [hli], a - dec c - jr nz, .asm_11c972 - dec hl - ld bc, -20 - add hl, bc - ld a, $5 - ld c, a - ld a, $7f -.asm_11c980 - ld [hld], a - dec c - jr nz, .asm_11c980 - pop hl - ret - -Unknown_11c986: - dwcoord 1, 2 - dwcoord 7, 2 - dwcoord 13, 2 - dwcoord 1, 4 - dwcoord 7, 4 - dwcoord 13, 4 - -Function11c992: - ld a, $8 - hlcoord 2, 7 -.asm_11c997 - push af - ld a, $7f - push hl - ld bc, $11 - call ByteFill - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_11c997 - ret - -Function11c9ab: - ld a, $7 - hlcoord 0, 6, wAttrmap - ld bc, $c8 - call ByteFill - farcall ReloadMapPart - ret - -Function11c9bd: - ld de, String_11ca38 - call Function11ca7f - -Function11c9c3: - ld hl, wcd2a - ld de, hJoypadPressed - ld a, [de] - and $1 - jr nz, .asm_11c9de - ld a, [de] - and $2 - jr nz, .asm_11c9e9 - ld a, [de] - and $40 - jr nz, .asm_11c9f7 - ld a, [de] - and $80 - jr nz, .asm_11c9fc - ret - -.asm_11c9de - ld a, [hl] - and a - jr nz, .asm_11c9e9 - call Function11ca5e - xor a - ld [wcd20], a -.asm_11c9e9 - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - call PlayClickSFX - ret - -.asm_11c9f7 - ld a, [hl] - and a - ret z - dec [hl] - ret - -.asm_11c9fc - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11ca01: - hlcoord 14, 7, wAttrmap - ld de, $14 - ld a, $5 - ld c, a -.asm_11ca0a - push hl - ld a, $6 - ld b, a - ld a, $7 -.asm_11ca10 - ld [hli], a - dec b - jr nz, .asm_11ca10 - pop hl - add hl, de - dec c - jr nz, .asm_11ca0a - -Function11ca19: - hlcoord 0, 12, wAttrmap - ld de, $14 - ld a, $6 - ld c, a -.asm_11ca22 - push hl - ld a, $14 - ld b, a - ld a, $7 -.asm_11ca28 - ld [hli], a - dec b - jr nz, .asm_11ca28 - pop hl - add hl, de - dec c - jr nz, .asm_11ca22 - farcall ReloadMapPart - ret - -String_11ca38: - db "とうろくちゅうあいさつ¯ぜんぶ" - next "けしても よろしいですか?@" - -String_11ca57: - db "はい" - next "いいえ@" - -Function11ca5e: - xor a -.loop - push af - call Function11ca6a - pop af - inc a - cp $6 - jr nz, .loop - ret - -Function11ca6a: - ld hl, wcd36 - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld [hl], b - inc hl - ld [hl], b - call Function11c95d - ld de, String_11c3bc - call PlaceString - ret - -Function11ca7f: - push de - ld de, Unknown_11cfc6 - call Function11cfce - ld de, Unknown_11cfca - call Function11cfce - hlcoord 1, 14 - pop de - call PlaceString - hlcoord 16, 8 - ld de, String_11ca57 - call PlaceString - call Function11ca01 - ld a, $1 - ld [wcd2a], a - ld hl, wcd24 - res 4, [hl] - call Function11cfb5 - ret - -Function11caad: - ld de, String_11cb1c - call Function11ca7f - -Function11cab3: - ld hl, wcd2a - ld de, hJoypadPressed - ld a, [de] - and $1 - jr nz, .asm_11cace - ld a, [de] - and $2 - jr nz, .asm_11caf9 - ld a, [de] - and $40 - jr nz, .asm_11cb12 - ld a, [de] - and $80 - jr nz, .asm_11cb17 - ret - -.asm_11cace - call PlayClickSFX - ld a, [hl] - and a - jr nz, .asm_11cafc - ld a, [wcd35] - and a - jr z, .asm_11caf3 - cp $ff - jr z, .asm_11caf3 - ld a, $ff - ld [wcd35], a - hlcoord 1, 14 - ld de, String_11cb31 - call PlaceString - ld a, $1 - ld [wcd2a], a - ret - -.asm_11caf3 - ld hl, wJumptableIndex - set 7, [hl] - ret - -.asm_11caf9 - call PlayClickSFX -.asm_11cafc - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - ld a, [wcd35] - cp $ff - ret nz - ld a, $1 - ld [wcd35], a - ret - -.asm_11cb12 - ld a, [hl] - and a - ret z - dec [hl] - ret - -.asm_11cb17 - ld a, [hl] - and a - ret nz - inc [hl] - ret - -String_11cb1c: - db "あいさつとうろく¯ちゅうし" - next "しますか?@" - -String_11cb31: - db "とうろくちゅうあいさつほぞん" - next "されませんよろしい ですか?@" - -Function11cb52: - ld hl, Unknown_11cc01 - ld a, [wMenuCursorY] -.asm_11cb58 - dec a - jr z, .asm_11cb5f - inc hl - inc hl - jr .asm_11cb58 -.asm_11cb5f - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - call Function11ca7f - -Function11cb66: - ld hl, wcd2a - ld de, hJoypadPressed - ld a, [de] - and $1 - jr nz, .asm_11cb81 - ld a, [de] - and $2 - jr nz, .asm_11cbd7 - ld a, [de] - and $40 - jr nz, .asm_11cbeb - ld a, [de] - and $80 - jr nz, .asm_11cbf0 - ret - -.asm_11cb81 - ld a, [hl] - and a - jr nz, .asm_11cbd4 - ld a, BANK(sEZChatMessages) - call OpenSRAM - ld hl, sEZChatMessages - ld a, [wMenuCursorY] - dec a - sla a - sla a - ld c, a - sla a - add c - ld c, a - ld b, 0 - add hl, bc - ld de, wcd36 - ld c, EASY_CHAT_MESSAGE_LENGTH -.asm_11cba2 - ld a, [de] - ld [hli], a - inc de - dec c - jr nz, .asm_11cba2 - call CloseSRAM - call PlayClickSFX - ld de, Unknown_11cfc6 - call Function11cfce - ld hl, Unknown_11cc7e - ld a, [wMenuCursorY] -.asm_11cbba - dec a - jr z, .asm_11cbc1 - inc hl - inc hl - jr .asm_11cbba -.asm_11cbc1 - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 1, 14 - call PlaceString - ld hl, wJumptableIndex - inc [hl] - inc hl - ld a, $10 - ld [hl], a - ret - -.asm_11cbd4 - call PlayClickSFX -.asm_11cbd7 - ld de, Unknown_11cfba - call Function11cfce - call Function11c38a - ld hl, wcd24 - set 4, [hl] - ld a, $4 - ld [wJumptableIndex], a - ret - -.asm_11cbeb - ld a, [hl] - and a - ret z - dec [hl] - ret - -.asm_11cbf0 - ld a, [hl] - and a - ret nz - inc [hl] - ret - -Function11cbf5: - call WaitSFX - ld hl, wcf64 - dec [hl] - ret nz - dec hl - set 7, [hl] - ret - -Unknown_11cc01: - dw String_11cc09 - dw String_11cc23 - dw String_11cc42 - dw String_11cc60 - -String_11cc09: - db "じこしょうかい は" - next "この あいさつで いいですか?@" - -String_11cc23: - db "たいせん はじまるとき は" - next "この あいさつで いいですか?@" - -String_11cc42: - db "たいせん かったとき は" - next "この あいさつで いいですか?@" - -String_11cc60: - db "たいせん まけたとき は" - next "この あいさつで いいですか?@" - -Unknown_11cc7e: - dw String_11cc86 - dw String_11cc9d - dw String_11ccb9 - dw String_11ccd4 - -String_11cc86: - db "じこしょうかい の" - next "あいさつ¯とうろくした!@" - -String_11cc9d: - db "たいせん はじまるとき の" - next "あいさつ¯とうろくした!@" - -String_11ccb9: - db "たいせん かったとき の" - next "あいさつ¯とうろくした!@" - -String_11ccd4: - db "たいせん まけたとき の" - next "あいさつ¯とうろくした!@" - -Function11ccef: - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld de, String_11cd10 - call PlaceString - call Function11ca19 - call Function11cfb5 - -Function11cd04: - ld de, hJoypadPressed - ld a, [de] - and a - ret z - ld a, $4 - ld [wJumptableIndex], a - ret - -String_11cd10: - db "なにか ことば¯いれてください@" - -Function11cd20: - call EZChat_ClearBottom12Rows - ld de, Unknown_11cfc6 - call Function11cfce - hlcoord 1, 14 - ld a, [wcd2b] - ld [wcd2c], a - and a - jr nz, .asm_11cd3a - ld de, String_11cdc7 - jr .asm_11cd3d -.asm_11cd3a - ld de, String_11cdd9 -.asm_11cd3d - call PlaceString - hlcoord 4, 8 - ld de, String_11cdf5 - call PlaceString - call Function11cdaa - ld hl, wcd24 - res 5, [hl] - call Function11cfb5 - -Function11cd54: - ld hl, wcd2c - ld de, hJoypadPressed - ld a, [de] - and A_BUTTON - jr nz, .asm_11cd6f - ld a, [de] - and B_BUTTON - jr nz, .asm_11cd73 - ld a, [de] - and D_UP - jr nz, .asm_11cd8b - ld a, [de] - and D_DOWN - jr nz, .asm_11cd94 - ret - -.asm_11cd6f - ld a, [hl] - ld [wcd2b], a -.asm_11cd73 - ld a, [wcd2b] - and a - jr nz, .asm_11cd7d - ld a, $6 - jr .asm_11cd7f - -.asm_11cd7d - ld a, $15 -.asm_11cd7f - ld [wJumptableIndex], a - ld hl, wcd24 - set 5, [hl] - call PlayClickSFX - ret - -.asm_11cd8b - ld a, [hl] - and a - ret z - dec [hl] - ld de, String_11cdc7 - jr .asm_11cd9b - -.asm_11cd94 - ld a, [hl] - and a - ret nz - inc [hl] - ld de, String_11cdd9 -.asm_11cd9b - push de - ld de, Unknown_11cfc6 - call Function11cfce - pop de - hlcoord 1, 14 - call PlaceString - ret - -Function11cdaa: - ld a, $2 - hlcoord 0, 6, wAttrmap - ld bc, 6 * SCREEN_WIDTH - call ByteFill - ld a, $7 - hlcoord 0, 12, wAttrmap - ld bc, 4 * SCREEN_WIDTH - call ByteFill - farcall ReloadMapPart - ret - -String_11cdc7: -; Words will be displayed by category - db "ことば¯しゅるいべつに" - next "えらべます@" - -String_11cdd9: -; Words will be displayed in alphabetical order - db "ことば¯アイウエオ の" - next "じゅんばんで ひょうじ します@" - -String_11cdf5: - db "しゅるいべつ モード" ; Category mode - next "アイウエオ  モード@" ; ABC mode - -Function11ce0b: - call EZChat_ClearBottom12Rows - hlcoord 1, 7 - ld de, String_11cf79 - call PlaceString - hlcoord 1, 17 - ld de, EZChatString_Stop_Mode_Cancel - call PlaceString - call Function11c618 - ld hl, wcd24 - res 2, [hl] - call Function11cfb5 - -Function11ce2b: - ld a, [wcd22] - sla a - sla a - ld c, a - ld b, 0 - ld hl, Unknown_11ceb9 - add hl, bc - - ld de, hJoypadPressed - ld a, [de] - and START - jr nz, .start - ld a, [de] - and SELECT - jr nz, .select - ld a, [de] - and A_BUTTON - jr nz, .a - ld a, [de] - and B_BUTTON - jr nz, .b - - ld de, hJoyLast - ld a, [de] - and D_UP - jr nz, .up - ld a, [de] - and D_DOWN - jr nz, .down - ld a, [de] - and D_LEFT - jr nz, .left - ld a, [de] - and D_RIGHT - jr nz, .right - - ret - -.a - ld a, [wcd22] - cp NUM_KANA - jr c, .place - sub NUM_KANA - jr z, .done - dec a - jr z, .mode - jr .b - -.start - ld hl, wcd24 - set 0, [hl] - ld a, $8 - ld [wcd20], a -.b - ld a, $4 - jr .load - -.select - ld a, [wcd2b] - xor $1 - ld [wcd2b], a - ld a, $6 - jr .load - -.place - ld a, $8 - jr .load - -.mode - ld a, $13 -.load - ld [wJumptableIndex], a - ld hl, wcd24 - set 2, [hl] - call PlayClickSFX - ret - -.done - ld a, [wcd20] - call Function11ca6a - call PlayClickSFX - ret - -.left - inc hl -.down - inc hl -.right - inc hl -.up - ld a, [hl] - cp $ff - ret z - ld [wcd22], a - ret - -Unknown_11ceb9: - ; up left down right - db $ff, $01 - db $05, $ff - db $ff, $02 - db $06, $00 - db $ff, $03 - db $07, $01 - db $ff, $04 - db $08, $02 - db $ff, $14 - db $09, $03 - db $00, $06 - db $0a, $ff - db $01, $07 - db $0b, $05 - db $02, $08 - db $0c, $06 - db $03, $09 - db $0d, $07 - db $04, $19 - db $0e, $08 - db $05, $0b - db $0f, $ff - db $06, $0c - db $10, $0a - db $07, $0d - db $11, $0b - db $08, $0e - db $12, $0c - db $09, $1e - db $13, $0d - db $0a, $10 - db $2d, $ff - db $0b, $11 - db $2d, $0f - db $0c, $12 - db $2d, $10 - db $0d, $13 - db $2d, $11 - db $0e, $26 - db $2d, $12 - db $ff, $15 - db $19, $04 - db $ff, $16 - db $1a, $14 - db $ff, $17 - db $1b, $15 - db $ff, $18 - db $1c, $16 - db $ff, $23 - db $1d, $17 - db $14, $1a - db $1e, $09 - db $15, $1b - db $1f, $19 - db $16, $1c - db $20, $1a - db $17, $1d - db $21, $1b - db $18, $2b - db $22, $1c - db $19, $1f - db $26, $0e - db $1a, $20 - db $27, $1e - db $1b, $21 - db $28, $1f - db $1c, $22 - db $29, $20 - db $1d, $2c - db $2a, $21 - db $ff, $24 - db $2b, $18 - db $ff, $25 - db $2b, $23 - db $ff, $ff - db $2b, $24 - db $1e, $27 - db $2e, $13 - db $1f, $28 - db $2e, $26 - db $20, $29 - db $2e, $27 - db $21, $2a - db $2e, $28 - db $22, $ff - db $2e, $29 - db $23, $ff - db $2c, $1d - db $2b, $ff - db $2f, $22 - db $0f, $2e - db $ff, $ff - db $26, $2f - db $ff, $2d - db $2c, $ff - db $ff, $2e - -String_11cf79: -; Hiragana table - db "あいうえお なにぬねの や ゆ よ" - next "かきくけこ はひふへほ わ" - next "さしすせそ まみむめも そのた" - next "たちつてと らりるれろ" - db "@" - -Function11cfb5: - ld hl, wJumptableIndex - inc [hl] - ret - -Unknown_11cfba: - db 0, 0 ; start coords - db 20, 6 ; end coords - -Unknown_11cfbe: - db 0, 14 ; start coords - db 20, 4 ; end coords - -Unknown_11cfc2: - db 0, 6 ; start coords - db 20, 10 ; end coords - -Unknown_11cfc6: - db 0, 12 ; start coords - db 20, 6 ; end coords - -Unknown_11cfca: - db 14, 7 ; start coords - db 6, 5 ; end coords - -Function11cfce: - hlcoord 0, 0 - ld bc, SCREEN_WIDTH - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.add_n_times - jr z, .done_add_n_times - add hl, bc - dec a - jr .add_n_times -.done_add_n_times - pop af - ld c, a - ld b, 0 - add hl, bc - push hl - ld a, $79 - ld [hli], a - ld a, [de] - inc de - dec a - dec a - jr z, .skip_fill - ld c, a - ld a, $7a -.fill_loop - ld [hli], a - dec c - jr nz, .fill_loop -.skip_fill - ld a, $7b - ld [hl], a - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - ld a, [de] - dec de - dec a - dec a - jr z, .skip_section - ld b, a -.loop - push hl - ld a, $7c - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .skip_row - ld c, a - ld a, $7f -.row_loop - ld [hli], a - dec c - jr nz, .row_loop -.skip_row - ld a, $7c - ld [hl], a - pop hl - push bc - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .loop -.skip_section - ld a, $7d - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .skip_remainder - ld c, a - ld a, $7a -.final_loop - ld [hli], a - dec c - jr nz, .final_loop -.skip_remainder - ld a, $7e - ld [hl], a - ret - -Function11d035: - hlcoord 0, 0 - ld bc, SCREEN_WIDTH - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.add_n_times - jr z, .done_add_n_times - add hl, bc - dec a - jr .add_n_times -.done_add_n_times - pop af - ld c, a - ld b, 0 - add hl, bc - push hl - ld a, $79 - ld [hl], a - pop hl - push hl - ld a, [de] - dec a - inc de - ld c, a - add hl, bc - ld a, $7b - ld [hl], a - call .AddNMinusOneTimes - ld a, $7e - ld [hl], a - pop hl - push hl - call .AddNMinusOneTimes - ld a, $7d - ld [hl], a - pop hl - push hl - inc hl - push hl - call .AddNMinusOneTimes - pop bc - dec de - ld a, [de] - cp $2 - jr z, .skip - dec a - dec a -.loop - push af - ld a, $7a - ld [hli], a - ld [bc], a - inc bc - pop af - dec a - jr nz, .loop -.skip - pop hl - ld bc, $14 - add hl, bc - push hl - ld a, [de] - dec a - ld c, a - ld b, 0 - add hl, bc - pop bc - inc de - ld a, [de] - cp $2 - ret z - push bc - dec a - dec a - ld c, a - ld b, a - ld de, $14 -.loop2 - ld a, $7c - ld [hl], a - add hl, de - dec c - jr nz, .loop2 - pop hl -.loop3 - ld a, $7c - ld [hl], a - add hl, de - dec b - jr nz, .loop3 - ret - -.AddNMinusOneTimes: - ld a, [de] - dec a - ld bc, SCREEN_WIDTH -.add_n_minus_one_times - add hl, bc - dec a - jr nz, .add_n_minus_one_times - ret - -AnimateEZChatCursor: - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - jumptable .Jumptable, hl - -.Jumptable: - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - dw .six - dw .seven - dw .eight - dw .nine - dw .ten - -.zero - ld a, [wcd20] - sla a - ld hl, .Coords_Zero - ld e, $1 - jr .load - -.one - ld a, [wcd21] - sla a - ld hl, .Coords_One - ld e, $2 - jr .load - -.two - ld hl, .FramesetsIDs_Two - ld a, [wcd22] - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - call ReinitSpriteAnimFrame - - ld a, [wcd22] - sla a - ld hl, .Coords_Two - ld e, $4 - jr .load - -.three - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2 - call ReinitSpriteAnimFrame - ld a, [wMobileCommsJumptableIndex] - sla a - ld hl, .Coords_Three - ld e, $8 -.load - push de - ld e, a - ld d, 0 - add hl, de - push hl - pop de - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - pop de - ld a, e - call .UpdateObjectFlags - ret - -.four - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2 - call ReinitSpriteAnimFrame - ld a, [wcd2a] - sla a - ld hl, .Coords_Four - ld e, $10 - jr .load - -.five - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2 - call ReinitSpriteAnimFrame - ld a, [wcd2c] - sla a - ld hl, .Coords_Five - ld e, $20 - jr .load - -.six - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5 - call ReinitSpriteAnimFrame - ; X = [wcd4a] * 8 + 24 - ld a, [wcd4a] - sla a - sla a - sla a - add $18 - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld [hli], a - ; Y = 48 - ld a, $30 - ld [hl], a - - ld a, $1 - ld e, a - call .UpdateObjectFlags - ret - -.seven - ld a, [wEZChatCursorYCoord] - cp $4 - jr z, .cursor0 - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 - jr .got_frameset - -.cursor0 - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 -.got_frameset - call ReinitSpriteAnimFrame - ld a, [wEZChatCursorYCoord] - cp $4 - jr z, .asm_11d1b1 - ; X = [wEZChatCursorXCoord] * 8 + 32 - ld a, [wEZChatCursorXCoord] - sla a - sla a - sla a - add $20 - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld [hli], a - ; Y = [wEZChatCursorYCoord] * 16 + 72 - ld a, [wEZChatCursorYCoord] - sla a - sla a - sla a - sla a - add $48 - ld [hl], a - ld a, $2 - ld e, a - call .UpdateObjectFlags - ret - -.asm_11d1b1 - ; X = [wEZChatCursorXCoord] * 40 + 24 - ld a, [wEZChatCursorXCoord] - sla a - sla a - sla a - ld e, a - sla a - sla a - add e - add $18 - ld hl, SPRITEANIMSTRUCT_XCOORD - add hl, bc - ld [hli], a - ; Y = 138 - ld a, $8a - ld [hl], a - ld a, $2 - ld e, a - call .UpdateObjectFlags - ret - -.nine - ld d, -13 * 8 - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7 - jr .eight_nine_load - -.eight - ld d, 2 * 8 - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6 -.eight_nine_load - push de - call ReinitSpriteAnimFrame - ld a, [wcd4a] - sla a - sla a - sla a - ld e, a - sla a - add e - add 8 * 8 - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld [hld], a - pop af - ld [hl], a - ld a, $4 - ld e, a - call .UpdateObjectFlags - ret - -.ten - ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 - call ReinitSpriteAnimFrame - ld a, $8 - ld e, a - call .UpdateObjectFlags - ret - -.Coords_Zero: - dbpixel 1, 3, 5, 2 - dbpixel 7, 3, 5, 2 - dbpixel 13, 3, 5, 2 - dbpixel 1, 5, 5, 2 - dbpixel 7, 5, 5, 2 - dbpixel 13, 5, 5, 2 - dbpixel 1, 17, 5, 2 - dbpixel 7, 17, 5, 2 - dbpixel 13, 17, 5, 2 - -.Coords_One: - dbpixel 1, 8, 5, 2 - dbpixel 7, 8, 5, 2 - dbpixel 13, 8, 5, 2 - dbpixel 1, 10, 5, 2 - dbpixel 7, 10, 5, 2 - dbpixel 13, 10, 5, 2 - dbpixel 1, 12, 5, 2 - dbpixel 7, 12, 5, 2 - dbpixel 13, 12, 5, 2 - dbpixel 1, 14, 5, 2 - dbpixel 7, 14, 5, 2 - dbpixel 13, 14, 5, 2 - dbpixel 1, 16, 5, 2 - dbpixel 7, 16, 5, 2 - dbpixel 13, 16, 5, 2 - dbpixel 1, 18, 5, 2 - dbpixel 7, 18, 5, 2 - dbpixel 13, 18, 5, 2 - -.Coords_Two: - dbpixel 2, 9 ; 00 - dbpixel 3, 9 ; 01 - dbpixel 4, 9 ; 02 - dbpixel 5, 9 ; 03 - dbpixel 6, 9 ; 04 - dbpixel 2, 11 ; 05 - dbpixel 3, 11 ; 06 - dbpixel 4, 11 ; 07 - dbpixel 5, 11 ; 08 - dbpixel 6, 11 ; 09 - dbpixel 2, 13 ; 0a - dbpixel 3, 13 ; 0b - dbpixel 4, 13 ; 0c - dbpixel 5, 13 ; 0d - dbpixel 6, 13 ; 0e - dbpixel 2, 15 ; 0f - dbpixel 3, 15 ; 10 - dbpixel 4, 15 ; 11 - dbpixel 5, 15 ; 12 - dbpixel 6, 15 ; 13 - dbpixel 8, 9 ; 14 - dbpixel 9, 9 ; 15 - dbpixel 10, 9 ; 16 - dbpixel 11, 9 ; 17 - dbpixel 12, 9 ; 18 - dbpixel 8, 11 ; 19 - dbpixel 9, 11 ; 1a - dbpixel 10, 11 ; 1b - dbpixel 11, 11 ; 1c - dbpixel 12, 11 ; 1d - dbpixel 8, 13 ; 1e - dbpixel 9, 13 ; 1f - dbpixel 10, 13 ; 20 - dbpixel 11, 13 ; 21 - dbpixel 12, 13 ; 22 - dbpixel 14, 9 ; 23 - dbpixel 16, 9 ; 24 - dbpixel 18, 9 ; 25 - dbpixel 8, 15 ; 26 - dbpixel 9, 15 ; 27 - dbpixel 10, 15 ; 28 - dbpixel 11, 15 ; 29 - dbpixel 12, 15 ; 2a - dbpixel 14, 11 ; 2b - dbpixel 14, 13 ; 2c - dbpixel 1, 18, 5, 2 ; 2d - dbpixel 7, 18, 5, 2 ; 2e - dbpixel 13, 18, 5, 2 ; 2f - -.Coords_Three: - dbpixel 2, 10 - dbpixel 8, 10 - dbpixel 14, 10 - dbpixel 2, 12 - dbpixel 8, 12 - dbpixel 14, 12 - dbpixel 2, 14 - dbpixel 8, 14 - dbpixel 14, 14 - dbpixel 2, 16 - dbpixel 8, 16 - dbpixel 14, 16 - -.Coords_Four: - dbpixel 16, 10 - dbpixel 16, 12 - -.Coords_Five: - dbpixel 4, 10 - dbpixel 4, 12 - -.FramesetsIDs_Two: - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 00 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 01 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 02 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 03 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 04 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 05 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 06 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 07 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 08 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 09 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0a - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0b - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0c - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0d - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0e - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0f - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 10 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 11 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 12 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 13 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 14 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 15 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 16 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 17 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 18 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 19 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1a - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1b - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1c - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1d - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1e - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1f - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 20 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 21 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 22 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 23 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 24 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 25 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 26 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 27 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 28 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 29 - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 2a - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 2b - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4 ; 2c - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2d - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2e - db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2f - -.UpdateObjectFlags: - ld hl, wcd24 - and [hl] - jr nz, .update_y_offset - ld a, e - ld hl, wcd23 - and [hl] - jr z, .reset_y_offset - ld hl, SPRITEANIMSTRUCT_VAR3 - add hl, bc - ld a, [hl] - and a - jr z, .flip_bit_0 - dec [hl] - ret - -.flip_bit_0 - ld a, $0 - ld [hld], a - ld a, $1 - xor [hl] - ld [hl], a - and a - jr nz, .update_y_offset -.reset_y_offset - ld hl, SPRITEANIMSTRUCT_YOFFSET - add hl, bc - xor a - ld [hl], a - ret - -.update_y_offset - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, $b0 - sub [hl] - ld hl, SPRITEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ret - -Function11d323: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, Palette_11d33a - ld de, wBGPals1 - ld bc, 16 palettes - call CopyBytes - pop af - ldh [rSVBK], a - ret - -Palette_11d33a: - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 16, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 23, 17, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - -EZChat_GetSeenPokemonByKana: - ldh a, [rSVBK] - push af - ld hl, wc648 - ld a, LOW(w5_d800) - ld [wcd2d], a - ld [hli], a - ld a, HIGH(w5_d800) - ld [wcd2e], a - ld [hl], a - - ld a, LOW(EZChat_SortedPokemon) - ld [wcd2f], a - ld a, HIGH(EZChat_SortedPokemon) - ld [wcd30], a - - ld a, LOW(wc6a8) - ld [wcd31], a - ld a, HIGH(wc6a8) - ld [wcd32], a - - ld a, LOW(wc64a) - ld [wcd33], a - ld a, HIGH(wc64a) - ld [wcd34], a - - ld hl, EZChat_SortedWords - ld a, (EZChat_SortedWords.End - EZChat_SortedWords) / 4 - -.MasterLoop: - push af -; read row -; offset - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a -; size - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -; save the pointer to the next row - push hl -; add de to w3_d000 - ld hl, w3_d000 - add hl, de -; recover de from wcd2d (default: w5_d800) - ld a, [wcd2d] - ld e, a - ld a, [wcd2e] - ld d, a -; save bc for later - push bc - -.loop1 -; copy 2*bc bytes from 3:hl to 5:de - ld a, $3 - ldh [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ldh [rSVBK], a - pop af - ld [de], a - inc de - - ld a, $3 - ldh [rSVBK], a - ld a, [hli] - push af - ld a, $5 - ldh [rSVBK], a - pop af - ld [de], a - inc de - - dec bc - ld a, c - or b - jr nz, .loop1 - -; recover the pointer from wcd2f (default: EZChat_SortedPokemon) - ld a, [wcd2f] - ld l, a - ld a, [wcd30] - ld h, a -; copy the pointer from [hl] to bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -; store the pointer to the next pointer back in wcd2f - ld a, l - ld [wcd2f], a - ld a, h - ld [wcd30], a -; push pop that pointer to hl - push bc - pop hl - ld c, $0 -.loop2 -; Have you seen this Pokemon? - ld a, [hl] - cp $ff - jr z, .done - call .CheckSeenMon - jr nz, .next -; If not, skip it. - inc hl - jr .loop2 - -.next -; If so, append it to the list at 5:de, and increase the count. - ld a, [hli] - ld [de], a - inc de - xor a - ld [de], a - inc de - inc c - jr .loop2 - -.done -; Remember the original value of bc from the table? -; Well, the stack remembers it, and it's popping it to hl. - pop hl -; Add the number of seen Pokemon from the list. - ld b, $0 - add hl, bc -; Push pop to bc. - push hl - pop bc -; Load the pointer from [wcd31] (default: wc6a8) - ld a, [wcd31] - ld l, a - ld a, [wcd32] - ld h, a -; Save the quantity from bc to [hl] - ld a, c - ld [hli], a - ld a, b - ld [hli], a -; Save the new value of hl to [wcd31] - ld a, l - ld [wcd31], a - ld a, h - ld [wcd32], a -; Recover the pointer from [wcd33] (default: wc64a) - ld a, [wcd33] - ld l, a - ld a, [wcd34] - ld h, a -; Save the current value of de there - ld a, e - ld [wcd2d], a - ld [hli], a - ld a, d - ld [wcd2e], a -; Save the new value of hl back to [wcd33] - ld [hli], a - ld a, l - ld [wcd33], a - ld a, h - ld [wcd34], a -; Next row - pop hl - pop af - dec a - jr z, .ExitMasterLoop - jp .MasterLoop - -.ExitMasterLoop: - pop af - ldh [rSVBK], a - ret - -.CheckSeenMon: - push hl - push bc - push de - dec a - ld hl, rSVBK - ld e, $1 - ld [hl], e - call CheckSeenMon - ld hl, rSVBK - ld e, $5 - ld [hl], e - pop de - pop bc - pop hl - ret - -EZChat_GetCategoryWordsByKana: - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a - - ; load pointers - ld hl, MobileEZChatCategoryPointers - ld bc, MobileEZChatData_WordAndPageCounts - - ; init WRAM registers - xor a - ld [wcd2d], a - inc a - ld [wcd2e], a - - ; enter the first loop - ld a, 14 -.loop1 - push af - - ; load the pointer to the category - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - - ; skip to the attributes - ld hl, NAME_LENGTH_JAPANESE - 1 - add hl, de - - ; get the number of words in the category - ld a, [bc] ; number of entries to copy - inc bc - inc bc - push bc - -.loop2 - push af - push hl - - ; load offset at [hl] - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - - ; add to w3_d000 - ld hl, w3_d000 - add hl, de - - ; copy from wcd2d and increment [wcd2d] in place - ld a, [wcd2d] - ld [hli], a - inc a - ld [wcd2d], a - - ; copy from wcd2e - ld a, [wcd2e] - ld [hl], a - - ; next entry - pop hl - ld de, 8 - add hl, de - pop af - dec a - jr nz, .loop2 - - ; reset and go to next category - ld hl, wcd2d - xor a - ld [hli], a - inc [hl] - pop bc - pop hl - pop af - dec a - jr nz, .loop1 - pop af - ldh [rSVBK], a - ret - -INCLUDE "data/pokemon/ezchat_order.asm" - -SelectStartGFX: -INCBIN "gfx/mobile/select_start.2bpp" - -EZChatSlowpokeLZ: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" - -MobileEZChatCategoryNames: -; entries correspond to EZCHAT_* constants - db "ポケモン@@" ; 00 - db "タイプ@@@" ; 01 - db "あいさつ@@" ; 02 - db "ひと@@@@" ; 03 - db "バトル@@@" ; 04 - db "こえ@@@@" ; 05 - db "かいわ@@@" ; 06 - db "きもち@@@" ; 07 - db "じょうたい@" ; 08 - db "せいかつ@@" ; 09 - db "しゅみ@@@" ; 0a - db "こうどう@@" ; 0b - db "じかん@@@" ; 0c - db "むすび@@@" ; 0d - db "あれこれ@@" ; 0e - -MobileEZChatCategoryPointers: -; entries correspond to EZCHAT_* constants - dw .Types ; 01 - dw .Greetings ; 02 - dw .People ; 03 - dw .Battle ; 04 - dw .Exclamations ; 05 - dw .Conversation ; 06 - dw .Feelings ; 07 - dw .Conditions ; 08 - dw .Life ; 09 - dw .Hobbies ; 0a - dw .Actions ; 0b - dw .Time ; 0c - dw .Farewells ; 0d - dw .ThisAndThat ; 0e - -.Types: - db "あく@@@", $26, $0, $0 - db "いわ@@@", $aa, $0, $0 - db "エスパー@", $da, $0, $0 - db "かくとう@", $4e, $1, $0 - db "くさ@@@", $ba, $1, $0 - db "ゴースト@", $e4, $1, $0 - db "こおり@@", $e6, $1, $0 - db "じめん@@", $68, $2, $0 - db "タイプ@@", $e8, $2, $0 - db "でんき@@", $8e, $3, $0 - db "どく@@@", $ae, $3, $0 - db "ドラゴン@", $bc, $3, $0 - db "ノーマル@", $22, $4, $0 - db "はがね@@", $36, $4, $0 - db "ひこう@@", $5e, $4, $0 - db "ほのお@@", $b2, $4, $0 - db "みず@@@", $f4, $4, $0 - db "むし@@@", $12, $5, $0 - -.Greetings: - db "ありがと@", $58, $0, $0 - db "ありがとう", $5a, $0, $0 - db "いくぜ!@", $80, $0, $0 - db "いくよ!@", $82, $0, $0 - db "いくわよ!", $84, $0, $0 - db "いやー@@", $a6, $0, $0 - db "おっす@@", $a, $1, $0 - db "おはつです", $22, $1, $0 - db "おめでとう", $2a, $1, $0 - db "ごめん@@", $f8, $1, $0 - db "ごめんよ@", $fa, $1, $0 - db "こらっ@@", $fc, $1, $0 - db "こんちは!", $a, $2, $0 - db "こんにちは", $10, $2, $0 - db "さようなら", $28, $2, $0 - db "サンキュー", $2e, $2, $0 - db "さんじょう", $30, $2, $0 - db "しっけい@", $48, $2, $0 - db "しつれい@", $4c, $2, $0 - db "じゃーね@", $6c, $2, $0 - db "すいません", $8c, $2, $0 - db "それじゃ@", $ca, $2, $0 - db "どうも@@", $a6, $3, $0 - db "なんじゃ@", $ee, $3, $0 - db "ハーイ@@", $2c, $4, $0 - db "はいはい@", $32, $4, $0 - db "バイバイ@", $34, $4, $0 - db "へイ@@@", $8a, $4, $0 - db "またね@@", $de, $4, $0 - db "もしもし@", $32, $5, $0 - db "やあ@@@", $3e, $5, $0 - db "やっほー@", $4e, $5, $0 - db "よう@@@", $62, $5, $0 - db "ようこそ@", $64, $5, $0 - db "よろしく@", $80, $5, $0 - db "らっしゃい", $94, $5, $0 - -.People: - db "あいて@@", $1c, $0, $0 - db "あたし@@", $36, $0, $0 - db "あなた@@", $40, $0, $0 - db "あなたが@", $42, $0, $0 - db "あなたに@", $44, $0, $0 - db "あなたの@", $46, $0, $0 - db "あなたは@", $48, $0, $0 - db "あなたを@", $4a, $0, $0 - db "おかあさん", $e8, $0, $0 - db "おじいさん", $fc, $0, $0 - db "おじさん@", $2, $1, $0 - db "おとうさん", $e, $1, $0 - db "おとこのこ", $10, $1, $0 - db "おとな@@", $14, $1, $0 - db "おにいさん", $16, $1, $0 - db "おねえさん", $18, $1, $0 - db "おばあさん", $1c, $1, $0 - db "おばさん@", $20, $1, $0 - db "おれさま@", $34, $1, $0 - db "おんなのこ", $3a, $1, $0 - db "ガール@@", $40, $1, $0 - db "かぞく@@", $52, $1, $0 - db "かのじょ@", $72, $1, $0 - db "かれ@@@", $7c, $1, $0 - db "きみ@@@", $9a, $1, $0 - db "きみが@@", $9c, $1, $0 - db "きみに@@", $9e, $1, $0 - db "きみの@@", $a0, $1, $0 - db "きみは@@", $a2, $1, $0 - db "きみを@@", $a4, $1, $0 - db "ギャル@@", $ae, $1, $0 - db "きょうだい", $b2, $1, $0 - db "こども@@", $f0, $1, $0 - db "じぶん@@", $54, $2, $0 - db "じぶんが@", $56, $2, $0 - db "じぶんに@", $58, $2, $0 - db "じぶんの@", $5a, $2, $0 - db "じぶんは@", $5c, $2, $0 - db "じぶんを@", $5e, $2, $0 - db "だれ@@@", $18, $3, $0 - db "だれか@@", $1a, $3, $0 - db "だれが@@", $1c, $3, $0 - db "だれに@@", $1e, $3, $0 - db "だれの@@", $20, $3, $0 - db "だれも@@", $22, $3, $0 - db "だれを@@", $24, $3, $0 - db "ちゃん@@", $38, $3, $0 - db "ともだち@", $b8, $3, $0 - db "なかま@@", $d4, $3, $0 - db "ひと@@@", $62, $4, $0 - db "ボーイ@@", $98, $4, $0 - db "ボク@@@", $a0, $4, $0 - db "ボクが@@", $a2, $4, $0 - db "ボクに@@", $a4, $4, $0 - db "ボクの@@", $a6, $4, $0 - db "ボクは@@", $a8, $4, $0 - db "ボクを@@", $aa, $4, $0 - db "みんな@@", $4, $5, $0 - db "みんなが@", $6, $5, $0 - db "みんなに@", $8, $5, $0 - db "みんなの@", $a, $5, $0 - db "みんなは@", $c, $5, $0 - db "ライバル@", $8a, $5, $0 - db "わたし@@", $c2, $5, $0 - db "わたしが@", $c4, $5, $0 - db "わたしに@", $c6, $5, $0 - db "わたしの@", $c8, $5, $0 - db "わたしは@", $ca, $5, $0 - db "わたしを@", $cc, $5, $0 - -.Battle: - db "あいしょう", $18, $0, $0 - db "いけ!@@", $88, $0, $0 - db "いちばん@", $96, $0, $0 - db "かくご@@", $4c, $1, $0 - db "かたせて@", $54, $1, $0 - db "かち@@@", $56, $1, $0 - db "かつ@@@", $58, $1, $0 - db "かった@@", $60, $1, $0 - db "かったら@", $62, $1, $0 - db "かって@@", $64, $1, $0 - db "かてない@", $66, $1, $0 - db "かてる@@", $68, $1, $0 - db "かなわない", $70, $1, $0 - db "きあい@@", $84, $1, $0 - db "きめた@@", $a8, $1, $0 - db "きりふだ@", $b6, $1, $0 - db "くらえ@@", $c2, $1, $0 - db "こい!@@", $da, $1, $0 - db "こうげき@", $e0, $1, $0 - db "こうさん@", $e2, $1, $0 - db "こんじょう", $8, $2, $0 - db "さいのう@", $16, $2, $0 - db "さくせん@", $1a, $2, $0 - db "さばき@@", $22, $2, $0 - db "しょうぶ@", $7e, $2, $0 - db "しょうり@", $80, $2, $0 - db "せめ@@@", $b4, $2, $0 - db "センス@@", $b6, $2, $0 - db "たいせん@", $e6, $2, $0 - db "たたかい@", $f6, $2, $0 - db "ちから@@", $32, $3, $0 - db "チャレンジ", $36, $3, $0 - db "つよい@@", $58, $3, $0 - db "つよすぎ@", $5a, $3, $0 - db "つらい@@", $5c, $3, $0 - db "つらかった", $5e, $3, $0 - db "てかげん@", $6c, $3, $0 - db "てき@@@", $6e, $3, $0 - db "てんさい@", $90, $3, $0 - db "でんせつ@", $94, $3, $0 - db "トレーナー", $c6, $3, $0 - db "にげ@@@", $4, $4, $0 - db "ぬるい@@", $10, $4, $0 - db "ねらう@@", $16, $4, $0 - db "バトル@@", $4a, $4, $0 - db "ファイト@", $72, $4, $0 - db "ふっかつ@", $78, $4, $0 - db "ポイント@", $94, $4, $0 - db "ポケモン@", $ac, $4, $0 - db "ほんき@@", $bc, $4, $0 - db "まいった!", $c4, $4, $0 - db "まけ@@@", $c8, $4, $0 - db "まけたら@", $ca, $4, $0 - db "まけて@@", $cc, $4, $0 - db "まける@@", $ce, $4, $0 - db "まもり@@", $ea, $4, $0 - db "みかた@@", $f2, $4, $0 - db "みとめない", $fe, $4, $0 - db "みとめる@", $0, $5, $0 - db "むてき@@", $16, $5, $0 - db "もらった!", $3c, $5, $0 - db "よゆう@@", $7a, $5, $0 - db "よわい@@", $82, $5, $0 - db "よわすぎ@", $84, $5, $0 - db "らくしょう", $8e, $5, $0 - db "りーダー@", $9e, $5, $0 - db "ルール@@", $a0, $5, $0 - db "レべル@@", $a6, $5, $0 - db "わざ@@@", $be, $5, $0 - -.Exclamations: - db "!@@@@", $0, $0, $0 - db "!!@@@", $2, $0, $0 - db "!?@@@", $4, $0, $0 - db "?@@@@", $6, $0, $0 - db "⋯@@@@", $8, $0, $0 - db "⋯!@@@", $a, $0, $0 - db "⋯⋯⋯@@", $c, $0, $0 - db "ー@@@@", $e, $0, $0 - db "ーーー@@", $10, $0, $0 - db "あーあ@@", $14, $0, $0 - db "あーん@@", $16, $0, $0 - db "あははー@", $52, $0, $0 - db "あら@@@", $54, $0, $0 - db "いえ@@@", $72, $0, $0 - db "イエス@@", $74, $0, $0 - db "うう@@@", $ac, $0, $0 - db "うーん@@", $ae, $0, $0 - db "うおー!@", $b0, $0, $0 - db "うおりゃー", $b2, $0, $0 - db "うひょー@", $bc, $0, $0 - db "うふふ@@", $be, $0, $0 - db "うわー@@", $ca, $0, $0 - db "うわーん@", $cc, $0, $0 - db "ええ@@@", $d2, $0, $0 - db "えー@@@", $d4, $0, $0 - db "えーん@@", $d6, $0, $0 - db "えへへ@@", $dc, $0, $0 - db "おいおい@", $e0, $0, $0 - db "おお@@@", $e2, $0, $0 - db "おっと@@", $c, $1, $0 - db "がーん@@", $42, $1, $0 - db "キャー@@", $aa, $1, $0 - db "ギャー@@", $ac, $1, $0 - db "ぐふふふふ", $bc, $1, $0 - db "げっ@@@", $ce, $1, $0 - db "しくしく@", $3e, $2, $0 - db "ちえっ@@", $2e, $3, $0 - db "てへ@@@", $86, $3, $0 - db "ノー@@@", $20, $4, $0 - db "はあー@@", $2a, $4, $0 - db "はい@@@", $30, $4, $0 - db "はっはっは", $48, $4, $0 - db "ひいー@@", $56, $4, $0 - db "ひゃあ@@", $6a, $4, $0 - db "ふっふっふ", $7c, $4, $0 - db "ふにゃ@@", $7e, $4, $0 - db "ププ@@@", $80, $4, $0 - db "ふふん@@", $82, $4, $0 - db "ふん@@@", $88, $4, $0 - db "へっへっへ", $8e, $4, $0 - db "へへー@@", $90, $4, $0 - db "ほーほほほ", $9c, $4, $0 - db "ほら@@@", $b6, $4, $0 - db "まあ@@@", $c0, $4, $0 - db "むきー!!", $10, $5, $0 - db "むふー@@", $18, $5, $0 - db "むふふ@@", $1a, $5, $0 - db "むむ@@@", $1c, $5, $0 - db "よーし@@", $6a, $5, $0 - db "よし!@@", $72, $5, $0 - db "ラララ@@", $98, $5, $0 - db "わーい@@", $ac, $5, $0 - db "わーん!!", $b0, $5, $0 - db "ワオ@@@", $b2, $5, $0 - db "わっ!!@", $ce, $5, $0 - db "わははは!", $d0, $5, $0 - -.Conversation: - db "あのね@@", $50, $0, $0 - db "あんまり@", $6e, $0, $0 - db "いじわる@", $8e, $0, $0 - db "うそ@@@", $b6, $0, $0 - db "うむ@@@", $c4, $0, $0 - db "おーい@@", $e4, $0, $0 - db "おすすめ@", $6, $1, $0 - db "おばかさん", $1e, $1, $0 - db "かなり@@", $6e, $1, $0 - db "から@@@", $7a, $1, $0 - db "きぶん@@", $98, $1, $0 - db "けど@@@", $d6, $1, $0 - db "こそ@@@", $ea, $1, $0 - db "こと@@@", $ee, $1, $0 - db "さあ@@@", $12, $2, $0 - db "さっぱり@", $1e, $2, $0 - db "さて@@@", $20, $2, $0 - db "じゅうぶん", $72, $2, $0 - db "すぐ@@@", $94, $2, $0 - db "すごく@@", $98, $2, $0 - db "すこしは@", $9a, $2, $0 - db "すっっごい", $a0, $2, $0 - db "ぜーんぜん", $b0, $2, $0 - db "ぜったい@", $b2, $2, $0 - db "それで@@", $ce, $2, $0 - db "だけ@@@", $f2, $2, $0 - db "だって@@", $fc, $2, $0 - db "たぶん@@", $6, $3, $0 - db "たら@@@", $14, $3, $0 - db "ちょー@@", $3a, $3, $0 - db "ちょっと@", $3c, $3, $0 - db "ったら@@", $4e, $3, $0 - db "って@@@", $50, $3, $0 - db "ていうか@", $62, $3, $0 - db "でも@@@", $88, $3, $0 - db "どうしても", $9c, $3, $0 - db "とうぜん@", $a0, $3, $0 - db "どうぞ@@", $a2, $3, $0 - db "とりあえず", $be, $3, $0 - db "なあ@@@", $cc, $3, $0 - db "なんて@@", $f4, $3, $0 - db "なんでも@", $fc, $3, $0 - db "なんとか@", $fe, $3, $0 - db "には@@@", $8, $4, $0 - db "バッチり@", $46, $4, $0 - db "ばりばり@", $52, $4, $0 - db "ほど@@@", $b0, $4, $0 - db "ほんと@@", $be, $4, $0 - db "まさに@@", $d0, $4, $0 - db "マジ@@@", $d2, $4, $0 - db "マジで@@", $d4, $4, $0 - db "まったく@", $e4, $4, $0 - db "まで@@@", $e6, $4, $0 - db "まるで@@", $ec, $4, $0 - db "ムード@@", $e, $5, $0 - db "むしろ@@", $14, $5, $0 - db "めちゃ@@", $24, $5, $0 - db "めっぽう@", $28, $5, $0 - db "もう@@@", $2c, $5, $0 - db "モード@@", $2e, $5, $0 - db "もっと@@", $36, $5, $0 - db "もはや@@", $38, $5, $0 - db "やっと@@", $4a, $5, $0 - db "やっぱり@", $4c, $5, $0 - db "より@@@", $7c, $5, $0 - db "れば@@@", $a4, $5, $0 - -.Feelings: - db "あいたい@", $1a, $0, $0 - db "あそびたい", $32, $0, $0 - db "いきたい@", $7c, $0, $0 - db "うかれて@", $b4, $0, $0 - db "うれしい@", $c6, $0, $0 - db "うれしさ@", $c8, $0, $0 - db "エキサイト", $d8, $0, $0 - db "えらい@@", $de, $0, $0 - db "おかしい@", $ec, $0, $0 - db "オッケー@", $8, $1, $0 - db "かえりたい", $48, $1, $0 - db "がっくし@", $5a, $1, $0 - db "かなしい@", $6c, $1, $0 - db "がんばって", $80, $1, $0 - db "きがしない", $86, $1, $0 - db "きがする@", $88, $1, $0 - db "ききたい@", $8a, $1, $0 - db "きになる@", $90, $1, $0 - db "きのせい@", $96, $1, $0 - db "きらい@@", $b4, $1, $0 - db "くやしい@", $be, $1, $0 - db "くやしさ@", $c0, $1, $0 - db "さみしい@", $24, $2, $0 - db "ざんねん@", $32, $2, $0 - db "しあわせ@", $36, $2, $0 - db "したい@@", $44, $2, $0 - db "したくない", $46, $2, $0 - db "しまった@", $64, $2, $0 - db "しょんぼり", $82, $2, $0 - db "すき@@@", $92, $2, $0 - db "だいきらい", $da, $2, $0 - db "たいくつ@", $dc, $2, $0 - db "だいじ@@", $de, $2, $0 - db "だいすき@", $e4, $2, $0 - db "たいへん@", $ea, $2, $0 - db "たのしい@", $0, $3, $0 - db "たのしすぎ", $2, $3, $0 - db "たべたい@", $8, $3, $0 - db "ダメダメ@", $e, $3, $0 - db "たりない@", $16, $3, $0 - db "ちくしょー", $34, $3, $0 - db "どうしよう", $9e, $3, $0 - db "ドキドキ@", $ac, $3, $0 - db "ナイス@@", $d0, $3, $0 - db "のみたい@", $26, $4, $0 - db "びっくり@", $60, $4, $0 - db "ふあん@@", $74, $4, $0 - db "ふらふら@", $86, $4, $0 - db "ほしい@@", $ae, $4, $0 - db "ボロボロ@", $b8, $4, $0 - db "まだまだ@", $e0, $4, $0 - db "まてない@", $e8, $4, $0 - db "まんぞく@", $f0, $4, $0 - db "みたい@@", $f8, $4, $0 - db "めずらしい", $22, $5, $0 - db "メラメラ@", $2a, $5, $0 - db "やだ@@@", $46, $5, $0 - db "やったー@", $48, $5, $0 - db "やばい@@", $50, $5, $0 - db "やばすぎる", $52, $5, $0 - db "やられた@", $54, $5, $0 - db "やられて@", $56, $5, $0 - db "よかった@", $6e, $5, $0 - db "ラブラブ@", $96, $5, $0 - db "ロマン@@", $a8, $5, $0 - db "ろんがい@", $aa, $5, $0 - db "わから@@", $b4, $5, $0 - db "わかり@@", $b6, $5, $0 - db "わくわく@", $ba, $5, $0 - -.Conditions: - db "あつい@@", $38, $0, $0 - db "あった@@", $3a, $0, $0 - db "あり@@@", $56, $0, $0 - db "ある@@@", $5e, $0, $0 - db "あわてて@", $6a, $0, $0 - db "いい@@@", $70, $0, $0 - db "いか@@@", $76, $0, $0 - db "イカス@@", $78, $0, $0 - db "いきおい@", $7a, $0, $0 - db "いける@@", $8a, $0, $0 - db "いじょう@", $8c, $0, $0 - db "いそがしい", $90, $0, $0 - db "いっしょに", $9a, $0, $0 - db "いっぱい@", $9c, $0, $0 - db "いない@@", $a0, $0, $0 - db "いや@@@", $a4, $0, $0 - db "いる@@@", $a8, $0, $0 - db "うまい@@", $c0, $0, $0 - db "うまく@@", $c2, $0, $0 - db "おおきい@", $e6, $0, $0 - db "おくれ@@", $f2, $0, $0 - db "おしい@@", $fa, $0, $0 - db "おもしろい", $2c, $1, $0 - db "おもしろく", $2e, $1, $0 - db "かっこいい", $5c, $1, $0 - db "かわいい@", $7e, $1, $0 - db "かんぺき@", $82, $1, $0 - db "けっこう@", $d0, $1, $0 - db "げんき@@", $d8, $1, $0 - db "こわい@@", $6, $2, $0 - db "さいこう@", $14, $2, $0 - db "さむい@@", $26, $2, $0 - db "さわやか@", $2c, $2, $0 - db "しかたない", $38, $2, $0 - db "すごい@@", $96, $2, $0 - db "すごすぎ@", $9c, $2, $0 - db "すてき@@", $a4, $2, $0 - db "たいした@", $e0, $2, $0 - db "だいじょぶ", $e2, $2, $0 - db "たかい@@", $ec, $2, $0 - db "ただしい@", $f8, $2, $0 - db "だめ@@@", $c, $3, $0 - db "ちいさい@", $2c, $3, $0 - db "ちがう@@", $30, $3, $0 - db "つかれ@@", $48, $3, $0 - db "とくい@@", $b0, $3, $0 - db "とまらない", $b6, $3, $0 - db "ない@@@", $ce, $3, $0 - db "なかった@", $d2, $3, $0 - db "なし@@@", $d8, $3, $0 - db "なって@@", $dc, $3, $0 - db "はやい@@", $50, $4, $0 - db "ひかる@@", $5a, $4, $0 - db "ひくい@@", $5c, $4, $0 - db "ひどい@@", $64, $4, $0 - db "ひとりで@", $66, $4, $0 - db "ひま@@@", $68, $4, $0 - db "ふそく@@", $76, $4, $0 - db "へた@@@", $8c, $4, $0 - db "まちがって", $e2, $4, $0 - db "やさしい@", $42, $5, $0 - db "よく@@@", $70, $5, $0 - db "よわって@", $86, $5, $0 - db "らく@@@", $8c, $5, $0 - db "らしい@@", $90, $5, $0 - db "わるい@@", $d4, $5, $0 - -.Life: - db "アルバイト", $64, $0, $0 - db "うち@@@", $ba, $0, $0 - db "おかね@@", $ee, $0, $0 - db "おこづかい", $f4, $0, $0 - db "おふろ@@", $24, $1, $0 - db "がっこう@", $5e, $1, $0 - db "きねん@@", $92, $1, $0 - db "グループ@", $c6, $1, $0 - db "ゲット@@", $d2, $1, $0 - db "こうかん@", $de, $1, $0 - db "しごと@@", $40, $2, $0 - db "しゅぎょう", $74, $2, $0 - db "じゅぎょう", $76, $2, $0 - db "じゅく@@", $78, $2, $0 - db "しんか@@", $88, $2, $0 - db "ずかん@@", $90, $2, $0 - db "せいかつ@", $ae, $2, $0 - db "せんせい@", $b8, $2, $0 - db "センター@", $ba, $2, $0 - db "タワー@@", $28, $3, $0 - db "つうしん@", $40, $3, $0 - db "テスト@@", $7e, $3, $0 - db "テレビ@@", $8c, $3, $0 - db "でんわ@@", $96, $3, $0 - db "どうぐ@@", $9a, $3, $0 - db "トレード@", $c4, $3, $0 - db "なまえ@@", $e8, $3, $0 - db "ニュース@", $a, $4, $0 - db "にんき@@", $c, $4, $0 - db "パーティー", $2e, $4, $0 - db "べんきょう", $92, $4, $0 - db "マシン@@", $d6, $4, $0 - db "めいし@@", $1e, $5, $0 - db "メッセージ", $26, $5, $0 - db "もようがえ", $3a, $5, $0 - db "ゆめ@@@", $5a, $5, $0 - db "ようちえん", $66, $5, $0 - db "ラジオ@@", $92, $5, $0 - db "ワールド@", $ae, $5, $0 - -.Hobbies: - db "アイドル@", $1e, $0, $0 - db "アニメ@@", $4c, $0, $0 - db "うた@@@", $b8, $0, $0 - db "えいが@@", $d0, $0, $0 - db "おかし@@", $ea, $0, $0 - db "おしゃべり", $4, $1, $0 - db "おままごと", $28, $1, $0 - db "おもちゃ@", $30, $1, $0 - db "おんがく@", $38, $1, $0 - db "カード@@", $3e, $1, $0 - db "かいもの@", $46, $1, $0 - db "グルメ@@", $c8, $1, $0 - db "ゲーム@@", $cc, $1, $0 - db "ざっし@@", $1c, $2, $0 - db "さんぽ@@", $34, $2, $0 - db "じてんしゃ", $50, $2, $0 - db "しゅみ@@", $7a, $2, $0 - db "スポーツ@", $a8, $2, $0 - db "ダイエット", $d8, $2, $0 - db "たからもの", $f0, $2, $0 - db "たび@@@", $4, $3, $0 - db "ダンス@@", $2a, $3, $0 - db "つり@@@", $60, $3, $0 - db "デート@@", $6a, $3, $0 - db "でんしゃ@", $92, $3, $0 - db "ぬいぐるみ", $e, $4, $0 - db "パソコン@", $3e, $4, $0 - db "はな@@@", $4c, $4, $0 - db "ヒーロー@", $58, $4, $0 - db "ひるね@@", $6e, $4, $0 - db "ヒロイン@", $70, $4, $0 - db "ぼうけん@", $96, $4, $0 - db "ボード@@", $9a, $4, $0 - db "ボール@@", $9e, $4, $0 - db "ほん@@@", $ba, $4, $0 - db "マンガ@@", $ee, $4, $0 - db "やくそく@", $40, $5, $0 - db "やすみ@@", $44, $5, $0 - db "よてい@@", $74, $5, $0 - -.Actions: - db "あう@@@", $20, $0, $0 - db "あきらめ@", $24, $0, $0 - db "あげる@@", $28, $0, $0 - db "あせる@@", $2e, $0, $0 - db "あそび@@", $30, $0, $0 - db "あそぶ@@", $34, $0, $0 - db "あつめ@@", $3e, $0, $0 - db "あるき@@", $60, $0, $0 - db "あるく@@", $62, $0, $0 - db "いく@@@", $7e, $0, $0 - db "いけ@@@", $86, $0, $0 - db "おき@@@", $f0, $0, $0 - db "おこり@@", $f6, $0, $0 - db "おこる@@", $f8, $0, $0 - db "おしえ@@", $fe, $0, $0 - db "おしえて@", $0, $1, $0 - db "おねがい@", $1a, $1, $0 - db "おぼえ@@", $26, $1, $0 - db "かえる@@", $4a, $1, $0 - db "がまん@@", $74, $1, $0 - db "きく@@@", $8c, $1, $0 - db "きたえ@@", $8e, $1, $0 - db "きめ@@@", $a6, $1, $0 - db "くる@@@", $c4, $1, $0 - db "さがし@@", $18, $2, $0 - db "さわぎ@@", $2a, $2, $0 - db "した@@@", $42, $2, $0 - db "しって@@", $4a, $2, $0 - db "して@@@", $4e, $2, $0 - db "しない@@", $52, $2, $0 - db "しまう@@", $60, $2, $0 - db "じまん@@", $66, $2, $0 - db "しらない@", $84, $2, $0 - db "しる@@@", $86, $2, $0 - db "しんじて@", $8a, $2, $0 - db "する@@@", $aa, $2, $0 - db "たべる@@", $a, $3, $0 - db "つかう@@", $42, $3, $0 - db "つかえ@@", $44, $3, $0 - db "つかって@", $46, $3, $0 - db "できない@", $70, $3, $0 - db "できる@@", $72, $3, $0 - db "でない@@", $84, $3, $0 - db "でる@@@", $8a, $3, $0 - db "なげる@@", $d6, $3, $0 - db "なやみ@@", $ea, $3, $0 - db "ねられ@@", $18, $4, $0 - db "ねる@@@", $1a, $4, $0 - db "のがし@@", $24, $4, $0 - db "のむ@@@", $28, $4, $0 - db "はしり@@", $3a, $4, $0 - db "はしる@@", $3c, $4, $0 - db "はたらき@", $40, $4, $0 - db "はたらく@", $42, $4, $0 - db "はまって@", $4e, $4, $0 - db "ぶつけ@@", $7a, $4, $0 - db "ほめ@@@", $b4, $4, $0 - db "みせて@@", $f6, $4, $0 - db "みて@@@", $fc, $4, $0 - db "みる@@@", $2, $5, $0 - db "めざす@@", $20, $5, $0 - db "もって@@", $34, $5, $0 - db "ゆずる@@", $58, $5, $0 - db "ゆるす@@", $5c, $5, $0 - db "ゆるせ@@", $5e, $5, $0 - db "られない@", $9a, $5, $0 - db "られる@@", $9c, $5, $0 - db "わかる@@", $b8, $5, $0 - db "わすれ@@", $c0, $5, $0 - -.Time: - db "あき@@@", $22, $0, $0 - db "あさ@@@", $2a, $0, $0 - db "あした@@", $2c, $0, $0 - db "いちにち@", $94, $0, $0 - db "いつか@@", $98, $0, $0 - db "いつも@@", $9e, $0, $0 - db "いま@@@", $a2, $0, $0 - db "えいえん@", $ce, $0, $0 - db "おととい@", $12, $1, $0 - db "おわり@@", $36, $1, $0 - db "かようび@", $78, $1, $0 - db "きのう@@", $94, $1, $0 - db "きょう@@", $b0, $1, $0 - db "きんようび", $b8, $1, $0 - db "げつようび", $d4, $1, $0 - db "このあと@", $f4, $1, $0 - db "このまえ@", $f6, $1, $0 - db "こんど@@", $c, $2, $0 - db "じかん@@", $3c, $2, $0 - db "じゅうねん", $70, $2, $0 - db "すいようび", $8e, $2, $0 - db "スタート@", $9e, $2, $0 - db "ずっと@@", $a2, $2, $0 - db "ストップ@", $a6, $2, $0 - db "そのうち@", $c4, $2, $0 - db "ついに@@", $3e, $3, $0 - db "つぎ@@@", $4a, $3, $0 - db "どようび@", $ba, $3, $0 - db "なつ@@@", $da, $3, $0 - db "にちようび", $6, $4, $0 - db "はじめ@@", $38, $4, $0 - db "はる@@@", $54, $4, $0 - db "ひる@@@", $6c, $4, $0 - db "ふゆ@@@", $84, $4, $0 - db "まいにち@", $c6, $4, $0 - db "もくようび", $30, $5, $0 - db "よなか@@", $76, $5, $0 - db "よる@@@", $7e, $5, $0 - db "らいしゅう", $88, $5, $0 - -.Farewells: - db "いたします", $92, $0, $0 - db "おります@", $32, $1, $0 - db "か!?@@", $3c, $1, $0 - db "かい?@@", $44, $1, $0 - db "かしら?@", $50, $1, $0 - db "かな?@@", $6a, $1, $0 - db "かも@@@", $76, $1, $0 - db "くれ@@@", $ca, $1, $0 - db "ございます", $e8, $1, $0 - db "しがち@@", $3a, $2, $0 - db "します@@", $62, $2, $0 - db "じゃ@@@", $6a, $2, $0 - db "じゃん@@", $6e, $2, $0 - db "しよう@@", $7c, $2, $0 - db "ぜ!@@@", $ac, $2, $0 - db "ぞ!@@@", $bc, $2, $0 - db "た@@@@", $d4, $2, $0 - db "だ@@@@", $d6, $2, $0 - db "だからね@", $ee, $2, $0 - db "だぜ@@@", $f4, $2, $0 - db "だった@@", $fa, $2, $0 - db "だね@@@", $fe, $2, $0 - db "だよ@@@", $10, $3, $0 - db "だよねー!", $12, $3, $0 - db "だわ@@@", $26, $3, $0 - db "ッス@@@", $4c, $3, $0 - db "ってかんじ", $52, $3, $0 - db "っぱなし@", $54, $3, $0 - db "つもり@@", $56, $3, $0 - db "ていない@", $64, $3, $0 - db "ている@@", $66, $3, $0 - db "でーす!@", $68, $3, $0 - db "でした@@", $74, $3, $0 - db "でしょ?@", $76, $3, $0 - db "でしょー!", $78, $3, $0 - db "です@@@", $7a, $3, $0 - db "ですか?@", $7c, $3, $0 - db "ですよ@@", $80, $3, $0 - db "ですわ@@", $82, $3, $0 - db "どうなの?", $a4, $3, $0 - db "どうよ?@", $a8, $3, $0 - db "とかいって", $aa, $3, $0 - db "なの@@@", $e0, $3, $0 - db "なのか@@", $e2, $3, $0 - db "なのだ@@", $e4, $3, $0 - db "なのよ@@", $e6, $3, $0 - db "なんだね@", $f2, $3, $0 - db "なんです@", $f8, $3, $0 - db "なんてね@", $fa, $3, $0 - db "ね@@@@", $12, $4, $0 - db "ねー@@@", $14, $4, $0 - db "の@@@@", $1c, $4, $0 - db "の?@@@", $1e, $4, $0 - db "ばっかり@", $44, $4, $0 - db "まーす!@", $c2, $4, $0 - db "ます@@@", $d8, $4, $0 - db "ますわ@@", $da, $4, $0 - db "ません@@", $dc, $4, $0 - db "みたいな@", $fa, $4, $0 - db "よ!@@@", $60, $5, $0 - db "よー@@@", $68, $5, $0 - db "よーん@@", $6c, $5, $0 - db "よね@@@", $78, $5, $0 - db "るよ@@@", $a2, $5, $0 - db "わけ@@@", $bc, $5, $0 - db "わよ!@@", $d2, $5, $0 - -.ThisAndThat: - db "ああ@@@", $12, $0, $0 - db "あっち@@", $3c, $0, $0 - db "あの@@@", $4e, $0, $0 - db "ありゃ@@", $5c, $0, $0 - db "あれ@@@", $66, $0, $0 - db "あれは@@", $68, $0, $0 - db "あんな@@", $6c, $0, $0 - db "こう@@@", $dc, $1, $0 - db "こっち@@", $ec, $1, $0 - db "この@@@", $f2, $1, $0 - db "こりゃ@@", $fe, $1, $0 - db "これ@@@", $0, $2, $0 - db "これだ!@", $2, $2, $0 - db "これは@@", $4, $2, $0 - db "こんな@@", $e, $2, $0 - db "そう@@@", $be, $2, $0 - db "そっち@@", $c0, $2, $0 - db "その@@@", $c2, $2, $0 - db "そりゃ@@", $c6, $2, $0 - db "それ@@@", $c8, $2, $0 - db "それだ!@", $cc, $2, $0 - db "それは@@", $d0, $2, $0 - db "そんな@@", $d2, $2, $0 - db "どう@@@", $98, $3, $0 - db "どっち@@", $b2, $3, $0 - db "どの@@@", $b4, $3, $0 - db "どりゃ@@", $c0, $3, $0 - db "どれ@@@", $c2, $3, $0 - db "どれを@@", $c8, $3, $0 - db "どんな@@", $ca, $3, $0 - db "なに@@@", $de, $3, $0 - db "なんか@@", $ec, $3, $0 - db "なんだ@@", $f0, $3, $0 - db "なんで@@", $f6, $3, $0 - db "なんなんだ", $0, $4, $0 - db "なんの@@", $2, $4, $0 - -MobileEZChatData_WordAndPageCounts: -MACRO macro_11f220 -; parameter: number of words - db \1 -; 12 words per page (0-based indexing) - db (\1 - 1) / 12 -ENDM - macro_11f220 18 ; 01: Types - macro_11f220 36 ; 02: Greetings - macro_11f220 69 ; 03: People - macro_11f220 69 ; 04: Battle - macro_11f220 66 ; 05: Exclamations - macro_11f220 66 ; 06: Conversation - macro_11f220 69 ; 07: Feelings - macro_11f220 66 ; 08: Conditions - macro_11f220 39 ; 09: Life - macro_11f220 39 ; 0a: Hobbies - macro_11f220 69 ; 0b: Actions - macro_11f220 39 ; 0c: Time - macro_11f220 66 ; 0d: Farewells - macro_11f220 36 ; 0e: ThisAndThat - -EZChat_SortedWords: -; Addresses in WRAM bank 3 where EZChat words beginning -; with the given kana are sorted in memory, and the pre- -; allocated size for each. -; These arrays are expanded dynamically to accomodate -; any Pokemon you've seen that starts with each kana. -MACRO macro_11f23c - dw w3_d012 - w3_d000 + x, \1 - DEF x += 2 * \1 -ENDM -DEF x = 0 - macro_11f23c $2f ; a - macro_11f23c $1e ; i - macro_11f23c $11 ; u - macro_11f23c $09 ; e - macro_11f23c $2e ; o - macro_11f23c $24 ; ka_ga - macro_11f23c $1b ; ki_gi - macro_11f23c $09 ; ku_gu - macro_11f23c $07 ; ke_ge - macro_11f23c $1c ; ko_go - macro_11f23c $12 ; sa_za - macro_11f23c $2b ; shi_ji - macro_11f23c $10 ; su_zu - macro_11f23c $08 ; se_ze - macro_11f23c $0c ; so_zo - macro_11f23c $2c ; ta_da - macro_11f23c $09 ; chi_dhi - macro_11f23c $12 ; tsu_du - macro_11f23c $1b ; te_de - macro_11f23c $1a ; to_do - macro_11f23c $1c ; na - macro_11f23c $05 ; ni - macro_11f23c $02 ; nu - macro_11f23c $05 ; ne - macro_11f23c $07 ; no - macro_11f23c $16 ; ha_ba_pa - macro_11f23c $0e ; hi_bi_pi - macro_11f23c $0c ; fu_bu_pu - macro_11f23c $05 ; he_be_pe - macro_11f23c $16 ; ho_bo_po - macro_11f23c $19 ; ma - macro_11f23c $0e ; mi - macro_11f23c $08 ; mu - macro_11f23c $07 ; me - macro_11f23c $09 ; mo - macro_11f23c $0d ; ya - macro_11f23c $04 ; yu - macro_11f23c $14 ; yo - macro_11f23c $0b ; ra - macro_11f23c $01 ; ri - macro_11f23c $02 ; ru - macro_11f23c $02 ; re - macro_11f23c $02 ; ro - macro_11f23c $15 ; wa - dw NULL, $09 ; end -.End diff --git a/mobile/mobile_12.asm b/mobile/mobile_12.asm deleted file mode 100644 index 7f3e17190..000000000 --- a/mobile/mobile_12.asm +++ /dev/null @@ -1,1817 +0,0 @@ -InitMobileProfile: - xor a - set 6, a - ld [wd002], a - ld hl, wd003 - set 0, [hl] - ld a, c - and a - call z, InitCrystalData - call ClearBGPalettes - call Function48d3d - ld a, [wd479] - bit 1, a - jr z, .not_yet_initialized - ld a, [wd003] - set 0, a - set 1, a - set 2, a - set 3, a - ld [wd003], a -.not_yet_initialized - call Function486bf - call LoadFontsExtra - ld de, MobileUpArrowGFX - ld hl, vTiles2 tile $10 - lb bc, BANK(MobileUpArrowGFX), 1 - call Request1bpp - ld de, MobileDownArrowGFX - ld hl, vTiles2 tile $11 - lb bc, BANK(MobileDownArrowGFX), 1 - call Request1bpp - call Function4a3a7 - call ClearBGPalettes - ld a, [wd002] - bit 6, a - jr z, .asm_4808a - call Function48689 - jr .asm_480d7 -.asm_4808a - ld a, $5 - ld [wMusicFade], a - ld a, LOW(MUSIC_MOBILE_ADAPTER_MENU) - ld [wMusicFadeID], a - ld a, HIGH(MUSIC_MOBILE_ADAPTER_MENU) - ld [wMusicFadeID + 1], a - ld c, 20 - call DelayFrames - ld b, CRYSTAL_CGB_MOBILE_1 - call GetCrystalCGBLayout - call ClearBGPalettes - hlcoord 0, 0 - ld b, 2 - ld c, 20 - call ClearBox - hlcoord 0, 1 - ld a, $c - ld [hl], a - ld bc, $13 - add hl, bc - ld [hl], a - ld de, MobileProfileString - hlcoord 1, 1 - call PlaceString - hlcoord 0, 2 - ld b, $a - ld c, $12 - call Function48cdc - hlcoord 2, 4 - ld de, MobileString_Gender - call PlaceString -.asm_480d7 - hlcoord 2, 6 - ld de, MobileString_Age - call PlaceString - hlcoord 2, 8 - ld de, MobileString_Address - call PlaceString - hlcoord 2, 10 - ld de, MobileString_ZipCode - call PlaceString - hlcoord 2, 12 - ld de, MobileString_OK - call PlaceString - ld a, [wd002] - bit 6, a - jr nz, .asm_48113 - ld a, [wPlayerGender] - ld hl, Strings_484fb - call GetNthString - ld d, h - ld e, l - hlcoord 11, 4 - call PlaceString -.asm_48113 - hlcoord 11, 6 - call Function487ec - ld a, [wd474] - dec a - ld hl, Prefectures - call GetNthString - ld d, h - ld e, l - hlcoord 11, 8 - call PlaceString - hlcoord 11, 10 - call Function489ea - hlcoord 0, 14 - ld b, $2 - ld c, $12 - call Textbox - hlcoord 1, 16 - ld de, MobileString_PersonalInfo - call PlaceString - call Function48187 - call WaitBGMap2 - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr asm_4815f - -Function48157: - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc -asm_4815f: - bit A_BUTTON_F, a - jp nz, Function4820d - ld b, a - ld a, [wd002] - bit 6, a - jr z, .dont_check_b_button - ld hl, wd479 - bit 1, [hl] - jr z, .dont_check_b_button - bit B_BUTTON_F, b - jr nz, .b_button -.dont_check_b_button - jp Function48272 - -.b_button - call ClearBGPalettes - call Function48d30 - pop bc - call ClearTilemap - ld a, $ff - ret - -Function48187: - ld a, [wd479] - bit 1, a - jr nz, .asm_481f1 - ld a, [wd003] - ld d, a - call Function48725 - jr c, .asm_481a2 - lb bc, 1, 4 - hlcoord 2, 12 - call ClearBox - jr .asm_481ad -.asm_481a2 - push de - hlcoord 2, 12 - ld de, MobileString_OK - call PlaceString - pop de -.asm_481ad - ld a, [wd002] - bit 6, a - jr nz, .asm_481c1 - bit 0, d - jr nz, .asm_481c1 - lb bc, 1, 8 - hlcoord 11, 4 - call ClearBox -.asm_481c1 - bit 1, d - jr nz, .asm_481ce - lb bc, 1, 8 - hlcoord 11, 6 - call ClearBox -.asm_481ce - bit 2, d - jr nz, .asm_481db - lb bc, 2, 8 - hlcoord 11, 7 - call ClearBox -.asm_481db - bit 3, d - jr nz, .asm_481f1 - ld a, [wd479] - bit 0, a - jr nz, .asm_481f8 - lb bc, 1, 8 - hlcoord 11, 10 - call ClearBox - jr .asm_48201 -.asm_481f1 - ld a, [wd479] - bit 0, a - jr nz, .asm_48201 -.asm_481f8 - hlcoord 11, 10 - ld de, .String_TellLater - call PlaceString -.asm_48201 - ret - -.String_TellLater: - db "Tell Later@" - -Function4820d: - call PlaceHollowCursor - ld hl, wMenuCursorY - ld a, [hl] - push af - ld a, [wd002] - bit 6, a - jr z, .asm_4821f - pop af - inc a - push af -.asm_4821f - pop af - cp $1 - jr z, asm_4828d - cp $2 - jp z, Function4876f - cp $3 - jp z, Function48304 - cp $4 - jp z, Function488d3 - ld a, $2 - call MenuClickSound - ld a, [wd002] - bit 6, a - jr z, .asm_4825c - jr .asm_4825c - - hlcoord 1, 15 - ld b, $2 - ld c, $12 - call ClearBox - ld de, MobileString_ProfileChanged - hlcoord 1, 16 - call PlaceString - call WaitBGMap - ld c, 48 - call DelayFrames - -.asm_4825c - call ClearBGPalettes - call Function48d30 - pop bc - call ClearTilemap - ld b, SCGB_DIPLOMA - call GetSGBLayout - ld hl, wd479 - set 1, [hl] - xor a - ret - -Function48272: - jp Function4840c - -MobileString_PersonalInfo: - db "Personal Info@" - -Function48283: - lb bc, 2, 18 - hlcoord 1, 15 - call ClearBox - ret - -asm_4828d: - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_Gender - call PlaceString - ld hl, MenuHeader_0x484f1 - call LoadMenuHeader - call Function4873c - hlcoord 11, 2 - ld b, $4 - ld c, $7 - call Function48cdc - hlcoord 13, 4 - ld de, String_484fb - call PlaceString - hlcoord 13, 6 - ld de, String_484ff - call PlaceString - call WaitBGMap - ld a, [wPlayerGender] - inc a - ld [wMenuCursorPosition], a - call StaticMenuJoypad - call PlayClickSFX - call ExitMenu - bit 0, a - jp z, Function4840c - ld hl, wMenuCursorY - ld a, [hl] - ld hl, Strings_484fb - cp $1 - jr z, .asm_482ed -.asm_482e1 - ld a, [hli] - cp $50 - jr nz, .asm_482e1 - ld a, 1 << PLAYERGENDER_FEMALE_F - ld [wPlayerGender], a - jr .asm_482f1 -.asm_482ed - xor a - ld [wPlayerGender], a -.asm_482f1 - ld d, h - ld e, l - hlcoord 11, 4 - call PlaceString - ld a, [wd003] - set 0, a - ld [wd003], a - jp Function4840c - -Function48304: - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_Address - call PlaceString - ld hl, MenuHeader_0x48504 - call LoadMenuHeader - ld hl, MenuHeader_0x48513 - call LoadMenuHeader - hlcoord 10, 0 - ld b, $c - ld c, $8 - call Function48cdc - ld a, [wMenuCursorPosition] - ld b, a - ld a, [wMenuScrollPosition] - ld c, a - push bc - ld a, [wd474] - dec a - cp $29 - jr c, .asm_4833f - sub $29 - inc a - ld [wMenuCursorPosition], a - ld a, $29 -.asm_4833f - ld [wMenuScrollPosition], a - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap -.asm_48348 - call ScrollingMenu - ld de, $629 - call Function48383 - jr c, .asm_48348 - ld d, a - pop bc - ld a, b - ld [wMenuCursorPosition], a - ld a, c - ld [wMenuScrollPosition], a - ld a, d - push af - call ExitMenu - call ExitMenu - pop af - ldh a, [hJoyPressed] - bit 0, a - jr z, .asm_48377 - call Function483bb - ld a, [wd003] - set 2, a - ld [wd003], a -.asm_48377 - call Function48187 - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - jp Function4840c - -Function48383: - push bc - push af - bit 5, a - jr nz, .asm_48390 - bit 4, a - jr nz, .asm_4839f - and a - jr .asm_483b7 -.asm_48390 - ld a, [wMenuScrollPosition] - sub d - ld [wMenuScrollPosition], a - jr nc, .asm_483af - xor a - ld [wMenuScrollPosition], a - jr .asm_483af -.asm_4839f - ld a, [wMenuScrollPosition] - add d - ld [wMenuScrollPosition], a - cp e - jr c, .asm_483af - ld a, e - ld [wMenuScrollPosition], a - jr .asm_483af -.asm_483af - ld hl, wMenuCursorY - ld a, [hl] - ld [wMenuCursorPosition], a - scf -.asm_483b7 - pop bc - ld a, b - pop bc - ret - -Function483bb: - ld hl, wScrollingMenuCursorPosition - ld a, [hl] - inc a - ld [wd474], a - dec a - ld b, a - ld hl, Prefectures -.asm_483c8 - and a - jr z, .asm_483d5 -.asm_483cb - ld a, [hli] - cp "@" - jr nz, .asm_483cb - ld a, b - dec a - ld b, a - jr .asm_483c8 -.asm_483d5 - ld d, h - ld e, l - ld b, $2 - ld c, $8 - hlcoord 11, 7 - call ClearBox - hlcoord 11, 8 - call PlaceString - ret - -Function483e8: - push de - ld hl, Prefectures - ld a, [wMenuSelection] - cp $ff - jr nz, .asm_483f8 - ld hl, Wakayama ; last string - jr .asm_48405 - -.asm_483f8 - ld d, a - and a - jr z, .asm_48405 -.asm_483fc - ld a, [hli] - cp "@" - jr nz, .asm_483fc - ld a, d - dec a - jr .asm_483f8 - -.asm_48405 - ld d, h - ld e, l - pop hl - call PlaceString - ret - -Function4840c: - call Function48187 - call Function48283 - hlcoord 1, 16 - ld de, MobileString_PersonalInfo - call PlaceString - call Function486bf - pop bc - ld hl, wMenuCursorY - ld [hl], b - ld a, [wd002] - bit 6, a - jr nz, .narrower_box - ld b, 9 - ld c, 1 - hlcoord 1, 4 - call ClearBox - jp Function48157 - -.narrower_box - ld b, 7 - ld c, 1 - hlcoord 1, 6 - call ClearBox - jp Function48157 - -Mobile12_Bin2Dec: - push bc - push af - push de - push hl - ld hl, .DigitStrings -.loop - and a - jr z, .got_string - inc hl - inc hl - dec a - jr .loop -.got_string - ld d, h - ld e, l - pop hl - call PlaceString - pop de - pop af - pop bc - ret - -.DigitStrings: - db "0@" - db "1@" - db "2@" - db "3@" - db "4@" - db "5@" - db "6@" - db "7@" - db "8@" - db "9@" - -MobileProfileString: db " Mobile Profile@" -MobileString_Gender: db "Gender@" -MobileString_Age: db "Age@" -MobileString_Address: db "Address@" -MobileString_ZipCode: db "Zip Code@" -MobileString_OK: db "OK@" -MobileString_ProfileChanged: db "Profile Changed@" -MobileDesc_Gender: db "Boy or girl?@" -MobileDesc_Age: db "How old are you?@" -MobileDesc_Address: db "Where do you live?@" -MobileDesc_ZipCode: db "Your zip code?@" - -MenuHeader_0x484f1: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 2, SCREEN_WIDTH - 1, 7 - dw MenuData_0x484f9 - db 1 ; default option - -MenuData_0x484f9: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 2 ; items -Strings_484fb: -String_484fb: db "Boy@" -String_484ff: db "Girl@" - -MenuHeader_0x48504: - db MENU_BACKUP_TILES ; flags - menu_coords 10, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - -MenuHeader_0x48509: - db MENU_BACKUP_TILES ; flags - menu_coords 10, 5, SCREEN_WIDTH - 1, 7 - -MenuHeader_0x4850e: - db MENU_BACKUP_TILES ; flags - menu_coords 10, 9, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - -MenuHeader_0x48513: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 1, 18, 12 - dw MenuData_0x4851b - db 1 ; default option - -MenuData_0x4851b: - db SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_RIGHT | SCROLLINGMENU_ENABLE_LEFT | SCROLLINGMENU_CALL_FUNCTION1_CANCEL ; flags - db 6, 0 ; rows, columns - db SCROLLINGMENU_ITEMS_NORMAL ; item format - dba .Items - dba Function483e8 - dba NULL - dba NULL - -.Items: - db 46 -for x, 46 - db x -endr - db -1 - -Prefectures: -Aichi: db "あいちけん@" ; Aichi -Aomori: db "あおもりけん@" ; Aomori -Akita: db "あきたけん@" ; Akita -Ishikawa: db "いしかわけん@" ; Ishikawa -Ibaraki: db "いばらきけん@" ; Ibaraki -Iwate: db "いわてけん@" ; Iwate -Ehime: db "えひめけん@" ; Ehime -Oita: db "おおいたけん@" ; Oita -Osakafu: db "おおさかふ@" ; Osakafu -Okayama: db "おかやまけん@" ; Okayama -Okinawa: db "おきなわけん@" ; Okinawa -Kagawa: db "かがわけん@" ; Kagawa -Kagoshima: db "かごしまけん@" ; Kagoshima -Kanagawa: db "かながわけん@" ; Kanagawa -Gifu: db "ぎふけん@" ; Gifu -Kyotofu: db "きょうとふ@" ; Kyotofu -Kumamoto: db "くまもとけん@" ; Kumamoto -Gunma: db "ぐんまけん@" ; Gunma -Kochi: db "こうちけん@" ; Kochi -Saitama: db "さいたまけん@" ; Saitama -Saga: db "さがけん@" ; Saga -Shiga: db "しがけん@" ; Shiga -Shizuoka: db "しずおかけん@" ; Shizuoka -Shimane: db "しまねけん@" ; Shimane -Chiba: db "ちばけん@" ; Chiba -Tokyo: db "とうきょうと@" ; Tokyo -Tokushima: db "とくしまけん@" ; Tokushima -Tochigi: db "とちぎけん@" ; Tochigi -Tottori: db "とっとりけん@" ; Tottori -Toyama: db "とやまけん@" ; Toyama -Nagasaki: db "ながさきけん@" ; Nagasaki -Nagano: db "ながのけん@" ; Nagano -Naraken: db "ならけん@" ; Naraken -Niigata: db "にいがたけん@" ; Niigata -Hyogo: db "ひょうごけん@" ; Hyogo -Hiroshima: db "ひろしまけん@" ; Hiroshima -Fukui: db "ふくいけん@" ; Fukui -Fukuoka: db "ふくおかけん@" ; Fukuoka -Fukushima: db "ふくしまけん@" ; Fukushima -Hokkaido: db "ほっかいどう@" ; Hokkaido -Mie: db "みえけん@" ; Mie -Miyagi: db "みやぎけん@" ; Miyagi -Miyazaki: db "みやざきけん@" ; Miyazaki -Yamagata: db "やまがたけん@" ; Yamagata -Yamaguchi: db "やまぐちけん@" ; Yamaguchi -Yamanashi: db "やまなしけん@" ; Yamanashi -Wakayama: db "わかやまけん@" ; Wakayama - -Function48689: - ld c, 7 - call DelayFrames - ld b, CRYSTAL_CGB_MOBILE_1 - call GetCrystalCGBLayout - call ClearBGPalettes - hlcoord 0, 0 - ld b, 4 - ld c, SCREEN_WIDTH - call ClearBox - hlcoord 0, 2 - ld a, $c - ld [hl], a - ld bc, SCREEN_WIDTH - 1 - add hl, bc - ld [hl], a - ld de, MobileProfileString - hlcoord 1, 2 - call PlaceString - hlcoord 0, 4 - ld b, $8 - ld c, $12 - call Function48cdc - ret - -Function486bf: - ld hl, w2DMenuCursorInitY - ld a, [wd002] - bit 6, a - jr nz, .start_at_6 - ld a, 4 - ld [hli], a - jr .got_init_y - -.start_at_6 - ld a, 6 - ld [hli], a -.got_init_y - ld a, 1 - ld [hli], a ; init x - ld a, [wd002] - bit 6, a - jr nz, .check_wd479 - call Function48725 - ld a, 4 - jr nc, .got_num_rows_1 - ld a, 5 -.got_num_rows_1 - ld [hli], a - jr .got_num_rows_2 - -.check_wd479 - ld a, [wd479] - bit 1, a - jr nz, .four_rows - call Function48725 - jr c, .four_rows - ld a, 3 - ld [hli], a - jr .got_num_rows_2 - -.four_rows - ld a, 4 - ld [hli], a -.got_num_rows_2 - ld a, 1 - ld [hli], a ; num cols - ld [hl], 0 ; flags 1 - set 5, [hl] - inc hl - xor a - ld [hli], a ; flags 2 - ld a, $20 - ld [hli], a ; cursor offsets - ld a, A_BUTTON - add D_UP - add D_DOWN - push af - ld a, [wd002] - bit 6, a - jr z, .got_joypad_mask - pop af - add B_BUTTON - push af -.got_joypad_mask - pop af - ld [hli], a - ld a, $1 - ld [hli], a ; cursor y - ld [hli], a ; cursor x - xor a - ld [hli], a ; off char - ld [hli], a ; cursor tile - ld [hli], a ; cursor tile + 1 - ret - -Function48725: -; ld a, [wd003] -; and $f -; cp $f -; jr nz, .clear_carry -; scf -; ret -; .clear_carry -; and a -; ret - - ld a, [wd003] - bit 0, a - jr z, .clear_carry - bit 1, a - jr z, .clear_carry - bit 2, a - jr z, .clear_carry - bit 3, a - jr z, .clear_carry - scf - ret - -.clear_carry - and a - ret - -Function4873c: - ld hl, w2DMenuCursorInitY - ld a, 4 - ld [hli], a - ld a, 12 - ld [hli], a ; init x - ld a, 2 - ld [hli], a ; num rows - ld a, 1 - ld [hli], a ; num cols - ld [hl], 0 ; flags 1 - set 5, [hl] - inc hl - xor a - ld [hli], a ; flags 2 - ln a, 2, 0 - ld [hli], a ; cursor offsets - ld a, A_BUTTON - add B_BUTTON - ld [hli], a ; joypad filter - ; ld a, [wPlayerGender] - ; xor 1 << PLAYERGENDER_FEMALE_F - ; inc a - ld a, [wPlayerGender] - and a - jr z, .male - ld a, 2 - jr .okay_gender - -.male - ld a, 1 -.okay_gender - ld [hli], a ; cursor y - ld a, $1 - ld [hli], a ; cursor x - xor a - ld [hli], a ; off char - ld [hli], a ; cursor tile - ld [hli], a ; cursor tile + 1 - ret - -Function4876f: - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_Age - call PlaceString - ld hl, MenuHeader_0x48509 - call LoadMenuHeader - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - hlcoord 10, 5 - ld b, $1 - ld c, $8 - call Function48cdc - call WaitBGMap - ld a, [wd473] - and a - jr z, .asm_487ab - cp $64 - jr z, .asm_487b2 - hlcoord 12, 5 - ld [hl], $10 - hlcoord 12, 7 - ld [hl], $11 - jr .asm_487b7 -.asm_487ab - hlcoord 12, 5 - ld [hl], $10 - jr .asm_487b7 -.asm_487b2 - hlcoord 12, 7 - ld [hl], $11 -.asm_487b7 - hlcoord 11, 6 - call Function487ec - ld c, 10 - call DelayFrames - ld a, [wd473] - push af -.asm_487c6 - call JoyTextDelay - call Function4880e - jr nc, .asm_487c6 - ld a, $1 - call MenuClickSound - pop bc - jr nz, .asm_487da - ld a, b - ld [wd473], a -.asm_487da - ld a, [wd473] - call ExitMenu - hlcoord 11, 6 - call Function487ec - pop af - ldh [hInMenu], a - jp Function4840c - -Function487ec: - push hl - ld de, wd473 - call Function487ff - pop hl -rept 4 - inc hl -endr - ld de, String_4880d - call PlaceString - ret - -Function487ff: - push hl - ld a, " " - ld [hli], a - ld [hl], a - pop hl - ld b, PRINTNUM_LEADINGZEROS | 1 - ld c, 3 - call PrintNum - ret - -String_4880d: - db "@" - -Function4880e: - ldh a, [hJoyPressed] - and A_BUTTON - jp nz, Function488b9 - ldh a, [hJoyPressed] - and B_BUTTON - jp nz, Function488b4 - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, .asm_48843 - ld a, [hl] - and D_DOWN - jr nz, .asm_48838 - ld a, [hl] - and D_LEFT - jr nz, .asm_4884f - ld a, [hl] - and D_RIGHT - jr nz, .asm_4885f - call DelayFrame - and a - ret -.asm_48838 - ld hl, wd473 - ld a, [hl] - and a - jr z, .asm_48840 - dec a -.asm_48840 - ld [hl], a - jr .asm_4886f -.asm_48843 - ld hl, wd473 - ld a, [hl] - cp $64 - jr nc, .asm_4884c - inc a -.asm_4884c - ld [hl], a - jr .asm_4886f -.asm_4884f - ld a, [wd473] - cp $5b - jr c, .asm_48858 - ld a, $5a -.asm_48858 - add $a - ld [wd473], a - jr .asm_4886f -.asm_4885f - ld a, [wd473] - cp $a - jr nc, .asm_48868 - ld a, $a -.asm_48868 - sub $a - ld [wd473], a - jr .asm_4886f -.asm_4886f - ld a, [wd473] - and a - jr z, .asm_48887 - cp $64 - jr z, .asm_48898 - jr z, .asm_488a7 - hlcoord 12, 5 - ld [hl], $10 - hlcoord 12, 7 - ld [hl], $11 - jr .asm_488a7 -.asm_48887 - hlcoord 10, 5 - ld b, $1 - ld c, $8 - call Function48cdc - hlcoord 12, 5 - ld [hl], $10 - jr .asm_488a7 -.asm_48898 - hlcoord 10, 5 - ld b, $1 - ld c, $8 - call Function48cdc - hlcoord 12, 7 - ld [hl], $11 -.asm_488a7 - hlcoord 11, 6 - call Function487ec - call WaitBGMap - ld a, $1 - and a - ret - -Function488b4: - ld a, $0 - and a - scf - ret - -Function488b9: - ld a, [wd003] - set 1, a - ld [wd003], a - scf - ret - -MobileUpArrowGFX: -INCBIN "gfx/mobile/up_arrow.1bpp" - -MobileDownArrowGFX: -INCBIN "gfx/mobile/down_arrow.1bpp" - -Function488d3: - call Function48283 - hlcoord 1, 16 - ld de, MobileDesc_ZipCode - call PlaceString - call Function48a3a - jp c, Function4840c - ld hl, MenuHeader_0x4850e - call LoadMenuHeader - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - ld a, [wd475] - and $f - ld d, $0 - hlcoord 11, 10 - call Function489ea - call WaitBGMap - ld a, [wd475] - ld b, a - ld a, [wd476] - ld c, a - ld a, [wd477] - ld d, a - ld a, [wd478] - ld e, a - push de - push bc - ld d, $0 - ld b, $0 - -asm_48922: - push bc - call JoyTextDelay - ldh a, [hJoyDown] - and a - jp z, Function4896e - bit 0, a - jp nz, Function4896e - bit 1, a - jp nz, Function4896e - ld a, [wd002] - and %11001111 - res 7, a - ld [wd002], a - pop bc - inc b - ld a, b - cp $5 - push bc - jr c, .asm_4894c - pop bc - ld b, $4 - push bc -.asm_4894c - pop bc - push bc - ld a, b - cp $4 - jr nz, asm_48972 - ld c, 10 - call DelayFrames - jr asm_48972 - -Function4895a: ; unreferenced - ldh a, [hJoyPressed] - and a - jr z, .asm_48965 - pop bc - ld b, $1 - push bc - jr asm_48972 - -.asm_48965 - ldh a, [hJoyLast] - and a - jr z, asm_48972 - - pop bc - ld b, $1 - push bc - -Function4896e: - pop bc - ld b, $0 - push bc - -asm_48972: - call Function48ab5 - push af - cp $f0 - jr z, .asm_48994 - cp $f - jr nz, .asm_48988 - ld a, [wd002] - set 7, a - and $cf - ld [wd002], a -.asm_48988 - hlcoord 11, 10 - ld b, $0 - ld c, d - add hl, bc - ld b, $3 - call Function48c11 -.asm_48994 - call WaitBGMap - pop af - pop bc - jr nc, asm_48922 - jr nz, .asm_489b1 - pop bc - ld a, b - ld [wd475], a - ld a, c - ld [wd476], a - pop bc - ld a, b - ld [wd477], a - ld a, c - ld [wd478], a - jr .asm_489c5 -.asm_489b1 - push af - ld a, [wd479] - set 0, a - ld [wd479], a - ld a, [wd003] - set 3, a - ld [wd003], a - pop af - pop bc - pop bc -.asm_489c5 - push af - push bc - push de - push hl - ld a, $1 - call MenuClickSound - pop hl - pop de - pop bc - pop af - call ExitMenu - hlcoord 11, 10 - call Function489ea - hlcoord 11, 9 - lb bc, 1, 8 - call ClearBox - pop af - ldh [hInMenu], a - jp Function4840c - -Function489ea: - push de - ld a, [wd475] - and $f - call Mobile12_Bin2Dec - ld a, [wd476] - and $f0 - swap a - inc hl - call Mobile12_Bin2Dec - ld a, [wd476] - and $f - inc hl - call Mobile12_Bin2Dec - inc hl - ld de, String_48a38 - call PlaceString - ld a, [wd477] - and $f0 - swap a - inc hl - call Mobile12_Bin2Dec - ld a, [wd477] - and $f - inc hl - call Mobile12_Bin2Dec - ld a, [wd478] - and $f0 - swap a - inc hl - call Mobile12_Bin2Dec - ld a, [wd478] - and $f - inc hl - call Mobile12_Bin2Dec - pop de - ret - -String_48a38: - db "-@" - -Function48a3a: - ld hl, MenuHeader_0x48a9c - call LoadMenuHeader - call Function4873c - ld a, $a - ld [w2DMenuCursorInitY], a - ld a, $b - ld [w2DMenuCursorInitX], a - ld a, $1 - ld [wMenuCursorY], a - hlcoord 10, 8 - ld b, $4 - ld c, $8 - call Function48cdc - hlcoord 12, 10 - ld de, String_48aa1 - call PlaceString - call StaticMenuJoypad - push af - call PlayClickSFX - call ExitMenu - pop af - bit 1, a - jp nz, Function48a9a - ld a, [wMenuCursorY] - cp $1 - jr z, .asm_48a98 - ld a, [wd003] - set 3, a - ld [wd003], a - ld a, [wd479] - res 0, a - ld [wd479], a - xor a - ld bc, $4 - ld hl, wd475 - call ByteFill - jr Function48a9a -.asm_48a98 - and a - ret - -Function48a9a: - scf - ret - -MenuHeader_0x48a9c: - db MENU_BACKUP_TILES ; flags - menu_coords 10, 8, SCREEN_WIDTH - 1, 13 - -String_48aa1: - db "Tell Now" - next "Tell Later@" - -Function48ab5: - ldh a, [hJoyPressed] - and A_BUTTON - jp nz, Function48c0f - ldh a, [hJoyPressed] - and B_BUTTON - jp nz, Function48c0d - ld a, d - and a - jr z, .asm_48adf - cp $1 - jr z, .asm_48ae7 - cp $2 - jr z, .asm_48af1 - cp $3 - jr z, .asm_48af9 - cp $4 - jr z, .asm_48b03 - cp $5 - jr z, .asm_48b0b - cp $6 - jr .asm_48b15 -.asm_48adf - ld hl, wd475 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48ae7 - ld hl, wd476 - ld a, [hl] - swap a - or $f0 - jr .asm_48b1d -.asm_48af1 - ld hl, wd476 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48af9 - ld hl, wd477 - ld a, [hl] - swap a - or $f0 - jr .asm_48b1d -.asm_48b03 - ld hl, wd477 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48b0b - ld hl, wd478 - ld a, [hl] - swap a - or $f0 - jr .asm_48b1d -.asm_48b15 - ld hl, wd478 - ld a, [hl] - and $f - jr .asm_48b1d -.asm_48b1d - push hl - push af - ld e, $0 - hlcoord 11, 10 - ld a, d -.asm_48b25 - and a - jr z, .asm_48b2c - inc e - dec a - jr .asm_48b25 -.asm_48b2c - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, .asm_48b8d - ld a, [hl] - and D_DOWN - jr nz, .asm_48b55 - ld a, [hl] - and D_LEFT - jp nz, Function48bd7 - ld a, [hl] - and D_RIGHT - jr nz, .asm_48b9d - hlcoord 11, 10 - call Function489ea - ld a, [wd002] - bit 7, a - jr nz, .asm_48b51 -.asm_48b51 - pop bc - pop bc - and a - ret -.asm_48b55 - pop af - ld b, a - and $f - and a - ld a, b - jr nz, .asm_48b61 - and $f0 - add $a -.asm_48b61 - dec a -.asm_48b62 - push de - push af - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - pop af - pop de - hlcoord 11, 10 - ld b, a - ld a, d - cp $3 - jr c, .asm_48b7a - inc hl -.asm_48b7a - ld a, b - pop hl - bit 7, a - jr z, .asm_48b85 - call Function48c4d - jr .asm_48b88 -.asm_48b85 - call Function48c5a -.asm_48b88 - ld a, $f0 - jp Function48c00 -.asm_48b8d - pop af - ld b, a - and $f - cp $9 - ld a, b - jr c, .asm_48b9a - and $f0 - add $ff -.asm_48b9a - inc a - jr .asm_48b62 -.asm_48b9d - push de - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - pop de - ld a, d - cp $6 - jr nc, .asm_48baf - inc d -.asm_48baf - pop af - pop hl - ld b, a - ld a, d - cp $6 - ld a, b - jr z, .asm_48bc4 - bit 7, a - jr nz, .asm_48bc4 - inc hl - ld a, [hl] - swap a - and $f - jr asm_48bc7 -.asm_48bc4 - ld a, [hl] - and $f - -asm_48bc7: - hlcoord 11, 10 - push af - ld a, d - cp $3 - pop bc - ld a, b - jr c, .asm_48bd3 - inc hl -.asm_48bd3 - ld a, $f - jr Function48c00 - -Function48bd7: - push de - hlcoord 10, 9 - ld b, $1 - ld c, $8 - call Function48cdc - pop de - ld a, d - and a - pop af - pop hl - ld b, a - ld a, d - and a - ld a, b - jr z, .asm_48bf3 - bit 7, a - jr z, .asm_48bf8 - dec d - dec hl -.asm_48bf3 - ld a, [hl] - and $f - jr asm_48bc7 -.asm_48bf8 - dec d - ld a, [hl] - swap a - and $f - jr asm_48bc7 - -Function48c00: - push af - hlcoord 11, 10 - call Function489ea - ld a, $1 - and a - pop bc - ld a, b - ret - -Function48c0d: - xor a - and a - -Function48c0f: - scf - ret - -Function48c11: - ld a, [wd002] - bit 7, a - jr z, .asm_48c20 - ld a, d - cp $3 - jr c, .asm_48c1e - inc hl -.asm_48c1e - ld [hl], $7f -.asm_48c20 - ld a, [wd002] - swap a - and $3 - inc a - cp b - jr nz, .asm_48c40 - ld a, [wd002] - bit 7, a - jr z, .asm_48c3a - res 7, a - ld [wd002], a - xor a - jr .asm_48c40 -.asm_48c3a - set 7, a - ld [wd002], a - xor a -.asm_48c40 - swap a - ld b, a - ld a, [wd002] - and $cf - or b - ld [wd002], a - ret - -Function48c4d: - swap a - and $f0 - push af - ld a, [hl] - and $f - ld [hl], a - pop af - or [hl] - ld [hl], a - ret - -Function48c5a: - push af - ld a, [hl] - and $f0 - ld [hl], a - pop af - or [hl] - ld [hl], a - ret - -Function48c63: - ld a, "@" - ld [de], a - ld a, c - cp $30 - jr nc, .asm_48c8c - and a - jr z, .asm_48c8c - dec c - push de - ld h, d - ld l, e - ld a, "@" - ld b, 7 -.asm_48c76 - ld [hli], a - dec b - jr nz, .asm_48c76 - ld hl, Prefectures - ld a, c - call GetNthString -.asm_48c81 - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - cp "@" - jr nz, .asm_48c81 - and a - pop de - ret - -.asm_48c8c - scf - ret - -Function48c8e: ; unreferenced - ld hl, wd019 + $11 - ld d, h - ld e, l - farcall Function48c63 - hlcoord 10, 7 - call PlaceString - call WaitBGMap - ret - -Function48ca3: ; unreferenced - push af - push bc - push de - push hl - ld b, 0 - ld c, 0 - ld d, 0 -.asm_48cad - cp 100 - jr c, .asm_48cb6 - sub 100 - inc b - jr .asm_48cad - -.asm_48cb6 - cp 10 - jr c, .asm_48cbf - sub 10 - inc c - jr .asm_48cb6 - -.asm_48cbf - cp 1 - jr c, .asm_48cc7 - dec a - inc d - jr .asm_48cbf - -.asm_48cc7 - ld a, b - call Mobile12_Bin2Dec - inc hl - ld a, c - call Mobile12_Bin2Dec - inc hl - ld a, d - call Mobile12_Bin2Dec - pop hl - pop de - pop bc - pop af - ret - -Function48cda: - ld h, d - ld l, e - -Function48cdc: - push bc - push hl - call Function48cfd - pop hl - pop bc - ld de, wAttrmap - wTilemap - add hl, de - inc b - inc b - inc c - inc c - ld a, $0 -.asm_48ced - push bc - push hl -.asm_48cef - ld [hli], a - dec c - jr nz, .asm_48cef - pop hl - ld de, $14 - add hl, de - pop bc - dec b - jr nz, .asm_48ced - ret - -Function48cfd: - push hl - ld a, $4 - ld [hli], a - inc a - call Function48d2a - inc a - ld [hl], a - pop hl - ld de, $14 - add hl, de -.asm_48d0c - push hl - ld a, $7 - ld [hli], a - ld a, $7f - call Function48d2a - ld [hl], $8 - pop hl - ld de, $14 - add hl, de - dec b - jr nz, .asm_48d0c - ld a, $9 - ld [hli], a - ld a, $a - call Function48d2a - ld [hl], $b - ret - -Function48d2a: - ld d, c -.asm_48d2b - ld [hli], a - dec d - jr nz, .asm_48d2b - ret - -Function48d30: - ld hl, wd475 - call Function48d4a - ld hl, wd477 - call Function48d4a - ret - -Function48d3d: - ld hl, wd475 - call Function48d94 - ld hl, wd477 - call Function48d94 - ret - -Function48d4a: - inc hl - ld a, [hl] - ld b, a - and $f - ld c, a - srl b - srl b - srl b - srl b - push bc - ld c, 10 - ld a, b - call SimpleMultiply - pop bc - add c - ld [hld], a - xor a - ldh [hMultiplicand + 0], a - ldh [hMultiplicand + 1], a - ld a, [hl] - srl a - srl a - srl a - srl a - ld c, 10 - call SimpleMultiply - ld b, a - ld a, [hli] - and $f - add b - ldh [hMultiplicand + 2], a - ld a, 100 - ldh [hMultiplier], a - call Multiply - ldh a, [hProduct + 2] - ld b, a - ldh a, [hProduct + 3] - ld c, a - ld e, [hl] - add e - ld c, a - ld a, b - adc 0 - ld b, a - ld a, c - ld [hld], a - ld [hl], b - ret - -Function48d94: - xor a - ldh [hDividend + 0], a - ldh [hDividend + 1], a - ld a, [hli] - ldh [hDividend + 0], a - ld a, [hl] - ldh [hDividend + 1], a - ld a, 100 - ldh [hDivisor], a - ld b, 2 - call Divide - ldh a, [hRemainder] - ld c, 10 - call SimpleDivide - sla b - sla b - sla b - sla b - or b - ld [hld], a - ldh a, [hQuotient + 3] - ld c, 10 - call SimpleDivide - sla b - sla b - sla b - sla b - or b - ld [hl], a - ret diff --git a/mobile/mobile_12_2.asm b/mobile/mobile_12_2.asm deleted file mode 100644 index 1171f6b89..000000000 --- a/mobile/mobile_12_2.asm +++ /dev/null @@ -1,930 +0,0 @@ -MobileCheckOwnMonAnywhere: -; Like CheckOwnMonAnywhere, but only checks for species. -; OT/ID don't matter. - -; inputs: -; [wScriptVar] should contain the species we're looking for. - -; outputs: -; sets carry if monster matches species. - - ; If there are no monsters in the party, - ; the player must not own any yet. - - ld a, [wPartyCount] - and a - ret z - - ld d, a - ld e, 0 - ld hl, wPartyMon1Species - ld bc, wPartyMonOTs - - ; Run .CheckMatch on each Pokémon in the party. - -.partymon - call .CheckMatch - ret c - - push bc - ld bc, PARTYMON_STRUCT_LENGTH - add hl, bc - pop bc - call .AdvanceOTName - dec d - jr nz, .partymon - - ; Run .CheckMatch on each Pokémon in the PC. - - ld a, BANK(sBoxCount) - call OpenSRAM - ld a, [sBoxCount] - and a - jr z, .boxes - - ld d, a - ld hl, sBoxMon1Species - ld bc, sBoxMonOTs -.openboxmon - call .CheckMatch - jr nc, .loop - - call CloseSRAM - ret - -.loop - push bc - ld bc, BOXMON_STRUCT_LENGTH - add hl, bc - pop bc - call .AdvanceOTName - dec d - jr nz, .openboxmon - - ; Run .CheckMatch on each monster in the other 13 PC boxes. - -.boxes - call CloseSRAM - - ld c, 0 -.box - ; Don't search the current box again. - ld a, [wCurBox] - and $f - cp c - jr z, .loopbox - - ; Load the box. - - ld hl, .BoxAddresses - ld b, 0 - add hl, bc - add hl, bc - add hl, bc - ld a, [hli] - call OpenSRAM - ld a, [hli] - ld h, [hl] - ld l, a - - ; Number of monsters in the box - - ld a, [hl] - and a - jr z, .loopbox - - push bc - - push hl - ld de, sBoxMons - sBoxCount - add hl, de - ld d, h - ld e, l - pop hl - push de - ld de, sBoxMonOTs - sBoxCount - add hl, de - ld b, h - ld c, l - pop hl - - ld d, a - -.boxmon - call .CheckMatch - jr nc, .loopboxmon - - pop bc - call CloseSRAM - ret - -.loopboxmon - push bc - ld bc, BOXMON_STRUCT_LENGTH - add hl, bc - pop bc - call .AdvanceOTName - dec d - jr nz, .boxmon - pop bc - -.loopbox - inc c - ld a, c - cp NUM_BOXES - jr c, .box - - call CloseSRAM - and a - ret - -.CheckMatch: - ; Check if a Pokémon is of a specific species. - ; We compare the species we are looking for in - ; [wScriptVar] to the species we have in [hl]. - ; Sets carry flag if species matches. - - push bc - push hl - push de - ld d, b - ld e, c - - ; check species - - ld a, [wScriptVar] - ld b, [hl] - cp b - jr nz, .no_match - jr .match - -.no_match - pop de - pop hl - pop bc - and a - ret - -.match - pop de - pop hl - pop bc - scf - ret - -.BoxAddresses: - table_width 3, MobileCheckOwnMonAnywhere.BoxAddresses -for n, 1, NUM_BOXES + 1 - dba sBox{d:n} -endr - assert_table_length NUM_BOXES - -.AdvanceOTName: - push hl - ld hl, NAME_LENGTH - add hl, bc - ld b, h - ld c, l - pop hl - ret - -UnusedFindItemInPCOrBag: - ld a, [wScriptVar] - ld [wCurItem], a - ld hl, wNumPCItems - call CheckItem - jr c, .found - - ld a, [wScriptVar] - ld [wCurItem], a - ld hl, wNumItems - call CheckItem - jr c, .found - - xor a - ld [wScriptVar], a - ret - -.found - ld a, 1 - ld [wScriptVar], a - ret - -Function4a94e: - call FadeToMenu - ld a, -1 - ld hl, wd002 - ld bc, 3 - call ByteFill - xor a - ld [wd018], a - ld [wd019], a - ld b, SCGB_PACKPALS - call GetSGBLayout - call SetPalettes - call Function4aa22 - jr c, .asm_4a985 - jr z, .asm_4a9a1 - jr .asm_4a97b - -.asm_4a974 - call Function4aa25 - jr c, .asm_4a985 - jr z, .asm_4a9a1 - -.asm_4a97b - call Function4ac58 - ld hl, wd019 - res 1, [hl] - jr .asm_4a974 - -.asm_4a985 - ld a, [wd018] - and a - jr nz, .asm_4a990 - call Function4aba8 - jr c, .asm_4a974 - -.asm_4a990 - call CloseSubmenu - ld hl, wd002 - ld a, -1 - ld bc, 3 - call ByteFill - scf - jr .asm_4a9af - -.asm_4a9a1 - call Function4a9c3 - jr c, .asm_4a9b0 - call Function4a9d7 - jr c, .asm_4a974 - call CloseSubmenu - and a - -.asm_4a9af - ret - -.asm_4a9b0 - ld de, SFX_WRONG - call PlaySFX - ld hl, MobilePickThreeMonForBattleText - call PrintText - jr .asm_4a974 - -MobilePickThreeMonForBattleText: - text_far _MobilePickThreeMonForBattleText - text_end - -Function4a9c3: - ld hl, wd002 - ld a, $ff - cp [hl] - jr z, .asm_4a9d5 - inc hl - cp [hl] - jr z, .asm_4a9d5 - inc hl - cp [hl] - jr z, .asm_4a9d5 - and a - ret - -.asm_4a9d5 - scf - ret - -Function4a9d7: - ld a, [wd002] - ld hl, wPartyMonNicknames - call GetNickname - ld h, d - ld l, e - ld de, wMobileParticipant1Nickname - ld bc, NAME_LENGTH_JAPANESE - call CopyBytes - ld a, [wd003] - ld hl, wPartyMonNicknames - call GetNickname - ld h, d - ld l, e - ld de, wMobileParticipant2Nickname - ld bc, NAME_LENGTH_JAPANESE - call CopyBytes - ld a, [wd004] - ld hl, wPartyMonNicknames - call GetNickname - ld h, d - ld l, e - ld de, wMobileParticipant3Nickname - ld bc, NAME_LENGTH_JAPANESE - call CopyBytes - ld hl, MobileUseTheseThreeMonText - call PrintText - call YesNoBox - ret - -MobileUseTheseThreeMonText: - text_far _MobileUseTheseThreeMonText - text_end - -Function4aa22: - call ClearBGPalettes - -Function4aa25: - farcall LoadPartyMenuGFX - farcall InitPartyMenuWithCancel - call Function4aad3 - -Function4aa34: - ld a, PARTYMENUACTION_MOBILE - ld [wPartyMenuActionText], a - farcall WritePartyMenuTilemap - xor a - ld [wPartyMenuActionText], a - farcall PrintPartyMenuText - call Function4aab6 - call WaitBGMap - call SetPalettes - call DelayFrame - call Function4ab1a - jr z, .asm_4aa66 - push af - call Function4aafb - jr c, .asm_4aa67 - call Function4ab06 - jr c, .asm_4aa67 - pop af - -.asm_4aa66 - ret - -.asm_4aa67 - ld hl, wd019 - set 1, [hl] - pop af - ret - -Function4aa6e: ; unreferenced - pop af - ld de, SFX_WRONG - call PlaySFX - call WaitSFX - jr Function4aa34 - -Function4aa7a: - ld hl, wd002 - ld d, $3 -.loop - ld e, PARTY_LENGTH - ld a, [hli] - push de - push hl - cp -1 - jr z, .done - ld hl, wSpriteAnimationStructs - inc a - ld d, a -.inner_loop - ld a, [hl] - and a - jr z, .next - cp d - jr z, .same_as_d - jr .next - - ld a, $3 - jr .proceed - -.same_as_d - ld a, $2 - -.proceed - push hl - ld c, l - ld b, h - ld hl, $2 - add hl, bc - ld [hl], a - pop hl - -.next - ld bc, $10 - add hl, bc - dec e - jr nz, .inner_loop - pop hl - pop de - dec d - jr nz, .loop - jr .finished - -.done - pop hl - pop de - -.finished - ret - -Function4aab6: - ld hl, wd002 - ld d, $3 -.loop - ld a, [hli] - cp -1 - jr z, .done - push de - push hl - hlcoord 0, 1 - ld bc, $28 - call AddNTimes - ld [hl], $ec - pop hl - pop de - dec d - jr nz, .loop - -.done - ret - -Function4aad3: - ld hl, wPartyCount - ld a, [hli] - and a - ret z ; Nothing in your party - - ld c, a - xor a - ldh [hObjectStructIndex], a -.loop - push bc - push hl - ld e, MONICON_PARTYMENU - farcall LoadMenuMonIcon - ldh a, [hObjectStructIndex] - inc a - ldh [hObjectStructIndex], a - pop hl - pop bc - dec c - jr nz, .loop - - call Function4aa7a - farcall PlaySpriteAnimations - ret - -Function4aafb: - ld a, [wCurPartySpecies] - cp EGG - jr z, .egg - and a - ret - -.egg - scf - ret - -Function4ab06: - ld a, [wCurPartyMon] - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, wPartyMon1HP - call AddNTimes - ld a, [hli] - ld b, a - ld a, [hl] - or b - jr nz, .NotFainted - scf - -.NotFainted: - ret - -Function4ab1a: -.asm_4ab1a - ld a, $fb - ld [wMenuJoypadFilter], a - ld a, $26 - ld [w2DMenuCursorOffsets], a - ld a, $2 - ld [w2DMenuNumCols], a - call Function4adf7 - call StaticMenuJoypad - call Function4abc3 - jr c, .asm_4ab1a - push af - call Function4ab99 - call nc, PlaceHollowCursor - pop af - bit 1, a - jr nz, .asm_4ab6d - ld a, [wPartyCount] - inc a - ld b, a - ld a, [wMenuCursorY] - ld [wPartyMenuCursor], a - cp b - jr z, .asm_4ab7e - ld a, [wMenuCursorY] - dec a - ld [wCurPartyMon], a - ld c, a - ld b, 0 - ld hl, wPartySpecies - add hl, bc - ld a, [hl] - ld [wCurPartySpecies], a - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - ld a, $1 - and a - ret - -.asm_4ab6d - ld a, [wMenuCursorY] - ld [wPartyMenuCursor], a -.asm_4ab73 - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - scf - ret - -.asm_4ab7e - ld a, $1 - ld [wd018], a - ld a, [wMenuCursorX] - cp $2 - jr z, .asm_4ab73 - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - xor a - ld [wd018], a - and a - ret - -Function4ab99: - bit 1, a - jr z, .asm_4aba6 - ld a, [wd002] - cp $ff - jr z, .asm_4aba6 - scf - ret - -.asm_4aba6 - and a - ret - -Function4aba8: - ld hl, wd004 - ld a, [hl] - cp $ff - jr nz, .asm_4abbe - dec hl - ld a, [hl] - cp $ff - jr nz, .asm_4abbe - dec hl - ld a, [hl] - cp $ff - jr nz, .asm_4abbe - and a - ret - -.asm_4abbe - ld a, $ff - ld [hl], a - scf - ret - -Function4abc3: - bit 3, a - jr z, .asm_4abd5 - ld a, [wPartyCount] - inc a - ld [wMenuCursorY], a - ld a, $1 - ld [wMenuCursorX], a - jr .asm_4ac29 - -.asm_4abd5 - bit 6, a - jr z, .asm_4abeb - ld a, [wMenuCursorY] - ld [wMenuCursorY], a - and a - jr nz, .asm_4ac29 - ld a, [wPartyCount] - inc a - ld [wMenuCursorY], a - jr .asm_4ac29 - -.asm_4abeb - bit 7, a - jr z, .asm_4ac08 - ld a, [wMenuCursorY] - ld [wMenuCursorY], a - ld a, [wPartyCount] - inc a - inc a - ld b, a - ld a, [wMenuCursorY] - cp b - jr nz, .asm_4ac29 - ld a, $1 - ld [wMenuCursorY], a - jr .asm_4ac29 - -.asm_4ac08 - bit 4, a - jr nz, .asm_4ac10 - bit 5, a - jr z, .asm_4ac56 - -.asm_4ac10 - ld a, [wMenuCursorY] - ld b, a - ld a, [wPartyCount] - inc a - cp b - jr nz, .asm_4ac29 - ld a, [wMenuCursorX] - cp $1 - jr z, .asm_4ac26 - ld a, $1 - jr .asm_4ac29 - -.asm_4ac26 - ld [wMenuCursorX], a - -.asm_4ac29 - hlcoord 0, 1 - lb bc, 13, 1 - call ClearBox - call Function4aab6 - ld a, [wPartyCount] - hlcoord 6, 1 -.asm_4ac3b - ld bc, $28 - add hl, bc - dec a - jr nz, .asm_4ac3b - ld [hl], $7f - ld a, [wMenuCursorY] - ld b, a - ld a, [wPartyCount] - inc a - cp b - jr z, .asm_4ac54 - ld a, $1 - ld [wMenuCursorX], a - -.asm_4ac54 - scf - ret - -.asm_4ac56 - and a - ret - -Function4ac58: - lb bc, 2, 18 - hlcoord 1, 15 - call ClearBox - farcall FreezeMonIcons - ld hl, MenuHeader_0x4aca2 - call LoadMenuHeader - ld hl, wd019 - bit 1, [hl] - jr z, .asm_4ac89 - hlcoord 11, 13 - ld b, $3 - ld c, $7 - call Textbox - hlcoord 13, 14 - ld de, String_4ada7 - call PlaceString - jr .asm_4ac96 - -.asm_4ac89 - hlcoord 11, 9 - ld b, $7 - ld c, $7 - call Textbox - call Function4ad68 - -.asm_4ac96 - ld a, $1 - ldh [hBGMapMode], a - call Function4acaa - call ExitMenu - and a - ret - -MenuHeader_0x4aca2: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 9, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw NULL - db 1 ; default option - -Function4acaa: -.asm_4acaa - ld a, $a0 - ld [wMenuDataFlags], a - ld a, [wd019] - bit 1, a - jr z, .asm_4acc2 - ld a, $2 - ld [wMenuDataItems], a - ld a, $c - ld [wMenuBorderTopCoord], a - jr .asm_4accc - -.asm_4acc2 - ld a, $4 - ld [wMenuDataItems], a - ld a, $8 - ld [wMenuBorderTopCoord], a - -.asm_4accc - ld a, $b - ld [wMenuBorderLeftCoord], a - ld a, $1 - ld [wMenuCursorPosition], a - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 6, [hl] - call StaticMenuJoypad - ld de, SFX_READ_TEXT_2 - call PlaySFX - ldh a, [hJoyPressed] - bit 0, a - jr nz, .asm_4acf4 - bit 1, a - jr nz, .asm_4acf3 - jr .asm_4acaa - -.asm_4acf3 - ret - -.asm_4acf4 - ld a, [wd019] - bit 1, a - jr nz, .asm_4ad0e - ld a, [wMenuCursorY] - cp $1 - jr z, Function4ad17 - cp $2 - jp z, Function4ad56 - cp $3 - jp z, Function4ad60 - jr .asm_4acf3 - -.asm_4ad0e - ld a, [wMenuCursorY] - cp $1 - jr z, Function4ad56 - jr .asm_4acf3 - -Function4ad17: - call Function4adb2 - jr z, .asm_4ad4a - ld hl, wd002 - ld a, $ff - cp [hl] - jr z, .asm_4ad39 - inc hl - cp [hl] - jr z, .asm_4ad39 - inc hl - cp [hl] - jr z, .asm_4ad39 - ld de, SFX_WRONG - call WaitPlaySFX - ld hl, MobileOnlyThreeMonMayEnterText - call PrintText - ret - -.asm_4ad39 - ld a, [wCurPartyMon] - ld [hl], a - call Function4a9c3 - ret c - ld a, [wd019] - set 0, a - ld [wd019], a - ret - -.asm_4ad4a - ld a, $ff - ld [hl], a - call Function4adc2 - ret - -MobileOnlyThreeMonMayEnterText: - text_far _MobileOnlyThreeMonMayEnterText - text_end - -Function4ad56: - farcall OpenPartyStats - call WaitBGMap2 - ret - -Function4ad60: - farcall ManagePokemonMoves - ret - -Function4ad67: ; unreferenced - ret - -Function4ad68: - hlcoord 13, 12 - ld de, String_4ad88 - call PlaceString - call Function4adb2 - jr c, .asm_4ad7e - hlcoord 13, 10 - ld de, String_4ada0 - jr .asm_4ad84 - -.asm_4ad7e - hlcoord 13, 10 - ld de, String_4ad9a - -.asm_4ad84 - call PlaceString - ret - -String_4ad88: - db "つよさをみる" - next "つかえるわざ" - next "もどる@" - -String_4ad9a: - db "さんかする@" - -String_4ada0: - db "さんかしない@" - -String_4ada7: - db "つよさをみる" - next "もどる@" ; BACK - -Function4adb2: - ld hl, wd002 - ld a, [wCurPartyMon] - cp [hl] - ret z - inc hl - cp [hl] - ret z - inc hl - cp [hl] - ret z - scf - ret - -Function4adc2: - ld a, [wd002] - cp $ff - jr nz, .skip - ld a, [wd003] - cp $ff - jr nz, .skip2 - ld a, [wd004] - ld [wd002], a - ld a, $ff - ld [wd004], a - jr .skip - -.skip2 - ld [wd002], a - ld a, $ff - ld [wd003], a - -.skip - ld a, [wd003] - cp $ff - ret nz - ld b, a - ld a, [wd004] - ld [wd003], a - ld a, b - ld [wd004], a - ret - -Function4adf7: - ld a, [wd019] - bit 0, a - ret z - ld a, [wPartyCount] - inc a - ld [wMenuCursorY], a - ld a, $1 - ld [wMenuCursorX], a - ld a, [wd019] - res 0, a - ld [wd019], a - ret diff --git a/mobile/mobile_22.asm b/mobile/mobile_22.asm deleted file mode 100644 index eb79f79de..000000000 --- a/mobile/mobile_22.asm +++ /dev/null @@ -1,4244 +0,0 @@ -String_89116: - db "-----@" - -String_8911c: - db "でんわばんごうが ただしく" ; Phone number is not - next "はいって いません!@" ; entered correctly! - -String_89135: - db "データが かわって いますが" ; The data has changed. - next "かきかえないで やめますか?@" ; Quit anyway? - -String_89153: - db "メッセージは ありません@" ; No message - -OpenSRAMBank4: - push af - ld a, $4 - call OpenSRAM - pop af - ret - -Function89168: - ld hl, wGameTimerPaused - set GAME_TIMER_MOBILE_F, [hl] - ret - -Function8916e: - ld hl, wGameTimerPaused - res GAME_TIMER_MOBILE_F, [hl] - ret - -Function89174: - ld hl, wGameTimerPaused - bit GAME_TIMER_MOBILE_F, [hl] - ret - -Function8917a: - ld hl, wd002 - ld bc, $32 - xor a - call ByteFill - ret - -Function89185: -; strcmp(hl, de, c) -; Compares c bytes starting at de and hl and incrementing together until a mismatch is found. -; Preserves hl and de. - push de - push hl -.loop - ld a, [de] - inc de - cp [hl] - jr nz, .done - inc hl - dec c - jr nz, .loop -.done - pop hl - pop de - ret - -Function89193: -; copy(hl, de, 4) -; Copies c bytes from hl to de. -; Preserves hl and de. - push de - push hl -.loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop - pop hl - pop de - ret - -Function8919e: -; Searches for the c'th string starting at de. Returns the pointer in de. - ld a, c - and a - ret z -.loop - ld a, [de] - inc de - cp "@" - jr nz, .loop - dec c - jr nz, .loop - ret - -Function891ab: - call Mobile22_SetBGMapMode1 - farcall ReloadMapPart - call Mobile22_SetBGMapMode0 - ret - -Function891b8: - call Mobile22_SetBGMapMode0 - hlcoord 0, 0 - ld a, " " - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - call DelayFrame - ret - -Function891ca: - push bc - call Function891b8 - call WaitBGMap - pop bc - ret - -Function891d3: - push bc - call Function891ca - ld c, $10 - call DelayFrames - pop bc - ret - -Function891de: - call Mobile22_SetBGMapMode0 - call ClearPalettes - hlcoord 0, 0, wAttrmap - ld a, $7 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - hlcoord 0, 0 - ld a, " " - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - call Function891ab - ret - -Function891fe: - push bc - call Function891de - ld c, $10 - call DelayFrames - pop bc - ret - -Mobile_EnableSpriteUpdates: - ld a, 1 - ld [wSpriteUpdatesEnabled], a - ret - -Mobile_DisableSpriteUpdates: - ld a, 0 - ld [wSpriteUpdatesEnabled], a - ret - -Function89215: - push hl - push bc - ld bc, wAttrmap - wTilemap - add hl, bc - ld [hl], a - pop bc - pop hl - ret - -Function8921f: - push de - ld de, SCREEN_WIDTH - add hl, de - inc hl - ld a, $7f -.loop - push bc - push hl -.asm_89229 - ld [hli], a - dec c - jr nz, .asm_89229 - pop hl - add hl, de - pop bc - dec b - jr nz, .loop - pop de - ret - -Mobile22_PromptButton: - call JoyWaitAorB - call PlayClickSFX - ret - -Mobile22_SetBGMapMode0: - xor a - ldh [hBGMapMode], a - ret - -Mobile22_SetBGMapMode1: - ld a, $1 - ldh [hBGMapMode], a - ret - -Function89245: - farcall TryLoadSaveFile - ret c - farcall _LoadData - and a - ret - -Function89254: - ld bc, $d07 - jr Function89261 - -Function89259: - ld bc, $0e07 - jr Function89261 - -Function8925e: - ld bc, $0e0c - -Function89261: - push af - push bc - ld hl, MenuHeader_0x892a3 - call CopyMenuHeader - pop bc - ld hl, wMenuBorderTopCoord - ld a, c - ld [hli], a - ld a, b - ld [hli], a - ld a, c - add $4 - ld [hli], a - ld a, b - add $5 - ld [hl], a - pop af - ld [wMenuCursorPosition], a - call PushWindow - call Mobile22_SetBGMapMode0 - call Mobile_EnableSpriteUpdates - call VerticalMenu - push af - ld c, $a - call DelayFrames - call CloseWindow - call Mobile_DisableSpriteUpdates - pop af - jr c, .done - ld a, [wMenuCursorY] - cp $2 - jr z, .done - and a - ret - -.done - scf - ret - -MenuHeader_0x892a3: - db MENU_BACKUP_TILES ; flags - menu_coords 10, 5, 15, 9 - dw MenuData_0x892ab - db 1 ; default option - -MenuData_0x892ab: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 2 ; items - db "はい@" - db "いいえ@" - -Function892b4: - call Function8931b - -Function892b7: - ld d, b - ld e, c - ld hl, 0 - add hl, bc - ld a, "@" - ld bc, 6 - call ByteFill - ld b, d - ld c, e - ld hl, 6 - add hl, bc - ld a, "@" - ld bc, 6 - call ByteFill - ld b, d - ld c, e - ld hl, 12 - add hl, bc - xor a - ld [hli], a - ld [hl], a - ld hl, 14 - add hl, bc - ld [hli], a - ld [hl], a - ld hl, 16 - add hl, bc - ld [hl], a - ld hl, 17 - add hl, bc - ld a, -1 - ld bc, 8 - call ByteFill - ld b, d - ld c, e - ld e, 6 - ld hl, 25 - add hl, bc -.loop - ld a, -1 - ld [hli], a - ld a, -1 - ld [hli], a - dec e - jr nz, .loop - ret - -Function89305: - xor a - ld [wMenuSelection], a - ld c, 40 -.loop - ld a, [wMenuSelection] - inc a - ld [wMenuSelection], a - push bc - call Function892b4 - pop bc - dec c - jr nz, .loop - ret - -Function8931b: - push hl - ld hl, s4_a03b - ld a, [wMenuSelection] - dec a - ld bc, 37 - call AddNTimes - ld b, h - ld c, l - pop hl - ret - -Function8932d: - ld hl, 0 - add hl, bc - -Function89331: -; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. -; Sets carry if it does not find a nonspace character. -; Returns the location of the following character in hl. - push bc - ld c, NAME_LENGTH_JAPANESE - 1 -.loop - ld a, [hli] - cp "@" - jr z, .terminator - cp " " - jr nz, .nonspace - dec c - jr nz, .loop - -.terminator - scf - jr .done - -.nonspace - and a - -.done - pop bc - ret - -Function89346: - ld h, b - ld l, c - jr _incave - -Function8934a: - ld hl, NAME_LENGTH_JAPANESE - add hl, bc -_incave: -; Scans up to 5 characters starting at hl, looking for a nonspace character up to the next terminator. Sets carry if it does not find a nonspace character. Returns the location of the following character in hl. - push bc - ld c, NAME_LENGTH_JAPANESE - 1 -.loop - ld a, [hli] - cp "@" - jr z, .terminator - cp " " - jr nz, .nonspace - dec c - jr nz, .loop - -.terminator - scf - jr .done - -.nonspace - and a - -.done - pop bc - ret - -Function89363: -; Scans six byte pairs starting at bc to find $ff. Sets carry if it does not find a $ff. Returns the location of the byte after the first $ff found in hl. - ld h, b - ld l, c - jr ._incave - - ld hl, 25 - add hl, bc - -._incave - push de - ld e, NAME_LENGTH_JAPANESE -.loop - ld a, [hli] - cp -1 - jr nz, .ok - ld a, [hli] - cp -1 - jr nz, .ok - dec e - jr nz, .loop - scf - jr .done - -.ok - and a - -.done - pop de - ret - -Function89381: - push bc - push de - call Function89b45 - jr c, .ok - push hl - ld a, -1 - ld bc, 8 - call ByteFill - pop hl - -.ok - pop de - ld c, 8 - call Function89193 - pop bc - ret - -Function8939a: - push bc - ld hl, 0 - add hl, bc - ld de, wd002 - ld c, 6 - call Function89193 - pop bc - ld hl, 17 - add hl, bc - ld de, wd008 - call Function89381 - ret - -Function893b3: - call DisableLCD - call ClearSprites - call LoadStandardFont - call LoadFontsExtra - call Function893ef - call Function8942b - call Function89455 - call EnableLCD - ret - -Function893cc: - call DisableLCD - call ClearSprites - call LoadStandardFont - call LoadFontsExtra - call Function893ef - call Function89464 - call EnableLCD - ret - -Function893e2: - call Function89b1e - call Function893b3 - call Function8a5b6 - call Function8949c - ret - -Function893ef: - ld de, vTiles0 - ld hl, EZChatCursorGFX - ld bc, $20 - ld a, BANK(EZChatCursorGFX) - call FarCopyBytes - ret - -Function893fe: ; unreferenced - call DisableLCD - call Function893ef - call EnableLCD - call DelayFrame - ret - -EZChatCursorGFX: -INCBIN "gfx/mobile/ez_chat_cursor.2bpp" - -Function8942b: - ld de, vTiles0 tile $02 - ld hl, CardLargeSpriteAndFolderGFX - ld bc, 8 tiles ; just the large card sprite - ld a, BANK(CardLargeSpriteAndFolderGFX) - call FarCopyBytes - ld de, vTiles0 tile $0a - ld hl, CardSpriteGFX - ld bc, 4 tiles - ld a, BANK(CardSpriteGFX) - call FarCopyBytes - ret - -Function89448: -; Clears the sprite array - push af - ld hl, wShadowOAM - ld d, 24 * SPRITEOAMSTRUCT_LENGTH - xor a -.loop - ld [hli], a - dec d - jr nz, .loop - pop af - ret - -Function89455: - ld hl, CardLargeSpriteAndFolderGFX - ld de, vTiles2 tile $0c - ld bc, (8 + 65) tiles ; large card sprite + folder - ld a, BANK(CardLargeSpriteAndFolderGFX) - call FarCopyBytes - ret - -Function89464: - ld hl, MobileCardGFX - ld de, vTiles2 - ld bc, $20 tiles - ld a, BANK(MobileCardGFX) - call FarCopyBytes - ld hl, MobileCard2GFX - ld de, vTiles2 tile $20 - ld bc, $17 tiles - ld a, BANK(MobileCard2GFX) - call FarCopyBytes - ret - -Function89481: - ld d, 2 - call Function8934a - ret c - ld d, 0 - ld hl, 16 - add hl, bc - bit 0, [hl] - ret z - inc d - ret - -Function89492: - ld d, 0 - ld a, [wPlayerGender] - bit PLAYERGENDER_FEMALE_F, a - ret z - inc d - ret - -Function8949c: - ldh a, [rSVBK] - push af - ld a, 5 - ldh [rSVBK], a - ld hl, Palette_894b3 - ld de, wBGPals1 palette 7 - ld bc, 1 palettes - call CopyBytes - pop af - ldh [rSVBK], a - ret - -Palette_894b3: - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - -Function894bb: - call Function894dc - push bc - call Function8956f - call Function8949c - call Function8a60d - pop bc - ret - -Function894ca: - push bc - call Function894dc - call Function895c7 - call Function8949c - call Function8a60d - call SetPalettes - pop bc - ret - -Function894dc: - push bc - ldh a, [rSVBK] - push af - ld a, 5 - ldh [rSVBK], a - - ld c, d - ld b, 0 - ld hl, .PalettePointers - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wBGPals1 - ld bc, 3 palettes - call CopyBytes - ld hl, .Pals345 - ld de, wBGPals1 + 3 palettes - ld bc, 3 palettes - call CopyBytes - - pop af - ldh [rSVBK], a - pop bc - ret - -.PalettePointers: - dw .Pals012a - dw .Pals012b - dw .Pals012c - -.Pals012a: - RGB 31, 31, 31 - RGB 10, 17, 13 - RGB 10, 08, 22 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 10, 08, 22 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 10, 17, 13 - RGB 00, 00, 00 - -.Pals012b: - RGB 31, 31, 31 - RGB 30, 22, 11 - RGB 31, 08, 15 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 31, 08, 15 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 30, 22, 11 - RGB 00, 00, 00 - -.Pals012c: - RGB 31, 31, 31 - RGB 15, 20, 26 - RGB 25, 07, 20 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 25, 07, 20 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 20, 31 - RGB 15, 20, 26 - RGB 00, 00, 00 - -.Pals345: - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 13, 00 - RGB 14, 08, 00 - - RGB 31, 31, 31 - RGB 16, 16, 31 - RGB 00, 00, 31 - RGB 00, 00, 00 - - RGB 19, 31, 11 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - -Function8956f: - push bc - ld hl, 16 - add hl, bc - ld d, h - ld e, l - ld hl, $000c - add hl, bc - ld b, h - ld c, l - farcall GetMobileOTTrainerClass - ld a, c - ld [wTrainerClass], a - ldh a, [rSVBK] - push af - ld a, 5 - ldh [rSVBK], a - ld hl, wd030 - ld a, -1 - ld [hli], a - ld a, " " - ld [hl], a - pop af - ldh [rSVBK], a - ld a, [wTrainerClass] - ld h, 0 - ld l, a - add hl, hl - add hl, hl - ld de, TrainerPalettes - add hl, de - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld de, wd032 - ld c, 4 -.loop - ld a, BANK(TrainerPalettes) - call GetFarByte - ld [de], a - inc de - inc hl - dec c - jr nz, .loop - ld hl, wd036 - xor a - ld [hli], a - ld [hl], a - pop af - ldh [rSVBK], a - pop bc - ret - -Function895c7: - ldh a, [rSVBK] - push af - ld a, 5 - ldh [rSVBK], a - ld hl, Palette_895de - ld de, wd030 - ld bc, 8 - call CopyBytes - pop af - ldh [rSVBK], a - ret - -Palette_895de: - RGB 31, 31, 31 - RGB 07, 07, 06 - RGB 07, 07, 06 - RGB 00, 00, 00 - -Function895e6: ; unreferenced - ld a, 7 - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ret - -Function895f2: - push bc - xor a - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - call Function89605 - call Function89655 - pop bc - ret - -Function89605: - hlcoord 19, 2, wAttrmap - ld a, 1 - ld de, SCREEN_WIDTH - ld c, 14 -.loop - ld [hl], a - dec c - jr z, .done - add hl, de - inc a - ld [hl], a - dec a - add hl, de - dec c - jr nz, .loop - -.done - hlcoord 0, 16, wAttrmap - ld c, 10 - ld a, 2 -.loop2 - ld [hli], a - dec a - ld [hli], a - inc a - dec c - jr nz, .loop2 - hlcoord 1, 11, wAttrmap - ld a, 4 - ld bc, 4 - call ByteFill - ld a, 5 - ld bc, 14 - call ByteFill - ret - -Function8963d: - hlcoord 12, 3, wAttrmap - ld a, 6 - ld de, SCREEN_WIDTH - lb bc, 7, 7 -.loop - push hl - ld c, 7 -.next - ld [hli], a - dec c - jr nz, .next - pop hl - add hl, de - dec b - jr nz, .loop - ret - -Function89655: - hlcoord 1, 12, wAttrmap - ld de, SCREEN_WIDTH - ld a, 5 - ld b, 4 -.loop - ld c, 18 - push hl -.next - ld [hli], a - dec c - jr nz, .next - pop hl - add hl, de - dec b - jr nz, .loop - ret - -Function8966c: - push bc - call Function89688 - hlcoord 4, 0 - ld c, 8 - call Function896f5 - pop bc - ret - -Function8967a: - push bc - call Function89688 - hlcoord 2, 0 - ld c, 12 - call Function896f5 - pop bc - ret - -Function89688: - hlcoord 0, 0 - ld a, 1 - ld e, SCREEN_WIDTH - call Function896e1 - ld a, 2 - ld e, SCREEN_WIDTH - call Function896eb - ld a, 3 - ld [hli], a - ld a, 4 - ld e, SCREEN_HEIGHT - call Function896e1 - ld a, 6 - ld [hli], a - push bc - ld c, 13 -.loop - call Function896cb - dec c - jr z, .done - call Function896d6 - dec c - jr nz, .loop - -.done - pop bc - ld a, 25 - ld [hli], a - ld a, 26 - ld e, SCREEN_HEIGHT - call Function896e1 - ld a, 28 - ld [hli], a - ld a, 2 - ld e, SCREEN_WIDTH - call Function896eb - ret - -Function896cb: - ld de, SCREEN_WIDTH - 1 - ld a, 7 - ld [hl], a - add hl, de - ld a, 9 - ld [hli], a - ret - -Function896d6: - ld de, SCREEN_WIDTH - 1 - ld a, 10 - ld [hl], a - add hl, de - ld a, 11 - ld [hli], a - ret - -Function896e1: -.loop - ld [hli], a - inc a - dec e - ret z - ld [hli], a - dec a - dec e - jr nz, .loop - ret - -Function896eb: -.loop - ld [hli], a - dec a - dec e - ret z - ld [hli], a - inc a - dec e - jr nz, .loop - ret - -Function896f5: - call Function8971f - call Function89736 - inc hl - inc hl - ld b, 2 - -Function896ff: ; unreferenced -; INPUT: -; hl = address of upper left corner of the area -; b = height -; c = width - -; clears an area of the screen - ld a, " " - ld de, SCREEN_WIDTH -.row_loop - push bc - push hl -.col_loop - ld [hli], a - dec c - jr nz, .col_loop - pop hl - pop bc - add hl, de - dec b - jr nz, .row_loop - -; alternates tiles $36 and $18 at the bottom of the area - dec hl - inc c - inc c -.bottom_loop - ld a, $36 - ld [hli], a - dec c - ret z - ld a, $18 - ld [hli], a - dec c - jr nz, .bottom_loop - ret - -Function8971f: - ld a, $2c - ld [hli], a - ld a, $2d - ld [hld], a - push hl - ld de, SCREEN_WIDTH - add hl, de - ld a, $31 - ld [hli], a - ld a, $32 - ld [hld], a - add hl, de - ld a, $35 - ld [hl], a - pop hl - ret - -Function89736: - push hl - inc hl - inc hl - ld e, c - ld d, $0 - add hl, de - ld a, $2f - ld [hli], a - ld a, $30 - ld [hld], a - ld de, SCREEN_WIDTH - add hl, de - ld a, $33 - ld [hli], a - ld a, $34 - ld [hl], a - add hl, de - ld a, $1f - ld [hl], a - pop hl - ret - -Function89753: - ld a, $c - ld [hl], a - xor a - call Function89215 - ret - -Function8975b: - ld a, $1d - ld [hli], a - inc a - ld [hli], a - ld a, $d - ld [hl], a - dec hl - dec hl - ld a, $4 - ld e, $3 -.asm_89769 - call Function89215 - inc hl - dec e - jr nz, .asm_89769 - ret - -Function89771: - ld a, $12 - ld [hl], a - ld a, $3 - call Function89215 - ret - -Function8977a: - ld e, $4 - ld d, $13 -.asm_8977e - ld a, d - ld [hl], a - ld a, $4 - call Function89215 - inc hl - inc d - dec e - jr nz, .asm_8977e - ld e, $e -.asm_8978c - ld a, d - ld [hl], a - xor a - call Function89215 - inc hl - dec e - jr nz, .asm_8978c - ret - -Function89797: - push bc - ld a, $e - ld [hl], a - ld bc, SCREEN_WIDTH - add hl, bc - ld a, $11 - ld [hli], a - ld a, $10 - ld c, $8 -.asm_897a6 - ld [hli], a - dec c - jr nz, .asm_897a6 - ld a, $f - ld [hl], a - pop bc - ret - -Function897af: - push bc - ld hl, $0010 - add hl, bc - ld d, h - ld e, l - ld hl, $000c - add hl, bc - ld b, h - ld c, l - farcall GetMobileOTTrainerClass - ld a, c - ld [wTrainerClass], a - xor a - ld [wCurPartySpecies], a - ld de, vTiles2 tile $37 - farcall GetTrainerPic - pop bc - ret - -Function897d5: - push bc - call Function8934a - jr nc, .asm_897f3 - hlcoord 12, 3, wAttrmap - xor a - ld de, SCREEN_WIDTH - lb bc, 7, 7 -.asm_897e5 - push hl - ld c, $7 -.asm_897e8 - ld [hli], a - dec c - jr nz, .asm_897e8 - pop hl - add hl, de - dec b - jr nz, .asm_897e5 - pop bc - ret - -.asm_897f3 - ld a, $37 - ldh [hGraphicStartTile], a - hlcoord 12, 3 - lb bc, 7, 7 - predef PlaceGraphic - call Function8963d - pop bc - ret - -Function89807: - ld hl, ChrisSilhouetteGFX - ld a, [wPlayerGender] - bit PLAYERGENDER_FEMALE_F, a - jr z, .asm_89814 - ld hl, KrisSilhouetteGFX -.asm_89814 - call DisableLCD - ld de, vTiles2 tile $37 - ld bc, (5 * 7) tiles - ld a, BANK(ChrisSilhouetteGFX) ; aka BANK(KrisSilhouetteGFX) - call FarCopyBytes - call EnableLCD - call DelayFrame - ret - -Function89829: - push bc - ld bc, $705 - ld de, $14 - ld a, $37 -.asm_89832 - push bc - push hl -.asm_89834 - ld [hli], a - inc a - dec c - jr nz, .asm_89834 - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_89832 - call Function8963d - pop bc - ret - -Function89844: - call Function89481 - call Function894bb - call Function897af - push bc - call WaitBGMap2 - call SetPalettes - pop bc - ret - -Function89856: - push bc - call Function891b8 - pop bc - call Function895f2 - call Function8966c - call Function899d3 - call Function898aa - call Function898be - call Function898dc - call Function898f3 - push bc - ld bc, wd008 - hlcoord 2, 10 - call Function89975 - pop bc - call Function897d5 - ret - -Function8987f: - call Function891b8 - call Function895f2 - call Function8967a - call Function899d3 - hlcoord 5, 1 - call Function8999c - hlcoord 13, 3 - call Function89829 - call Function899b2 - hlcoord 5, 5 - call Function899c9 - ld bc, wd008 - hlcoord 2, 10 - call Function89975 - ret - -Function898aa: - ld a, [wMenuSelection] - and a - ret z - push bc - hlcoord 6, 1 - ld de, wMenuSelection - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - pop bc - ret - -Function898be: - push bc - ld de, wd002 - ld hl, wd002 - call Function89331 - jr nc, .asm_898cd - ld de, String_89116 - -.asm_898cd - hlcoord 9, 1 - ld a, [wMenuSelection] - and a - jr nz, .asm_898d7 - dec hl - -.asm_898d7 - call PlaceString - pop bc - ret - -Function898dc: - ld hl, $0006 - add hl, bc - push bc - ld d, h - ld e, l - call Function8934a - jr nc, .asm_898eb - ld de, String_89116 - -.asm_898eb - hlcoord 6, 4 - call PlaceString - pop bc - ret - -Function898f3: - push bc - ld hl, $000c - add hl, bc - ld d, h - ld e, l - call Function8934a - jr c, .asm_8990a - hlcoord 5, 5 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - jr .asm_89913 - -.asm_8990a - hlcoord 5, 5 - ld de, String_89116 - call PlaceString - -.asm_89913 - pop bc - ret - -Function89915: - push bc - push hl - ld de, Unknown_89942 - ld c, $8 -.asm_8991c - ld a, [de] - ld [hl], a - ld a, $4 - call Function89215 - inc hl - inc de - dec c - jr nz, .asm_8991c - pop hl - ld b, $4 - ld c, $2b - ld a, $8 - ld de, Unknown_8994a -.asm_89932 - push af - ld a, [de] - cp [hl] - jr nz, .asm_8993b - call Function8994e - inc de - -.asm_8993b - inc hl - pop af - dec a - jr nz, .asm_89932 - pop bc - ret - -Unknown_89942: - db $24, $25, $26, " ", $27, $28, $29, $2a -Unknown_8994a: - db $24, $27, $29, $ff - -Function8994e: - push hl - push de - ld de, SCREEN_WIDTH - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - ld a, c - ld [hl], a - ld a, b - call Function89215 - pop de - pop hl - ret - -Function89962: - push bc - ld c, $4 - ld b, $20 -.asm_89967 - ld a, b - ld [hl], a - ld a, $4 - call Function89215 - inc hl - inc b - dec c - jr nz, .asm_89967 - pop bc - ret - -Function89975: - push bc - ld e, $8 -.asm_89978 - ld a, [bc] - ld d, a - call Function8998b - swap d - inc hl - ld a, d - call Function8998b - inc bc - inc hl - dec e - jr nz, .asm_89978 - pop bc - ret - -Function8998b: - push bc - and $f - cp $a - jr nc, .asm_89997 - ld c, $f6 - add c - jr .asm_89999 - -.asm_89997 - ld a, $7f - -.asm_89999 - ld [hl], a - pop bc - ret - -Function8999c: - ld de, wPlayerName - call PlaceString - inc bc - ld h, b - ld l, c - ld de, String_899ac - call PlaceString - ret - -String_899ac: - db "の めいし@" - -Function899b2: - ld bc, wPlayerName - call Function89346 - jr c, .asm_899bf - ld de, wPlayerName - jr .asm_899c2 -.asm_899bf - ld de, String_89116 -.asm_899c2 - hlcoord 6, 4 - call PlaceString - ret - -Function899c9: - ld de, wPlayerID - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ret - -Function899d3: - hlcoord 1, 4 - call Function89753 - hlcoord 2, 5 - call Function8975b - hlcoord 1, 9 - call Function89771 - hlcoord 1, 11 - call Function8977a - hlcoord 1, 5 - call Function89797 - hlcoord 2, 4 - call Function89962 - hlcoord 2, 9 - call Function89915 - ret - -Function899fe: - push bc - push hl - ld hl, $0019 - add hl, bc - ld b, h - ld c, l - pop hl - call Function89a0c - pop bc - ret - -Function89a0c: - push hl - call Function89363 - pop hl - jr c, .asm_89a1c - ld d, h - ld e, l - farcall Function11c08f - ret - -.asm_89a1c - ld de, String_89153 - call PlaceString - ret - -Function89a23: - hlcoord 0, 11 - ld b, $4 - ld c, $12 - call Function8921f - ret - -Function89a2e: - hlcoord 11, 12 - ld b, $2 - ld c, $6 - call Textbox - hlcoord 13, 13 - ld de, String_89a4e - call PlaceString - hlcoord 13, 14 - ld de, String_89a53 - call PlaceString - call Function89655 - ret - -String_89a4e: - db "けってい@" - -String_89a53: - db "やめる@" - -Function89a57: - call JoyTextDelay_ForcehJoyDown ; joypad - bit D_UP_F, c - jr nz, .d_up - bit D_DOWN_F, c - jr nz, .d_down - bit A_BUTTON_F, c - jr nz, .a_b_button - bit B_BUTTON_F, c - jr nz, .a_b_button - bit START_F, c - jr nz, .start_button - scf - ret - -.a_b_button - ld a, $1 - and a - ret - -.start_button - ld a, $2 - and a - ret - -.d_up - call .MoveCursorUp - call nc, .PlayPocketSwitchSFX - ld a, $0 - ret - -.d_down - call .MoveCursorDown - call nc, .PlayPocketSwitchSFX - ld a, $0 - ret - -.PlayPocketSwitchSFX: - push af - ld de, SFX_SWITCH_POCKETS - call PlaySFX - pop af - ret - -.MoveCursorDown: - ld d, 40 - ld e, 1 - call .ApplyCursorMovement - ret - -.MoveCursorUp: - ld d, 1 - ld e, -1 - call .ApplyCursorMovement - ret - -.ApplyCursorMovement: - ld a, [wMenuSelection] - ld c, a - push bc -.loop - ld a, [wMenuSelection] - cp d - jr z, .equal_to_d - add e - jr nz, .not_zero - inc a - -.not_zero - ld [wMenuSelection], a - call .Function89ac7 ; BCD conversion of data in SRAM? - jr nc, .loop - call .Function89ae6 ; split [wMenuSelection] into [wd030] + [wd031] where [wd030] <= 5 - pop bc - and a - ret - -.equal_to_d - pop bc - ld a, c - ld [wMenuSelection], a - scf - ret - -.Function89ac7: - call OpenSRAMBank4 - call Function8931b - call .Function89ad4 - call CloseSRAM - ret - -.Function89ad4: - push de - call Function8932d ; find a non-space character within 5 bytes of bc - jr c, .no_nonspace_character - ld hl, 17 - add hl, bc - call Function89b45 - jr c, .finish_decode - -.no_nonspace_character - and a - -.finish_decode - pop de - ret - -.Function89ae6: - ld hl, wd031 - xor a - ld [hl], a - ld a, [wMenuSelection] -.loop2 - cp 6 - jr c, .load_and_ret - sub 5 - ld c, a - ld a, [hl] - add 5 - ld [hl], a - ld a, c - jr .loop2 - -.load_and_ret - ld [wd030], a - ret - -Function89b00: - farcall MG_Mobile_Layout_LoadPals - ret - -Function89b07: - call Mobile22_SetBGMapMode0 - call DelayFrame - farcall Function4a3a7 - ret - -Function89b14: ; unreferenced - call ClearBGPalettes - call Function89b07 - call Function89b00 - ret - -Function89b1e: - farcall Function4a485 - call Function89b00 - ret - -Function89b28: - call Function891de - call ClearBGPalettes - call Function893e2 - call Call_ExitMenu - call Function891ab - call SetPalettes - ret - -Function89b3b: - call Mobile22_SetBGMapMode0 - farcall Function48cda - ret - -Function89b45: - ; some sort of decoder? - ; BCD? - push hl - push bc - ld c, $10 - ld e, $0 -.loop - ld a, [hli] - ld b, a - and $f - cp 10 - jr c, .low_nybble_less_than_10 - ld a, c - cp $b - jr nc, .clear_carry - jr .set_carry - -.low_nybble_less_than_10 - dec c - swap b - inc e - ld a, b - and $f - cp 10 - jr c, .high_nybble_less_than_10 - ld a, c - cp $b - jr nc, .clear_carry - jr .set_carry - -.high_nybble_less_than_10 - inc e - dec c - jr nz, .loop - dec e - -.set_carry - scf - jr .finish - -.clear_carry - and a - -.finish - pop bc - pop hl - ret - -Function89b78: - push bc - ld a, [wd010] - cp $10 - jr c, .asm_89b8c - ld a, e - and a - jr z, .asm_89b89 - ld c, e -.asm_89b85 - inc hl - dec c - jr nz, .asm_89b85 -.asm_89b89 - ld a, $7f - ld [hl], a -.asm_89b8c - ld a, [wd010] - inc a - and $1f - ld [wd010], a - pop bc - ret - -Function89b97: - call Function89c34 - jr c, .asm_89ba0 - call Function89448 - ret -.asm_89ba0 - ld a, [wd011] - ld hl, Unknown_89bd8 - and a - jr z, .asm_89bae -.asm_89ba9 - inc hl - inc hl - dec a - jr nz, .asm_89ba9 -.asm_89bae - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wShadowOAMSprite00 -.asm_89bb4 - ld a, [hli] - cp $ff - ret z - ld c, a - ld b, 0 -.asm_89bbb - push hl - ld a, [hli] - ld [de], a ; y - inc de - ld a, [hli] - add b - ld [de], a ; x - inc de - ld a, $08 - add b - ld b, a - ld a, [hli] ; tile id - ld [de], a - inc de - ld a, [hli] ; attributes - ld [de], a - inc de - pop hl - dec c - jr nz, .asm_89bbb - ld b, $0 - ld c, $4 - add hl, bc - jr .asm_89bb4 - -Unknown_89bd8: - dw Unknown_89be0 - dw Unknown_89bf5 - dw Unknown_89c0a - dw Unknown_89c1f - -Unknown_89be0: - db $01, $12, $4e, $01, 0 - db $01, $19, $4e, $01, 0 | Y_FLIP - db $01, $12, $72, $01, 0 | X_FLIP - db $01, $19, $72, $01, 0 | X_FLIP | Y_FLIP - db -1 ; end - -Unknown_89bf5: - db $01, $60, $16, $01, 0 - db $01, $62, $16, $01, 0 | Y_FLIP - db $01, $60, $92, $01, 0 | X_FLIP - db $01, $62, $92, $01, 0 | X_FLIP | Y_FLIP - db -1 ; end - -Unknown_89c0a: - db $01, $78, $66, $01, 0 - db $01, $78, $66, $01, 0 | Y_FLIP - db $01, $78, $92, $01, 0 | X_FLIP - db $01, $78, $92, $01, 0 | X_FLIP | Y_FLIP - db -1 ; end - -Unknown_89c1f: - db $01, $80, $66, $01, 0 - db $01, $80, $66, $01, 0 | Y_FLIP - db $01, $80, $92, $01, 0 | X_FLIP - db $01, $80, $92, $01, 0 | X_FLIP | Y_FLIP - db -1 ; end - -Function89c34: - push bc - ld a, [wd012] - ld c, a - inc a - and $f - ld [wd012], a - ld a, c - cp $8 - pop bc - ret - -Function89c44: - call Function89c34 - jr c, .asm_89c4f - push de - call Function89448 - pop de - ret -.asm_89c4f - ld hl, wShadowOAMSprite00 - push de - ld a, b - ld [hli], a ; y - ld d, $8 - ld a, e - and a - ld a, c - jr z, .asm_89c60 -.asm_89c5c - add d - dec e - jr nz, .asm_89c5c -.asm_89c60 - pop de - ld [hli], a ; x - ld a, d - ld [hli], a ; tile id - xor a - ld [hli], a ; attributes - ret - -Function89c67: -; menu scrolling? - call JoyTextDelay_ForcehJoyDown ; joypad - ld b, $0 - bit A_BUTTON_F, c - jr z, .not_a_button - ld b, $1 - and a - ret - -.not_a_button - bit B_BUTTON_F, c - jr z, .not_b_button - scf - ret - -.not_b_button - xor a - bit D_UP_F, c - jr z, .not_d_up - ld a, $1 -.not_d_up - bit D_DOWN_F, c - jr z, .not_d_down - ld a, $2 -.not_d_down - bit D_LEFT_F, c - jr z, .not_d_left - ld a, $3 -.not_d_left - bit D_RIGHT_F, c - jr z, .not_d_right - ld a, $4 -.not_d_right - and a - ret z ; no dpad pressed - dec a - ld c, a - ld d, $0 - ld hl, .ScrollData0 - ld a, [wd02f] - and a - jr z, .got_data - ld hl, .ScrollData1 -.got_data - ld a, [wd011] - and a - jr z, .got_row - ld e, $4 -.add_n_times - add hl, de - dec a - jr nz, .add_n_times -.got_row - ld e, c - add hl, de - ld a, [hl] - and a - ret z - dec a - ld [wd011], a - xor a - ld [wd012], a - ret - -.ScrollData0: - db 0, 2, 0, 0 - db 1, 3, 0, 0 - db 2, 4, 0, 0 - db 3, 0, 0, 0 - -.ScrollData1: - db 0, 0, 0, 0 - db 0, 3, 0, 0 - db 2, 4, 0, 0 - db 3, 0, 0, 0 - -Function89cdf: - ld a, $10 - add b - ld b, a - ld a, $8 - add c - ld c, a - ld e, $2 - ld a, $2 - ld hl, wShadowOAMSprite00 -.asm_89cee - push af - push bc - ld d, $4 -.asm_89cf2 - ld a, b - ld [hli], a ; y - ld a, c - ld [hli], a ; x - ld a, e - ld [hli], a ; tile id - ld a, $1 - ld [hli], a ; attributes - ld a, $8 - add c - ld c, a - inc e - dec d - jr nz, .asm_89cf2 - pop bc - ld a, $8 - add b - ld b, a - pop af - dec a - jr nz, .asm_89cee - ret - -Function89d0d: - call Mobile22_SetBGMapMode0 - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - - ld c, 8 - ld de, wBGPals1 -.loop - push bc - ld hl, .Palette1 - ld bc, 1 palettes - call CopyBytes - pop bc - dec c - jr nz, .loop - - ld hl, .Palette2 - ld de, wBGPals1 + 2 palettes - ld bc, 1 palettes - call CopyBytes - - pop af - ldh [rSVBK], a - - call SetPalettes - farcall PrintMail - call Mobile22_SetBGMapMode1 - ld c, 24 - call DelayFrames - call RestartMapMusic - ret - -.Palette1: - RGB 31, 31, 31 - RGB 19, 19, 19 - RGB 15, 15, 15 - RGB 00, 00, 00 - -.Palette2: - RGB 31, 31, 31 - RGB 19, 19, 19 - RGB 19, 19, 19 - RGB 00, 00, 00 - -Function89d5e: - push af - call CopyMenuHeader - pop af - ld [wMenuCursorPosition], a - call Mobile22_SetBGMapMode0 - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] - ret - -Function89d75: - push hl - call Mobile22_SetBGMapMode0 - call _hl_ - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - pop hl - jr asm_89d90 - -Function89d85: - push hl - call Mobile22_SetBGMapMode0 - call _hl_ - call CGBOnly_CopyTilemapAtOnce - pop hl - -asm_89d90: - call Mobile22_SetBGMapMode0 - push hl - call _hl_ - call Function89dab - ld a, [wMenuCursorY] - push af - call Function891ab - pop af - pop hl - jr c, .asm_89da9 - jr z, asm_89d90 - scf - ret -.asm_89da9 - and a - ret - -Function89dab: - call Mobile22_SetBGMapMode0 - farcall MobileMenuJoypad - call Mobile22_SetBGMapMode0 - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - bit A_BUTTON_F, a - jr nz, .asm_89dc7 - bit B_BUTTON_F, a - jr nz, .asm_89dd9 - xor a - ret -.asm_89dc7 - call PlayClickSFX - ld a, [w2DMenuNumRows] - ld c, a - ld a, [wMenuCursorY] - cp c - jr z, .asm_89dd9 - call PlaceHollowCursor - scf - ret -.asm_89dd9 - call PlayClickSFX - ld a, $1 - and a - ret - -Function89de0: - call ClearSprites - call Function89e0a - jr c, .asm_89e00 - ld c, $1 -.asm_89dea - call Function8a31c - jr z, .asm_89dfd - ld a, [wMenuCursorY] - ld c, a - push bc - ld hl, Jumptable_89e04 - ld a, e - dec a - rst JumpTable - pop bc - jr .asm_89dea -.asm_89dfd - call Function891fe -.asm_89e00 - call Function8917a - ret - -Jumptable_89e04: - dw Function8a62c - dw Function8a999 - dw Function8ab93 - -Function89e0a: - call OpenSRAMBank4 - call Function8b3b0 - call CloseSRAM - ld hl, Jumptable_89e18 - rst JumpTable - ret - -Jumptable_89e18: - dw Function89e1e - dw Function8a116 - dw Function8a2aa - -Function89e1e: - call OpenSRAMBank4 - ld bc, $a037 - call Function8b36c - call CloseSRAM - xor a - ld [wd02d], a - -asm_89e2e: - ld a, [wd02d] - ld hl, Jumptable_89e3c - rst JumpTable - ret - -Function89e36: - ld hl, wd02d - inc [hl] - jr asm_89e2e - -Jumptable_89e3c: - dw Function89e6f - dw Function89fed - dw Function89ff6 - dw Function8a03d - dw Function89eb9 - dw Function89efd - dw Function89fce - dw Function8a04c - dw Function8a055 - dw Function8a0e6 - dw Function8a0ec - dw Function8a0f5 - dw Function89e58 - dw Function89e68 - -Function89e58: - ld a, $1 - call Function8a2fe - call Function891fe - call Function893e2 - call Function89168 - and a - ret - -Function89e68: - call Function891fe - ld a, $1 - scf - ret - -Function89e6f: - call Function891de - call Function89245 - call Function89ee1 - call Function89e9a - hlcoord 7, 4 - call Function8a58d - ld a, $5 - hlcoord 7, 4, wAttrmap - call Function8a5a3 - ld a, $6 - hlcoord 10, 4, wAttrmap - call Function8a5a3 - call Function891ab - call SetPalettes - jp Function89e36 - -Function89e9a: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, Palette_89eb1 - ld de, wBGPals1 palette 5 - ld bc, 1 palettes - call CopyBytes - pop af - ldh [rSVBK], a - ret - -Palette_89eb1: - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 27, 19, 00 - RGB 00, 00, 00 - -Function89eb9: - call Function891fe - call Function89ee1 - call Function89e9a - hlcoord 7, 4 - call Function8a58d - ld a, $5 - hlcoord 7, 4, wAttrmap - call Function8a5a3 - ld a, $6 - hlcoord 10, 4, wAttrmap - call Function8a5a3 - call Function891ab - call SetPalettes - jp Function89e36 - -Function89ee1: - call ClearBGPalettes - call Function893e2 - call Mobile22_SetBGMapMode0 - farcall Function4a3a7 - farcall MG_Mobile_Layout_CreatePalBoxes - hlcoord 1, 0 - call Function8a53d - ret - -Function89efd: - ld hl, wd012 - ld a, $ff - ld [hli], a - xor a -rept 4 - ld [hli], a -endr - ld [hl], a -.asm_89f09 - ld hl, wd012 - inc [hl] - ld a, [hli] - and $3 - jr nz, .asm_89f2e - ld a, [hl] - cp $4 - jr nc, .asm_89f2e - ld b, $32 - inc [hl] - ld a, [hl] - dec a - jr z, .asm_89f26 - ld c, a -.asm_89f1f - ld a, $b - add b - ld b, a - dec c - jr nz, .asm_89f1f -.asm_89f26 - ld c, $e8 - ld a, [wd013] - call Function89fa5 -.asm_89f2e - ld a, [wd013] - and a - jr z, .asm_89f58 -.asm_89f34 - call Function89f6a - ld e, a - ld a, c - cp $a8 - jr nc, .asm_89f4d - cp $46 - jr c, .asm_89f4d - ld d, $0 - dec e - ld hl, wd014 - add hl, de - set 0, [hl] - inc e - jr .asm_89f51 -.asm_89f4d - ld a, $2 - add c - ld c, a -.asm_89f51 - ld a, e - call Function89f77 - dec a - jr nz, .asm_89f34 -.asm_89f58 - call DelayFrame - ld hl, wd014 - ld c, $4 -.asm_89f60 - ld a, [hli] - and a - jr z, .asm_89f09 - dec c - jr nz, .asm_89f60 - jp Function89e36 - -Function89f6a: - push af - ld de, $10 - call Function89f9a - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - pop af - ret - -Function89f77: - push af - ld de, $10 - call Function89f9a - ld d, $2 -.asm_89f80 - push bc - ld e, $2 -.asm_89f83 - ld a, b - ld [hli], a - ld a, c - ld [hli], a - inc hl - inc hl - ld a, $8 - add c - ld c, a - dec e - jr nz, .asm_89f83 - pop bc - ld a, $8 - add b - ld b, a - dec d - jr nz, .asm_89f80 - pop af - ret - -Function89f9a: - dec a - ld hl, wShadowOAM - and a - ret z -.asm_89fa0 - add hl, de - dec a - jr nz, .asm_89fa0 - ret - -Function89fa5: - ld de, $10 - call Function89f9a - ld e, $2 - ld d, $a -.asm_89faf - push bc - ld a, $2 -.asm_89fb2 - push af - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, d - inc d - ld [hli], a - ld a, $1 - ld [hli], a - ld a, $8 - add c - ld c, a - pop af - dec a - jr nz, .asm_89fb2 - pop bc - ld a, $8 - add b - ld b, a - dec e - jr nz, .asm_89faf - ret - -Function89fce: - call Function8a5b6 - ld a, $5 - hlcoord 7, 4, wAttrmap - call Function8a5a3 - ld a, $6 - hlcoord 10, 4, wAttrmap - call Function8a5a3 - call Function89448 - call SetPalettes - call Function891ab - jp Function89e36 - -Function89fed: - ld hl, MobileCardFolderIntro1Text - call PrintText - jp Function89e36 - -Function89ff6: - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca - call OpenSRAMBank4 - ld hl, $a603 - ld a, -1 - ld bc, 8 - call ByteFill - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function8987f - call OpenSRAMBank4 - hlcoord 1, 13 - ld bc, $a007 - call Function89a0c - call CloseSRAM - call Function891ab - call Mobile22_PromptButton - jp Function89e36 - -Function8a03d: - ld hl, MobileCardFolderIntro2Text - call Mobile_EnableSpriteUpdates - call PrintText - call Mobile_DisableSpriteUpdates - jp Function89e36 - -Function8a04c: - ld hl, MobileCardFolderIntro3Text - call PrintText - jp Function89e36 - -Function8a055: - ld c, $7 - ld b, $4 -.asm_8a059 - call Function8a0a1 - inc c - call Function8a0c9 - push bc - call Function8a58d - pop bc - call Function8a0de - push bc - push hl - ld a, $5 - call Function8a5a3 - pop hl - inc hl - inc hl - inc hl - ld a, $6 - call Function8a5a3 - call CGBOnly_CopyTilemapAtOnce - pop bc - ld a, c - cp $b - jr nz, .asm_8a059 - call Function8a0a1 - hlcoord 12, 4 - call Function8a58d - ld a, $5 - hlcoord 12, 4, wAttrmap - call Function8a5a3 - pop hl - ld a, $6 - hlcoord 15, 4, wAttrmap - call Function8a5a3 - call CGBOnly_CopyTilemapAtOnce - jp Function89e36 - -Function8a0a1: - call Mobile22_SetBGMapMode0 - push bc - call Function8a0c9 - ld e, $6 -.asm_8a0aa - push hl - ld bc, $6 - add hl, bc - ld d, [hl] - call Function8a0c1 - pop hl - ld [hl], d - call Function89215 - ld bc, $14 - add hl, bc - dec e - jr nz, .asm_8a0aa - pop bc - ret - -Function8a0c1: - push hl - ld bc, wAttrmap - wTilemap - add hl, bc - ld a, [hl] - pop hl - ret - -Function8a0c9: - push bc - hlcoord 0, 0 - ld de, $14 - ld a, b - and a - jr z, .asm_8a0d8 -.asm_8a0d4 - add hl, de - dec b - jr nz, .asm_8a0d4 -.asm_8a0d8 - ld d, $0 - ld e, c - add hl, de - pop bc - ret - -Function8a0de: - call Function8a0c9 - ld de, wAttrmap - wTilemap - add hl, de - ret - -Function8a0e6: - call Function8b539 - jp Function89e36 - -Function8a0ec: - ld hl, MobileCardFolderIntro4Text - call PrintText - jp Function89e36 - -Function8a0f5: - call Function8b555 - jp nc, Function8a0ff - ld hl, wd02d - inc [hl] - -Function8a0ff: - jp Function89e36 - -MobileCardFolderIntro1Text: - text_far _MobileCardFolderIntro1Text - text_end - -MobileCardFolderIntro2Text: - text_far _MobileCardFolderIntro2Text - text_end - -MobileCardFolderIntro3Text: - text_far _MobileCardFolderIntro3Text - text_end - -MobileCardFolderIntro4Text: - text_far _MobileCardFolderIntro4Text - text_end - -Function8a116: - ld a, $1 - ld [wd030], a - ld hl, MenuHeader_0x8a176 - call LoadMenuHeader -.asm_8a121 - call Mobile22_SetBGMapMode0 - call Function8a17b - jr c, .asm_8a16b - ld a, [wMenuCursorY] - ld [wd030], a - dec d - jr z, .asm_8a140 - call Function8a20d - jr c, .asm_8a121 - xor a - call Function8a2fe - call Function8916e - jr .asm_8a16b -.asm_8a140 - call Function89174 - jr nz, .asm_8a14c - call Function8a241 - jr c, .asm_8a121 - jr .asm_8a15a -.asm_8a14c - call WaitSFX - ld de, SFX_TWINKLE - call PlaySFX - ld c, $10 - call DelayFrames -.asm_8a15a - call ExitMenu - call Function891de - call Function893e2 - call Function89245 - call Function89168 - and a - ret -.asm_8a16b - call Mobile_EnableSpriteUpdates - call CloseWindow - call Mobile_DisableSpriteUpdates - scf - ret - -MenuHeader_0x8a176: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 0, SCREEN_WIDTH - 1, 6 - -Function8a17b: - decoord 14, 0 - ld b, $5 - ld c, $4 - call Function89b3b - ld hl, MenuHeader_0x8a19a - ld a, [wd030] - call Function89d5e - ld hl, Function8a1b0 - call Function89d75 - jr nc, .asm_8a198 - ld a, $0 -.asm_8a198 - ld d, a - ret - -MenuHeader_0x8a19a: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 0, SCREEN_WIDTH - 1, 6 - dw MenuData_0x8a1a2 - db 1 ; default option - -MenuData_0x8a1a2: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags - db 3 ; items - db "ひらく@" - db "すてる@" - db "もどる@" - -Function8a1b0: - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - hlcoord 1, 14 - ld a, [wMenuCursorY] - ld de, Strings_8a1cc - dec a - ld c, a - call Function8919e - call PlaceString - ret - -Strings_8a1cc: - db "めいしせいりと へんしゅうを" - next "おこないます" - db "@" - - db "めいしフォルダーめいしと" - next "あんしょうばんごうけします" - db "@" - - db "まえがめんもどります" - db "@" - -Function8a20d: - ld hl, MobileCardFolderAskDeleteText - call PrintText - ld a, $2 - call Function89259 - ret c - ld hl, MobileCardFolderDeleteAreYouSureText - call PrintText - ld a, $2 - call Function89259 - ret c - xor a - call Function8a2fe - ld hl, MobileCardFolderDeletedText - call PrintText - xor a - and a - ret - -MobileCardFolderAskDeleteText: - text_far _MobileCardFolderAskDeleteText - text_end - -MobileCardFolderDeleteAreYouSureText: - text_far _MobileCardFolderDeleteAreYouSureText - text_end - -MobileCardFolderDeletedText: - text_far _MobileCardFolderDeletedText - text_end - -Function8a241: - call LoadStandardMenuHeader - call Function891fe - call Function8a262 - jr nc, .asm_8a254 - call Function891fe - call Function89b28 - scf - ret -.asm_8a254 - call Function891de - call ClearBGPalettes - call Call_ExitMenu - call Function891de - and a - ret - -Function8a262: - call ClearBGPalettes - call Function893e2 - call Mobile22_SetBGMapMode0 - farcall Function4a3a7 - farcall MG_Mobile_Layout_CreatePalBoxes - hlcoord 1, 0 - call Function8a53d - hlcoord 12, 4 - call Function8a58d - ld a, $5 - hlcoord 12, 4, wAttrmap - call Function8a5a3 - ld a, $6 - hlcoord 15, 4, wAttrmap - call Function8a5a3 - xor a - ld [wd02e], a - ld bc, wd013 - call Function8b36c - call Function8b493 - call Function891ab - call SetPalettes - call Function8b5e7 - ret - -Function8a2aa: - ld hl, MenuHeader_0x8a2ef - call LoadMenuHeader - ld hl, MobileCardFolderAskOpenOldText - call PrintText - ld a, $1 - call Function89259 - jr nc, .asm_8a2cf - ld hl, MobileCardFolderAskDeleteOldText - call PrintText - ld a, $2 - call Function89259 - jr c, .asm_8a2ea - call Function8a20d - jr .asm_8a2ea -.asm_8a2cf - call ExitMenu - call Function8a241 - jr c, .asm_8a2ed - ld a, $1 - call Function8a313 - call CloseSRAM - call Function891de - call Function89245 - call Function89168 - and a - ret -.asm_8a2ea - call CloseWindow -.asm_8a2ed - scf - ret - -MenuHeader_0x8a2ef: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - -MobileCardFolderAskOpenOldText: - text_far _MobileCardFolderAskOpenOldText - text_end - -MobileCardFolderAskDeleteOldText: - text_far _MobileCardFolderAskDeleteOldText - text_end - -Function8a2fe: - call Function8a313 - call Function89305 - ld hl, $a603 - ld bc, $8 - ld a, -1 - call ByteFill - call CloseSRAM - ret - -Function8a313: - ld c, a - call OpenSRAMBank4 - ld a, c - ld [$a60b], a - ret - -Function8a31c: - push bc - call Mobile22_SetBGMapMode0 - farcall Function4a3a7 - farcall MG_Mobile_Layout_CreatePalBoxes - hlcoord 1, 0 - call Function8a53d - hlcoord 12, 4 - call Function8a58d - call Function8a3b2 - pop bc - ld a, c - ld [wMenuCursorPosition], a - ld [wMenuSelection], a - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] -.asm_8a34e - call Function8a3a2 - call Mobile22_SetBGMapMode0 - call Function8a453 - call Function8a4d3 - call Function8a4fc - call Function891ab - call SetPalettes - call Function8a383 - jr c, .asm_8a370 - jr z, .asm_8a34e -.asm_8a36a - call Function89448 - xor a - ld e, a - ret -.asm_8a370 - call Function89448 - call PlaceHollowCursor - call Function8a3a2 - ld a, [wMenuSelection] - cp $ff - jr z, .asm_8a36a - ld e, a - and a - ret - -Function8a383: - farcall MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - bit A_BUTTON_F, a - jr nz, .asm_8a399 - bit B_BUTTON_F, a - jr nz, .asm_8a39e - xor a - ret -.asm_8a399 - call PlayClickSFX - scf - ret -.asm_8a39e - call PlayClickSFX - ret - -Function8a3a2: - ld a, [wMenuCursorY] - dec a - ld hl, wd002 - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - ld [wMenuSelection], a - ret - -Function8a3b2: - ld a, $1 - ld [wMenuSelection], a - call Function8a4fc - call Function8a3df - jr nc, .asm_8a3ce - decoord 0, 2 - ld b, $6 - ld c, $9 - call Function89b3b - ld hl, MenuHeader_0x8a435 - jr .asm_8a3db -.asm_8a3ce - decoord 0, 2 - ld b, $8 - ld c, $9 - call Function89b3b - ld hl, MenuHeader_0x8a40f -.asm_8a3db - call CopyMenuHeader - ret - -Function8a3df: - call OpenSRAMBank4 - ld hl, $a603 - call Function89b45 - call CloseSRAM - ld hl, wd002 - jr c, .asm_8a3f8 - ld de, Unknown_8a408 - call Function8a400 - scf - ret -.asm_8a3f8 - ld de, Unknown_8a40b - call Function8a400 - and a - ret - -Function8a400: - ld a, [de] - inc de - ld [hli], a - cp $ff - jr nz, Function8a400 - ret - -Unknown_8a408: db 1, 2, -1 -Unknown_8a40b: db 1, 2, 3, -1 - -MenuHeader_0x8a40f: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 2, 10, TEXTBOX_Y - 1 - dw MenuData_0x8a417 - db 1 ; default option - -MenuData_0x8a417: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 4 ; items - db "めいしりスト@" - db "じぶんの めいし@" - db "めいしこうかん@" - db "やめる@" - -MenuHeader_0x8a435: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 2, 10, 9 - dw MenuData_0x8a43d - db 1 ; default option - -MenuData_0x8a43d: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 3 ; items - db "めいしりスト@" - db "じぶんの めいし@" - db "やめる@" - -Function8a453: - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - hlcoord 1, 14 - ld de, String_8a476 - ld a, [wMenuSelection] - cp $ff - jr z, .asm_8a472 - ld de, Strings_8a483 - dec a - ld c, a - call Function8919e -.asm_8a472 - call PlaceString - ret - -String_8a476: - db "まえがめんもどります@" - -Strings_8a483: - db "おともだちめいしは" - next "ここいれておきます@" - - db "でんわばんごういれると" - next "めいしこうかんできます@" - - db "ともだちと じぶんめいしを" - next "せきがいせんで こうかん します@" - -Function8a4d3: - ld a, [wMenuSelection] - cp $1 - jr nz, .asm_8a4eb - ld a, $5 - hlcoord 12, 4, wAttrmap - call Function8a5a3 - ld a, $7 - hlcoord 15, 4, wAttrmap - call Function8a5a3 - ret -.asm_8a4eb - ld a, $7 - hlcoord 12, 4, wAttrmap - call Function8a5a3 - ld a, $6 - hlcoord 15, 4, wAttrmap - call Function8a5a3 - ret - -Function8a4fc: - ld a, [wMenuSelection] - cp $3 - jr nz, asm_8a529 - ld hl, wd012 - ld a, [hli] - ld b, a - ld a, [hld] - add b - ld [hl], a - ld b, a - ld c, $80 - call Function89cdf - call Function8a515 - ret - -Function8a515: - ld hl, wd012 - ld a, [hl] - cp $38 - jr c, .asm_8a520 - cp $3c - ret c -.asm_8a520 - ld a, [wd013] - cpl - inc a - ld [wd013], a - ret - -asm_8a529: - ld hl, wd012 - ld a, $3c - ld [hli], a - ld a, $ff - ld [hli], a - ld hl, wShadowOAM - xor a - ld bc, 8 * SPRITEOAMSTRUCT_LENGTH - call ByteFill - ret - -Function8a53d: - push hl - ld a, $15 - ld c, $8 - ld de, $14 - call Function8a573 - ld a, $1d - ld c, $9 - call Function8a57c - inc a - ld [hl], a - call Function8a584 - pop hl - add hl, de - ld a, $1f - ld c, $8 - call Function8a573 - dec hl - ld a, $51 - ld [hli], a - ld a, $26 - ld c, $1 - call Function8a57c - ld a, $52 - ld c, $3 - call Function8a573 - ld a, $27 - ld c, $6 - -Function8a573: - ld [hl], a - call Function8a584 - inc a - dec c - jr nz, Function8a573 - ret - -Function8a57c: - ld [hl], a - call Function8a584 - dec c - jr nz, Function8a57c - ret - -Function8a584: - push af - ld a, $4 - call Function89215 - inc hl - pop af - ret - -Function8a58d: - ld a, $2d - ld bc, $606 - ld de, $14 -.asm_8a595 - push bc - push hl -.asm_8a597 - ld [hli], a - inc a - dec c - jr nz, .asm_8a597 - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_8a595 - ret - -Function8a5a3: - ld bc, $603 - ld de, $14 -.asm_8a5a9 - push bc - push hl -.asm_8a5ab - ld [hli], a - dec c - jr nz, .asm_8a5ab - pop hl - add hl, de - pop bc - dec b - jr nz, .asm_8a5a9 - ret - -Function8a5b6: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, Palette_8a5e5 - ld de, wBGPals1 + 4 palettes - ld bc, 3 palettes - call CopyBytes - ld hl, Palette_8a5fd - ld de, wOBPals1 - ld bc, 1 palettes - call CopyBytes - ld hl, Palette_8a605 - ld de, wOBPals1 + 1 palettes - ld bc, 1 palettes - call CopyBytes - pop af - ldh [rSVBK], a - ret - -Palette_8a5e5: - RGB 31, 31, 31 - RGB 27, 19, 00 - RGB 07, 11, 22 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 16, 16, 31 - RGB 27, 19, 00 - RGB 00, 00, 00 - - RGB 31, 31, 31 - RGB 31, 00, 00 - RGB 27, 19, 00 - RGB 00, 00, 00 - -Palette_8a5fd: - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 00, 00, 00 - RGB 31, 31, 31 - -Palette_8a605: - RGB 00, 00, 00 - RGB 14, 18, 31 - RGB 16, 16, 31 - RGB 31, 31, 31 - -Function8a60d: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, Palette_8a624 - ld de, wOBPals1 - ld bc, 1 palettes - call CopyBytes - pop af - ldh [rSVBK], a - ret - -Palette_8a624: - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 00, 00, 00 - -Function8a62c: - call LoadStandardMenuHeader - call Function891fe - xor a - call Function8b94a - call Function8b677 -.asm_8a639 - xor a - ld [wd033], a - ld [wd032], a - ld [wd0e3], a - call Function8b7bd - ld a, c - and a - jr z, .asm_8a66a - ld [wMenuSelection], a - ld b, a - ld a, [wScrollingMenuCursorPosition] - inc a - ld [wd034], a - push bc - call Function8b960 - ld a, c - pop bc - jr z, .asm_8a639 - ld c, a - ld hl, Jumptable_8a671 - ld a, b - ld [wMenuSelection], a - ld a, c - dec a - rst JumpTable - jr .asm_8a639 -.asm_8a66a - call Function891fe - call Function89b28 - ret - -Jumptable_8a671: - dw Function8a679 - dw Function8a6cd - dw Function8a8c3 - dw Function8a930 - -Function8a679: - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call CloseSRAM - call OpenSRAMBank4 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call Function891ab - call CloseSRAM -.asm_8a6a3 - call Function89a57 - jr c, .asm_8a6a3 - and a - jr z, Function8a679 - ld hl, Jumptable_8a6bc - dec a - rst JumpTable - jr c, Function8a679 - call Function891fe - call Function8b677 - call Function89448 - ret - -Jumptable_8a6bc: - dw Function8a6c0 - dw Function8a6c5 - -Function8a6c0: - call PlayClickSFX - and a - ret - -Function8a6c5: - call PlayClickSFX - call Function89d0d - scf - ret - -Function8a6cd: - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call Function8a757 - call CloseSRAM -.asm_8a6e5 - call OpenSRAMBank4 - call Function8931b - call Function89856 - call Function89a2e - call Function891ab - xor a - ld [wd02f], a - call CloseSRAM -.asm_8a6fb - call Function89b97 - call Function89c67 - jr c, .asm_8a718 - ld a, b - and a - jr z, .asm_8a6fb - call PlayClickSFX - call Function89448 - ld a, [wd011] - ld hl, Jumptable_8a74f - rst JumpTable - jr nc, .asm_8a6e5 - jr .asm_8a742 -.asm_8a718 - call OpenSRAMBank4 - call Function8a765 - call CloseSRAM - jr nc, .asm_8a73f - call Mobile22_SetBGMapMode0 - call Function89448 - call Function89a23 - hlcoord 1, 13 - ld de, String_89135 - call PlaceString - call WaitBGMap - ld a, $2 - call Function89254 - jr c, .asm_8a6e5 -.asm_8a73f - call CloseSRAM -.asm_8a742 - call ClearBGPalettes - call Function89448 - call Function891d3 - call Function8b677 - ret - -Jumptable_8a74f: - dw Function8a78c - dw Function8a7cb - dw Function8a818 - dw Function8a8a1 - -Function8a757: - call Function8939a - xor a - ld [wd010], a - ld [wd011], a - ld [wd012], a - ret - -Function8a765: - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld de, wd002 - ld c, $6 - call Function89185 - pop bc - jr nz, .asm_8a78a - push bc - ld hl, $11 - add hl, bc - ld de, wd008 - ld c, $8 - call Function89185 - pop bc - jr nz, .asm_8a78a - and a - ret -.asm_8a78a - scf - ret - -Function8a78c: - call Function891fe - ld de, wd002 - ld b, NAME_FRIEND - farcall NamingScreen - call OpenSRAMBank4 - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld d, h - ld e, l - ld hl, wd002 - call InitName - call CloseSRAM - call DelayFrame - call JoyTextDelay - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - pop bc - call Function89844 - call CloseSRAM - and a - ret - -Function8a7cb: - ld a, [wMenuSelection] - push af - call Function891de - ld de, wd008 - ld c, $0 - farcall Function17a68f - jr c, .asm_8a7f4 - ld hl, wd008 - ld a, $ff - ld bc, $8 - call ByteFill - ld h, d - ld l, e - ld de, wd008 - ld c, $8 - call Function89193 -.asm_8a7f4 - pop af - ld [wMenuSelection], a - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call Function89856 - call Function89a2e - call Function891ab - call CloseSRAM - and a - ret - -Function8a818: - call Function89a23 - ld hl, wd002 - call Function89331 - jr c, .asm_8a875 - ld hl, wd008 - call Function89b45 - jr nc, .asm_8a87a - call OpenSRAMBank4 - call Function8a765 - jr nc, .asm_8a863 - call Function8931b - push bc - ld hl, $0 - add hl, bc - ld d, h - ld e, l - ld hl, wd002 - ld c, $6 - call Function89193 - pop bc - ld hl, $11 - add hl, bc - ld d, h - ld e, l - ld hl, wd008 - ld c, $8 - call Function89193 - hlcoord 1, 13 - ld de, .string_8a868 - call PlaceString - call WaitBGMap - call JoyWaitAorB -.asm_8a863 - call CloseSRAM - scf - ret - -.string_8a868 - db "めいしかきかえ まし@" - -.asm_8a875 - ld de, String_8a88b - jr .asm_8a87d -.asm_8a87a - ld de, String_8911c -.asm_8a87d - hlcoord 1, 13 - call PlaceString - call WaitBGMap - call JoyWaitAorB - and a - ret - -String_8a88b: - db "おともだちなまえが" - next "かかれて いません!@" - -Function8a8a1: - call OpenSRAMBank4 - call Function8a765 - call CloseSRAM - jr nc, .asm_8a8bf - call Function89a23 - hlcoord 1, 13 - ld de, String_89135 - call PlaceString - ld a, $2 - call Function89254 - jr c, .asm_8a8c1 -.asm_8a8bf - scf - ret -.asm_8a8c1 - and a - ret - -Function8a8c3: - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call Function8939a - call Function89856 - call CloseSRAM - call Function891ab - hlcoord 1, 13 - ld de, String_8a919 - call PlaceString - ld a, $2 - call Function89254 - jr c, .asm_8a90f - call OpenSRAMBank4 - call Function892b4 - call CloseSRAM - call Function89a23 - call Mobile22_SetBGMapMode0 - hlcoord 1, 13 - ld de, String_8a926 - call PlaceString - call WaitBGMap - call JoyWaitAorB -.asm_8a90f - call Function89448 - call Function891fe - call Function8b677 - ret - -String_8a919: - db "このデータけしますか?@" - -String_8a926: - db "データけしまし@" - -Function8a930: - ld a, [wMenuSelection] - push af - xor a - ld [wd032], a - ld a, $1 - ld [wd033], a - ld a, [wd034] - ld [wd0e3], a -.asm_8a943 - call Function8b7bd - ld a, [wMenuJoypad] - and A_BUTTON - jr nz, .asm_8a953 - ld a, c - and a - jr nz, .asm_8a943 - pop af - ret -.asm_8a953 - call OpenSRAMBank4 - pop af - cp c - jr z, .asm_8a995 - push bc - ld [wMenuSelection], a - call Function8931b - push bc - ld h, b - ld l, c - ld de, wd002 - ld bc, $25 - call CopyBytes - pop de - pop bc - ld a, c - ld [wMenuSelection], a - call Function8931b - push bc - ld h, b - ld l, c - ld bc, $25 - call CopyBytes - pop de - ld hl, wd002 - ld bc, $25 - call CopyBytes - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX - ld de, SFX_SWITCH_POKEMON - call WaitPlaySFX -.asm_8a995 - call CloseSRAM - ret - -Function8a999: - ld hl, MenuHeader_0x8a9c9 - call LoadMenuHeader - ld c, $1 -.asm_8a9a1 - call Function8a9ce - jr c, .asm_8a9bb - push bc - push de - call LoadStandardMenuHeader - pop de - dec e - ld a, e - ld hl, Jumptable_8a9c5 - rst JumpTable - call Function891fe - call Function89b28 - pop bc - jr .asm_8a9a1 -.asm_8a9bb - call Mobile_EnableSpriteUpdates - call CloseWindow - call Mobile_DisableSpriteUpdates - ret - -Jumptable_8a9c5: - dw Function8aa0a - dw Function8ab3b - -MenuHeader_0x8a9c9: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 4, 18, TEXTBOX_Y - 1 - -Function8a9ce: - push bc - decoord 11, 4 - ld b, $6 - ld c, $6 - call Function89b3b - pop bc - ld a, c - ld hl, MenuHeader_0x8a9f2 - call Function89d5e - ld hl, Function8aa09 - call Function89d85 - jr c, .asm_8a9ed - ld c, a - ld e, a - and a - ret -.asm_8a9ed - ld c, a - ld e, $0 - scf - ret - -MenuHeader_0x8a9f2: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 4, 18, TEXTBOX_Y - 1 - dw MenuData_0x8a9fa - db 1 ; default option - -MenuData_0x8a9fa: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 3 ; items - db "へんしゅう@" - db "みる@" - db "やめる@" - -Function8aa09: - ret - -Function8aa0a: - ld a, $1 - ld [wd02f], a - ld [wd011], a - xor a - ld [wd010], a - ld [wd012], a - call OpenSRAMBank4 - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca -.asm_8aa3a - call Function8987f - call Function89a2e - call Function891ab -.asm_8aa43 - call Function89b97 - call Function89c67 - jr c, .asm_8aa61 - ld a, b - and a - jr z, .asm_8aa43 - call PlayClickSFX - call Function89448 - ld a, [wd011] - dec a - ld hl, Jumptable_8aa6d - rst JumpTable - jr nc, .asm_8aa3a - jr .asm_8aa69 -.asm_8aa61 - call Function89448 - call Function8ab11 - jr nc, .asm_8aa3a -.asm_8aa69 - call Function89448 - ret - -Jumptable_8aa6d: - dw Function8aa73 - dw Function8aab6 - dw Function8ab11 - -Function8aa73: - ld a, [wMenuSelection] - ld e, a - push de - call Function891de - ld de, wd008 - ld c, $0 - farcall Function17a68f - jr c, .asm_8aa9d - ld hl, wd008 - ld a, $ff - ld bc, $8 - call ByteFill - ld h, d - ld l, e - ld de, wd008 - ld c, $8 - call Function89193 -.asm_8aa9d - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca - pop de - ld a, e - ld [wMenuSelection], a - and a - ret - -Function8aab6: - call Function89a23 - ld hl, wd008 - call Function89b45 - jr nc, Function8ab00 - call OpenSRAMBank4 - ld de, wd008 - ld hl, $a603 - ld c, $8 - call Function89185 - jr z, .asm_8aaeb - ld hl, wd008 - ld de, $a603 - ld c, $8 - call Function89193 - hlcoord 1, 13 - ld de, String_8aaf0 - call PlaceString - call WaitBGMap - call JoyWaitAorB -.asm_8aaeb - call CloseSRAM - scf - ret - -String_8aaf0: - db "あたらしい めいしできまし@" - -Function8ab00: - ld de, String_8911c - hlcoord 1, 13 - call PlaceString - call WaitBGMap - call Mobile22_PromptButton - and a - ret - -Function8ab11: - call OpenSRAMBank4 - ld hl, $a603 - ld de, wd008 - ld c, $8 - call Function89185 - call CloseSRAM - jr z, .asm_8ab37 - call Function89a23 - hlcoord 1, 13 - ld de, String_89135 - call PlaceString - ld a, $2 - call Function89254 - jr c, .asm_8ab39 -.asm_8ab37 - scf - ret -.asm_8ab39 - and a - ret - -Function8ab3b: -.pressed_start - call Function891fe - call ClearBGPalettes - call Function893cc - call Function89807 - call Function89492 - call Function894ca - call OpenSRAMBank4 - ld hl, $a603 - ld de, wd008 - call Function89381 - call CloseSRAM - call Function8987f - call OpenSRAMBank4 - hlcoord 1, 13 - ld bc, $a007 - call Function89a0c - call CloseSRAM - call Function891ab - call .JoypadLoop - jr c, .pressed_start - ret - -.JoypadLoop: - call JoyTextDelay_ForcehJoyDown - bit A_BUTTON_F, c - jr nz, .a_b_button - bit B_BUTTON_F, c - jr nz, .a_b_button - bit START_F, c - jr z, .JoypadLoop - call PlayClickSFX - call Function89d0d - scf - ret - -.a_b_button - call PlayClickSFX - and a - ret - -Function8ab93: - call ClearBGPalettes - call LoadStandardMenuHeader - farcall DoNameCardSwap - call ClearSprites - call Function891fe - call Function89b28 - ret - -Function8aba9: - ld a, $2 - call Function8b94a - ld a, $1 - ld [wd032], a -.asm_8abb3 - call Function891fe - call Function8b677 -.asm_8abb9 - call Function8b7bd - jr z, .asm_8abdf - ld a, c - ld [wMenuSelection], a - call OpenSRAMBank4 - call Function8931b - ld hl, $0011 - add hl, bc - call Function89b45 - call CloseSRAM - jr c, .asm_8abe2 - ld de, SFX_WRONG - call WaitPlaySFX - call CloseSRAM - jr .asm_8abb9 - -.asm_8abdf - xor a - ld c, a - ret - -.asm_8abe2 - call PlayClickSFX -.asm_8abe5 - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - call Function89844 - call CloseSRAM - call OpenSRAMBank4 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call CloseSRAM - call Function891ab -.asm_8ac0f - call Function89a57 - jr c, .asm_8ac0f - and a - jr z, .asm_8abe5 - cp $2 - jr z, .asm_8ac0f - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - hlcoord 1, 14 - ld de, String_8ac3b - call PlaceString - ld a, $1 - call Function8925e - jp c, .asm_8abb3 - ld a, [wMenuSelection] - ld c, a - ret - -String_8ac3b: - db "こともだちでんわを" - next "かけますか?@" - -Function8ac4e: - xor a - ld [wMenuSelection], a - push de - call Function891de - call ClearBGPalettes - call Function893cc - pop bc - call Function89844 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call Function891ab - ret - -Function8ac70: - push de - ld a, $3 - call Function8b94a - -Function8ac76: - call Function891fe - call Function8b677 - -Function8ac7c: - call Function8b7bd - jr z, .asm_8acf0 - ld a, c - ld [wd02f], a - ld [wMenuSelection], a - call OpenSRAMBank4 - call Function8931b - call Function8932d - call CloseSRAM - jr nc, .asm_8acb0 - call OpenSRAMBank4 - ld hl, $0011 - add hl, bc - call Function89b45 - call CloseSRAM - jr nc, .asm_8accc - call OpenSRAMBank4 - call Function892b7 - call CloseSRAM - jr .asm_8accc - -.asm_8acb0 - call Function8ad0b - jr c, Function8ac76 - and a - jr nz, .asm_8accc - call OpenSRAMBank4 - ld h, b - ld l, c - ld d, $0 - ld e, $6 - add hl, de - ld d, h - ld e, l - pop hl - ld c, $1f - call Function89193 - jr .asm_8ace4 - -.asm_8accc - pop hl - call OpenSRAMBank4 - ld d, b - ld e, c - ld c, $6 - call Function89193 - ld a, $6 - add e - ld e, a - ld a, $0 - adc d - ld d, a - ld c, $1f - call Function89193 - -.asm_8ace4 - call CloseSRAM - call LoadStandardFont - ld a, [wd02f] - ld c, a - and a - ret - -.asm_8acf0 - ld hl, MobileCardFolderFinishRegisteringCardsText - call PrintText - ld a, $2 - call Function89259 - jp c, Function8ac7c - call LoadStandardFont - pop de - ld c, $0 - scf - ret - -MobileCardFolderFinishRegisteringCardsText: - text_far _MobileCardFolderFinishRegisteringCardsText - text_end - -Function8ad0b: -.asm_8ad0b - ld a, [wMenuSelection] - ld [wd02f], a - call Function891de - call ClearBGPalettes - call Function893cc - call OpenSRAMBank4 - call Function8931b - push bc - call Function89844 - call Function8939a - call Function89856 - hlcoord 1, 13 - call Function899fe - call CloseSRAM - call Function891ab - pop bc -.asm_8ad37 - push bc - call Function89a57 - pop bc - jr c, .asm_8ad37 - and a - jr z, .asm_8ad0b - cp $2 - jr z, .asm_8ad37 - call Mobile22_SetBGMapMode0 - push bc - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - ld de, String_8ad89 - hlcoord 1, 14 - call PlaceString - ld a, $2 - call Function8925e - jr c, .asm_8ad87 - call Mobile22_SetBGMapMode0 - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - ld de, String_8ad9c - hlcoord 1, 14 - call PlaceString - ld a, $1 - call Function8925e - jr c, .asm_8ad84 - ld a, $0 - jr .asm_8ad86 - -.asm_8ad84 - ld a, $1 - -.asm_8ad86 - and a - -.asm_8ad87 - pop bc - ret - -String_8ad89: - db "こめいしけして" - next "いれかえますか?@" - -String_8ad9c: - db "おともだちなまえを" - next "のこして おきますか?@" - -Function8adb3: - call Function891de - call Function8a262 - push af - call Function891de - pop af - ret - -Function8adbf: ; unreferenced - call OpenSRAMBank4 - ld hl, $a603 - call Function89b45 - call CloseSRAM - ret - -Function8adcc: - call OpenSRAMBank4 - call Function8b3b0 - call CloseSRAM - ret nc - cp $2 - ret z - scf - ret diff --git a/mobile/mobile_22_2.asm b/mobile/mobile_22_2.asm deleted file mode 100644 index 2eb183cb5..000000000 --- a/mobile/mobile_22_2.asm +++ /dev/null @@ -1,1099 +0,0 @@ -Function8b342:: -; Loads the map data pointer, then runs through a -; dw with three dummy functions. Spends a lot of energy -; doing pretty much nothing. - call GetMapAttributesPointer - ld d, h - ld e, l - -; Everything between here and "ret" is useless. - xor a -.loop - push af - ld hl, .dw - rst JumpTable - pop af - inc a - cp 3 - jr nz, .loop - ret - -.dw - dw .zero - dw .one - dw .two - -.zero - ret - -.one - ret - -.two - ret - -Function8b35d: ; unreferenced - ld a, h - cp d - ret nz - ld a, l - cp e - ret - -Function8b363: ; unreferenced - push bc - farcall Mobile_AlwaysReturnNotCarry - pop bc - ret - -Function8b36c: - ; [bc + (0:4)] = -1 - push bc - ld h, b - ld l, c - ld bc, 4 - ld a, -1 - call ByteFill - pop bc - ret - -Function8b379: - ; d = [bc + e] - push bc - ld a, c - add e - ld c, a - ld a, $0 - adc b - ld b, a - ld a, [bc] - ld d, a - pop bc - ret - -Function8b385: - ; [bc + e] = d - push bc - ld a, c - add e - ld c, a - ld a, $0 - adc b - ld b, a - ld a, d - ld [bc], a - pop bc - ret - -Function8b391: - ; find first e in range(4) such that [bc + e] == -1 - ; if none exist, return carry - push bc - ld e, 0 - ld d, 4 -.loop - ld a, [bc] - inc bc - cp -1 - jr z, .done - inc e - dec d - jr nz, .loop - dec e - scf -.done - pop bc - ret - -Function8b3a4: - ; strcmp(hl, bc, 4) - push de - push bc - ld d, b - ld e, c - ld c, 4 - call Function89185 - pop bc - pop de - ret - -Function8b3b0: - ld bc, s4_a037 - ld a, [s4_a60b] - and a - jr z, .asm_8b3c2 - cp $3 - jr nc, .asm_8b3c2 - call Function8b391 - jr c, .asm_8b3c9 -.asm_8b3c2 - call Function8b36c - xor a - ld [s4_a60b], a -.asm_8b3c9 - ld a, [s4_a60b] - ret - -Function8b3cd: - push de - push bc - ld e, $4 -.asm_8b3d1 - ld a, [bc] - inc bc - call Function8998b - inc hl - dec e - jr nz, .asm_8b3d1 - pop bc - pop de - ret - -Function8b3dd: - push de - push bc - call JoyTextDelay_ForcehJoyDown ; joypad - ld a, c - pop bc - pop de - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - bit D_UP_F, a - jr nz, .d_up - bit D_DOWN_F, a - jr nz, .d_down - and a - ret - -.a_button - ld a, e - cp $3 - jr z, .e_is_zero - inc e - ld d, 0 - call Function8b385 - xor a - ld [wd010], a - ret - -.e_is_zero - call PlayClickSFX - ld d, $0 - scf - ret - -.b_button - ld a, e - and a - jr nz, .e_is_not_zero - call PlayClickSFX - ld d, -1 - call Function8b385 - ld d, 1 - scf - ret - -.e_is_not_zero - ld d, -1 - call Function8b385 - dec e - xor a - ld [wd010], a - ret - -.d_up - call Function8b379 - ld a, d - cp $a - jr c, .less_than_10_up_1 - ld d, $9 -.less_than_10_up_1 - inc d - ld a, d - cp $a - jr c, .less_than_10_up_2 - ld d, $0 -.less_than_10_up_2 - call Function8b385 - xor a - ld [wd010], a - ret - -.d_down - call Function8b379 - ld a, d - cp $a - jr c, .less_than_10_down - ld d, $0 -.less_than_10_down - ld a, d - dec d - and a - jr nz, .nonzero_down - ld d, $9 -.nonzero_down - call Function8b385 - xor a - ld [wd010], a - ret - -Function8b45c: - call Function8b36c - xor a - ld [wd010], a - ld [wd012], a - call Function8b391 - ld d, $0 - call Function8b385 -.asm_8b46e - call Mobile22_SetBGMapMode0 - call Function8b493 - call Function8b4cc - call Function8b518 - call Function89b78 - push bc - call Function8b4fd - call Function89c44 - ld a, $1 - ldh [hBGMapMode], a - pop bc - call Function8b3dd - jr nc, .asm_8b46e - ld a, d - and a - ret z - scf - ret - -Function8b493: - push bc - call Mobile22_SetBGMapMode0 - call Function8b521 - ld hl, Jumptable_8b4a0 - pop bc - rst JumpTable - ret - -Jumptable_8b4a0: - dw Function8b4a4 - dw Function8b4b8 - -Function8b4a4: - push bc - push de - call Function8b4d8 - call Textbox - pop de - pop bc - call Function8b4cc - call Function8b518 - call Function8b3cd - ret - -Function8b4b8: - push bc - push de - call Function8b4ea - call Function89b3b - pop de - pop bc - call Function8b4cc - call Function8b518 - call Function8b3cd - ret - -Function8b4cc: - push bc - ld hl, Unknown_8b529 - call Function8b50a - ld a, [hli] - ld h, [hl] - ld l, a - pop bc - ret - -Function8b4d8: - ld hl, Unknown_8b529 - call Function8b50a - push hl - inc hl - inc hl - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - pop hl - ld a, [hli] - ld h, [hl] - ld l, a - ret - -Function8b4ea: - ld hl, Unknown_8b529 - call Function8b50a - push hl - inc hl - inc hl - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - pop hl - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - ret - -Function8b4fd: - ld hl, Unknown_8b529 + 4 - call Function8b50a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld d, a - ret - -Function8b50a: - ld a, [wd02e] - and a - ret z - ld b, $0 - ld c, $8 -.asm_8b513 - add hl, bc - dec a - jr nz, .asm_8b513 - ret - -Function8b518: - push de - ld d, $0 - ld e, $14 - add hl, de - inc hl - pop de - ret - -Function8b521: - ld hl, Unknown_8b529 + 7 - call Function8b50a - ld a, [hl] - ret - -Unknown_8b529: - dwcoord 2, 5 - db 1, 4, $20, $49, 0, 1 - dwcoord 7, 4 - db 1, 4, $48, $41, 0, 0 - -Function8b539: - ld bc, wd017 - call Function8b36c - xor a - ld [wd012], a - ld [wd02e], a - call Function8b493 - call Function8b4fd - ld e, $0 - call Function89c44 - call CGBOnly_CopyTilemapAtOnce - ret - -Function8b555: -.loop - ld hl, EnterNewPasscodeText - call PrintText - ld bc, wd017 - call Function8b45c - jr c, .asm_8b5c8 - call Function89448 - ld bc, wd017 - call Function8b493 - ld bc, wd017 - call Function8b664 - jr nz, .asm_8b57c - ld hl, FourZerosInvalidText - call PrintText - jr .loop - -.asm_8b57c - ld hl, ConfirmPasscodeText - call PrintText - ld bc, wd013 - call Function8b45c - jr c, .loop - ld bc, wd017 - ld hl, wd013 - call Function8b3a4 - jr z, .strings_equal - call Function89448 - ld bc, wd013 - call Function8b493 - ld hl, PasscodesNotSameText - call PrintText - jr .asm_8b57c - -.strings_equal - call OpenSRAMBank4 - ld hl, wd013 - ld de, s4_a037 - ld bc, $4 - call CopyBytes - call CloseSRAM - call Function89448 - ld bc, wd013 - call Function8b493 - ld hl, PasscodeSetText - call PrintText - and a -.asm_8b5c8 - push af - call Function89448 - pop af - ret - -EnterNewPasscodeText: - text_far _EnterNewPasscodeText - text_end - -ConfirmPasscodeText: - text_far _ConfirmPasscodeText - text_end - -PasscodesNotSameText: - text_far _PasscodesNotSameText - text_end - -PasscodeSetText: - text_far _PasscodeSetText - text_end - -FourZerosInvalidText: - text_far _FourZerosInvalidText - text_end - -Function8b5e7: - ld bc, wd013 - call Function8b36c - xor a - ld [wd012], a - ld [wd02e], a - call Function8b493 - call Function891ab - call Function8b4fd - ld e, $0 - call Function89c44 -.asm_8b602 - ld hl, EnterPasscodeText - call PrintText - ld bc, wd013 - call Function8b45c - jr c, .asm_8b63c - call Function89448 - ld bc, wd013 - call Function8b493 - call OpenSRAMBank4 - ld hl, s4_a037 - call Function8b3a4 - call CloseSRAM - jr z, .asm_8b635 - ld hl, IncorrectPasscodeText - call PrintText - ld bc, wd013 - call Function8b36c - jr .asm_8b602 -.asm_8b635 - ld hl, UnknownText_0x8b64c - call PrintText - and a -.asm_8b63c - push af - call Function89448 - pop af - ret - -EnterPasscodeText: - text_far _EnterPasscodeText - text_end - -IncorrectPasscodeText: - text_far _IncorrectPasscodeText - text_end - -UnknownText_0x8b64c: - ; CARD FOLDER open.@ @ - text_far _CardFolderOpenText - text_asm - ld de, SFX_TWINKLE - call PlaySFX - call WaitSFX - ld c, $8 - call DelayFrames - ld hl, .string_8b663 - ret - -.string_8b663 - text_end - -Function8b664: - push bc - ld de, $4 -.asm_8b668 - ld a, [bc] - cp $0 - jr nz, .asm_8b66e - inc d -.asm_8b66e - inc bc - dec e - jr nz, .asm_8b668 - pop bc - ld a, d - cp $4 - ret - -Function8b677: - call ClearBGPalettes - call DisableLCD - call Function8b690 - call Function8b6bb - call Function8b6ed - call EnableLCD - call Function891ab - call SetPalettes - ret - -Function8b690: - ld hl, MobileCardListGFX - ld de, vTiles2 - ld bc, $16 tiles - ld a, BANK(MobileCardListGFX) - call FarCopyBytes - ld hl, MobileCardListGFX tile $15 - ld de, vTiles2 tile $61 - ld bc, 1 tiles - ld a, BANK(MobileCardListGFX) - call FarCopyBytes - ld hl, MobileCardListGFX tile $16 - ld de, vTiles0 tile $ee - ld bc, 1 tiles - ld a, BANK(MobileCardListGFX) - call FarCopyBytes - ret - -Function8b6bb: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, Palette_8b6d5 - ld de, wBGPals1 - ld bc, 3 palettes - call CopyBytes - pop af - ldh [rSVBK], a - call Function8949c - ret - -Palette_8b6d5: - RGB 31, 31, 31 - RGB 31, 21, 00 - RGB 14, 07, 03 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 21, 00 - RGB 22, 09, 17 - RGB 00, 00, 00 - RGB 31, 31, 31 - RGB 31, 21, 00 - RGB 06, 24, 08 - RGB 00, 00, 00 - -Function8b6ed: - hlcoord 0, 0, wAttrmap - ld bc, $012c - xor a - call ByteFill - hlcoord 0, 14, wAttrmap - ld bc, $0050 - ld a, $7 - call ByteFill - ret - -Function8b703: - call Mobile22_SetBGMapMode0 - push hl - ld a, $c - ld [hli], a - inc a - call Function8b73e - inc a - ld [hl], a - pop hl - push hl - push bc - ld de, SCREEN_WIDTH - add hl, de -.asm_8b717 - push hl - ld a, $f - ld [hli], a - ld a, $7f - call Function8b73e - ld a, $11 - ld [hl], a - pop hl - ld de, SCREEN_WIDTH - add hl, de - dec b - jr nz, .asm_8b717 - call Function8b732 - pop bc - pop hl - jr Function8b744 - -Function8b732: - ld a, $12 - ld [hli], a - ld a, $13 - call Function8b73e - ld a, $14 - ld [hl], a - ret - -Function8b73e: - ld d, c -.asm_8b73f - ld [hli], a - dec d - jr nz, .asm_8b73f - ret - -Function8b744: - ld de, wAttrmap - wTilemap - add hl, de - inc b - inc b - inc c - inc c - xor a -.asm_8b74d - push bc - push hl -.asm_8b74f - ld [hli], a - dec c - jr nz, .asm_8b74f - pop hl - ld de, SCREEN_WIDTH - add hl, de - pop bc - dec b - jr nz, .asm_8b74d - ret - -Function8b75d: - call Mobile22_SetBGMapMode0 - hlcoord 0, 0 - ld a, $1 - ld bc, SCREEN_WIDTH - call ByteFill - hlcoord 0, 1 - ld a, $2 - ld [hl], a - hlcoord 9, 1 - ld c, $b - call Function8b788 - hlcoord 1, 1 - ld a, $4 - ld e, $8 -.asm_8b780 - ld [hli], a - inc a - dec e - jr nz, .asm_8b780 - jr Function8b79e - -Function8b787: ; unreferenced - ret - -Function8b788: -.asm_8b788 - ld a, $2 - ld [hli], a - dec c - ret z - ld a, $1 - ld [hli], a - dec c - ret z - ld a, $3 - ld [hli], a - dec c - ret z - ld a, $1 - ld [hli], a - dec c - jr nz, .asm_8b788 - ret - -Function8b79e: - hlcoord 0, 1, wAttrmap - ld a, $1 - ld [hli], a - hlcoord 9, 1, wAttrmap - ld e, $b -.asm_8b7a9 - ld a, $2 - ld [hli], a - dec e - ret z - xor a - ld [hli], a - dec e - ret z - ld a, $1 - ld [hli], a - dec e - ret z - xor a - ld [hli], a - dec e - jr nz, .asm_8b7a9 - ret - -Function8b7bd: - call Function8b855 - ld hl, MenuHeader_0x8b867 - call CopyMenuHeader - ld a, [wd030] - ld [wMenuCursorPosition], a - ld a, [wd031] - ld [wMenuScrollPosition], a - ld a, [wd032] - and a - jr z, .asm_8b7e0 - ld a, [wMenuFlags] - set 3, a - ld [wMenuFlags], a - -.asm_8b7e0 - ld a, [wd0e3] - and a - jr z, .asm_8b7ea - dec a - ld [wScrollingMenuCursorPosition], a - -.asm_8b7ea - hlcoord 0, 2 - ld b, $b - ld c, $12 - call Function8b703 - call Function8b75d - call UpdateSprites - call Mobile_EnableSpriteUpdates - call ScrollingMenu - call Mobile_DisableSpriteUpdates - ld a, [wMenuJoypad] - cp B_BUTTON - jr z, .asm_8b823 - cp D_LEFT - jr nz, .asm_8b813 - call Function8b832 - jr .asm_8b7ea - -.asm_8b813 - cp D_RIGHT - jr nz, .asm_8b81c - call Function8b83e - jr .asm_8b7ea - -.asm_8b81c - ld a, [wMenuSelection] - cp $ff - jr nz, .asm_8b824 - -.asm_8b823 - xor a - -.asm_8b824 - ld c, a - ld a, [wMenuCursorY] - ld [wd030], a - ld a, [wMenuScrollPosition] - ld [wd031], a - ret - -Function8b832: - ld a, [wMenuScrollPosition] - ld hl, wMenuDataItems - sub [hl] - jr nc, Function8b84b - xor a - jr Function8b84b - -Function8b83e: - ld a, [wMenuScrollPosition] - ld hl, wMenuDataItems - add [hl] - cp $24 - jr c, Function8b84b - ld a, $24 - -Function8b84b: - ld [wMenuScrollPosition], a - ld a, [wMenuCursorY] - ld [wMenuCursorPosition], a - ret - -Function8b855: - ld a, $28 - ld hl, wd002 - ld [hli], a - ld c, $28 - xor a -.asm_8b85e - inc a - ld [hli], a - dec c - jr nz, .asm_8b85e - ld a, $ff - ld [hl], a - ret - -MenuHeader_0x8b867: - db MENU_BACKUP_TILES ; flags - menu_coords 1, 3, 18, 13 - dw MenuData_0x8b870 - db 1 ; default option - - db 0 - -MenuData_0x8b870: - db SCROLLINGMENU_ENABLE_FUNCTION3 | SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_RIGHT | SCROLLINGMENU_ENABLE_LEFT ; flags - db 5, 3 ; rows, columns - db SCROLLINGMENU_ITEMS_NORMAL ; item format - dbw 0, wd002 - dba Function8b880 - dba Function8b88c - dba Function8b8c8 - -Function8b880: - ld h, d - ld l, e - ld de, wMenuSelection - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ret - -Function8b88c: - call OpenSRAMBank4 - ld h, d - ld l, e - push hl - ld de, String_89116 - call Function8931b - call Function8932d - jr c, .asm_8b8a3 - ld hl, 0 - add hl, bc - ld d, h - ld e, l - -.asm_8b8a3 - pop hl - push hl - call PlaceString - pop hl - ld d, $0 - ld e, $6 - add hl, de - push hl - ld de, String_89116 - call Function8931b - call Function8934a - jr c, .asm_8b8c0 - ld hl, $0006 - add hl, bc - ld d, h - ld e, l - -.asm_8b8c0 - pop hl - call PlaceString - call CloseSRAM - ret - -Function8b8c8: - hlcoord 0, 14 - ld b, $2 - ld c, $12 - call Textbox - ld a, [wd033] - ld b, 0 - ld c, a - ld hl, Unknown_8b903 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld d, h - ld e, l - hlcoord 1, 16 - call PlaceString - hlcoord 0, 13 - ld a, $f - ld [hl], a - hlcoord 19, 13 - ld a, $11 - ld [hl], a - ld a, [wMenuScrollPosition] - cp $24 - ret c - hlcoord 0, 13 - ld c, $12 - call Function8b732 - ret - -Unknown_8b903: - dw String_8b90b - dw String_8b919 - dw String_8b92a - dw String_8b938 - -String_8b90b: db "めいしを えらんでください@" ; Please select a noun. -String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun? -String_8b92a: db "あいてを えらんでください@" ; Please select an opponent. -String_8b938: db "いれる ところを えらんでください@" ; Please select a location. - -Function8b94a: - ld [wd033], a - xor a - ld [wMenuScrollPosition], a - ld [wd032], a - ld [wd0e3], a - ld [wd031], a - ld a, $1 - ld [wd030], a - ret - -Function8b960: - ld hl, MenuHeader_0x8b9ac - call LoadMenuHeader - call Function8b9e9 - jr c, .asm_8b97a - hlcoord 11, 0 - ld b, $6 - ld c, $7 - call Function8b703 - ld hl, MenuHeader_0x8b9b1 - jr .asm_8b987 -.asm_8b97a - hlcoord 11, 0 - ld b, $a - ld c, $7 - call Function8b703 - ld hl, MenuHeader_0x8b9ca -.asm_8b987 - ld a, $1 - call Function89d5e - ld hl, Function8b9ab - call Function89d85 - call ExitMenu - jr c, .asm_8b99c - call Function8b99f - jr nz, .asm_8b99d -.asm_8b99c - xor a -.asm_8b99d - ld c, a - ret - -Function8b99f: - ld hl, wd002 - dec a - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - cp $ff - ret - -Function8b9ab: - ret - -MenuHeader_0x8b9ac: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 0, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - -MenuHeader_0x8b9b1: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 0, SCREEN_WIDTH - 1, 7 - dw MenuData_0x8b9b9 - db 1 ; default option - -MenuData_0x8b9b9: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 3 ; items - db "へんしゅう@" ; EDIT - db "いれかえ@" ; REPLACE - db "やめる@" ; QUIT - -MenuHeader_0x8b9ca: - db MENU_BACKUP_TILES ; flags - menu_coords 11, 0, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw MenuData_0x8b9d2 - db 1 ; default option - -MenuData_0x8b9d2: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 5 ; items - db "みる@" ; VIEW - db "へんしゅう@" ; EDIT - db "いれかえ@" ; REPLACE - db "けす@" ; ERASE - db "やめる@" ; QUIT - -Function8b9e9: - call OpenSRAMBank4 - call Function8931b - call Function8932d - jr nc, .asm_8b9f6 - jr .asm_8b9ff -.asm_8b9f6 - ld hl, $11 - add hl, bc - call Function89b45 - jr c, .asm_8ba08 -.asm_8b9ff - call Function892b4 - and a - ld de, Unknown_8ba1c - jr .asm_8ba0c -.asm_8ba08 - ld de, Unknown_8ba1f - scf -.asm_8ba0c - push af - ld hl, wd002 -.asm_8ba10 - ld a, [de] - inc de - ld [hli], a - cp $ff - jr nz, .asm_8ba10 - call CloseSRAM - pop af - ret - -Unknown_8ba1c: - db 2, 4, -1 - -Unknown_8ba1f: - db 1, 2, 4, 3, -1 diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm deleted file mode 100644 index 2371fc9be..000000000 --- a/mobile/mobile_40.asm +++ /dev/null @@ -1,7690 +0,0 @@ -Function100000: -; d: 1 or 2 -; e: bank -; bc: addr - ldh a, [rSVBK] - push af - ld a, 1 - ldh [rSVBK], a - - call Function100022 - call Function1000ba - call Function100675 - call Function100057 - call Function10016f - call Function100276 - - push bc - call Function100301 - pop bc - - pop af - ldh [rSVBK], a - ret - -Function100022: - push de - push bc - call SetRAMStateForMobile - pop bc - pop de - ld a, d - ld [wcd21], a - ld a, e - ld [wcd22], a - ld a, c - ld [wcd23], a - ld a, b - ld [wcd24], a - farcall Function10127e - farcall Stubbed_Function106462 - farcall Function106464 ; load broken gfx - farcall Function11615a ; init RAM - ld hl, wVramState - set 1, [hl] - ret - -Function100057: - call DisableMobile - call ReturnToMapFromSubmenu - ld hl, wVramState - res 1, [hl] - ret - -SetRAMStateForMobile: - xor a - ld hl, wBGMapBuffer - ld bc, $65 - call ByteFill - xor a - ld hl, wMobileWRAM - ld bc, wMobileWRAMEnd - wMobileWRAM - call ByteFill - ldh a, [rIE] - ld [wBGMapBuffer], a - xor a - ldh [hMapAnims], a - ldh [hLCDCPointer], a - ret - -EnableMobile: - xor a - ld hl, wOverworldMapBlocks - ld bc, wOverworldMapBlocksEnd - wOverworldMapBlocks - call ByteFill - - di - call DoubleSpeed - xor a - ldh [rIF], a - ld a, IE_DEFAULT - ldh [rIE], a - xor a - ldh [hMapAnims], a - ldh [hLCDCPointer], a - ld a, $01 - ldh [hMobileReceive], a - ldh [hMobile], a - ei - - ret - -DisableMobile: - di - xor a - ldh [hMobileReceive], a - ldh [hMobile], a - xor a - ldh [hVBlank], a - call NormalSpeed - xor a - ldh [rIF], a - ld a, [wBGMapBuffer] - ldh [rIE], a - ei - ret - -Function1000ba: -.loop - ; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex]) - ld hl, wcd23 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMobileCommsJumptableIndex] - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [wcd22] - call GetFarWord - ld a, [wcd22] - rst FarCall - - call Function1000e8 - call Function1000fa - call Function100144 - call Function100163 - ld a, [wcd2b] - and a - jr z, .loop - call DelayFrame - ret - -Function1000e8: - ld hl, wcd29 - bit 7, [hl] - ret z - farcall Function115dd3 - ld hl, wcd29 - set 6, [hl] - ret - -Function1000fa: - ld a, [wc30d] - and a - ret z - ld hl, wcd29 - bit 4, [hl] - ret z - ld a, [wcd2b] - and a - jr nz, .asm_100117 - farcall Function11619d - ld hl, wcd29 - set 6, [hl] - ret - -.asm_100117 - di - xor a - ldh [rIF], a - ldh a, [rIE] - and $1f ^ (1 << SERIAL | 1 << TIMER) - ldh [rIE], a - xor a - ldh [hMobileReceive], a - ldh [hMobile], a - ei - - ld a, [wLinkMode] - push af - xor a - ld [wLinkMode], a - ld a, $04 - ld [wc314 + 5], a - farcall Function11619d - ld hl, wcd29 - set 6, [hl] - pop af - ld [wLinkMode], a - ret - -Function100144: - ld hl, wcd29 - bit 5, [hl] - jr z, .asm_100155 - res 5, [hl] - res 2, [hl] - res 6, [hl] - call Function100320 - ret - -.asm_100155 - bit 2, [hl] - ret z - res 2, [hl] - res 6, [hl] - farcall HDMATransferTilemapToWRAMBank3 - ret - -Function100163: - ld hl, wcd29 - bit 6, [hl] - ret z - res 6, [hl] - call DelayFrame - ret - -Function10016f: - ld a, [wcd2b] - cp $01 - ret z - cp $02 - ret z - cp $ff - jp z, .asm_1001f5 - cp $fe - jr z, .asm_1001c4 - cp $f5 - jr z, .asm_1001e7 - cp $f6 - jr z, .asm_1001b6 - cp $fa - jp z, .asm_1001bd - cp $f7 - jp z, .asm_1001ee - cp $f4 - jr z, .asm_1001d2 - cp $f3 - jr z, .asm_1001cb - cp $f1 - jr z, .asm_1001c4 - cp $f2 - jr z, .asm_1001c4 - cp $fc - jr z, .asm_1001e6 - cp $fb - jr z, .asm_1001af - cp $f8 - ret z - ret ; ???????????????????????????? - -.asm_1001af - ld a, $d7 - ld de, 0 - jr .asm_1001d7 - -.asm_1001b6 - ld a, $d5 - ld de, 0 - jr .asm_1001d7 - -.asm_1001bd - ld a, $d6 - ld de, 0 - jr .asm_1001d7 - -.asm_1001c4 - ld a, $d2 - ld de, 2 - jr .asm_1001d7 - -.asm_1001cb - ld a, $d1 - ld de, 1 - jr .asm_1001d7 - -.asm_1001d2 - ld a, $d0 - ld de, 0 - -.asm_1001d7 - ld [wMobileErrorCodeBuffer], a - ld a, d - ld [wMobileErrorCodeBuffer + 2], a - ld a, e - ld [wMobileErrorCodeBuffer + 1], a - call Function10020b - ret - -.asm_1001e6 - ret - -.asm_1001e7 - ld de, String10025e - call Function100232 - ret - -.asm_1001ee - ld de, String10024d - call Function100232 - ret - -.asm_1001f5 - ld a, [wcd2c] - ld [wMobileErrorCodeBuffer], a - ld a, [wcd2d] - ld [wMobileErrorCodeBuffer + 2], a - ld a, [wcd2d] - ld [wMobileErrorCodeBuffer + 1], a - call Function10020b - ret - -Function10020b: - xor a - ld [wc303], a - farcall FadeOutPalettes - farcall Function106464 - call HideSprites - call DelayFrame - - ldh a, [rSVBK] - push af - ld a, $01 - ldh [rSVBK], a - - farcall DisplayMobileError - - pop af - ldh [rSVBK], a - ret - -Function100232: - push de - farcall Function106464 - call Function3f20 - call UpdateSprites - hlcoord 1, 2 - pop de - call PlaceString - call Function100320 - call JoyWaitAorB - ret - -String10024d: - db "つうしんを キャンセル しました@" - -String10025e: - db "おともだちと えらんだ へやが" - next "ちがうようです@" - -Function100276: - ld a, [wcd2b] - cp $01 - jr z, .asm_10029f - cp $02 - jr z, .asm_100296 - cp $f5 - jr z, .asm_1002a5 - cp $f6 - jr z, .asm_1002a5 - cp $f7 - jr z, .asm_100293 - cp $f8 - jr z, .asm_1002b1 - jr .asm_1002c0 - -.asm_100293 - ld c, $02 - ret - -.asm_100296 - farcall Script_reloadmappart - ld c, $04 - ret - -.asm_10029f - call Function1002dc - ld c, 0 - ret - -.asm_1002a5 - farcall Script_reloadmappart - call Function1002ed - ld c, $03 - ret - -.asm_1002b1 - call Function1002c9 - call Function1002dc - ld de, String10024d - call Function100232 - ld c, $02 - ret - -.asm_1002c0 - call Function1002c9 - call Function1002dc - ld c, $01 - ret - -Function1002c9: - ld hl, wcd2a - bit 0, [hl] - ret z - farcall CleanUpBattleRAM - farcall LoadPokemonData - ret - -Function1002dc: - ld a, MAPSETUP_LINKRETURN - ldh [hMapEntryMethod], a - farcall RunMapSetupScript - xor a - ldh [hMapEntryMethod], a - call LoadStandardFont - ret - -Function1002ed: - farcall LoadOW_BGPal7 - farcall ApplyPals - ld a, TRUE - ldh [hCGBPalUpdate], a - call DelayFrame - ret - -Function100301: - ld hl, wcd2a - bit 1, [hl] - ret z - farcall Function106464 - farcall Function10202c - farcall Function115dd3 - call Function100320 - call JoyWaitAorB - ret - -Function100320: - farcall Mobile_ReloadMapPart - ret - -Function100327: ; unreferenced - farcall HDMATransferTilemapToWRAMBank3 - ret - -Function10032e: - call Function10034d - ld e, a - ret nc - ld [wcd2b], a - ret - -Function100337: - call Function10032e - ret c - ld a, [wc821] - bit 4, a - jr z, .asm_100345 - ld a, e - and a - ret - -.asm_100345 - ld a, $f9 - ld e, a - ld [wcd2b], a - scf - ret - -Function10034d: - ld a, [wc821] - bit 1, a - jr nz, .asm_10036a - bit 2, a - jr nz, .asm_10037e - bit 3, a - jr nz, .asm_100366 - bit 0, a - jr nz, .asm_100364 - ld a, $01 - and a - ret - -.asm_100364 - xor a - ret - -.asm_100366 - ld a, $02 - and a - ret - -.asm_10036a - ld a, MOBILEAPI_00 - call MobileAPI - ld [wcd2c], a - ld a, h - ld [wcd2d], a - ld a, l - ld [wcd2e], a - ld a, $ff - scf - ret - -.asm_10037e - ld a, $fe - scf - ret - -Function100382: - ld a, [wcd27] - ld hl, Jumptable_10044e - rst JumpTable - ret - -Function10038a: - ld hl, wccb4 - ld a, MOBILEAPI_17 - call MobileAPI - ret - -Function100393: - ld hl, wcc60 - ld a, MOBILEAPI_1D - call MobileAPI - ret - -Function10039c: - ld hl, wcc60 - ld de, w3_d000 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret - -Function1003ab: ; unreferenced - ld hl, w3_d000 - ld de, wcc60 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret - -Function1003ba: - ld hl, wccb4 - ld de, w3_d080 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret - -Function1003c9: - ld hl, w3_d080 - ld de, wccb4 - ld bc, $54 - ld a, $03 - call FarCopyWRAM - ret - -Function1003d8: - ld hl, wccb4 - ld a, [hli] - ld c, a - ld b, 0 - push hl - add hl, bc - ld a, [wBGMapPalBuffer] - ld [hl], a - pop hl - inc bc - call Function10043a - add hl, bc - ld [hl], e - inc hl - ld [hl], d - ld a, c - add $02 - ld [wccb4], a - ret - -Function1003f5: - ld a, [wcc60] - sub $03 - ld [wcc60], a - ld a, [wccb4] - sub $03 - ld [wccb4], a - ret - -Function100406: - ld a, [wcc60] - sub $02 - ld c, a - ld b, 0 - ld hl, wcc61 - call Function10043a - add hl, bc - ld a, [hli] - cp e - jr nz, .asm_100426 - ld a, [hld] - cp d - jr nz, .asm_100426 - dec hl - ld a, [wBGMapPalBuffer] - cp [hl] - jr nz, .asm_10042d - xor a - ret - -.asm_100426 - ld a, $f4 - ld [wcd2b], a - jr .asm_100432 - -.asm_10042d - ld a, $f3 - ld [wcd2b], a - -.asm_100432 - push hl - ld hl, wcd7c - inc [hl] - pop hl - scf - ret - -Function10043a: - push hl - push bc - ld de, 0 -.asm_10043f - ld a, [hli] - add e - ld e, a - ld a, d - adc 0 - ld d, a - dec bc - ld a, b - or c - jr nz, .asm_10043f - pop bc - pop hl - ret - -Jumptable_10044e: - dw Function10046a - dw Function10047c - dw Function100493 - dw Function1004ba - dw Function1004f4 - dw Function1004ce - dw Function1004de - dw Function1004a4 - dw Function100495 - dw Function1004ce - dw Function1004de - dw Function1004e9 - dw Function1004f4 - dw Function1004a4 - -Function10046a: - ld hl, wBGMapPalBuffer - inc [hl] - call Function1003d8 - call Function1003ba - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -Function10047c: - call Function100337 - ret c - ret z - cp $02 - jr z, .asm_100487 - jr .asm_10048d - -.asm_100487 - ld a, $08 - ld [wcd27], a - ret - -.asm_10048d - ld a, $02 - ld [wcd27], a - ret - -Function100493: - jr asm_100497 - -Function100495: - jr asm_100497 - -asm_100497: - call Function100337 - ret c - ret z - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -Function1004a4: - call Function100406 - jr c, .asm_1004b8 - call Function1003c9 - call Function1003f5 - ld a, [wcd27] - set 7, a - ld [wcd27], a - ret - -.asm_1004b8 - scf - ret - -Function1004ba: - call Function10038a - and a - jr nz, .asm_1004c8 - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -.asm_1004c8 - ld a, $08 - ld [wcd27], a - ret - -Function1004ce: - call Function100337 - ret c - ret z - cp $02 - ret nz - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -Function1004de: - call Function100393 - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -Function1004e9: - call Function10038a - ld a, [wcd27] - inc a - ld [wcd27], a - ret - -Function1004f4: - call Function100337 - ret c - ret z - ld a, [wcd27] - inc a - ld [wcd27], a - call Function10039c - ret - -Function100504: - push de - call Function3f20 - call UpdateSprites - pop de - hlcoord 4, 2 - call PlaceString - ret - -Function100513: - call Function3f7c - call PlaceVerticalMenuItems - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 7, [hl] - ret - -Function100522: - ld a, [wcd28] - ld hl, Jumptable_10052a - rst JumpTable - ret - -Jumptable_10052a: - dw Function100534 - dw Function100545 - dw Function100545 - dw Function100545 - dw Function10054d - -Function100534: - call Function100513 - call UpdateSprites - call ApplyTilemap - ld a, [wcd28] - inc a - ld [wcd28], a - ret - -Function100545: - ld a, [wcd28] - inc a - ld [wcd28], a - ret - -Function10054d: - farcall MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - call MenuClickSound - bit 0, a - jr nz, .asm_100565 - bit 1, a - jr nz, .asm_10056f - ret - -.asm_100565 - ld a, [wcd28] - set 7, a - ld [wcd28], a - and a - ret - -.asm_10056f - ld a, [wcd28] - set 7, a - ld [wcd28], a - scf - ret - -Function100579: - ld a, [wcd26] - ld hl, Jumptable_100581 - rst JumpTable - ret - -Jumptable_100581: - dw Function100585 - dw Function100597 - -Function100585: - ld hl, MenuHeader_1005b2 - call LoadMenuHeader - ld a, 0 - ld [wcd28], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function100597: - call Function100522 - ld a, [wcd28] - bit 7, a - ret z - jr nc, .asm_1005a6 - xor a - ld [wMenuCursorY], a - -.asm_1005a6 - call ExitMenu - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret - -MenuHeader_1005b2: - db MENU_BACKUP_TILES ; flags - db 6, 14 - db 10, 19 - dw MenuData_1005ba - db 1 ; default option - -MenuData_1005ba: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 2 - db "はい@" - db "いいえ@" - -Function1005c3: - ld a, [wcd26] - ld hl, Jumptable_1005cb - rst JumpTable - ret - -Jumptable_1005cb: - dw Function1005cf - dw Function1005e1 - -Function1005cf: - ld hl, MenuHeader_1005fc - call LoadMenuHeader - ld a, 0 - ld [wcd28], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1005e1: - call Function100522 - ld a, [wcd28] - bit 7, a - ret z - jr nc, .asm_1005f0 - xor a - ld [wMenuCursorY], a -.asm_1005f0 - call ExitMenu - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret - -MenuHeader_1005fc: - db MENU_BACKUP_TILES ; flags - db 6, 14 - db 10, 19 - dw MenuData_100604 - db 1 ; default option - -MenuData_100604: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 2 - db "かける@" - db "まつ@" - -Mobile_CommunicationStandby: - hlcoord 3, 10 - ld b, 1 - ld c, 11 - call Function3eea - ld de, .String - hlcoord 4, 11 - call PlaceString - ret - -.String: - db "つうしんたいきちゅう!@" - -AdvanceMobileInactivityTimerAndCheckExpired: - push bc - call IncrementMobileInactivityTimerByCFrames - pop bc - ld a, [wMobileInactivityTimerMinutes] - cp b - jr nc, .timed_out - and a - ret - -.timed_out - ld a, $fa - ld [wcd2b], a - scf - ret - -StartMobileInactivityTimer: - xor a - ld [wMobileInactivityTimerMinutes], a - ld [wMobileInactivityTimerSeconds], a - ld [wMobileInactivityTimerFrames], a - ret - -IncrementMobileInactivityTimerBy1Frame: - ld c, 1 -IncrementMobileInactivityTimerByCFrames: - ld hl, wMobileInactivityTimerFrames ; timer? - ld a, [hl] - add c - cp 60 - jr c, .seconds - xor a - -.seconds - ld [hld], a - ret c - ld a, [hl] - inc a - cp 60 - jr c, .minutes - xor a - -.minutes - ld [hld], a - ret c - inc [hl] - ret - -Function100665: - call UpdateTime - ld hl, wcd36 - ldh a, [hHours] - ld [hli], a - ldh a, [hMinutes] - ld [hli], a - ldh a, [hSeconds] - ld [hl], a - ret - -Function100675: - ld hl, wcd2a - bit 2, [hl] - set 2, [hl] - ret nz - call Function1006d3 - ret - -Function100681: - push hl - ld hl, wcd2a - bit 2, [hl] - ld hl, wcd2a - set 2, [hl] - pop hl - jr nz, .asm_100694 - push hl - call Function1006d3 - pop hl -.asm_100694 - ld de, wcd32 - -Function100697: - ld a, [de] - and a - jr nz, .asm_1006bb - inc de - push de - call .asm_1006b4 - ld de, String1006c2 - call PlaceString - ld h, b - ld l, c - pop de - inc de - call .asm_1006b4 - ld de, String1006c6 - call PlaceString - ret - -.asm_1006b4 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ret - -.asm_1006bb - ld de, String1006ca - call PlaceString - ret - -String1006c2: - db "ふん @" -String1006c6: - db "びょう@" -String1006ca: - db "1じかんいじょう@" - -Function1006d3: - call UpdateTime - ld de, wcd34 - ld hl, wcd38 - -Function1006dc: - ld a, [hld] - ld c, a - ldh a, [hSeconds] - sub c - jr nc, .asm_1006e5 - add $3c - -.asm_1006e5 - ld [de], a - dec de - ld a, [hld] - ld c, a - ldh a, [hMinutes] - sbc c - jr nc, .asm_1006f0 - add $3c - -.asm_1006f0 - ld [de], a - dec de - ld a, [hl] - ld c, a - ldh a, [hHours] - sbc c - jr nc, .asm_1006fb - add MAX_HOUR - -.asm_1006fb - ld [de], a - ret - -MobileBattleResetTimer: - ld a, BANK(sMobileBattleTimer) - ld hl, sMobileBattleTimer - call OpenSRAM - xor a - ld [hli], a - ld [hli], a - ld [hli], a - call CloseSRAM - ret - -MobileBattleFixTimer: - ld a, BANK(sMobileBattleTimer) - ld hl, sMobileBattleTimer - call OpenSRAM - xor a ; MOBILE_BATTLE_ALLOWED_SECONDS - ld [hli], a - ld a, MOBILE_BATTLE_ALLOWED_MINUTES - ld [hli], a - xor a - ld [hli], a - call CloseSRAM - ret - -Function100720: - xor a - ld [wcd6a], a - call UpdateTime - ldh a, [hHours] - ld [wcd72], a - ldh a, [hMinutes] - ld [wcd73], a - ldh a, [hSeconds] - ld [wcd74], a - ld a, BANK(sMobileBattleTimer) - ld hl, sMobileBattleTimer - call OpenSRAM - ld a, [hli] - ld [wcd6c], a - ld a, [hli] - ld [wcd6d], a - ld a, [hli] - ld [wcd6e], a - call CloseSRAM - ld a, [wcd6d] - ld [wcd6b], a - ret - -Function100754: - call UpdateTime - ldh a, [hHours] - ld [wcd72], a - ldh a, [hMinutes] - ld [wcd73], a - ldh a, [hSeconds] - ld [wcd74], a - ld a, [wcd6d] - ld [wcd6b], a - ld hl, wcd2a - res 6, [hl] - ret - -Function100772: - push de - ld hl, wcd6c - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr nz, .asm_10078c - inc hl - inc de - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr nz, .asm_10078c - inc hl - inc de - ld a, [de] - cp [hl] - jr c, .asm_10079a - jr z, .asm_10079a - -.asm_10078c - pop hl - ld a, [hli] - ld [wcd6c], a - ld a, [hli] - ld [wcd6d], a - ld a, [hli] - ld [wcd6e], a - ret - -.asm_10079a - pop de - ret - -Function10079c: - ld a, [wcd21] - cp $01 - jr nz, .dont_quit - ld hl, wcd2a - bit 5, [hl] - jr nz, .dont_quit - ld hl, wcd2a - bit 6, [hl] - jr nz, .dont_quit - ld a, [wcd6a] - add c - cp 60 - jr nc, .overflow - ld [wcd6a], a - and a - ret - -.overflow - sub 60 - ld [wcd6a], a - ld d, b - push de - call Function1007f6 - pop de - jr c, .quit - ld a, c - and a - jr nz, .quit - ld a, b - cp 10 - jr nc, .quit - ld a, d - and a - ret z - ld a, [wcd6b] - cp b - ret z - ld a, b - ld [wcd6b], a - call Function1008e0 - and a - ret - -.quit - call Function1008e0 - ld hl, wcd2a - set 4, [hl] - ld a, $fc - ld [wcd2b], a - scf - ret - -.dont_quit - and a - ret - -Function1007f6: - call UpdateTime - ld hl, wcd74 - ld de, wcd71 - call Function1006dc - ld a, $04 - call OpenSRAM - ld hl, $a802 - call Function100826 - call CloseSRAM - ld hl, wcd6e - call Function100826 - ldh a, [hHours] - ld [wcd72], a - ldh a, [hMinutes] - ld [wcd73], a - ldh a, [hSeconds] - ld [wcd74], a - ret - -Function100826: - ld a, [wcd71] - add [hl] - sub $3c - jr nc, .asm_100830 - add $3c - -.asm_100830 - ld [hld], a - ccf - ld a, [wcd70] - adc [hl] - sub $3c - jr nc, .asm_10083c - add $3c - -.asm_10083c - ld [hld], a - ld b, a - ccf - ld a, [wcd6f] - adc [hl] - ld [hl], a - ld c, a - ret - -Function100846: - ld hl, wcd2a - bit 5, [hl] - jr nz, .asm_10087c - ld a, [wcd6e] - ld c, a - ld a, 0 - sub c - jr nc, .asm_100858 - add $3c - -.asm_100858 - ld [wStringBuffer2 + 2], a - ld a, [wcd6d] - ld c, a - ld a, $0a - sbc c - ld [wStringBuffer2 + 1], a - xor a - ld [wStringBuffer2], a - ld de, String_10088e - hlcoord 1, 14 - call PlaceString - ld de, wStringBuffer2 - hlcoord 4, 16 - call Function100697 - ret - -.asm_10087c - ld de, String_10088e - hlcoord 1, 14 - call PlaceString - ld h, b - ld l, c - ld de, String_10089f - call PlaceString - ret - -String_10088e: - db "モバイルたいせん できる" - next "じかん@" - -String_10089f: - db " むせいげん@" - -MobileBattleGetRemainingTime: -; Calculates the difference between 10 minutes and sMobileBattleTimer -; Returns minutes in c and seconds in b - ld a, BANK(sMobileBattleTimer) - ld hl, sMobileBattleTimer - call OpenSRAM - ld a, [hli] - ld [wStringBuffer2], a - ld a, [hli] - ld [wStringBuffer2 + 1], a - ld a, [hli] - ld [wStringBuffer2 + 2], a - call CloseSRAM - ld a, [wStringBuffer2 + 2] - ld b, a - ld a, MOBILE_BATTLE_ALLOWED_SECONDS - sub b - jr nc, .no_carry_seconds - add 60 -.no_carry_seconds - ld b, a - ld a, [wStringBuffer2 + 1] - ld c, a - ld a, MOBILE_BATTLE_ALLOWED_MINUTES - sbc c - ld c, a - jr c, .fail - ld a, [wStringBuffer2] - and a - jr nz, .fail - ret - -.fail - call MobileBattleFixTimer - ld c, 0 - ret - -Function1008e0: - ldh a, [hBGMapMode] - ld b, a - ldh a, [hVBlank] - ld c, a - push bc - xor a - ldh [hBGMapMode], a - ld a, $03 - ldh [hVBlank], a - call Function100970 - call Function100902 - call Function100989 - call DelayFrame - pop bc - ld a, c - ldh [hVBlank], a - ld a, b - ldh [hBGMapMode], a - ret - -Function100902: - hlcoord 3, 10 - ld b, $01 - ld c, $0b - call Textbox - ld a, [wcd6d] - ld c, a - ld a, $0a - sub c - ld [wStringBuffer2], a - jr z, .asm_10093f - ld de, .string_100966 - hlcoord 4, 11 - call PlaceString - hlcoord 8, 11 - lb bc, 1, 2 - ld de, wStringBuffer2 - call PrintNum - ld de, SFX_TWO_PC_BEEPS - call PlaySFX - farcall ReloadMapPart - ld c, $3c - call DelayFrames - ret - -.asm_10093f - ld de, .string_10095a - hlcoord 4, 11 - call PlaceString - ld de, SFX_4_NOTE_DITTY - call PlaySFX - farcall ReloadMapPart - ld c, 120 - call DelayFrames - ret - -.string_10095a - db "たいせん しゅうりょう@" -.string_100966 - db "のこり   ふん!@" - -Function100970: - hlcoord 0, 0 - ld de, w3_dc00 - call Function1009a5 - hlcoord 0, 0, wAttrmap - ld de, w3_dd68 - call Function1009a5 - call Function1009d2 - call Function1009ae - ret - -Function100989: - ld hl, w3_dc00 - decoord 0, 0 - call Function1009a5 - call Function1009ae - farcall ReloadMapPart - ld hl, w3_dd68 - decoord 0, 0, wAttrmap - call Function1009a5 - ret - -Function1009a5: - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, $03 - call FarCopyWRAM - ret - -Function1009ae: - ldh a, [rSVBK] - push af - ld a, $03 - ldh [rSVBK], a - - ld hl, w3_d800 - decoord 0, 0, wAttrmap - ld c, SCREEN_WIDTH - ld b, SCREEN_HEIGHT -.loop_row - push bc -.loop_col - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop_col - ld bc, BG_MAP_WIDTH - SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .loop_row - - pop af - ldh [rSVBK], a - ret - -Function1009d2: - ldh a, [rSVBK] - push af - ld a, $03 - ldh [rSVBK], a - - ldh a, [rVBK] - push af - ld a, $01 - ldh [rVBK], a - - ld hl, w3_d800 - debgcoord 0, 0 - lb bc, $03, $24 - call Get2bpp - - pop af - ldh [rVBK], a - - pop af - ldh [rSVBK], a - ret - -Function1009f3: - ldh a, [hJoyDown] - and SELECT + A_BUTTON - cp SELECT + A_BUTTON - jr nz, .select_a - ld hl, wcd2a - set 4, [hl] - ld a, $f8 - ld [wcd2b], a - scf - ret - -.select_a - xor a - ret - -_LinkBattleSendReceiveAction: - call .StageForSend - ld [wLinkBattleSentAction], a - vc_hook Wireless_start_exchange - farcall PlaceWaitingText - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .not_mobile - - call .MobileBattle_SendReceiveAction - call Function100da5 - farcall FinishBattleAnim - jr .done - -.not_mobile - call .LinkBattle_SendReceiveAction - -.done - ret - -.StageForSend: - ld a, [wBattlePlayerAction] - and a ; BATTLEPLAYERACTION_USEMOVE? - jr nz, .switch - ld a, [wCurPlayerMove] - ld b, BATTLEACTION_STRUGGLE - cp STRUGGLE - jr z, .struggle - ld b, BATTLEACTION_SKIPTURN - cp $ff - jr z, .struggle - ld a, [wCurMoveNum] - jr .use_move - -.switch - ld a, [wCurPartyMon] - add BATTLEACTION_SWITCH1 - jr .use_move - -.struggle - ld a, b - -.use_move - and $0f - ret - -.LinkBattle_SendReceiveAction: - ld a, [wLinkBattleSentAction] - ld [wPlayerLinkAction], a - ld a, $ff - ld [wOtherPlayerLinkAction], a -.waiting - call LinkTransfer - call DelayFrame - ld a, [wOtherPlayerLinkAction] - inc a - jr z, .waiting - - vc_hook Wireless_end_exchange - vc_patch Wireless_net_delay_3 -if DEF(_CRYSTAL11_VC) - ld b, 26 -else - ld b, 10 -endc - vc_patch_end -.receive - call DelayFrame - call LinkTransfer - dec b - jr nz, .receive - - vc_hook Wireless_start_send_zero_bytes - vc_patch Wireless_net_delay_4 -if DEF(_CRYSTAL11_VC) - ld b, 26 -else - ld b, 10 -endc - vc_patch_end -.acknowledge - call DelayFrame - call LinkDataReceived - dec b - jr nz, .acknowledge - - vc_hook Wireless_end_send_zero_bytes - ld a, [wOtherPlayerLinkAction] - ld [wBattleAction], a - ret - -.MobileBattle_SendReceiveAction: - call Function100acf - call StartMobileInactivityTimer - ld a, 0 - ld [wcd27], a -.asm_100a92 - call DelayFrame - call GetJoypad - farcall Function100382 - ld c, $01 - ld b, $03 - push bc - call AdvanceMobileInactivityTimerAndCheckExpired - pop bc - jr c, .asm_100ac7 - ld b, $01 - call Function10079c - jr c, .asm_100ac7 - call Function1009f3 - jr c, .asm_100ac7 - ld a, [wcd2b] - and a - jr nz, .asm_100ac7 - ld a, [wcd27] - bit 7, a - jr z, .asm_100a92 - call Function100ae7 - jr .asm_100ace - -.asm_100ac7 - ld a, $0f - ld [wd430], a - jr .asm_100ace - -.asm_100ace - ret - -Function100acf: - ld de, Unknown_100b0a - ld hl, wccb5 - ld a, [wLinkBattleSentAction] - ld [hli], a - ld c, $01 -.asm_100adb - ld a, [de] - inc de - ld [hli], a - inc c - and a - jr nz, .asm_100adb - ld a, c - ld [wccb4], a - ret - -Function100ae7: - ld de, Unknown_100b0a - ld hl, wcc62 -.asm_100aed - ld a, [de] - inc de - and a - jr z, .asm_100af8 - cp [hl] - jr nz, .asm_100aff - inc hl - jr .asm_100aed - -.asm_100af8 - ld a, [wcc61] - ld [wd430], a - ret - -.asm_100aff - ld a, $0f - ld [wd430], a - ld a, $f1 - ld [wcd2b], a - ret - -pushc -setcharmap ascii - -Unknown_100b0a: - db "tetsuji", 0 - -popc - -Mobile_LoadBattleMenu: - call Function100dd8 - ret c - ld hl, BattleMenuHeader - ld a, BANK(BattleMenuHeader) - ld de, LoadMenuHeader - call FarCall_de - ld a, BANK(BattleMenuHeader) - ld [wMenuData_2DMenuItemStringsBank], a - ld a, [wBattleMenuCursorPosition] - ld [wMenuCursorPosition], a - call Function100e72 - call Function100b45 - farcall InitPartyMenuBGPal7 - call Function100ed4 - ld a, [wMenuCursorPosition] - ld [wBattleMenuCursorPosition], a - call ExitMenu - ret - -Function100b45: - call Function100b7a -.loop - call Mobile_SetOverworldDelay - farcall MobileMenuJoypad - push bc - farcall HDMATransferTilemapToWRAMBank3 - call Function100e2d - pop bc - jr c, .asm_100b6b - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - farcall Mobile_GetMenuSelection - ret - -.asm_100b6b - ld a, [w2DMenuNumCols] - ld c, a - ld a, [w2DMenuNumRows] - call SimpleMultiply - ld [wMenuCursorPosition], a - and a - ret - -Function100b7a: - ld hl, CopyMenuData - ld a, [wMenuData_2DMenuItemStringsBank] - rst FarCall - farcall Draw2DMenu - farcall MobileTextBorder - call UpdateSprites - call ApplyTilemap - farcall Init2DMenuCursorPosition - ld hl, w2DMenuFlags1 - set 7, [hl] - ret - -Mobile_MoveSelectionScreen: - xor a - ld [wSwappingMove], a - farcall CheckPlayerHasUsableMoves - ret z - call Function100dd8 - jp c, xor_a_dec_a - call Function100e72 - call .GetMoveSelection - push af - farcall InitPartyMenuBGPal7 - call Function100ed4 - pop af - ret - -.GetMoveSelection: - xor a - ldh [hBGMapMode], a - call .ListMoves - call Function100c98 -.master_loop - farcall MoveInfoBox -.loop - call Mobile_SetOverworldDelay - farcall MobileMenuJoypad - push bc - farcall HDMATransferTilemapToWRAMBank3 - call Function100e2d - pop bc - jr c, .b_button - ld a, [wMenuJoypadFilter] - and c - bit D_UP_F, a - jp nz, .d_up - bit D_DOWN_F, a - jp nz, .d_down - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - jr .loop - -.d_up - ld a, [wMenuCursorY] - and a - jp nz, .master_loop - ld a, [wNumMoves] - inc a - ld [wMenuCursorY], a - jp .master_loop - -.d_down - ld a, [wMenuCursorY] - ld b, a - ld a, [wNumMoves] - inc a - inc a - cp b - jp nz, .master_loop - ld a, $01 - ld [wMenuCursorY], a - jp .master_loop - -.b_button - ld a, [wMenuCursorY] - dec a - ld [wCurMoveNum], a - ld a, $01 - and a - ret - -.a_button - ld a, [wMenuCursorY] - dec a - ld [wCurMoveNum], a - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - ld hl, wBattleMonPP - add hl, bc - ld a, [hl] - and $3f - jr z, .no_pp_left - ld a, [wPlayerDisableCount] - swap a - and $0f - dec a - cp c - jr z, .move_disabled - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - ld hl, wBattleMonMoves - add hl, bc - ld a, [hl] - ld [wCurPlayerMove], a - xor a - ret - -.move_disabled - ld hl, BattleText_TheMoveIsDisabled - jr .print_text - -.no_pp_left - ld hl, BattleText_TheresNoPPLeftForThisMove - -.print_text - call StdBattleTextbox - call SafeLoadTempTilemapToTilemap - jp .GetMoveSelection - -.ListMoves: - hlcoord 0, 8 - ld b, 8 - ld c, 8 - call Textbox - ld hl, wBattleMonMoves - ld de, wListMoves_MoveIndicesBuffer - ld bc, NUM_MOVES - call CopyBytes - ld a, SCREEN_WIDTH * 2 - ld [wListMovesLineSpacing], a - hlcoord 2, 10 - predef ListMoves - ret - -Function100c98: - ld de, .data - call Load2DMenuData - ld a, [wNumMoves] - inc a - ld [w2DMenuNumRows], a - ld a, [wCurMoveNum] - inc a - ld [wMenuCursorY], a - ret - -.data: - db 10, 1 ; cursor start y, x - db -1, 1 ; rows, columns - db $a0, $00 ; flags - dn 2, 0 ; cursor offsets - db D_UP | D_DOWN | A_BUTTON | B_BUTTON ; accepted buttons - -Mobile_PartyMenuSelect: - call Function100dd8 - ret c - ld hl, w2DMenuFlags1 - set 7, [hl] - res 6, [hl] -.loop - call Mobile_SetOverworldDelay - farcall MobileMenuJoypad - push bc - farcall PlaySpriteAnimations - farcall HDMATransferTilemapToWRAMBank3 - call MobileComms_CheckInactivityTimer - pop bc - jr c, .done - ld a, [wMenuJoypadFilter] - and c - jr z, .loop - call PlaceHollowCursor - ld a, [wPartyCount] - inc a - ld b, a - ld a, [wMenuCursorY] - cp b - jr z, .done - ld [wPartyMenuCursor], a - ldh a, [hJoyLast] - ld b, a - bit 1, b - jr nz, .done - ld a, [wMenuCursorY] - dec a - ld [wCurPartyMon], a - ld c, a - ld b, 0 - ld hl, wPartySpecies - add hl, bc - ld a, [hl] - ld [wCurPartySpecies], a - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - and a - ret - -.done - ld de, SFX_READ_TEXT_2 - call PlaySFX - call WaitSFX - scf - ret - -MobileBattleMonMenu: - call Function100dd8 - ret c - call Function100d67 - ld hl, w2DMenuFlags1 - set 7, [hl] - res 6, [hl] -.asm_100d30 - call Mobile_SetOverworldDelay - farcall MobileMenuJoypad - push bc - farcall PlaySpriteAnimations - farcall HDMATransferTilemapToWRAMBank3 - call MobileComms_CheckInactivityTimer - pop bc - jr c, .asm_100d54 - ld a, [wMenuJoypadFilter] - and c - jr nz, .asm_100d56 - jr .asm_100d30 - -.asm_100d54 - scf - ret - -.asm_100d56 - push af - ld de, SFX_READ_TEXT_2 - call PlaySFX - pop af - bit 1, a - jr z, .asm_100d65 - ret z - scf - ret - -.asm_100d65 - and a - ret - -Function100d67: - ld hl, .MenuHeader - call CopyMenuHeader - xor a - ldh [hBGMapMode], a - call MenuBox - call UpdateSprites - call PlaceVerticalMenuItems - call WaitBGMap - call CopyMenuData - call InitVerticalMenuCursor - ld hl, w2DMenuFlags1 - set 6, [hl] - ret - -.MenuHeader: - db 0 ; flags - menu_coords 11, 11, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw .MenuData - db 1 ; default option - -.MenuData: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 3 - db "いれかえる@" ; TRADE - db "つよさをみる@" ; STATS - db "キャンセル@" ; CANCEL - -Function100da5: - ld hl, wcd2a - res 3, [hl] - ld hl, wcd29 - res 0, [hl] - ret - -Function100db0: - ld hl, wcd2a - bit 3, [hl] - jr nz, .asm_100dbe - ld hl, wcd2a - set 3, [hl] - scf - ret - -.asm_100dbe - xor a - ret - -Function100dc0: - ld a, [wLinkMode] - cp LINK_MOBILE - jr nz, .mobile - ld hl, wcd2a - bit 3, [hl] - jr z, .mobile - scf - ret - -.mobile - xor a - ret - -Mobile_SetOverworldDelay: - ld a, 30 - ld [wOverworldDelay], a - ret - -Function100dd8: - ld c, $01 - ld b, $03 - farcall AdvanceMobileInactivityTimerAndCheckExpired - jr c, .asm_100dfb - ld c, $3c - ld b, $01 - call Function10079c - jr c, .asm_100dfb - farcall Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100dfb - xor a - ret - -.asm_100dfb - scf - ret - -MobileComms_CheckInactivityTimer: - ld a, [wOverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - farcall AdvanceMobileInactivityTimerAndCheckExpired ; useless to farcall - pop bc - jr c, .quit - ld b, 1 - call Function10079c - jr c, .quit - call Function1009f3 - jr c, .quit - farcall Function10032e ; useless to farcall - ld a, [wcd2b] - and a - jr nz, .quit - xor a - ret - -.quit - scf - ret - -Function100e2d: - ld a, [wOverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 3 - push bc - farcall AdvanceMobileInactivityTimerAndCheckExpired - pop bc - jr c, .asm_100e61 - ld b, 1 - call Function10079c - jr c, .asm_100e61 - call Function1009f3 - jr c, .asm_100e61 - farcall Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_100e61 - call Function100e63 - call Function100e84 - xor a - ret - -.asm_100e61 - scf - ret - -Function100e63: - ld a, e - cp $02 - ret nz - call Function100db0 - ret nc - ld de, SFX_ELEVATOR_END - call PlaySFX - ret - -Function100e72: - xor a - ld hl, wcd29 - bit 0, [hl] - jr z, .asm_100e7c - ld a, $0a - -.asm_100e7c - ld [wcd67], a - xor a - ld [wcd68], a - ret - -Function100e84: - ld a, [wcd67] - ld hl, Jumptable_100e8c - rst JumpTable - ret - -Jumptable_100e8c: - dw Function100ea2 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100eb4 - dw Function100eae - dw Function100ec4 - -Function100ea2: - call Function100dc0 - ret nc - ld hl, wcd29 - set 0, [hl] - call Function100ec5 - -Function100eae: - scf - call Function100eca - jr asm_100eb8 - -Function100eb4: - and a - call Function100eca - -asm_100eb8: - ld hl, wcd68 - inc [hl] - ld a, [hl] - cp $02 - ret c - ld [hl], 0 - jr Function100ec5 - -Function100ec4: - ret - -Function100ec5: - ld hl, wcd67 - inc [hl] - ret - -Function100eca: - farcall Mobile_InitPartyMenuBGPal7 - call Function100ed4 - ret - -Function100ed4: - farcall ApplyPals - ld a, TRUE - ldh [hCGBPalUpdate], a - ret - -Function100edf: - ld hl, Unknown_100fc0 - ld c, 1 - jr Function100f02 - -Function100ee6: - ld hl, Unknown_100fc0 - ld c, 2 - jr Function100f02 - -Function100eed: - ld hl, Unknown_100feb - ld c, 1 - jr Function100f02 - -Function100ef4: - ld hl, Unknown_100ff3 - ld c, 1 - jr Function100f02 - -Function100efb: ; unreferenced - ld hl, Unknown_10102c - ld c, 1 - jr Function100f02 - -Function100f02: - ld a, c - ld [wStringBuffer2], a - ; someting that was previously stored in de gets backed up to here - ld a, e - ld [wStringBuffer2 + 1], a - ld a, d - ld [wStringBuffer2 + 2], a - ; empty this - xor a - ld [wStringBuffer2 + 4], a - ld [wStringBuffer2 + 5], a -.loop - ld a, [hl] - cp $ff - jr z, .done - ld [wStringBuffer2 + 3], a ; bank - push hl - inc hl - ; addr 1 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ; size - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ; addr 2 - ld a, [hli] - ld h, [hl] - ld l, a - call Function100f3d - ; next line - pop hl - ld de, 7 - add hl, de - jr .loop - -.done - ; recover the values into bc - ld a, [wStringBuffer2 + 4] - ld c, a - ld a, [wStringBuffer2 + 5] - ld b, a - ret - -Function100f3d: - ; parameter - ld a, [wStringBuffer2] - cp $02 - jr z, .two - cp $01 - jr z, .one - cp $03 - jr z, .three - ret - -.three - ; what was once in de gets copied to hl, - ; modified by Function100f8d, and put back - ; into this backup - ld a, [wStringBuffer2 + 1] - ld l, a - ld a, [wStringBuffer2 + 2] - ld h, a - call Function100f8d - ld a, l - ld [wStringBuffer2 + 1], a - ld a, h - ld [wStringBuffer2 + 2], a - ret - -.two - ; hl gets backed up to de, then - ; do the same as in .three - ld d, h - ld e, l - ld a, [wStringBuffer2 + 1] - ld l, a - ld a, [wStringBuffer2 + 2] - ld h, a - call Function100f8d - ld a, l - ld [wStringBuffer2 + 1], a - ld a, h - ld [wStringBuffer2 + 2], a - ret - -.one - ; de gets copied to hl, then - ; load the backup into de, - ; finally run Function100f8d - ; and store the de result - ld h, d - ld l, e - ld a, [wStringBuffer2 + 1] - ld e, a - ld a, [wStringBuffer2 + 2] - ld d, a - call Function100f8d - ld a, e - ld [wStringBuffer2 + 1], a - ld a, d - ld [wStringBuffer2 + 2], a - ret - -Function100f8d: - push hl - ld a, [wStringBuffer2 + 4] - ld l, a - ld a, [wStringBuffer2 + 5] - ld h, a - add hl, bc - ld a, l - ld [wStringBuffer2 + 4], a - ld a, h - ld [wStringBuffer2 + 5], a - pop hl - ld a, [wStringBuffer2 + 3] - bit 7, a - res 7, a - jr z, .sram - and a - jr nz, .far_wram - call CopyBytes - ret - -.far_wram - and $7f - call FarCopyWRAM - ret - -.sram - call OpenSRAM - call CopyBytes - call CloseSRAM - ret - -MACRO macro_100fc0 - ; first byte: - ; Bit 7 set: Not SRAM - ; Lower 7 bits: Bank if SRAM - ; address, size[, OT address] - db ($80 * (\1 >= SRAM_End)) | (BANK(\1) * (\1 < SRAM_End)) - dw \1, \2 - if _NARG == 3 - dw \3 - else - dw NULL - endc -ENDM - -Unknown_100fc0: - macro_100fc0 wPlayerName, NAME_LENGTH, wOTPlayerName - macro_100fc0 wPartyCount, 1 + PARTY_LENGTH + 1, wOTPartyCount - macro_100fc0 wPlayerID, 2, wOTPlayerID - macro_100fc0 wPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, wOTPartyMons - macro_100fc0 wPartyMonOTs, NAME_LENGTH * PARTY_LENGTH, wOTPartyMonOTs - macro_100fc0 wPartyMonNicknames, MON_NAME_LENGTH * PARTY_LENGTH, wOTPartyMonNicknames - db -1 ; end - -Unknown_100feb: - macro_100fc0 sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH - db -1 ; end - -Unknown_100ff3: - macro_100fc0 wdc41, 1 - macro_100fc0 wPlayerName, NAME_LENGTH - macro_100fc0 wPlayerName, NAME_LENGTH - macro_100fc0 wPlayerID, 2 - macro_100fc0 wSecretID, 2 - macro_100fc0 wPlayerGender, 1 - macro_100fc0 s4_a603, 8 - macro_100fc0 sEZChatMessages, EASY_CHAT_MESSAGE_LENGTH * 4 - db -1 ; end - -Unknown_10102c: - macro_100fc0 wOTPlayerName, NAME_LENGTH - macro_100fc0 wOTPlayerID, 2 - macro_100fc0 wOTPartyMonNicknames, MON_NAME_LENGTH * PARTY_LENGTH - macro_100fc0 wOTPartyMonOTs, NAME_LENGTH * PARTY_LENGTH - macro_100fc0 wOTPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH - db -1 ; end - -Function101050: - call Function10107d - ld a, [wOTPartyCount] -rept 2 ; ??? - ld hl, wc608 -endr - ld bc, wc7bb - wc608 - call Function1010de - ld hl, wc7bb - ld [hl], e - inc hl - ld [hl], d - ld a, BANK(s7_a001) - call OpenSRAM - ld hl, wc608 - ld de, s7_a001 - ld bc, wc7bd - wc608 - call CopyBytes - call CloseSRAM - ret - -Function10107d: - xor a - ld hl, wc608 - ld bc, wc7bd - wc608 - call ByteFill - ld hl, wOTPlayerName - ld de, wc608 - ld bc, NAME_LENGTH - call CopyBytes - ld hl, wd271 - ld a, [hli] - ld [wc608 + 11], a - ld a, [hl] - ld [wc608 + 12], a - ld hl, wOTPartyMonNicknames - ld de, wc608 + 13 - ld bc, NAME_LENGTH - call .CopyAllFromOT - ld hl, wOTPartyMonOTs - ld de, wOTClassName + 1 - ld bc, NAME_LENGTH - call .CopyAllFromOT - ld hl, wOTPartyMon1Species - ld de, wc699 - ld bc, PARTYMON_STRUCT_LENGTH - call .CopyAllFromOT - ld a, $50 - ld [wc7b9], a - ld a, $33 - ld [wc7ba], a - ret - -.CopyAllFromOT: - push hl - ld hl, 0 - ld a, [wOTPartyCount] - call AddNTimes - ld b, h - ld c, l - pop hl - call CopyBytes - ret - -Function1010de: - push hl - push bc - ld de, 0 -.loop - ld a, [hli] - add e - ld e, a - ld a, d - adc 0 - ld d, a - dec bc - ld a, b - or c - jr nz, .loop - pop bc - pop hl - ret - -LoadSelectedPartiesForColosseum: - xor a - ld hl, wStringBuffer2 - ld bc, 9 - call ByteFill - ld hl, wPlayerMonSelection - ld de, wPartyCount - call .CopyThreeSpecies - ld hl, wPlayerMonSelection - ld de, wPartyMon1Species - call .CopyPartyStruct - ld hl, wPlayerMonSelection - ld de, wPartyMonOTs - call .CopyName - ld hl, wPlayerMonSelection - ld de, wPartyMonNicknames - call .CopyName - ld hl, wOTMonSelection - ld de, wOTPartyCount - call .CopyThreeSpecies - ld hl, wOTMonSelection - ld de, wOTPartyMon1Species - call .CopyPartyStruct - ld hl, wOTMonSelection - ld de, wOTPartyMonOTs - call .CopyName - ld hl, wOTMonSelection - ld de, wOTPartyMonNicknames - call .CopyName - ret - -.CopyThreeSpecies: -; Load the 3 choices to the buffer - push de - ld bc, wStringBuffer2 + NAME_LENGTH_JAPANESE - xor a -.party_loop - push af - call .GetNthSpecies - ld [bc], a - inc bc - pop af - inc a - cp 3 - jr nz, .party_loop - pop de -; Copy the 3 choices to the party - ld a, 3 - ld [de], a - inc de - ld hl, wStringBuffer2 + NAME_LENGTH_JAPANESE - ld bc, 3 - call CopyBytes - ld a, $ff - ld [de], a - ret - -.GetNthSpecies: -; Preserves hl and de -; Get the index of the Nth selection - push hl - add l - ld l, a - ld a, h - adc 0 - ld h, a - ld a, [hl] - pop hl -; Get the corresponding species - push de - inc de - add e - ld e, a - ld a, d - adc 0 - ld d, a - ld a, [de] - pop de - ret - -.CopyPartyStruct: - ld bc, PARTYMON_STRUCT_LENGTH - jr .ContinueCopy - -.CopyName: - ld bc, NAME_LENGTH - -.ContinueCopy: - ; Copy, via wc608... - ld a, LOW(wc608) - ld [wStringBuffer2], a - ld a, HIGH(wc608) - ld [wStringBuffer2 + 1], a - ; ... bc bytes... - ld a, c - ld [wStringBuffer2 + 2], a - ld a, b - ld [wStringBuffer2 + 3], a - ; ... to de... - ld a, e - ld [wStringBuffer2 + 4], a - ld a, d - ld [wStringBuffer2 + 5], a - ; ... 3 times. - ld a, 3 -.big_copy_loop - push af - ld a, [hli] - push hl - push af - call .GetDestinationAddress - call .GetCopySize - pop af - call AddNTimes - ld a, [wStringBuffer2] - ld e, a - ld a, [wStringBuffer2 + 1] - ld d, a - call CopyBytes - ld a, e - ld [wStringBuffer2], a - ld a, d - ld [wStringBuffer2 + 1], a - pop hl - pop af - dec a - jr nz, .big_copy_loop - call .GetCopySize - ld a, 3 - ld hl, 0 - call AddNTimes - ld b, h - ld c, l - call .GetDestinationAddress - ld d, h - ld e, l - ld hl, wc608 - call CopyBytes - ret - -.GetDestinationAddress: - ld a, [wStringBuffer2 + 4] - ld l, a - ld a, [wStringBuffer2 + 5] - ld h, a - ret - -.GetCopySize: - ld a, [wStringBuffer2 + 2] - ld c, a - ld a, [wStringBuffer2 + 3] - ld b, a - ret - -Function1011f1: - ld a, BANK(s4_a60c) - call OpenSRAM - ld a, [s4_a60c] - ld [wdc41], a - call CloseSRAM - ld hl, wdc41 - res 4, [hl] - ld hl, wGameTimerPaused - bit GAME_TIMER_MOBILE_F, [hl] - jr z, .skip - ld hl, wdc41 - set 4, [hl] - -.skip - call Function10209c - xor a - ld [wdc5f], a - ld [wdc60], a - ld a, LINK_MOBILE - ld [wLinkMode], a - ret - -Function101220: - xor a - ld [wLinkMode], a - ret - -Function101225: - ld d, 1 - ld e, BANK(Jumptable_101297) - ld bc, Jumptable_101297 - call Function100000 - jr Function10123d - -Function101231: - ld d, 2 - ld e, BANK(Jumptable_101297) - ld bc, Jumptable_101297 - call Function100000 - jr Function10123d - -Function10123d: - xor a - ld [wScriptVar], a - ld a, c - ld hl, Jumptable_101247 - rst JumpTable - ret - -Jumptable_101247: - dw Function101251 - dw Function10127d - dw Function10127c - dw Function10126c - dw Function101265 - -Function101251: - call UpdateSprites - call RefreshScreen - ld hl, ClosingLinkText - call Function1021e0 - call Function1020ea - ret c - call Function102142 - ret - -Function101265: - ld hl, LinkTerminatedText - call Function1021e0 - ret - -Function10126c: - call UpdateSprites - farcall Script_reloadmappart - ld hl, ClosingLinkText - call Function1021e0 - ret - -Function10127c: - ret - -Function10127d: - ret - -Function10127e: - ld a, [wdc5f] - and a - jr z, .zero - cp 1 - ld c, $27 - jr z, .load - cp 2 - ld c, $37 - jr z, .load -.zero - ld c, 0 -.load - ld a, c - ld [wMobileCommsJumptableIndex], a - ret - -Jumptable_101297: - dw Function101a97 ; 00 - dw Function101ab4 ; 01 - dw Function101475 ; 02 - dw Function101b0f ; 03 - dw Function101438 ; 04 - dw Function101b2b ; 05 - dw Function101b59 ; 06 - dw Function101475 ; 07 - dw Function101b70 ; 08 - dw Function101438 ; 09 - dw Function101b8f ; 0a - dw Function101d7b ; 0b - dw Function101d95 ; 0c - dw Function101475 ; 0d - dw Function101db2 ; 0e - dw Function101e4f ; 0f - dw Function101475 ; 10 - dw Function101e64 ; 11 - dw Function101e4f ; 12 - dw Function101475 ; 13 - dw Function101e64 ; 14 - dw Function101d95 ; 15 - dw Function101475 ; 16 - dw Function101db2 ; 17 - dw Function101dd0 ; 18 - dw Function101de3 ; 19 - dw Function101e39 ; 1a - dw Function101e09 ; 1b - dw Function101e4f ; 1c - dw Function101475 ; 1d - dw Function101e64 ; 1e - dw Function101d95 ; 1f - dw Function101475 ; 20 - dw Function101db2 ; 21 - dw Function101e09 ; 22 - dw Function101e31 ; 23 - dw Function101bc8 ; 24 - dw Function101438 ; 25 - dw Function101be5 ; 26 - dw Function101ac6 ; 27 - dw Function101ab4 ; 28 - dw Function101475 ; 29 - dw Function101c11 ; 2a - dw Function1014f4 ; 2b - dw Function101cc8 ; 2c - dw Function1014e2 ; 2d - dw Function1014e2 ; 2e - dw Function101d10 ; 2f - dw Function101d2a ; 30 - dw Function101d2a ; 31 - dw Function101507 ; 32 - dw Function10156d ; 33 - dw Function101557 ; 34 - dw Function10158a ; 35 - dw Function101c42 ; 36 - dw Function101aed ; 37 - dw Function101ab4 ; 38 - dw Function101475 ; 39 - dw Function101c2b ; 3a - dw Function1014f4 ; 3b - dw Function101cdf ; 3c - dw Function1014e2 ; 3d - dw Function1014e2 ; 3e - dw Function101d1e ; 3f - dw Function101d2a ; 40 - dw Function101d2a ; 41 - dw Function101507 ; 42 - dw Function10156d ; 43 - dw Function101544 ; 44 - dw Function10158a ; 45 - dw Function101c42 ; 46 - dw Function101c50 ; 47 - dw Function1014ce ; 48 - dw Function101cf6 ; 49 - dw Function101826 ; 4a - dw Function1017e4 ; 4b - dw Function1017f1 ; 4c - dw Function1018a8 ; 4d - dw Function1018d6 ; 4e - dw Function1017e4 ; 4f - dw Function1017f1 ; 50 - dw Function1018e1 ; 51 - dw Function1015df ; 52 - dw Function10167d ; 53 - dw Function10168a ; 54 - dw Function10162a ; 55 - dw Function1015be ; 56 - dw Function10167d ; 57 - dw Function10168a ; 58 - dw Function10161f ; 59 - dw Function10159d ; 5a - dw Function10167d ; 5b - dw Function10168a ; 5c - dw Function101600 ; 5d - dw Function101d03 ; 5e - dw Function101d6b ; 5f - dw Function10159d ; 60 - dw Function1014ce ; 61 - dw Function10168e ; 62 - dw Function101600 ; 63 - dw Function101913 ; 64 - dw Function10194b ; 65 - dw _SelectMonsForMobileBattle ; 66 - dw Function1017e4 ; 67 - dw Function1017f5 ; 68 - dw _StartMobileBattle ; 69 - dw Function101537 ; 6a - dw Function101571 ; 6b - dw Function101c92 ; 6c - dw Function10152a ; 6d - dw Function101571 ; 6e - dw Function101a4f ; 6f - dw Function101cbc ; 70 - dw Function101c62 ; 71 - dw Function101537 ; 72 - dw Function101571 ; 73 - dw Function101c92 ; 74 - dw Function10152a ; 75 - dw Function101571 ; 76 - dw Function101ca0 ; 77 - dw Function101475 ; 78 - dw Function101cbc ; 79 - -Function10138b: - farcall Function8adcc - ld c, 0 - jr c, .asm_101396 - inc c - -.asm_101396 - sla c - ld a, [wcd2f] - and a - jr z, .asm_10139f - inc c - -.asm_10139f - sla c - ld a, [wcd21] - cp $01 - jr z, .asm_1013a9 - inc c - -.asm_1013a9 - ret - -Function1013aa: - call ClearBGPalettes - call Call_ExitMenu - call ReloadTilesetAndPalettes - farcall Function106464 - call UpdateSprites - call FinishExitMenu - ret - -Function1013c0: - farcall BlankScreen - farcall Stubbed_Function106462 - farcall Function106464 - call FinishExitMenu - ret - -Function1013d6: - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - ret - -Function1013dd: - call CGBOnly_CopyTilemapAtOnce - ret - -Function1013e1: ; unreferenced - push de - inc de - ld b, a - ld c, 0 -.asm_1013e6 - inc c - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_1013f1 - dec b - jr nz, .asm_1013e6 - scf - -.asm_1013f1 - pop de - ld a, c - ld [de], a - ret - -Function1013f5: - ld a, [hli] - ld [de], a - inc de - ld c, a -.asm_1013f9 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .asm_1013f9 - ret - -Function101400: ; unreferenced - ld a, [de] - inc de - cp [hl] - jr nz, asm_101416 - inc hl - -Function101406: - ld c, a - ld b, 0 -.asm_101409 - ld a, [de] - inc de - cp [hl] - jr nz, asm_101416 - inc hl - dec bc - ld a, b - or c - jr nz, .asm_101409 - and a - ret - -asm_101416: - scf - ret - -Function101418: - call GetJoypad - ldh a, [hJoyDown] - and SELECT + A_BUTTON - cp SELECT + A_BUTTON - jr z, .asm_101425 - xor a - ret - -.asm_101425 - ld a, $f7 - ld [wcd2b], a - scf - ret - -Function10142c: - ld a, $01 - ld [wc305], a - farcall Function115e18 - ret - -Function101438: - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101457 - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Jumptable_101457: - dw Function10145b - dw Function101467 - -Function10145b: - ld a, $3c - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function101467: - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret - -Function101475: - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101494 - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Jumptable_101494: - dw Function10149a - dw Function1014a6 - dw Function1014b7 - -Function10149a: - ld a, $28 - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1014a6: - ld hl, wcd42 - dec [hl] - ret nz - ld a, $50 - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function1014b7: - call GetJoypad - ldh a, [hJoyPressed] - and A_BUTTON | B_BUTTON - jr nz, .asm_1014c5 - ld hl, wcd42 - dec [hl] - ret nz - -.asm_1014c5 - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret - -Function1014ce: - farcall Function100720 - farcall StartMobileInactivityTimer - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1014e2: - ld hl, wcd29 - set 6, [hl] - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1014f4: - farcall EnableMobile - ld hl, wcd29 - set 6, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101507: - ld de, wcd30 - ld hl, $40 - ld bc, $40 - ld a, MOBILEAPI_01 - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10151d: ; unreferenced - ld a, MOBILEAPI_1A - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10152a: - ld a, MOBILEAPI_1B - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101537: - ld a, MOBILEAPI_05 - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101544: - farcall StartMobileInactivityTimer - ld a, MOBILEAPI_09 - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101557: - farcall StartMobileInactivityTimer - ld hl, wcd53 - ld a, MOBILEAPI_04 - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10156d: - call Function101418 - ret c - -Function101571: - farcall Function10032e - ret c - ret z - ld a, e - cp $01 - jr z, .asm_101582 - ld [wcd2b], a - ret - -.asm_101582 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10158a: - farcall IncrementMobileInactivityTimerBy1Frame - ld a, [wMobileInactivityTimerMinutes] - cp $0a - jr c, Function10156d - ld a, $fb - ld [wcd2b], a - ret - -Function10159d: - ld de, wc608 - farcall Function100edf - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1015be: - ld de, wc608 - farcall Function100eed - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1015df: - ld de, wc608 - farcall Function100ef4 - ld de, wc608 - ld a, $05 - ld hl, w5_d800 - call Function10174c - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101600: - ld hl, w5_d800 - ld de, wc608 - ld bc, $1e0 - ld a, $05 - call FarCopyWRAM - ld de, wc608 - farcall Function100ee6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10161f: - call Function101649 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10162a: - call Function101663 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -MobileCopyTransferData: - ld de, wMobileTransferData - ld bc, $1e0 - call FarCopyWRAM - ret - -MobileCopyTransferData2: - ld hl, wMobileTransferData - ld bc, $1e0 - call FarCopyWRAM - ret - -Function101649: - ld a, BANK(w5_d800) - ld hl, w5_d800 - call MobileCopyTransferData - ld a, BANK(w5_da00) - ld de, w5_da00 - call MobileCopyTransferData2 - ret - -Function10165a: - ld a, BANK(w5_da00) - ld hl, w5_da00 - call MobileCopyTransferData - ret - -Function101663: - ld a, BANK(w5_dc00) - ld hl, w5_d800 - call MobileCopyTransferData - ld a, BANK(w5_dc00) - ld de, w5_dc00 - call MobileCopyTransferData2 - ret - -Function101674: ; unreferenced - ld a, BANK(w5_dc00) - ld hl, w5_dc00 - call MobileCopyTransferData - ret - -Function10167d: - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function10168a: - call Function101418 - ret c - -Function10168e: - ld b, 0 - ld c, $01 - farcall Function10079c - ret c - ld c, $01 - ld b, $03 - farcall AdvanceMobileInactivityTimerAndCheckExpired - ret c - ld a, [wcd26] - ld hl, Jumptable_1016c3 - rst JumpTable - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Jumptable_1016c3: - dw Function1016cf - dw Function1016de - dw Function1016f8 - dw Function101705 - dw Function101719 - dw Function101724 - -Function1016cf: - ld hl, wcd3a - inc [hl] - call Function10176f - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -Function1016de: - call Function10177b - jr nc, .asm_1016eb - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -.asm_1016eb - ld a, $ff - ld [wcd39], a - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -Function1016f8: - ld a, 0 - ld [wcd27], a - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -Function101705: - farcall Function100382 - ld a, [wcd27] - bit 7, a - ret z - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -Function101719: - call Function1017c7 - ld a, [wcd26] - inc a - ld [wcd26], a - ret - -Function101724: - ld a, [wcd39] - cp $ff - jr z, .asm_101731 - ld a, 0 - ld [wcd26], a - ret - -.asm_101731 - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret - -Unknown_10173a: - db $50 - -Function10173b: - push bc - push af - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [Unknown_10173a] - ld c, a - ld b, 0 - pop af - call AddNTimes - pop bc - ret - -Function10174c: - ld [wcd3d], a - ld a, l - ld [wcd3e], a - ld a, h - ld [wcd3f], a - ld a, e - ld [wcd3b], a - ld a, d - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, c - ld [wcd40], a - ld a, b - ld [wcd41], a - xor a - ld [wcd39], a - ld [wcd3a], a - ret - -Function10176f: - ld hl, wccb4 - ld bc, $54 - ld a, $11 - call ByteFill - ret - -Function10177b: - ld a, [Unknown_10173a] - ld c, a - ld b, 0 - ld a, [wcd3a] - ld hl, 0 - call AddNTimes - ld e, l - ld d, h - ld hl, wcd40 - ld a, [hli] - ld h, [hl] - ld l, a - ld a, l - sub e - ld l, a - ld a, h - sbc d - ld h, a - jr c, .asm_1017a0 - add hl, bc - call Function1017b0 - scf - ret - -.asm_1017a0 - ld a, $ff - ld [wcd39], a - add hl, bc - ld a, h - or l - ret z - ld c, l - ld b, h - call Function1017b0 - xor a - ret - -Function1017b0: - ld a, c - ld [wccb4], a - push bc - ld a, [wcd3a] - dec a - ld hl, wcd3b - call Function10173b - pop bc - ld de, wccb5 - call CopyBytes - ret - -Function1017c7: - ld a, [wcc60] - ld c, a - ld b, 0 - ld a, [wcd3a] - dec a - ld hl, wcd3e - call Function10173b - ld e, l - ld d, h - ld hl, wcc61 - ld a, [wcd3d] - call FarCopyWRAM - and a - ret - -Function1017e4: - ld a, 0 - ld [wcd27], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1017f1: - call Function101418 - ret c - -Function1017f5: - ld b, 0 - ld c, $01 - farcall Function10079c - ret c - ld c, $01 - ld b, $03 - farcall AdvanceMobileInactivityTimerAndCheckExpired - ret c - farcall Function100382 - ld a, [wcd27] - bit 7, a - jr nz, .next - ld hl, wcd29 - set 6, [hl] - ret - -.next - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101826: - ld a, [wcd21] - cp $02 - jr z, .asm_101833 - cp $01 - jr z, .asm_101844 - jr .asm_101869 - -.asm_101833 - ld hl, Unknown_10186f - ld de, wccb4 - call Function1013f5 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101844 - farcall Function103654 - ld a, c - ld hl, Unknown_101882 - cp $01 - jr z, .asm_10185b - ld hl, Unknown_101895 - cp $02 - jr z, .asm_10185b - jr .asm_101869 - -.asm_10185b - ld de, wccb4 - call Function1013f5 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101869 - ld a, $fe - ld [wcd2b], a - ret - -pushc -setcharmap ascii - -Unknown_10186f: - db .end - @ - db $19, $73, $09, $13, "trade_crystal" -.end - db 0 - -Unknown_101882: - db .end - @ - db $19, $67, $10, $01, "free__crystal" -.end - db 0 - -Unknown_101895: - db .end - @ - db $19, $67, $10, $01, "limit_crystal" -.end - db 0 - -popc - -Function1018a8: - ld hl, wccb5 - ld de, wcc61 - ld a, $04 - call Function101406 - jr c, .asm_1018d0 - ld hl, wccb9 - ld de, wcc65 - ld a, $06 - call Function101406 - jr c, .asm_1018ca - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1018ca - ld a, $f6 - ld [wcd2b], a - ret - -.asm_1018d0 - ld a, $f5 - ld [wcd2b], a - ret - -Function1018d6: - call Function1018ec - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1018e1: - call Function1018fb - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1018ec: - ld a, $0a - ld hl, wccb4 - ld [hli], a - ld c, a -.asm_1018f3 - call Random - ld [hli], a - dec c - jr nz, .asm_1018f3 - ret - -Function1018fb: - ld a, [wcd2f] - and a - jr z, .asm_101906 - ld hl, wcc61 - jr .asm_101909 - -.asm_101906 - ld hl, wccb5 - -.asm_101909 - ld de, wLinkBattleRNs - ld bc, 10 - call CopyBytes - ret - -Function101913: - ld hl, wcd2a - set 0, [hl] - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - xor a - ld [wc305], a - ld hl, wcd29 - res 7, [hl] - ld a, $90 - ldh [hWY], a - ld a, [wcd21] - cp $01 - jr z, .asm_10193f - cp $02 - jr z, .asm_101945 - ld a, $71 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_10193f - ld a, $66 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101945 - ld a, $65 - ld [wMobileCommsJumptableIndex], a - ret - -Function10194b: - call DisableSpriteUpdates - call ClearSprites - farcall Function1021f9 - ld hl, wcd29 - bit 3, [hl] - jr nz, .asm_101967 - call Function1013c0 - ld a, $71 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101967 - ld a, $60 - ld [wMobileCommsJumptableIndex], a - ret - -_SelectMonsForMobileBattle: - farcall BlankScreen - farcall Mobile_CommunicationStandby - ld hl, wcd29 - set 5, [hl] - ld hl, wcd2a - set 6, [hl] - ld a, $06 - ld [wccb4], a - ld hl, wPlayerMonSelection - ld de, wccb5 - ld bc, 3 - call CopyBytes - ld hl, wcd6c - ld a, [hli] - ld [wccb8], a - ld a, [hli] - ld [wccb9], a - ld a, [hl] - ld [wccba], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -_StartMobileBattle: - call CopyOtherPlayersBattleMonSelection - farcall Function100754 - xor a - ld [wdc5f], a - ld [wdc60], a - farcall BlankScreen - call SpeechTextbox - farcall Function100846 - ld c, 120 - call DelayFrames - farcall ClearTilemap - call .CopyOTDetails - call StartMobileBattle - ld a, [wcd2b] - cp $fc - jr nz, .asm_1019e6 - xor a - ld [wcd2b], a -.asm_1019e6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.CopyOTDetails: - ldh a, [rSVBK] - push af - ld a, BANK(w5_dc0d) - ldh [rSVBK], a - - ld bc, w5_dc0d - ld de, w5_dc11 - farcall GetMobileOTTrainerClass - - pop af - ldh [rSVBK], a - - ld a, c - ld [wOtherTrainerClass], a - ld hl, wOTPlayerName - ld de, wOTClassName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd2f] - and a - ld a, USING_INTERNAL_CLOCK - jr z, .got_link_player_number - ld a, USING_EXTERNAL_CLOCK -.got_link_player_number - ldh [hSerialConnectionStatus], a - ret - -StartMobileBattle: - ; force stereo and fast text speed - ld hl, wOptions - ld a, [hl] - push af - and (1 << STEREO) - or 1 ; 1 frame per character i.e. fast text - ld [hl], a - ld a, 1 - ld [wDisableTextAcceleration], a - farcall BattleIntro - farcall DoBattle - farcall ShowLinkBattleParticipantsAfterEnd - xor a - ld [wDisableTextAcceleration], a - ld a, CONNECTION_NOT_ESTABLISHED - ldh [hSerialConnectionStatus], a - pop af - ld [wOptions], a - ret - -Function101a4f: - ld a, 1 - ld [wDisableTextAcceleration], a - farcall DisplayLinkBattleResult - xor a - ld [wDisableTextAcceleration], a - farcall CleanUpBattleRAM - farcall LoadPokemonData - call Function1013c0 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -CopyOtherPlayersBattleMonSelection: - ld hl, wcc61 - ld de, wOTMonSelection - ld bc, 3 - call CopyBytes - ld de, wcc64 - farcall Function100772 - farcall Function101050 - farcall LoadSelectedPartiesForColosseum - ret - -Function101a97: - farcall Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101ab4: - ld e, $01 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101ac6: - farcall Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - xor a - ld [wcd2f], a - ld de, wdc42 - call Function102068 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101aed: - farcall Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld hl, wcd29 - set 6, [hl] - ld a, $01 - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101b0f: - ld c, 0 - call Function10142c - ld e, $03 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret - -Function101b2b: - farcall Function100579 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_101b51 - ld a, $02 - ld [wcd2b], a - ret - -.asm_101b51 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101b59: - ld c, $02 - call Function10142c - ld e, $02 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101b70: - ld c, $02 - call Function10142c - ld e, $04 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - call UpdateSprites - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret - -Function101b8f: - farcall Function1005c3 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_101bbc - ld a, $01 - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101bbc - xor a - ld [wcd2f], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101bc8: - ld c, $02 - call Function10142c - ld e, $08 - call Function101ee4 - call Function102048 - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101be5: - farcall Function100579 - ld hl, wcd29 - set 2, [hl] - ld a, [wcd26] - bit 7, a - ret z - call Function1013dd - ld a, 0 - ld [wcd26], a - ld a, [wMenuCursorY] - cp $01 - jr nz, .asm_101c0b - ld a, $2a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101c0b - ld a, $02 - ld [wcd2b], a - ret - -Function101c11: - ld a, $01 - ld [wdc5f], a - ld e, $09 - call Function101ee4 - call Function102048 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101c2b: - ld a, $02 - ld [wdc5f], a - ld e, $07 - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101c42: - ld hl, wcd2a - set 1, [hl] - call Function100665 - ld a, $47 - ld [wMobileCommsJumptableIndex], a - ret - -Function101c50: - ld e, $0a - call Function101ee4 - ld hl, wcd29 - set 2, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101c62: - farcall Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $01 - call Function10142c - xor a - ld [wc30d], a - ld hl, wcd29 - res 4, [hl] - ld e, $0b - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret - -Function101c92: - farcall Function100675 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101ca0: - ld c, $02 - call Function10142c - ld e, $0c - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret - -Function101cbc: - ld a, $01 - ld [wcd2b], a - ret - -Function101cc2: ; unreferenced - ld a, $02 - ld [wcd2b], a - ret - -Function101cc8: - ld a, $01 - ld [wc314], a - ld a, $01 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101cdf: - ld a, $06 - ld [wc314], a - ld a, $01 - ld [wc30d], a - ld hl, wcd29 - set 4, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101cf6: - ld a, $0b - ld [wc314 + 1], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101d03: - ld a, $0e - ld [wc314 + 1], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101d10: - ld c, $01 - call Function10142c - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - jr Function101d2a - -Function101d1e: - ld c, $03 - call Function10142c - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function101d2a: - call Function101418 - ret c - ld hl, wcd29 - set 6, [hl] - ld a, [wcd26] - ld hl, Jumptable_101d4d - rst JumpTable - ld a, [wcd26] - bit 7, a - ret z - ld a, 0 - ld [wcd26], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Jumptable_101d4d: - dw Function101d51 - dw Function101d5d - -Function101d51: - ld a, $3c - ld [wcd42], a - ld a, [wcd26] - inc a - ld [wcd26], a - -Function101d5d: - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wcd26] - set 7, a - ld [wcd26], a - ret - -Function101d6b: - ld a, [wc30d] - and a - ret nz - ld hl, wcd29 - res 4, [hl] - ld a, $64 - ld [wMobileCommsJumptableIndex], a - ret - -Function101d7b: - farcall Function10138b - ld b, 0 - ld hl, Unknown_101d8d - add hl, bc - ld c, [hl] - ld a, c - ld [wMobileCommsJumptableIndex], a - ret - -Unknown_101d8d: - db $15, $15, $1f, $1f, $0c, $12, $3a, $3a - -Function101d95: - call Function101ee2 - call LoadStandardMenuHeader - ld e, $0e - call Function101ee4 - ld hl, wcd29 - set 5, [hl] - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret - -Function101db2: - farcall Function103302 - call ExitMenu - ld hl, wcd29 - set 5, [hl] - jr c, .asm_101dca - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101dca - ld a, $02 - ld [wcd2b], a - ret - -Function101dd0: - ld hl, wdc41 - bit 1, [hl] - jr nz, .asm_101ddd - ld a, $19 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101ddd - ld a, $1b - ld [wMobileCommsJumptableIndex], a - ret - -Function101de3: - call Function101ecc - call Function101ead - jr c, .asm_101df3 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101df3 - call Function101e98 - jr c, .asm_101e00 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e00 - call Function101ed3 - ld a, $02 - ld [wcd2b], a - ret - -Function101e09: - call Function101ead - jr c, .asm_101e16 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e16 - call Function101ecc - call Function101e98 - push af - call Function101ed3 - pop af - jr c, .asm_101e2b - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e2b - ld a, $02 - ld [wcd2b], a - ret - -Function101e31: - ld a, $3a - ld [wMobileCommsJumptableIndex], a - jp Function101c2b - -Function101e39: - call Function1020bf - push af - call Function101ed3 - pop af - jr c, .asm_101e49 - ld a, $2a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e49 - ld a, $02 - ld [wcd2b], a - ret - -Function101e4f: - ld e, $06 - call Function101ee4 - call Function1013d6 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ld a, 0 - ld [wcd26], a - ret - -Function101e64: - call Function101ecc - call Function1020a8 - push af - call Function101ed3 - pop af - jr c, .asm_101e77 - ld a, $24 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_101e77 - ld hl, wcd29 - set 5, [hl] - ld a, $02 - ld [wcd2b], a - ret - -Function101e82: ; unreferenced - call Function101ecc - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101e8d: ; unreferenced - call Function101ed3 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function101e98: - call ClearSprites - farcall Function8adb3 - ret c - ld hl, wGameTimerPaused - set GAME_TIMER_MOBILE_F, [hl] - ld hl, wdc41 - set 4, [hl] - ret - -Function101ead: - ld hl, wGameTimerPaused - bit GAME_TIMER_MOBILE_F, [hl] - jr nz, .asm_101ec8 - ld hl, wdc41 - bit 2, [hl] - jr z, .asm_101eca - ld a, [wcd2f] - and a - jr nz, .asm_101ec8 - ld hl, wdc41 - bit 1, [hl] - jr z, .asm_101eca - -.asm_101ec8 - xor a - ret - -.asm_101eca - scf - ret - -Function101ecc: - call Function101ee2 - call FadeToMenu - ret - -Function101ed3: - call Function1013aa - farcall Function115d99 - ld hl, wcd29 - set 7, [hl] - ret - -Function101ee2: - ld e, 0 - -Function101ee4: - ld d, 0 - ld hl, Unknown_101ef5 - add hl, de - add hl, de - ld a, [hli] - ld d, [hl] - ld e, a - farcall Function100504 - ret - -Unknown_101ef5: - dw String_101f13 - dw String_101f14 - dw String_101f32 - dw String_101f4f - dw String_101f69 - dw String_101f81 - dw String_101f93 - dw String_101faa - dw String_101fc5 - dw String_101fd2 - dw String_101fe1 - dw String_101fef - dw String_102000 - dw String_10200c - dw String_102014 - -String_101f13: - db "@" - -String_101f14: - db "モバイルアダプタを つかって" - next "おともだちと つうしんします@" - -String_101f32: - db "でんわを かけるひとには" - next "つうわりょうきんが かかります@" - -String_101f4f: - db "モバイルアダプタの じゅんびは" - next "できて いますか?@" - -String_101f69: - db "あなたが おともだちに" - next "でんわを かけますか?@" - -String_101f81: - db "めいしフォルダーを" - next "つかいますか?@" - -String_101f93: - db "でんわばんごうを にゅうりょく" - next "してください@" - -String_101faa: - db "それでは おともだちからの" - next "でんわを おまちします⋯@" - -String_101fc5: - next "に でんわを かけます@" - -String_101fd2: - next "に でんわを かけています@" - -String_101fe1: - db "でんわが つながりました!@" - -String_101fef: - db "つうわを" - next "しゅうりょう します⋯@" - -String_102000: - db "つうしん しゅうりょう@" - -String_10200c: - db "つうわ じかん@" - -String_102014: - db "それでは つうしんの" - next "せっていを してください@" - -Function10202c: - farcall Function115d99 - ld hl, wcd29 - set 7, [hl] - ld c, $02 - call Function10142c - ld e, $0d - call Function101ee4 - hlcoord 4, 4 - call Function100681 - ret - -Function102048: - call Function10204c - ret - -Function10204c: - hlcoord 3, 2 - ld c, $10 - ld de, wcd53 -.asm_102054 - ld a, [de] - inc de - and a - jr z, .asm_102067 - sub $30 - jr c, .asm_102067 - cp $0a - jr nc, .asm_102067 - add $f6 - ld [hli], a - dec c - jr nz, .asm_102054 - -.asm_102067 - ret - -Function102068: - ld hl, wcd53 - ld c, $08 -.asm_10206d - ld a, [de] - call Function102080 - jr c, .asm_10207f - ld a, [de] - swap a - call Function102080 - jr c, .asm_10207f - inc de - dec c - jr nz, .asm_10206d - -.asm_10207f - ret - -Function102080: - and $0f - cp $0f - jr z, .asm_10208a - add $30 - ld [hli], a - ret - -.asm_10208a - ld [hl], 0 - scf - ret - -Function10208e: - push de - ld h, d - ld l, e - ld de, wdc42 - ld bc, 8 - call CopyBytes - pop de - ret - -Function10209c: - ld a, $ff - ld hl, wdc42 - ld bc, 8 - call ByteFill - ret - -Function1020a8: - call Function10209c - ld c, $01 - ld de, wdc42 - farcall Function17a68f - ret c - call Function10208e - call Function102068 - xor a - ret - -Function1020bf: - call ClearSprites - farcall Function8aba9 - ld a, c - and a - jr z, .asm_1020e8 - dec a - ld hl, $a04c - ld bc, $25 - call AddNTimes - ld d, h - ld e, l - ld a, $04 - call OpenSRAM - call Function10208e - call Function102068 - call CloseSRAM - xor a - ret - -.asm_1020e8 - scf - ret - -Function1020ea: - ld hl, wdc41 - bit 4, [hl] - jr z, .quit - ld hl, wdc41 - bit 2, [hl] - jr nz, .quit - call Function10218d - ld hl, wc608 - bit 4, [hl] - jr z, .quit - ld hl, wc608 - bit 2, [hl] - jr nz, .quit - call Function102112 - jr z, .quit - and a - ret - -.quit - scf - ret - -Function102112: - ld a, BANK(s4_a03b) - call OpenSRAM - ld hl, s4_a03b + 6 - ld c, 40 -.outer_loop - push hl - ld de, wc60f - ld b, 31 -.inner_loop - ld a, [de] - cp [hl] - jr nz, .not_matching - inc de - inc hl - dec b - jr nz, .inner_loop - pop hl - xor a - jr .done - -.not_matching - pop hl - ld de, 37 - add hl, de - dec c - jr nz, .outer_loop - ld a, $01 - and a - jr .done ; useless jr - -.done - push af - call CloseSRAM - pop af - ret - -Function102142: - call Function10218d - call Function102180 - ld hl, NewCardArrivedText - call MenuTextbox - ld de, SFX_LEVEL_UP - call PlaySFX - call JoyWaitAorB - call ExitMenu - call Function10219f - ld hl, PutCardInCardFolderText - call MenuTextbox - call YesNoBox - call ExitMenu - jr c, .asm_10217c - call Function1021b8 - jr c, .asm_10217c - call Function10218d - call Function102180 - ld hl, CardWasListedText - call PrintText - -.asm_10217c - call Function1013d6 - ret - -Function102180: - ld hl, wc608 + 1 - ld de, wStringBuffer2 - ld bc, 11 - call CopyBytes - ret - -Function10218d: - ld hl, w5_dc00 - ld de, wc608 - ld bc, $26 - ld a, $05 - call FarCopyWRAM - ld de, wc608 + 1 ; useless - ret - -Function10219f: - call FadeToMenu - call Function10218d - ld de, wc608 + 1 - farcall Function8ac4e - call JoyWaitAorB - call PlayClickSFX - call Function1013aa - ret - -Function1021b8: - call FadeToMenu - call Function10218d - ld de, wPlayerMoveStruct - farcall Function8ac70 - ld a, c - ld [wStringBuffer1], a - push af - call Function1013aa - pop af - ret - -NewCardArrivedText: - text_far _NewCardArrivedText - text_end - -PutCardInCardFolderText: - text_far _PutCardInCardFolderText - text_end - -CardWasListedText: - text_far _CardWasListedText - text_end - -Function1021e0: - call MenuTextbox - call JoyWaitAorB - call ExitMenu - ret - -StartingLinkText: ; unreferenced - text_far _StartingLinkText - text_end - -LinkTerminatedText: - text_far _LinkTerminatedText - text_end - -ClosingLinkText: - text_far _ClosingLinkText - text_end - -Function1021f9: - call Function102233 - ld a, $0 ; Function10234b - ld [wcd49], a - ld hl, wcd29 - bit 3, [hl] - res 3, [hl] - jr z, .asm_10220f - ld a, $1 ; Function102361 - ld [wcd49], a - -.asm_10220f - call Function1022ca - ld a, [wcd49] - ld hl, Jumptable_1022f5 - rst JumpTable - call Function102241 - call Function1022d0 - jr c, .asm_102231 - ld a, [wcd49] - bit 7, a - jr z, .asm_10220f - xor a - ld hl, wcd29 - bit 3, [hl] - ret z - scf - ret - -.asm_102231 - xor a - ret - -Function102233: - ld hl, wcd49 - ld bc, 10 - xor a - call ByteFill - call Function10304f - ret - -Function102241: - call Function10226a - call Function102274 - call Function10224b - ret - -Function10224b: - ld hl, wcd4b - bit 1, [hl] - jr nz, .asm_10225e - bit 2, [hl] - jr nz, .asm_10225e - call DelayFrame - call DelayFrame - xor a - ret - -.asm_10225e - res 1, [hl] - res 2, [hl] - farcall Mobile_ReloadMapPart - scf - ret - -Function10226a: - ld hl, wcd4b - bit 0, [hl] - ret z - call Function10305d - ret - -Function102274: - ld hl, wcd4b - bit 3, [hl] - ret z - res 3, [hl] - ld de, 8 - call PlaySFX - ret - -Function102283: - ld a, $01 - ld [wAttrmapEnd], a - ld hl, wcd4b - set 0, [hl] - ret - -Function10228e: - xor a - ld [wAttrmapEnd], a - ld hl, wcd4b - res 0, [hl] - ret - -Function102298: - ld a, e - cp $02 - ret nz - ld hl, wcd4b - bit 6, [hl] - jr z, .asm_1022b6 - ld hl, wcd4b - bit 7, [hl] - ld hl, wcd4b - set 7, [hl] - ret nz - ld de, SFX_ELEVATOR_END - call PlaySFX - jr .asm_1022c1 - -.asm_1022b6 - ld hl, wcd4b - bit 7, [hl] - ld hl, wcd4b - res 7, [hl] - ret z - -.asm_1022c1 - call Function10304f - ld a, $01 - ld [wAttrmapEnd], a - ret - -Function1022ca: - ld a, 30 - ld [wOverworldDelay], a - ret - -Function1022d0: - farcall Function10032e - ld a, [wcd2b] - and a - jr nz, .asm_1022f3 - call Function102298 - ld a, [wOverworldDelay] - ld c, a - ld a, 30 - sub c - ld c, a - ld b, 03 - farcall AdvanceMobileInactivityTimerAndCheckExpired - jr c, .asm_1022f3 - xor a - ret - -.asm_1022f3 - scf - ret - -Jumptable_1022f5: - dw Function10234b ; 00 - dw Function102361 ; 01 - dw Function10236e ; 02 - dw Function102387 ; 03 - dw Function1023a1 ; 04 - dw Function1025c7 ; 05 - dw Function1025dc ; 06 - dw Function1024f6 ; 07 - dw Function10250c ; 08 - dw Function1024a8 ; 09 - dw Function102591 ; 0a - dw Function1024a8 ; 0b - dw Function1025b0 ; 0c - dw Function1025bd ; 0d - dw Function102814 ; 0e - dw Function10283c ; 0f - dw Function102862 ; 10 - dw Function10286f ; 11 - dw Function1024a8 ; 12 - dw Function1028a5 ; 13 - dw Function1028ab ; 14 - dw Function1023b5 ; 15 - dw Function1023c6 ; 16 - dw Function1024af ; 17 - dw Function102416 ; 18 - dw Function102423 ; 19 - dw Function10244b ; 1a - dw Function1024af ; 1b - dw Function10246a ; 1c - dw Function102652 ; 1d - dw Function10266b ; 1e - dw Function1025e9 ; 1f - dw Function1025ff ; 20 - dw Function102738 ; 21 - dw Function102754 ; 22 - dw Function1026b7 ; 23 - dw Function1026c8 ; 24 - dw Function1028bf ; 25 - dw Function1028c6 ; 26 - dw Function1028d3 ; 27 - dw Function1028da ; 28 - dw Function1024a8 ; 29 - dw Function10248d ; 2a - -Function10234b: - call Function102d9a - call Function102dd3 - call Function102dec - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function102361: - ld a, $cc - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10236e: - call Function1028fc - ret nc - ld a, [wcd51] - cp $cc - jr z, .asm_10237f - ld a, $f2 - ld [wcd2b], a - ret - -.asm_10237f - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function102387: - ld hl, wcd4b - set 6, [hl] - xor a - ld [wdc5f], a - ld de, MUSIC_ROUTE_30 - call PlayMusic - call Function102d9a - call Function102dd3 - ld a, $01 - ld [wMenuCursorY], a - -Function1023a1: - call Function102283 - call Function102db7 - call Function102dec - ld hl, wcd4b - set 1, [hl] - ld a, $1d - ld [wcd49], a - ret - -Function1023b5: - call Function10228e - call Function102a3b - call Function102b12 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1023c6: - call Function102c48 - call Function102c87 - ld a, [wcd4c] - dec a - ld [wCurPartyMon], a - xor a ; REMOVE_PARTY - ld [wPokemonWithdrawDepositParameter], a - farcall RemoveMonFromPartyOrBox - ld hl, wPartyCount - inc [hl] - ld a, [hli] - ld c, a - ld b, 0 - add hl, bc - ld [hl], $ff - ld a, [wPartyCount] - ld [wcd4c], a - call Function102c07 - call Function102d48 - call Function102b32 - call Function102f50 - ld hl, wcd4b - set 1, [hl] - ld a, $14 - ld [wcd4e], a - ld a, 0 - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function102416: - ld a, $aa - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function102423: - call Function102921 - ret nc - farcall SaveAfterLinkTrade - farcall StubbedTrainerRankings_Trades - farcall BackupMobileEventIndex - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10244b: - call Function102f32 - ld hl, wcd4b - set 1, [hl] - ld a, $19 - ld [wcd4e], a - ld a, 0 - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10246a: - call Function102d9a - ld hl, wcd29 - set 3, [hl] - call Function102e07 - ld hl, wcd4b - set 1, [hl] - ld a, $2a - ld [wcd49], a - ret - -Function102480: ; unreferenced - ld c, $32 - call DelayFrames - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10248d: - ld a, [wcd49] - set 7, a - ld [wcd49], a - ret - -Function102496: ; unreferenced - ld hl, wcd4e - dec [hl] - ret nz - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1024a8: - farcall Function1009f3 - ret c - -Function1024af: - call GetJoypad - ld a, [wcd4a] - ld hl, Jumptable_1024ba - rst JumpTable - ret - -Jumptable_1024ba: - dw Function1024c0 - dw Function1024cb - dw Function1024de - -Function1024c0: - ld hl, wcd4e - inc [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - -Function1024cb: - ld hl, wcd4e - dec [hl] - ret nz - ld a, [wcd4f] - inc a - ld [wcd4e], a - ld a, [wcd4a] - inc a - ld [wcd4a], a - -Function1024de: - ld hl, wcd4e - dec [hl] - jr z, .asm_1024e9 - ldh a, [hJoyPressed] - and A_BUTTON | B_BUTTON - ret z - -.asm_1024e9 - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1024f6: - call PlaceHollowCursor - ld hl, wcd4b - set 1, [hl] - ld a, [wcd4c] - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10250c: - call Function1028fc - ret nc - ld a, [wcd51] - cp $0f - jr z, .asm_10254b - and a - jr z, .asm_102572 - cp $aa - jr z, .asm_102572 - cp $07 - jr nc, .asm_102572 - ld [wcd4d], a - dec a - ld [wd003], a - ld a, [wcd4c] - dec a - ld [wd002], a - call Function102b9c - call Function102bdc - jr c, .asm_10256d - farcall CheckAnyOtherAliveMonsForTrade - jr c, .asm_102568 - ld hl, wcd4b - set 1, [hl] - ld a, $0e - ld [wcd49], a - ret - -.asm_10254b - call Function103021 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $1e - ld [wcd4f], a - ld a, $29 - ld [wcd49], a - ret - -.asm_102568 - call Function102ff5 - jr .asm_102577 - -.asm_10256d - call Function102f85 - jr .asm_102577 - -.asm_102572 - call Function102fce - jr .asm_102577 - -.asm_102577 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, $09 - ld [wcd49], a - ret - -Function102591: - call Function102ee7 - ld hl, wcd4b - set 1, [hl] - ld a, 0 - ld [wcd4a], a - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1025b0: - ld a, $09 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1025bd: - call Function1028fc - ret nc - ld a, $04 - ld [wcd49], a - ret - -Function1025c7: - call Function102f6d - ld hl, wcd4b - set 1, [hl] - ld a, $0f - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1025dc: - call Function1028fc - ret nc - ld a, [wcd49] - set 7, a - ld [wcd49], a - ret - -Function1025e9: - nop - ld hl, wcd4b - set 6, [hl] - call Function102b4e - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1025ff: - ld hl, wcd4b - set 2, [hl] - farcall Function1009f3 - ret c - farcall MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - ret z - bit A_BUTTON_F, c - jr nz, .a_button - bit D_UP_F, c - jr nz, .d_up - bit D_DOWN_F, c - jr nz, .d_down - ret - -.a_button - ld hl, wcd4b - set 3, [hl] - ld a, $27 ; Function1028d3 - ld [wcd49], a - ret - -.d_up - ld a, [wMenuCursorY] - ld b, a - ld a, [wOTPartyCount] - cp b - ret nz - call HideCursor - ld a, [wPartyCount] - ld [wMenuCursorY], a - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -.d_down - ld a, [wMenuCursorY] - cp $01 - ret nz - ld a, $23 ; Function1026b7 - ld [wcd49], a - ret - -Function102652: - nop - ld hl, wcd4b - set 6, [hl] - nop - call Function102b7b - nop - ld hl, wcd4b - set 1, [hl] - nop - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10266b: - ld hl, wcd4b - set 2, [hl] - farcall Function1009f3 - ret c - farcall MobileMenuJoypad - ld a, [wMenuJoypadFilter] - and c - ret z - bit A_BUTTON_F, c - jr nz, .a_button - bit D_DOWN_F, c - jr nz, .d_down - bit D_UP_F, c - jr nz, .d_up - ret - -.a_button - ld hl, wcd4b - set 3, [hl] - ld a, $21 ; Function102738 - ld [wcd49], a - ret - -.d_down - ld a, [wMenuCursorY] - dec a - ret nz - call HideCursor - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -.d_up - ld a, [wMenuCursorY] - ld b, a - ld a, [wPartyCount] - cp b - ret nz - ld a, $23 ; Function1026b7 - ld [wcd49], a - ret - -Function1026b7: - ld hl, wcd4b - set 6, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - -Function1026c8: - call GetJoypad - farcall Function1009f3 - ret c - ld a, [wcd4a] - ld hl, Jumptable_1026da - rst JumpTable - ret - -Jumptable_1026da: - dw Function1026de - dw Function1026f3 - -Function1026de: - call HideCursor - hlcoord 9, 17 - ld [hl], $ed - ld a, [wcd4a] - inc a - ld [wcd4a], a - ld hl, wcd4b - set 1, [hl] - ret - -Function1026f3: - ldh a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, .asm_102723 - bit D_UP_F, a - jr nz, .asm_102712 - bit D_DOWN_F, a - jr nz, .asm_102702 - ret - -.asm_102702 - hlcoord 9, 17 - ld [hl], " " - ld a, $01 - ld [wMenuCursorY], a - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -.asm_102712 - hlcoord 9, 17 - ld [hl], " " - ld a, [wOTPartyCount] - ld [wMenuCursorY], a - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -.asm_102723 - hlcoord 9, 17 - ld [hl], "▷" - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 2, [hl] - ld a, $5 ; Function1025c7 - ld [wcd49], a - ret - -Function102738: - ld hl, wcd4b - set 6, [hl] - call PlaceHollowCursor - call Function1027eb - ld hl, wcd4b - set 1, [hl] - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - -Function102754: - call GetJoypad - farcall Function1009f3 - ret c - ld a, [wcd4a] - ld hl, Jumptable_102766 - rst JumpTable - ret - -Jumptable_102766: - dw Function102770 - dw Function102775 - dw Function10278c - dw Function1027a0 - dw Function1027b7 - -Function102770: - ld a, $01 - ld [wcd4a], a - -Function102775: - hlcoord 1, 16 - ld [hl], "▶" - hlcoord 11, 16 - ld [hl], " " - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret - -Function10278c: - ldh a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, asm_1027c6 - bit B_BUTTON_F, a - jr nz, asm_1027e2 - bit D_RIGHT_F, a - jr nz, .asm_10279b - ret - -.asm_10279b - ld a, $03 - ld [wcd4a], a -Function1027a0: - hlcoord 1, 16 - ld [hl], " " - hlcoord 11, 16 - ld [hl], "▶" - ld hl, wcd4b - set 2, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - ret - -Function1027b7: - ldh a, [hJoyPressed] - bit A_BUTTON_F, a - jr nz, asm_1027d1 - bit B_BUTTON_F, a - jr nz, asm_1027e2 - bit D_LEFT_F, a - jr nz, Function102770 - ret - -asm_1027c6: - ld hl, wcd4b - set 3, [hl] - ld a, $25 ; Function1028bf - ld [wcd49], a - ret - -asm_1027d1: - ld hl, wcd4b - set 3, [hl] - ld a, [wMenuCursorY] - ld [wcd4c], a - ld a, $7 ; Function1024f6 - ld [wcd49], a - ret - -asm_1027e2: - call Function102db7 - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -Function1027eb: - hlcoord 0, 14 - ld b, 2 - ld c, 18 - ld d, h - ld e, l - farcall _LinkTextbox - ld de, .Stats_Trade - hlcoord 2, 16 - call PlaceString - ret - -.Stats_Trade: - db "STATS TRADE@" - -Function102814: - ld a, [wMenuCursorY] - ld [wcd52], a - ld a, [wcd4c] - dec a - ld [wd002], a - ld a, [wcd4d] - dec a - ld [wd003], a - call Function102ea8 - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, 0 - ld [wcd4a], a - ld hl, wcd4b - set 1, [hl] - -Function10283c: - ld hl, wcd4b - set 2, [hl] - call Function1029c3 - ret z - jr c, .asm_102852 - ld a, $10 ; Function102862 - ld [wcd49], a - ld hl, wcd4b - set 1, [hl] - ret - -.asm_102852 - ld a, $14 ; Function1028ab - ld [wcd49], a - ld hl, wcd4b - set 3, [hl] - ld hl, wcd4b - set 1, [hl] - ret - -Function102862: - ld a, $08 - call Function1028e8 - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function10286f: - call Function1028fc - ret nc - ld a, [wcd52] - ld [wMenuCursorY], a - ld a, [wcd51] - cp $08 - jr nz, .asm_102886 - ld a, $15 ; Function1023b5 - ld [wcd49], a - ret - -.asm_102886 - call Function102ee7 - ld hl, wcd4b - set 1, [hl] - ld a, $1e - ld [wcd4e], a - ld a, $3c - ld [wcd4f], a - ld a, 0 - ld [wcd4a], a - ld a, [wcd49] - inc a - ld [wcd49], a - ret - -Function1028a5: - ld a, $4 ; Function1023a1 - ld [wcd49], a - ret - -Function1028ab: - ld a, [wcd52] - ld [wMenuCursorY], a - call Function102f15 - ld hl, wcd4b - set 1, [hl] - ld a, $c ; Function1025b0 - ld [wcd49], a - ret - -Function1028bf: - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028c6: - xor a - ld [wMonType], a - call Function102bac - ld a, $1d ; Function102652 - ld [wcd49], a - ret - -Function1028d3: - ld a, [wcd49] - inc a - ld [wcd49], a - -Function1028da: - ld a, OTPARTYMON - ld [wMonType], a - call Function102bac - ld a, $1f ; Function1025e9 - ld [wcd49], a - ret - -Function1028e8: - ld hl, wcd4b - res 6, [hl] - ld [wcd50], a - farcall StartMobileInactivityTimer - ld a, 0 - ld [wcd4a], a - ret - -Function1028fc: - call GetJoypad - farcall Function1009f3 - jr nc, .asm_102909 - and a - ret - -.asm_102909 - ld a, [wcd4a] - ld hl, Jumptable_102917 - rst JumpTable - ret nc - ld a, 0 - ld [wcd4a], a - ret - -Jumptable_102917: - dw Function102933 - dw Function10294f - dw Function10295d - dw Function10296e - dw Function102996 - -Function102921: - ld a, [wcd4a] - ld hl, Jumptable_10292f - rst JumpTable - ret nc - ld a, 0 - ld [wcd4a], a - ret - -Jumptable_10292f: - dw Function10295d - dw Function102984 - -Function102933: - ld hl, MenuHeader_1029bb - call LoadMenuHeader - call Function102e07 - ld a, $32 - ld [wTextDelayFrames], a - ld hl, wcd4b - set 1, [hl] - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret - -Function10294f: - ld a, [wTextDelayFrames] - and a - ret nz - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret - -Function10295d: - call Function10299e - ld a, 0 - ld [wcd27], a - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret - -Function10296e: - farcall Function100382 - and a - ld a, [wcd27] - bit 7, a - ret z - ld a, [wcd4a] - inc a - ld [wcd4a], a - and a - ret - -Function102984: - farcall Function100382 - and a - ld a, [wcd27] - bit 7, a - ret z - call Function1029af - scf - ret - -Function102996: - call Function1029af - call ExitMenu - scf - ret - -Function10299e: - ld a, $01 - ld [wccb4], a - ld a, [wcd50] - ld [wccb5], a - ld a, $aa - ld [wcd51], a - ret - -Function1029af: - ld hl, wcd4b - res 7, [hl] - ld a, [wcc61] - ld [wcd51], a - ret - -MenuHeader_1029bb: - db MENU_BACKUP_TILES ; flags - menu_coords 3, 10, 15, 12 - dw NULL - db 1 ; default option - -Function1029c3: - ld a, [wcd4a] - ld hl, Jumptable_1029cb - rst JumpTable - ret - -Jumptable_1029cb: - dw Function1029cf - dw Function1029fe - -Function1029cf: - call LoadStandardMenuHeader - hlcoord 10, 7 - ld b, 3 - ld c, 8 - ld d, h - ld e, l - farcall _LinkTextbox - ld de, String_102a26 - hlcoord 12, 8 - call PlaceString - ld hl, wcd4b - set 1, [hl] - ld de, MenuData3_102a33 - call Load2DMenuData - ld a, [wcd4a] - inc a - ld [wcd4a], a - xor a - ret - -Function1029fe: - farcall Function1009f3 - ret c - farcall MobileMenuJoypad - ld a, c - ld hl, wMenuJoypadFilter - and [hl] - ret z - push af - call ExitMenu - pop af - ld a, [wMenuCursorY] - cp $01 - jr nz, .asm_102a21 - ld a, $01 - and a - ret - -.asm_102a21 - ld a, $01 - and a - scf - ret - -String_102a26: - db "TRADE" - next "CANCEL" - db "@" - -MenuData3_102a33: - db 8, 11 ; cursor start y, x - db 2, 1 ; rows, columns - db $80, $00 ; flags - dn 2, 0 ; cursor offset - db A_BUTTON ; accepted buttons - -Function102a3b: - ld a, [wcd30] - ld [wc74e], a - ld hl, wPlayerName - ld de, wPlayerTrademonSenderName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4c] - dec a - ld c, a - ld b, 0 - ld hl, wPartySpecies - add hl, bc - ld a, [hl] - ld [wPlayerTrademonSpecies], a - ld a, [wcd4c] - dec a - ld hl, wPartyMonOTs - call SkipNames - ld de, wPlayerTrademonOTName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4c] - dec a - ld hl, wPartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wPlayerTrademonID], a - ld a, [hl] - ld [wPlayerTrademonID + 1], a - ld a, [wcd4c] - dec a - ld hl, wPartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wPlayerTrademonDVs], a - ld a, [hl] - ld [wPlayerTrademonDVs + 1], a - ld a, [wcd4c] - dec a - ld hl, wPartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - farcall GetCaughtGender - ld a, c - ld [wPlayerTrademonCaughtData], a - ld hl, wOTPlayerName - ld de, wOTTrademonSenderName - ld bc, NAME_LENGTH - call CopyBytes - - ld a, [wcd4d] - dec a - ld c, a - ld b, 0 - ld hl, wOTPartySpecies - add hl, bc - ld a, [hl] - ld [wOTTrademonSpecies], a - ld a, [wcd4d] - dec a - ld hl, wOTPartyMonOTs - call SkipNames - ld de, wOTTrademonOTName - ld bc, NAME_LENGTH - call CopyBytes - ld a, [wcd4d] - dec a - ld hl, wOTPartyMon1ID - call GetPartyLocation - ld a, [hli] - ld [wOTTrademonID], a - ld a, [hl] - ld [wOTTrademonID + 1], a - ld a, [wcd4d] - dec a - ld hl, wOTPartyMon1DVs - call GetPartyLocation - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld a, [wcd4d] - dec a - ld hl, wOTPartyMon1Species - call GetPartyLocation - ld b, h - ld c, l - farcall GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - ret - -Function102b12: - ld c, 100 - call DelayFrames - call Function102d9a - call LoadFontsBattleExtra - ld a, [wcd2f] - and a - jr nz, .asm_102b2b - farcall Function108026 - jr .asm_102b31 - -.asm_102b2b - farcall Function10802a - -.asm_102b31 - ret - -Function102b32: - ld a, [wcd4c] - dec a - ld [wCurPartyMon], a - ld a, $01 - ld [wForceEvolution], a - farcall EvolvePokemon - call Function102d9a - call Function102dd3 - call Function102dec - ret - -Function102b4e: - ld a, OTPARTYMON - ld [wMonType], a - ld a, [wMenuCursorY] - push af - ld de, MenuData_102b73 - call Load2DMenuData - pop af - ld [wMenuCursorY], a - ld a, [wOTPartyCount] - ld [w2DMenuNumRows], a - ret - -Function102b68: ; unreferenced - xor a - ld hl, wWindowStackPointer - ld bc, $10 - call ByteFill - ret - -MenuData_102b73: - db 9, 6 ; cursor start y, x - db -1, 1 ; rows, columns - db $a0, $00 ; flags - dn 1, 0 ; cursor offset - db D_UP | D_DOWN | A_BUTTON ; accepted buttons - -Function102b7b: - xor a - ld [wMonType], a - ld a, [wMenuCursorY] - push af - ld de, MenuData_102b94 - call Load2DMenuData - pop af - ld [wMenuCursorY], a - ld a, [wPartyCount] - ld [w2DMenuNumRows], a - ret - -MenuData_102b94: - db 1, 6 ; cursor start y, x - db 255, 1 ; rows, columns - db $a0, $00 ; flags - dn 1, 0 ; cursor offset - db D_UP | D_DOWN | A_BUTTON ; accepted buttons - -Function102b9c: - ld a, [wcd4d] - dec a - hlcoord 6, 9 - ld bc, $14 - call AddNTimes - ld [hl], $ec - ret - -Function102bac: - ld a, [wMenuCursorY] - dec a - ld [wCurPartyMon], a - call LowVolume - call ClearSprites - farcall _MobileStatsScreenInit - ld a, [wCurPartyMon] - inc a - ld [wMenuCursorY], a - call Function102d9a - call ClearPalettes - call DelayFrame - call MaxVolume - call Function102dd3 - call Function102dec - call Function102db7 - ret - -Function102bdc: - ld a, [wcd4d] - dec a - ld hl, wOTPartyMon1Species - call GetPartyLocation - push hl - ld a, [wcd4d] - ld c, a - ld b, 0 - ld hl, wOTPartyCount - add hl, bc - ld a, [hl] - pop hl - cp EGG - jr z, .asm_102bfa - cp [hl] - jr nz, .asm_102c05 - -.asm_102bfa - ld bc, MON_LEVEL - add hl, bc - ld a, [hl] - cp MAX_LEVEL + 1 - jr nc, .asm_102c05 - and a - ret - -.asm_102c05 - scf - ret - -Function102c07: - call Function102c14 - call Function102c3b - call Function102c21 - call Function102c2e - ret - -Function102c14: - ld hl, wPartySpecies - ld de, wOTPartySpecies - ld bc, 1 - call Function102c71 - ret - -Function102c21: - ld hl, wPartyMonNicknames - ld de, wOTPartyMonNicknames - ld bc, 11 - call Function102c71 - ret - -Function102c2e: - ld hl, wPartyMonOTs - ld de, wOTPartyMonOTs - ld bc, 11 - call Function102c71 - ret - -Function102c3b: - ld hl, wPartyMon1 - ld de, wOTPartyMon1 - ld bc, $30 - call Function102c71 - ret - -Function102c48: - farcall Function10165a - ld a, 0 - call OpenSRAM - ld hl, $a600 - ld de, wc608 - ld bc, $2f - call Function102c71 - call CloseSRAM - ld hl, wc608 - ld de, w5_da00 - ld bc, $1e0 - ld a, $05 - call FarCopyWRAM - ret - -Function102c71: - ld a, [wcd4c] - dec a - call AddNTimes - push hl - ld h, d - ld l, e - ld a, [wcd4d] - dec a - call AddNTimes - pop de - call SwapBytes - ret - -Function102c87: - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcd4c] - ld [wJumptableIndex], a - ld a, [wPartyCount] - ld [wcf64], a - ld a, 0 - ld hl, $a600 - ld de, wc608 - ld bc, $11a - call Function102d3e - call Function102cee - ld a, 0 - ld hl, wc608 - ld de, $a600 - ld bc, $11a - call Function102d3e - ld a, [wcd4d] - ld [wJumptableIndex], a - ld a, [wOTPartyCount] - ld [wcf64], a - ld a, $05 - ld hl, w5_da00 - ld de, wc608 - ld bc, $11a - call FarCopyWRAM - call Function102cee - ld a, $05 - ld hl, wc608 - ld de, w5_da00 - ld bc, $11a - call FarCopyWRAM - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - ret - -Function102cee: - ld a, [wJumptableIndex] - dec a - call Function102d34 - ld de, wd002 - ld bc, $2f - call CopyBytes - ld a, [wJumptableIndex] - ld c, a - ld a, $06 - sub c - ret z - ld bc, $2f - ld hl, 0 - call AddNTimes - push hl - ld a, [wJumptableIndex] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, $2f - add hl, de - pop bc - call CopyBytes - ld a, [wcf64] - dec a - call Function102d34 - ld d, h - ld e, l - ld hl, wd002 - ld bc, $2f - call CopyBytes - ret - -Function102d34: - ld hl, wc608 - ld bc, $2f - call AddNTimes - ret - -Function102d3e: - call OpenSRAM - call CopyBytes - call CloseSRAM - ret - -Function102d48: - ld a, [wcd4c] - ld e, a - ld d, 0 - ld hl, wPartyCount - add hl, de - ld a, [hl] - ld [wTempSpecies], a - cp EGG - jr z, .asm_102d6d - dec a - call SetSeenAndCaughtMon - ld a, [wcd4c] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, wPartyMon1Happiness - call AddNTimes - ld [hl], BASE_HAPPINESS - -.asm_102d6d - ld a, [wTempSpecies] - cp UNOWN - jr nz, .asm_102d98 - ld a, [wcd4c] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - ld hl, wPartyMon1DVs - call AddNTimes - predef GetUnownLetter - farcall UpdateUnownDex - ld a, [wFirstUnownSeen] - and a - jr nz, .asm_102d98 - ld a, [wUnownLetter] - ld [wFirstUnownSeen], a - -.asm_102d98 - and a - ret - -Function102d9a: - ld a, " " - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ld a, $07 - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - ret - -Function102db7: - call Function102e4f - call Function102e3e - ld hl, wcd4b - set 1, [hl] - ret - -Function102dc3: - hlcoord 0, 12 - ld b, 4 - ld c, 18 - ld d, h - ld e, l - farcall _LinkTextbox - ret - -Function102dd3: - call DisableLCD - ld de, MobileTradeLightsGFX - ld hl, vTiles0 - lb bc, BANK(MobileTradeLightsGFX), 4 - call Get2bpp - farcall __LoadTradeScreenBorderGFX - call EnableLCD - ret - -Function102dec: - ld hl, MobileTradeLightsPalettes - ld de, wOBPals1 - ld bc, 4 palettes - ld a, $05 - call FarCopyWRAM - farcall Function49742 - call SetPalettes - call DelayFrame - ret - -Function102e07: - hlcoord 3, 10 - ld b, 1 - ld c, 11 - ld a, [wBattleMode] - and a - jr z, .link_battle - call Textbox - jr .okay - -.link_battle -; the next three operations are pointless - hlcoord 3, 10 - ld b, 1 - ld c, 11 - ld d, h - ld e, l - farcall _LinkTextbox - -.okay - ld de, .waiting - hlcoord 4, 11 - call PlaceString - ret - -.waiting - db "Waiting...!@" - -Function102e3e: - ld de, .CancelString - hlcoord 10, 17 - call PlaceString - ret - -.CancelString: - db "CANCEL@" - -Function102e4f: - farcall LoadMobileTradeBorderTilemap - farcall _InitMG_Mobile_LinkTradePalMap - ld de, wPlayerName - hlcoord 4, 0 - call PlaceString - ld a, $14 - ld [bc], a - ld de, wOTPlayerName - hlcoord 4, 8 - call PlaceString - ld a, $14 - ld [bc], a - hlcoord 7, 1 - ld de, wPartySpecies - call .PlaceSpeciesNames - hlcoord 7, 9 - ld de, wOTPartySpecies - call .PlaceSpeciesNames - ret - -.PlaceSpeciesNames: - ld c, 0 -.count_loop - ld a, [de] - cp $ff - ret z - ld [wNamedObjectIndex], a - push bc - push hl - push de - push hl - ld a, c - ldh [hDividend], a - call GetPokemonName - pop hl - call PlaceString - pop de - inc de - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - inc c - jr .count_loop - -Function102ea8: - call Function102dc3 - ld a, [wcd4c] - dec a - ld c, a - ld b, 0 - ld hl, wPartySpecies - add hl, bc - ld a, [hl] - ld [wNamedObjectIndex], a - call GetPokemonName - ld hl, wStringBuffer1 - ld de, wStringBuffer2 - ld bc, 11 - call CopyBytes - ld a, [wcd4d] - dec a - ld c, a - ld b, 0 - ld hl, wOTPartySpecies - add hl, bc - ld a, [hl] - ld [wNamedObjectIndex], a - call GetPokemonName - ld hl, TradingMonForOTMonText - call PrintTextboxText - ret - -TradingMonForOTMonText: - text_far _TradingMonForOTMonText - text_end - -Function102ee7: - call Function102dc3 - ld de, String_102ef4 - hlcoord 1, 14 - call PlaceString - ret - -String_102ef4: - db "Too bad! The trade" - next "was canceled!" - db "@" - -Function102f15: - call Function102dc3 - ld de, .TooBadTheTradeWasCanceled - hlcoord 1, 14 - call PlaceString - ret - -.TooBadTheTradeWasCanceled: - db "こうかんを キャンセルしました@" - -Function102f32: - call Function102dc3 - ld de, .TradeCompleted - hlcoord 1, 14 - call PlaceString - ret - -.TradeCompleted: - db "Trade completed!@" - -Function102f50: - call Function102dc3 - ld de, .PleaseWait - hlcoord 1, 14 - call PlaceString - ret - -.PleaseWait: - db "しょうしょう おまち ください@" - -Function102f6d: - call Function102dc3 - ld de, .Finished - hlcoord 1, 14 - call PlaceString - ret - -.Finished: - db "しゅうりょう します@" - -Function102f85: - ld a, [wd003] - ld c, a - ld b, 0 - ld hl, wOTPartySpecies - add hl, bc - ld a, [hl] - ld [wNamedObjectIndex], a - call GetPokemonName - call Function102dc3 - ld de, String_102fb2 - hlcoord 1, 14 - call PlaceString - ld de, wStringBuffer1 - hlcoord 13, 14 - call PlaceString - ld de, String_102fcc - call PlaceString - ret - -String_102fb2: - db "あいてがわえらんだ " - next "いじょうあるようです!!" - db "@" - -String_102fcc: - db "に@" - -Function102fce: - call Function102dc3 - ld de, String_102fdb - hlcoord 1, 14 - call PlaceString - ret - -String_102fdb: - db "あいてがわせんたくに" - next "いじょうあるようです!!" - done - -Function102ff5: - call Function102dc3 - ld de, String_103002 - hlcoord 1, 14 - call PlaceString - ret - -String_103002: - db "その#を こうかんすると" - next "せんとう できなく なっちゃうよ!" - db "@" - -Function103021: - call Function102dc3 - ld de, String_10302e - hlcoord 1, 14 - call PlaceString - ret - -String_10302e: - db "あいてが ちゅうしを えらんだので" - next "こうかんを ちゅうし します" - db "@" - -Function10304f: - xor a - ld [wAttrmapEnd], a - ld [wcf42], a - ld [wcf44], a - ld [wcf45], a - ret - -Function10305d: - nop - ld a, [wAttrmapEnd] - and a - ret z - call Function10307f - ret c - call Function103094 - call Function10306e - ret - -Function10306e: - ld a, $01 - ldh [hOAMUpdate], a - call ClearSprites - ld de, wShadowOAM - call Function1030cd - xor a - ldh [hOAMUpdate], a - ret - -Function10307f: - ld c, $02 - ld hl, wcd4b - bit 7, [hl] - jr z, .asm_10308a - ld c, $01 - -.asm_10308a - ld hl, wcf45 - inc [hl] - ld a, [hl] - cp c - ret c - xor a - ld [hl], a - ret - -Function103094: - ld hl, wcd4b - bit 7, [hl] - jr nz, .asm_1030c0 - ld a, [wcf42] - bit 7, a - jr nz, .asm_1030b2 - ld a, [wcf44] - inc a - ld [wcf44], a - cp $2c - ret nz - ld hl, wcf42 - set 7, [hl] - ret - -.asm_1030b2 - ld a, [wcf44] - dec a - ld [wcf44], a - ret nz - ld hl, wcf42 - res 7, [hl] - ret - -.asm_1030c0 - ld hl, wcf44 - ld a, [hl] - and a - jr z, .asm_1030ca - dec a - ld [hl], a - ret nz - -.asm_1030ca - ld [hl], $2c - ret - -Function1030cd: - ld a, [wcf44] - ld l, a - ld h, 0 - add hl, hl - add hl, hl - add hl, hl - ld bc, Unknown_103112 - add hl, bc - ld b, $30 - ld c, $08 -.asm_1030de - push hl - ld hl, wcd4b - bit 7, [hl] - pop hl - ld a, 0 - jr z, .asm_1030eb - ld a, $05 -.asm_1030eb - - add [hl] - inc hl - push hl - - add a - add a - - add LOW(Unknown_10327a) - ld l, a - ld a, HIGH(Unknown_10327a) - adc 0 - ld h, a - - ld a, b - add [hl] - inc hl - ld [de], a - inc de - ld a, $0a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - pop hl - ld a, b - add $08 - ld b, a - dec c - jr nz, .asm_1030de - ret - -Unknown_103112: - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $01, $00, $00, $00, $00, $00, $00, $00 - db $02, $01, $00, $00, $00, $00, $00, $00 - db $03, $02, $01, $00, $00, $00, $00, $00 - db $04, $03, $02, $01, $00, $00, $00, $00 - db $04, $04, $03, $02, $01, $00, $00, $00 - db $04, $04, $04, $03, $02, $01, $00, $00 - db $04, $04, $04, $04, $03, $02, $01, $00 - db $04, $04, $04, $04, $04, $03, $02, $01 - db $04, $04, $04, $04, $04, $04, $03, $02 - db $04, $04, $04, $04, $04, $04, $04, $03 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $04, $04, $04, $04, $04, $04, $04, $04 - db $03, $04, $04, $04, $04, $04, $04, $04 - db $02, $03, $04, $04, $04, $04, $04, $04 - db $01, $02, $03, $04, $04, $04, $04, $04 - db $00, $01, $02, $03, $04, $04, $04, $04 - db $00, $00, $01, $02, $03, $04, $04, $04 - db $00, $00, $00, $01, $02, $03, $04, $04 - db $00, $00, $00, $00, $01, $02, $03, $04 - db $00, $00, $00, $00, $00, $01, $02, $03 - db $00, $00, $00, $00, $00, $00, $01, $02 - db $00, $00, $00, $00, $00, $00, $00, $01 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - db $00, $00, $00, $00, $00, $00, $00, $00 - -Unknown_10327a: - db $00, $00, $00, $00 - db $00, $00, $01, $00 - db $00, $00, $02, $00 - db $00, $00, $03, $00 - db $00, $00, $01, $01 - db $00, $00, $00, $00 - db $00, $00, $01, $02 - db $00, $00, $02, $02 - db $00, $00, $03, $02 - db $00, $00, $01, $03 - -MobileTradeLightsGFX: -INCBIN "gfx/mobile/mobile_trade_lights.2bpp" - -MobileTradeLightsPalettes: -INCLUDE "gfx/mobile/mobile_trade_lights.pal" - -Function103302: - call Function103309 - call Function103362 - ret - -Function103309: - xor a - ldh [hBGMapMode], a - ld hl, wd1ea - ld bc, 10 - xor a - call ByteFill - ld a, BANK(s4_a60c) - call OpenSRAM - ld a, [wdc41] - ld [s4_a60c], a - ld [wd1ea], a - call CloseSRAM - call Function1035c6 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld [wd1ef], a - ld a, [hli] - ld [wd1ec], a - ld a, [hli] - ld [wd1ed], a - ld h, d - ld l, e - call Function3eea - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hl] - ld [wd1ee], a - call Function1034be - call UpdateSprites - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - ld a, $01 - ld [wd1f0], a - call Function10339a - ret - -Function103362: -.asm_103362 - ld a, [wd1f0] - ld [wd1f1], a - call Function1033af - call Function10339a - call Function10342c - farcall HDMATransferTilemapToWRAMBank3 - ld a, [wd1eb] - bit 7, a - jr z, .asm_103362 - ld hl, wd1eb - bit 6, [hl] - jr z, .asm_103398 - ld a, BANK(s4_a60c) - call OpenSRAM - ld a, [wd1ea] - ld [s4_a60c], a - ld [wdc41], a - call CloseSRAM - xor a - ret - -.asm_103398 - scf - ret - -Function10339a: - ld a, [wd1f0] - ld [wd1f2], a - ld c, a - ld b, 0 - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - ld a, [hl] - ld [wd1f3], a - ret - -Function1033af: - call GetJoypad - ldh a, [hJoyPressed] - bit D_LEFT_F, a - jr nz, .left - bit D_RIGHT_F, a - jr nz, .right - bit B_BUTTON_F, a - jr nz, .b - bit A_BUTTON_F, a - jr nz, .a - bit D_UP_F, a - jr nz, .up - bit D_DOWN_F, a - jr nz, .down - ret - -.up - ld a, [wd1f0] - dec a - ld [wd1f0], a - cp 1 - ret nc - ld a, [wd1ee] - ld [wd1f0], a - ret - -.down - ld a, [wd1f0] - inc a - ld [wd1f0], a - ld c, a - ld a, [wd1ee] - cp c - ret nc - ld a, 1 - ld [wd1f0], a - ret - -.b - call PlayClickSFX - ld hl, wd1eb - set 7, [hl] - ret - -.a - ld a, [wd1f3] - cp 3 - jr nz, .a_return - ld de, SFX_TRANSACTION - call PlaySFX - ld hl, wd1eb - set 7, [hl] - ld hl, wd1eb - set 6, [hl] - ret - -.left -.right -.a_return - ld a, [wd1f3] - cp 3 - ret z - ld de, SFX_PUSH_BUTTON - call PlaySFX - ld bc, 8 - call Function10350f - ld a, [wd1ea] - xor e - ld [wd1ea], a - ret - -Function10342c: - ld a, [wd1f0] - ld [wd1f2], a - call Function103490 - call Function10343c - call Function1034a7 - ret - -Function10343c: - ld a, [wd1f3] - cp $02 - jr nz, .asm_103452 - ld bc, 1 - call Function1034f7 - ld c, $12 - ld b, $01 - call Function1034e0 - jr .asm_10345f - -.asm_103452 - ld bc, $ffed - call Function1034f7 - ld c, $12 - ld b, $02 - call Function1034e0 - -.asm_10345f - ld bc, 0 - call Function10350f - ld bc, 1 - call Function103487 - ld bc, 8 - call Function10350f - ld a, [wd1ea] - and e - ld bc, 2 - jr z, .asm_10347d - ld bc, 4 - -.asm_10347d - call Function10350f - ld bc, 11 - call Function103487 - ret - -Function103487: - push de - call Function1034f7 - pop de - call PlaceString - ret - -Function103490: - hlcoord 0, 15 - ld c, $14 - ld b, $03 - call Function1034e0 - ld bc, 6 - call Function10350f - hlcoord 1, 16 - call PlaceString - ret - -Function1034a7: - ld a, [wd1f1] - ld [wd1f2], a - ld bc, 10 - call Function1034f7 - ld [hl], $7f - ld bc, 10 - call Function1034f1 - ld [hl], $ed - ret - -Function1034be: - ld a, $01 - ld [wd1f2], a - ld hl, wd1ec - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] -.asm_1034ca - push af - ld a, [hli] - push hl - ld [wd1f3], a - call Function10343c - ld hl, wd1f2 - inc [hl] - pop hl - pop af - dec a - jr nz, .asm_1034ca - call Function103490 - ret - -Function1034e0: - push bc - push hl - call ClearBox - pop hl - ld bc, wAttrmap - wTilemap - add hl, bc - pop bc - ld a, $06 - call FillBoxWithByte - ret - -Function1034f1: - ld a, [wd1f0] - ld [wd1f2], a - -Function1034f7: - hlcoord 0, 0 - add hl, bc - ld a, [wd1ef] - ld bc, SCREEN_WIDTH - call AddNTimes - ld a, [wd1f2] - dec a - ld bc, 40 - call AddNTimes - ret - -Function10350f: - ld a, [wd1f3] - push bc - ld hl, Unknown_103522 - ld bc, 9 - call AddNTimes - pop bc - add hl, bc - ld a, [hli] - ld d, [hl] - ld e, a - ret - -Unknown_103522: - dw String_103546 - dw String_103598 - dw String_1035a0 - dw String_10355f - db $01 - dw String_10354f - dw String_1035a8 - dw String_1035b1 - dw String_103571 - db $02 - dw String_103557 - dw String_1035ba - dw String_1035bd - dw String_103585 - db $04 - dw String_103545 - dw String_1035c1 - dw String_1035c1 - dw String_103545 - -String_103545: db "@" -String_103546: db "せんとう アニメ@" -String_10354f: db "でんわばんごう@" -String_103557: db "めいしこうかん@" -String_10355f: db "でんわを かけるひとが きめられる@" -String_103571: db "でんわばんごうの にゅうりょくのしかた@" -String_103585: db "あたらしいめいしが あれば こうかん@" -String_103598: db "とばして みる@" -String_1035a0: db "じっくり みる@" -String_1035a8: db "めいしからえらぶ@" -String_1035b1: db "すうじで いれる@" -String_1035ba: db "する@" -String_1035bd: db "しない@" -String_1035c1: db "けってい@" - -Function1035c6: - farcall Function10138b - ld b, 0 - ld hl, Unknown_1035d7 - add hl, bc - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ret - -Unknown_1035d7: - dw Unknown_1035e7 - dw Unknown_1035f3 - dw Unknown_103608 - dw Unknown_103608 - dw Unknown_1035fe - dw AskMobileOrCable - dw AskMobileOrCable - dw AskMobileOrCable - -Unknown_1035e7: - dwcoord 0, 6 - db $12, $07, $07 - dw .this -.this - db 4, 2, 1, 0, 3 - -Unknown_1035f3: - dwcoord 0, 7 - db $12, $06, $09 - dw .this -.this - db 3, 2, 1, 3 - -Unknown_1035fe: - dwcoord 0, 9 - db $12, $04, $0b - dw .this -.this - db 2, 0, 3 - -Unknown_103608: - dwcoord 0, 9 - db $12, $04, $0b - dw .this -.this - db 2, 2, 3 - -AskMobileOrCable: - ld hl, MenuHeader_103640 - call LoadMenuHeader - ld a, [wMobileOrCable_LastSelection] - and $0f - jr z, .skip_load - ld [wMenuCursorPosition], a - -.skip_load - call VerticalMenu - call CloseWindow - jr c, .pressed_b - ld a, [wMenuCursorY] - ld [wScriptVar], a - ld c, a - ld a, [wMobileOrCable_LastSelection] - and $f0 - or c - ld [wMobileOrCable_LastSelection], a - ret - -.pressed_b - xor a - ld [wScriptVar], a - ret - -MenuHeader_103640: - db MENU_BACKUP_TILES ; flags - menu_coords 13, 6, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw MenuData_103648 - db 1 ; default option - -MenuData_103648: - db STATICMENU_CURSOR ; flags - db 2 - db "モバイル@" - db "ケーブル@" - -Function103654: - farcall Mobile_AlwaysReturnNotCarry - bit 7, c - jr nz, .asm_103666 - ld hl, wcd2a - res 5, [hl] - ld c, $02 - ret - -.asm_103666 - ld hl, wcd2a - set 5, [hl] - ld c, $01 - ret - -Mobile_SelectThreeMons: - farcall Mobile_AlwaysReturnNotCarry - bit 7, c - jr z, .asm_10369b - ld hl, MobileBattleMustPickThreeMonText - call PrintText - call YesNoBox - jr c, .asm_103696 - farcall CheckForMobileBattleRules - jr nc, .asm_103690 - call JoyWaitAorB - jr .asm_103696 - -.asm_103690 - ld a, $01 - ld [wScriptVar], a - ret - -.asm_103696 - xor a - ld [wScriptVar], a - ret - -.asm_10369b - ld hl, wMobileOrCable_LastSelection - bit 7, [hl] - set 7, [hl] - jr nz, .asm_1036b5 - ld hl, MobileBattleMoreInfoText - call PrintText - call YesNoBox - jr c, .asm_1036b5 - call Function1036f9 - call JoyWaitAorB - -.asm_1036b5 - call Function103700 - jr c, .asm_1036f4 - ld hl, MenuHeader_103747 - call LoadMenuHeader - call VerticalMenu - call ExitMenu - jr c, .asm_1036f4 - ld a, [wMenuCursorY] - cp $01 - jr z, .asm_1036d9 - cp $02 - jr z, .asm_1036f4 - cp $03 - jr z, .asm_1036ec - jr .asm_1036b5 - -.asm_1036d9 - farcall CheckForMobileBattleRules - jr nc, .asm_1036e6 - call JoyWaitAorB - jr .asm_1036f4 - -.asm_1036e6 - ld a, $01 - ld [wScriptVar], a - ret - -.asm_1036ec - call Function1036f9 - call JoyWaitAorB - jr .asm_1036b5 - -.asm_1036f4 - xor a - ld [wScriptVar], a - ret - -Function1036f9: - ld hl, MobileBattleRulesText - call PrintText - ret - -Function103700: - ld c, 10 - ld hl, wSwarmFlags - bit SWARMFLAGS_MOBILE_4_F, [hl] - jr z, .asm_10370f - farcall MobileBattleGetRemainingTime -.asm_10370f - ld a, c - ld [wStringBuffer2], a - ld a, [wStringBuffer2] - cp 5 - jr nc, .five_or_more_mins - cp 2 - jr nc, .two_to_five_mins - cp 1 - jr nc, .one_min - jr .times_up - -.five_or_more_mins - ld hl, WouldYouLikeToMobileBattleText - call PrintText - and a - ret - -.two_to_five_mins - ld hl, WantAQuickMobileBattleText - call PrintText - and a - ret - -.one_min - ld hl, WantToRushThroughAMobileBattleText - call PrintText - and a - ret - -.times_up - ld hl, PleaseTryAgainTomorrowText - call PrintText - call JoyWaitAorB - scf - ret - -MenuHeader_103747: - db MENU_BACKUP_TILES ; flags - menu_coords 13, 5, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw MenuData_10374f - db 1 ; default option - -MenuData_10374f: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags - db 3 - db "はい@" - db "やめる@" - db "せつめい@" - -MobileBattleMustPickThreeMonText: - text_far _MobileBattleMustPickThreeMonText - text_end - -MobileBattleMoreInfoText: - text_far _MobileBattleMoreInfoText - text_end - -MobileBattleRulesText: - text_far _MobileBattleRulesText - text_end - -WouldYouLikeToMobileBattleText: - text_far _WouldYouLikeToMobileBattleText - text_end - -WantAQuickMobileBattleText: - text_far _WantAQuickMobileBattleText - text_end - -WantToRushThroughAMobileBattleText: - text_far _WantToRushThroughAMobileBattleText - text_end - -PleaseTryAgainTomorrowText: - text_far _PleaseTryAgainTomorrowText - text_end - -Function103780: - ld a, [wChosenCableClubRoom] - push af - call Function10378c - pop af - ld [wChosenCableClubRoom], a - ret - -Function10378c: - ld c, 0 - ld hl, wSwarmFlags - bit SWARMFLAGS_MOBILE_4_F, [hl] - jr nz, .already_set - ld c, 1 - ld hl, wSwarmFlags - set SWARMFLAGS_MOBILE_4_F, [hl] - -.already_set - push bc - farcall Link_SaveGame - pop bc - jr c, .failed_to_save - ld a, 1 - ld [wScriptVar], a - ld a, c - and a - ret z - farcall MobileBattleResetTimer - ret - -.failed_to_save - xor a - ld [wScriptVar], a - ld a, c - and a - ret z - ld hl, wSwarmFlags - res SWARMFLAGS_MOBILE_4_F, [hl] - ret - -Function1037c2: - call MobileCheckRemainingBattleTime - jr c, .nope - ld a, [wdc5f] - and a - jr z, .nope - ld hl, TryAgainUsingSameSettingsText - call PrintText - call YesNoBox - jr c, .nope - ld a, $01 - ld [wScriptVar], a - ret - -.nope - xor a - ld [wdc5f], a - ld [wScriptVar], a - ret - -TryAgainUsingSameSettingsText: - text_far _TryAgainUsingSameSettingsText - text_end - -Function1037eb: - call MobileCheckRemainingBattleTime - jr nc, .asm_103807 - ld hl, MobileBattleLessThanOneMinuteLeftText - call PrintText - call JoyWaitAorB - ld hl, MobileBattleNoTimeLeftForLinkingText - call PrintText - call JoyWaitAorB - xor a - ld [wScriptVar], a - ret - -.asm_103807 - ld a, [wdc60] - and a - jr nz, .asm_103813 - ld a, $01 - ld [wScriptVar], a - ret - -.asm_103813 - ld a, $02 - ld [wScriptVar], a - ret - -MobileBattleLessThanOneMinuteLeftText: - text_far _MobileBattleLessThanOneMinuteLeftText - text_end - -MobileBattleNoTimeLeftForLinkingText: - text_far _MobileBattleNoTimeLeftForLinkingText - text_end - -MobileCheckRemainingBattleTime: -; Returns carry if less than one minute remains - farcall Mobile_AlwaysReturnNotCarry - bit 7, c - jr nz, .ok - farcall MobileBattleGetRemainingTime - ld a, c - cp 1 - jr c, .fail - -.ok - xor a - ret - -.fail - scf - ret - -Function10383c: - ld a, $01 - ld [wdc60], a - xor a - ld hl, wPlayerMonSelection - ld [hli], a - ld [hli], a - ld [hl], a - ld hl, PickThreeMonForMobileBattleText - call PrintText - call JoyWaitAorB - farcall Script_reloadmappart - farcall Function4a94e - jr c, .asm_103870 - ld hl, wd002 - ld de, wPlayerMonSelection - ld bc, 3 - call CopyBytes - xor a - ld [wScriptVar], a - ret - -.asm_103870 - ld a, $01 - ld [wScriptVar], a - ret - -PickThreeMonForMobileBattleText: - text_far _PickThreeMonForMobileBattleText - text_end - -Function10387b: - farcall Mobile_AlwaysReturnNotCarry - bit 7, c - ret nz - farcall MobileBattleGetRemainingTime - ld a, c - ld [wStringBuffer2], a - ld hl, MobileBattleRemainingTimeText - call PrintText - call JoyWaitAorB - ret - -MobileBattleRemainingTimeText: - text_far _MobileBattleRemainingTimeText - text_end diff --git a/mobile/mobile_41.asm b/mobile/mobile_41.asm deleted file mode 100644 index 0450a41ef..000000000 --- a/mobile/mobile_41.asm +++ /dev/null @@ -1,1113 +0,0 @@ -; These functions deal with miscellaneous statistics -; which were used for Trainer Rankings in Pokémon News. - -; Copies certain values at the time the player enters the Hall of Fame. -StubbedTrainerRankings_HallOfFame2:: - ret - ld a, BANK(sTrainerRankingGameTimeHOF) - call OpenSRAM - - ld hl, wGameTimeHours - ld de, sTrainerRankingGameTimeHOF - ld bc, 4 - call CopyBytes - - ld hl, sTrainerRankingStepCount - ld de, sTrainerRankingStepCountHOF - ld bc, 4 - call CopyBytes - - ; sTrainerRankingHealings is only a 3-byte value. - ; One extraneous byte is copied from sTrainerRankingMysteryGift. - ld hl, sTrainerRankingHealings - ld de, sTrainerRankingHealingsHOF - ld bc, 4 - call CopyBytes - - ld hl, sTrainerRankingBattles - ld de, sTrainerRankingBattlesHOF - ld bc, 3 - call CopyBytes - - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_MagikarpLength: - ret - ld a, BANK(sTrainerRankingLongestMagikarp) - call OpenSRAM - ld de, wMagikarpLength - ld hl, sTrainerRankingLongestMagikarp - - ; Is this Magikarp the longest measured? - ld a, [de] - cp [hl] - jr z, .isLowByteHigher - jr nc, .newRecordLongest - jr .checkShortest - -.isLowByteHigher - inc hl - inc de - ld a, [de] - cp [hl] - dec hl - dec de - jr c, .checkShortest - -.newRecordLongest - ld a, [de] - inc de - ld [hli], a - ld a, [de] - dec de - ld [hl], a - -.checkShortest - ; First, check if the record for shortest Magikarp is 0. - ; This seems unnecessary, because the value is initialized to 100.0 cm. - ld hl, sTrainerRankingShortestMagikarp - ld a, [hli] - or [hl] - dec hl - jr z, .newRecordShortest - - ; Now check if this Magikarp is the shortest - ld a, [de] - cp [hl] - jr z, .isLowByteLower - jr c, .newRecordShortest - jr .done - -.isLowByteLower - inc hl - inc de - ld a, [de] - cp [hl] - jr nc, .done - dec hl - dec de - -.newRecordShortest - ld a, [de] - inc de - ld [hli], a - ld a, [de] - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_BugContestScore: - ret - ld a, BANK(sTrainerRankingBugContestScore) - call OpenSRAM - ldh a, [hProduct] - ld hl, sTrainerRankingBugContestScore - cp [hl] - jr z, .isLowByteHigher - jr nc, .newHighScore - jr .done - -.isLowByteHigher - inc hl - ldh a, [hMultiplicand] - cp [hl] - jr c, .done - dec hl - -.newHighScore - ldh a, [hProduct] - ld [hli], a - ldh a, [hMultiplicand] - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_AddToSlotsWinStreak: - ret - ld a, BANK(sTrainerRankingCurrentSlotsStreak) - call OpenSRAM - - ; Increment the current streak - ld hl, sTrainerRankingCurrentSlotsStreak + 1 - inc [hl] - jr nz, .noCarry - dec hl - inc [hl] - inc hl - -.noCarry - dec hl - ; Now check if this is a new record for longest streak - ld a, [sTrainerRankingLongestSlotsStreak] - cp [hl] - jr z, .isLowByteHigher - jr c, .newRecordStreak - jr .done - -.isLowByteHigher - inc hl - ld a, [sTrainerRankingLongestSlotsStreak + 1] - cp [hl] - jr nc, .done - dec hl - -.newRecordStreak - ld a, [hli] - ld [sTrainerRankingLongestSlotsStreak], a - ld a, [hl] - ld [sTrainerRankingLongestSlotsStreak + 1], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_EndSlotsWinStreak: - ret - ld a, BANK(sTrainerRankingCurrentSlotsStreak) - call OpenSRAM - ld hl, sTrainerRankingCurrentSlotsStreak - xor a - ld [hli], a - ld [hl], a - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_AddToSlotsPayouts: - ret - ld a, BANK(sTrainerRankingTotalSlotsPayouts) - call OpenSRAM - ld hl, sTrainerRankingTotalSlotsPayouts + 3 - ld a, e - add [hl] - ld [hld], a - ld a, d - adc [hl] - ld [hld], a - jr nc, .done - inc [hl] - jr nz, .done - dec hl - inc [hl] - jr nz, .done - ld a, $ff - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_AddToBattlePayouts: - ret - ld a, BANK(sTrainerRankingTotalBattlePayouts) - call OpenSRAM - ld hl, sTrainerRankingTotalBattlePayouts + 3 - ld a, [bc] - dec bc - add [hl] - ld [hld], a - ld a, [bc] - dec bc - adc [hl] - ld [hld], a - ld a, [bc] - adc [hl] - ld [hld], a - jr nc, .done - inc [hl] - jr nz, .done - ld a, $ff - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - -.done - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -StubbedTrainerRankings_StepCount: - ret - ld hl, sTrainerRankingStepCount - jp StubbedTrainerRankings_Increment4Byte - -StubbedTrainerRankings_BattleTowerWins: ; unreferenced - ret - ld a, BANK(s5_aa8d) - call OpenSRAM - ld a, [s5_aa8d] - and a - call CloseSRAM - ret nz - ld hl, sTrainerRankingBattleTowerWins - jp StubbedTrainerRankings_Increment2Byte - -StubbedTrainerRankings_TMsHMsTaught: - ret - ld hl, sTrainerRankingTMsHMsTaught - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Battles: - ret - ld a, [wBattleType] - cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle - ret z - ld hl, sTrainerRankingBattles - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_WildBattles: - ret - ld a, [wBattleType] - cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle - ret z - ld hl, sTrainerRankingWildBattles - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_TrainerBattles: - ret - ld hl, sTrainerRankingTrainerBattles - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Unused1: ; unreferenced - ret - ld hl, sTrainerRankingUnused1 - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_HallOfFame:: - ret - ld hl, sTrainerRankingHOFEntries - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_WildMonsCaught: - ret - ld hl, sTrainerRankingWildMonsCaught - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_HookedEncounters: - ret - ld hl, sTrainerRankingHookedEncounters - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_EggsHatched: - ret - ld hl, sTrainerRankingEggsHatched - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_MonsEvolved: - ret - ld hl, sTrainerRankingMonsEvolved - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_FruitPicked: - ret - ld hl, sTrainerRankingFruitPicked - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Healings: - ret - ld hl, sTrainerRankingHealings - jp StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_MysteryGift: - ret - ld hl, sTrainerRankingMysteryGift - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Trades: - ret - ld hl, sTrainerRankingTrades - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Fly: - ret - ld hl, sTrainerRankingFly - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Surf: - ret - ld hl, sTrainerRankingSurf - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Waterfall: - ret - ld hl, sTrainerRankingWaterfall - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_WhiteOuts: - ret - ld hl, sTrainerRankingWhiteOuts - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_LuckyNumberShow: - ret - ld hl, sTrainerRankingLuckyNumberShow - jr StubbedTrainerRankings_Increment2Byte - -StubbedTrainerRankings_PhoneCalls: - ret - ld hl, sTrainerRankingPhoneCalls - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Unused2: ; unreferenced - ret - ld hl, sTrainerRankingUnused2 - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_LinkBattles: - ret - ld hl, sTrainerRankingLinkBattles - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Splash: - ret - ; Only counts if it’s the player’s turn - ldh a, [hBattleTurn] - and a - ret nz - ld hl, sTrainerRankingSplash - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_TreeEncounters: - ret - ld hl, sTrainerRankingTreeEncounters - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Unused3: ; unreferenced - ret - ld hl, sTrainerRankingUnused3 - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_ColosseumWins: - ret - ld hl, sTrainerRankingColosseumWins - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_ColosseumLosses: - ret - ld hl, sTrainerRankingColosseumLosses - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_ColosseumDraws: - ret - ld hl, sTrainerRankingColosseumDraws - jr StubbedTrainerRankings_Increment3Byte - -; Counts uses of both Selfdestruct and Explosion. -StubbedTrainerRankings_Selfdestruct: - ret - ; Only counts if it’s the player’s turn - ldh a, [hBattleTurn] - and a - ret nz - ld hl, sTrainerRankingSelfdestruct - jr StubbedTrainerRankings_Increment3Byte - -StubbedTrainerRankings_Increment4Byte: - push bc - ld bc, 3 - jr StubbedTrainerRankings_Increment - -StubbedTrainerRankings_Increment3Byte: - push bc - ld bc, 2 - jr StubbedTrainerRankings_Increment - -StubbedTrainerRankings_Increment2Byte: - push bc - ld bc, 1 - jr StubbedTrainerRankings_Increment - -StubbedTrainerRankings_Increment1Byte: ; unreferenced - push bc - ld bc, 0 - -; Increments a big-endian value of bc + 1 bytes at hl -StubbedTrainerRankings_Increment: - ld a, BANK(sTrainerRankings) - call OpenSRAM - push hl - push de - ld e, c - inc e -.asm_106136 - ld a, [hli] - inc a - jr nz, .asm_10613d - dec e - jr nz, .asm_106136 - -.asm_10613d - pop de - pop hl - jr z, .asm_10614d - add hl, bc -.asm_106142 - inc [hl] - jr nz, .asm_10614d - ld a, c - and a - jr z, .asm_10614d - dec hl - dec c - jr .asm_106142 - -.asm_10614d - call UpdateTrainerRankingsChecksum - call CloseSRAM - pop bc - ret - -; Used when SRAM bank 5 isn’t already loaded — what’s the point of this? -UpdateTrainerRankingsChecksum2: - ret - ld a, BANK(sTrainerRankings) - call OpenSRAM - call UpdateTrainerRankingsChecksum - call CloseSRAM - ret - -UpdateTrainerRankingsChecksum: - push de - call CalculateTrainerRankingsChecksum - ld hl, sTrainerRankingsChecksum - ld [hl], d - inc hl - ld [hl], e - pop de - ret - -CalculateTrainerRankingsChecksum: - push bc - ld hl, sTrainerRankings - ld bc, sTrainerRankingsChecksum - sTrainerRankings - xor a - ld de, 0 -.asm_106179 - ld a, e - add [hl] - ld e, a - jr nc, .asm_10617f - inc d - -.asm_10617f - inc hl - dec bc - ld a, b - or c - jr nz, .asm_106179 - pop bc - ret - -BackupMobileEventIndex: - ld a, BANK(sMobileEventIndex) - call OpenSRAM - ld a, [sMobileEventIndex] - push af - ld a, BANK(sMobileEventIndexBackup) - call OpenSRAM - pop af - ld [sMobileEventIndexBackup], a - call CloseSRAM - ret - -RestoreMobileEventIndex: - ld a, BANK(sMobileEventIndexBackup) - call OpenSRAM - ld a, [sMobileEventIndexBackup] - push af - ld a, BANK(sMobileEventIndex) - call OpenSRAM - pop af - ld [sMobileEventIndex], a - call CloseSRAM - ret - -VerifyTrainerRankingsChecksum: ; unreferenced - call CalculateTrainerRankingsChecksum - ld hl, sTrainerRankingsChecksum - ld a, d - cp [hl] - ret nz - inc hl - ld a, e - cp [hl] - ret - -DeleteMobileEventIndex: - ld a, BANK(sMobileEventIndex) - call OpenSRAM - xor a - ld [sMobileEventIndex], a - call CloseSRAM - ret - -InitializeTrainerRankings: ; unreferenced -; Initializes Trainer Rankings data for a new save file in JP Crystal. - ld hl, sTrainerRankings - ld bc, sTrainerRankingsEnd - sTrainerRankings - xor a - call ByteFill - - ; Initialize the shortest Magikarp to 100.0 cm - ld hl, sTrainerRankingShortestMagikarp - ld a, $3 - ld [hli], a - ld [hl], $e8 - - call UpdateTrainerRankingsChecksum - ld hl, sTrainerRankings - ld de, sTrainerRankingsBackup - ld bc, sTrainerRankingsEnd - sTrainerRankings - call CopyBytes - ret - -_MobilePrintNum:: -; Supports signed 31-bit integers (up to 10 digits) -; b: Bits 0-4 = # bytes -; Bit 7 = set if negative -; c: Number of digits -; de: highest byte of number to convert -; hl: where to print the converted string - push bc - xor a - ldh [hPrintNumBuffer + 0], a - ldh [hPrintNumBuffer + 1], a - ldh [hPrintNumBuffer + 2], a - ld a, b - and $f - cp $1 - jr z, .one_byte - cp $2 - jr z, .two_bytes - cp $3 - jr z, .three_bytes -; four bytes - ld a, [de] - ldh [hPrintNumBuffer + 0], a - inc de - -.three_bytes - ld a, [de] - ldh [hPrintNumBuffer + 1], a - inc de - -.two_bytes - ld a, [de] - ldh [hPrintNumBuffer + 2], a - inc de - -.one_byte - ld a, [de] - ldh [hPrintNumBuffer + 3], a - inc de - - push de - xor a - ldh [hPrintNumBuffer + 8], a - ld a, b - ldh [hPrintNumBuffer + 9], a - ld a, c - cp 2 - jr z, .two_digits - ld de, ._2 - cp 3 - jr z, .three_to_nine_digits - ld de, ._3 - cp 4 - jr z, .three_to_nine_digits - ld de, ._4 - cp 5 - jr z, .three_to_nine_digits - ld de, ._5 - cp 6 - jr z, .three_to_nine_digits - ld de, ._6 - cp 7 - jr z, .three_to_nine_digits - ld de, ._7 - cp 8 - jr z, .three_to_nine_digits - ld de, ._8 - cp 9 - jr z, .three_to_nine_digits - ld de, ._9 - -.three_to_nine_digits - inc de - inc de - inc de - dec a - dec a - -.digit_loop - push af - call .Function1062b2 - call .Function1062ff -rept 4 - inc de -endr - pop af - dec a - jr nz, .digit_loop - -.two_digits - ld c, 0 - ldh a, [hPrintNumBuffer + 3] -.mod_ten_loop - cp 10 - jr c, .simple_divide_done - sub 10 - inc c - jr .mod_ten_loop - -.simple_divide_done - ld b, a - ldh a, [hPrintNumBuffer + 8] - or c - ldh [hPrintNumBuffer + 8], a - jr nz, .create_digit - call .LoadMinusTenIfNegative - jr .done - -.create_digit - ld a, "0" - add c - ld [hl], a - -.done - call .Function1062ff - ld a, "0" - add b - ld [hli], a - pop de - pop bc - ret - -._9 - dd 1000000000 -._8 - dd 100000000 -._7 - dd 10000000 -._6 - dd 1000000 -._5 - dd 100000 -._4 - dd 10000 -._3 - dd 1000 -._2 - dd 100 - -.Function1062b2: - ld c, $0 -.asm_1062b4 - ld a, [de] - dec de - ld b, a - ldh a, [hPrintNumBuffer + 3] - sub b - ldh [hPrintNumBuffer + 7], a - ld a, [de] - dec de - ld b, a - ldh a, [hPrintNumBuffer + 2] - sbc b - ldh [hPrintNumBuffer + 6], a - ld a, [de] - dec de - ld b, a - ldh a, [hPrintNumBuffer + 1] - sbc b - ldh [hPrintNumBuffer + 5], a - ld a, [de] - inc de - inc de - inc de - ld b, a - ldh a, [hPrintNumBuffer + 0] - sbc b - ldh [hPrintNumBuffer + 4], a - jr c, .asm_1062eb - ldh a, [hPrintNumBuffer + 4] - ldh [hPrintNumBuffer + 0], a - ldh a, [hPrintNumBuffer + 5] - ldh [hPrintNumBuffer + 1], a - ldh a, [hPrintNumBuffer + 6] - ldh [hPrintNumBuffer + 2], a - ldh a, [hPrintNumBuffer + 7] - ldh [hPrintNumBuffer + 3], a - inc c - jr .asm_1062b4 - -.asm_1062eb - ldh a, [hPrintNumBuffer + 8] - or c - jr z, .LoadMinusTenIfNegative - ld a, -10 - add c - ld [hl], a - ldh [hPrintNumBuffer + 8], a - ret - -.LoadMinusTenIfNegative: - ldh a, [hPrintNumBuffer + 9] - bit 7, a - ret z - - ld [hl], -10 - ret - -.Function1062ff: - ldh a, [hPrintNumBuffer + 9] - bit 7, a - jr nz, .asm_10630d - bit 6, a - jr z, .asm_10630d - ldh a, [hPrintNumBuffer + 8] - and a - ret z - -.asm_10630d - inc hl - ret - -; functions related to the cable club and various NPC scripts referencing communications - -Mobile_DummyReturnFalse: - xor a - ld [wScriptVar], a - ret - -Stubbed_Function106314: - ret - ld a, BANK(s4_b000) - call OpenSRAM - ld a, c - cpl - ld [s4_b000], a - call CloseSRAM - ld a, BANK(s7_a800) - call OpenSRAM - ld a, c - ld [s7_a800], a - call CloseSRAM - ret - -Mobile_AlwaysReturnNotCarry: - or a - ret - -Function106331: ; unreferenced -; called by Mobile_DummyReturnFalse in JP Crystal - ; check ~[s4_b000] == [s7_a800] - ld a, BANK(s4_b000) - call OpenSRAM - ld a, [s4_b000] - cpl - ld b, a - call CloseSRAM - ld a, BANK(s7_a800) - call OpenSRAM - ld a, [s7_a800] - ld c, a - call CloseSRAM - ld a, c - cp b - jr nz, .nope - - ; check [s7_a800] != 0 - and a - jr z, .nope - - ; check !([s7_a800] & %01110000) - and %10001111 - cp c - jr nz, .nope - - ld c, a - scf - ret - -.nope - xor a - ld c, a - ret - -Function10635c: - ld a, [wMobileCommsJumptableIndex] - bit 7, a - ret nz - ld a, [wMobileCommsJumptableIndex] - ld hl, .Jumptable - rst JumpTable - ret - -.Jumptable: - dw .init - dw Function106392 - dw Function1063cc - dw Function1063d8 - dw Function1063e5 - dw Function1063f3 - dw Function106403 - dw Function106442 - dw Function106453 - -.init: - ld de, wcd30 - ld hl, $41 - ld bc, $41 - ld a, MOBILEAPI_20 - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function106392: - xor a - ld [wcf64], a - ld a, [wc821] - bit 1, a - jr nz, .asm_1063a2 - bit 0, a - jr z, .asm_1063bf - ret - -.asm_1063a2 - call Mobile_AlwaysReturnNotCarry - ld a, c - and a - jr nz, .asm_1063b4 - ld a, $b - ld [wcf64], a - ld a, $7 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1063b4 - ld a, $7 - ld [wcf64], a - ld a, $7 - ld [wMobileCommsJumptableIndex], a - ret - -.asm_1063bf - ld a, $1 - ld [wcf64], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1063cc: - ld a, $78 - ld [wcd42], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function1063d8: - ld hl, wcd42 - dec [hl] - ret nz - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1063e5: - ld a, [wcf64] - cp $3 - ret nz - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function1063f3: - ld de, wcd31 - ld a, MOBILEAPI_TELEPHONESTATUS - call MobileAPI - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function106403: - ld a, [wc821] - bit 1, a - jr nz, .asm_106426 - bit 0, a - jr z, .asm_10640f - ret - -.asm_10640f - ld a, [wcd31] - and $80 - ld c, a - ld a, [wcd30] - or c - inc a - ld c, a - call Stubbed_Function106314 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_106426 - call Mobile_AlwaysReturnNotCarry - ld a, c - and a - jr z, .asm_106435 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -.asm_106435 - ld c, $0 - call Stubbed_Function106314 - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - ret - -Function106442: - ld a, MOBILEAPI_1B - call MobileAPI - xor a - ldh [hMobile], a - ldh [hMobileReceive], a - ld a, [wMobileCommsJumptableIndex] - inc a - ld [wMobileCommsJumptableIndex], a - -Function106453: - ld a, [wMobileCommsJumptableIndex] - set 7, a - ld [wMobileCommsJumptableIndex], a - nop - ld a, $4 - ld [wcf64], a - ret - -Stubbed_Function106462: - ret - ret - -Function106464:: - ld de, FontsExtra_SolidBlackGFX - ld hl, vTiles2 tile "■" ; $60 - lb bc, BANK(FontsExtra_SolidBlackGFX), 1 - call Get2bpp - ld de, FontsExtra2_UpArrowGFX - ld hl, vTiles2 tile "▲" ; $61 - lb bc, BANK(FontsExtra2_UpArrowGFX), 1 - call Get2bpp - ld de, MobileDialingFrameGFX - ld hl, vTiles2 tile "☎" ; $62 - ld c, 9 - ld b, BANK(MobileDialingFrameGFX) - call Get2bpp - ld de, $40b0 - ld hl, vTiles2 tile $6b - ld b, $0f ; no graphics at 0f:40b0; JP leftover??? - call Get2bpp - farcall LoadFrame - ret - -Function10649b: ; unreferenced - ld a, [wTextboxFrame] - maskbits NUM_FRAMES - ld bc, TEXTBOX_FRAME_TILES * LEN_1BPP_TILE - ld hl, Frames - call AddNTimes - ld d, h - ld e, l - ld hl, vTiles2 tile "┌" ; $79 - ld c, TEXTBOX_FRAME_TILES ; "┌" to "┘" - ld b, BANK(Frames) - call Function1064c3 - ld hl, vTiles2 tile " " ; $7f - ld de, TextboxSpaceGFX - ld c, 1 - ld b, BANK(TextboxSpaceGFX) - call Function1064c3 - ret - -Function1064c3: - ldh a, [rSVBK] - push af - ld a, $6 - ldh [rSVBK], a - push bc - push hl - ld hl, Function3f88 - ld a, b - rst FarCall - pop hl - pop bc - pop af - ldh [rSVBK], a - jr asm_1064ed - -Function1064d8: ; unreferenced - ldh a, [rSVBK] - push af - ld a, $6 - ldh [rSVBK], a - push bc - push hl - ld hl, Function3f9f - ld a, b - rst FarCall - pop hl - pop bc - pop af - ldh [rSVBK], a - jr asm_1064ed - -asm_1064ed: - ld de, wDecompressScratch - ld b, $0 - ldh a, [rSVBK] - push af - ld a, $6 - ldh [rSVBK], a - ldh a, [rVBK] - push af - ld a, $1 - ldh [rVBK], a - call Get2bpp - pop af - ldh [rVBK], a - pop af - ldh [rSVBK], a - ret - -Function10650a: ; unreferenced - ld de, MobilePhoneTilesGFX - lb bc, BANK(MobilePhoneTilesGFX), 17 - call Get2bpp - ret - -MobileDialingFrameGFX: -INCBIN "gfx/mobile/dialing_frame.2bpp" diff --git a/mobile/mobile_42.asm b/mobile/mobile_42.asm deleted file mode 100644 index 87b85814a..000000000 --- a/mobile/mobile_42.asm +++ /dev/null @@ -1,1763 +0,0 @@ -MACRO add_mobiletradeanim -\1_MobileTradeCmd: - dw \1 -ENDM - -MACRO mobiletradeanim - db (\1_MobileTradeCmd - MobileTradeAnim_JumptableLoop.Jumptable) / 2 -ENDM - -MobileTradeAnimation_SendGivemonToGTS: - ld a, $80 - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics - -.TradeAnimScript: - mobiletradeanim MobileTradeAnim_ShowPlayerMonForGTS - mobiletradeanim MobileTradeAnim_FadeToBlack - mobiletradeanim MobileTradeAnim_10 - mobiletradeanim MobileTradeAnim_GiveTrademon1 - mobiletradeanim MobileTradeAnim_06 - mobiletradeanim MobileTradeAnim_0f - mobiletradeanim EndMobileTradeAnim - -MobileTradeAnimation_RetrieveGivemonFromGTS: - ld a, $80 - jr asm_108018 - -MobileTradeAnimation_ReceiveGetmonFromGTS: - ld a, $0 -asm_108018: - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics - -.TradeAnimScript: - mobiletradeanim MobileTradeAnim_11 - mobiletradeanim MobileTradeAnim_07 - mobiletradeanim MobileTradeAnim_GetTrademon1 - mobiletradeanim MobileTradeAnim_ShowOTMonFromGTS - mobiletradeanim EndMobileTradeAnim - -Function108026: - ld a, $0 - jr asm_10802c - -Function10802a: - ld a, $1 - -asm_10802c: - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_Frontpics - -.TradeAnimScript: ; trade - mobiletradeanim MobileTradeAnim_ShowPlayerMonToBeSent - mobiletradeanim MobileTradeAnim_FadeToBlack - mobiletradeanim MobileTradeAnim_02 - mobiletradeanim MobileTradeAnim_GiveTrademon1 - mobiletradeanim MobileTradeAnim_05 - mobiletradeanim MobileTradeAnim_GetTrademon1 - mobiletradeanim MobileTradeAnim_ShowOTMonFromTrade - mobiletradeanim EndMobileTradeAnim - -Function10803d: - ld a, $0 - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics - -.TradeAnimScript: - mobiletradeanim MobileTradeAnim_11 - mobiletradeanim MobileTradeAnim_07 - mobiletradeanim MobileTradeAnim_GetTrademon1 - mobiletradeanim MobileTradeAnim_GetOddEgg - mobiletradeanim EndMobileTradeAnim - -Function10804d: - ld a, $0 - ld [wcf65], a - ld de, .TradeAnimScript - jp RunMobileTradeAnim_NoFrontpics - -.TradeAnimScript: - mobiletradeanim MobileTradeAnim_11 - mobiletradeanim MobileTradeAnim_ShowOTMonFromGTS - mobiletradeanim EndMobileTradeAnim - -RunMobileTradeAnim_Frontpics: - ld hl, wTradeAnimAddress - ld [hl], e - inc hl - ld [hl], d - ldh a, [hMapAnims] - push af - xor a - ldh [hMapAnims], a - ld hl, wVramState - ld a, [hl] - push af - res 0, [hl] - ld hl, wOptions - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call Function1080b7 -.loop - call MobileTradeAnim_JumptableLoop - jr nc, .loop - pop af - ld [wOptions], a - pop af - ld [wVramState], a - pop af - ldh [hMapAnims], a - ret - -RunMobileTradeAnim_NoFrontpics: - ld hl, wTradeAnimAddress - ld [hl], e - inc hl - ld [hl], d - ldh a, [hMapAnims] - push af - xor a - ldh [hMapAnims], a - ld hl, wVramState - ld a, [hl] - push af - res 0, [hl] - ld hl, wOptions - ld a, [hl] - push af - set NO_TEXT_SCROLL, [hl] - call Function108157 -.loop - call MobileTradeAnim_JumptableLoop - jr nc, .loop - pop af - ld [wOptions], a - pop af - ld [wVramState], a - pop af - ldh [hMapAnims], a - ret - -Function1080b7: - xor a - ld [wJumptableIndex], a - call ClearBGPalettes - call ClearSprites - call ClearTilemap - call DisableLCD - call MobileTradeAnim_ClearTiles - call MobileTradeAnim_ClearBGMap - call LoadStandardFont - call LoadFontsBattleExtra - - ld a, $1 - ldh [rVBK], a - ld hl, MobileTradeGFX - ld de, vTiles2 - call Decompress - - ld a, $0 - ldh [rVBK], a - ld hl, MobileTradeSpritesGFX - ld de, vTiles0 tile $20 - call Decompress - - call EnableLCD - - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - farcall ClearSpriteAnims - - call DelayFrame - - ld de, TradeBallGFX - ld hl, vTiles0 - lb bc, BANK(TradeBallGFX), 6 - call Request2bpp - - ld de, TradePoofGFX - ld hl, vTiles0 tile $06 - lb bc, BANK(TradePoofGFX), 12 - call Request2bpp - - xor a ; SPRITE_ANIM_DICT_DEFAULT - ld hl, wSpriteAnimDict - ld [hli], a - ld [hl], $00 - - ld a, [wPlayerTrademonSpecies] - ld hl, wPlayerTrademonDVs - ld de, vTiles0 tile $30 - call MobileTradeAnim_GetFrontpic - - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - ld de, vTiles2 tile $31 - call MobileTradeAnim_GetFrontpic - - ld a, [wPlayerTrademonSpecies] - ld de, wPlayerTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - - ld a, [wOTTrademonSpecies] - ld de, wOTTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - - xor a - call Function108b98 - call Function108af4 - ret - -Function108157: - xor a - ld [wJumptableIndex], a - call ClearBGPalettes - call ClearSprites - call ClearTilemap - call DisableLCD - call MobileTradeAnim_ClearTiles - call MobileTradeAnim_ClearBGMap - call LoadStandardFont - call LoadFontsBattleExtra - call EnableLCD - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - farcall ClearSpriteAnims - xor a ; SPRITE_ANIM_DICT_DEFAULT - ld hl, wSpriteAnimDict - ld [hli], a - ld [hl], $00 - call DelayFrame - ld a, [wPlayerTrademonSpecies] - ld de, wPlayerTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - ld a, [wOTTrademonSpecies] - ld de, wOTTrademonSpeciesName - call MobileTradeAnim_InitSpeciesName - xor a - call Function108b98 - call Function108af4 - ret - -MobileTradeAnim_ClearTiles: - ld a, $1 - ldh [rVBK], a - ld hl, vTiles0 - ld bc, 3 * $80 tiles - xor a - call ByteFill - ld a, $0 - ldh [rVBK], a - ld hl, vTiles0 - ld bc, 3 * $80 tiles - xor a - call ByteFill - ret - -MobileTradeAnim_ClearBGMap: - ld a, $1 - ldh [rVBK], a - hlbgcoord 0, 0 - ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH - ld a, $0 - call ByteFill - ld a, $0 - ldh [rVBK], a - hlbgcoord 0, 0 - ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH - ld a, $7f - call ByteFill - ret - -MobileTradeAnim_GetFrontpic: - push de - push af - predef GetUnownLetter - pop af - ld [wCurPartySpecies], a - ld [wCurSpecies], a - call GetBaseData - pop de - predef GetMonFrontpic - ret - -Function108201: - push de - push af - predef GetUnownLetter - pop af - ld [wCurPartySpecies], a - ld [wCurSpecies], a - call GetBaseData - pop de - predef GetAnimatedFrontpic - ret - -Function108219: ; unreferenced - ld [wCurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, ANIM_MON_TRADE - predef AnimateFrontpic - ret - -Function108229: - ld [wCurPartySpecies], a - hlcoord 7, 2 - ld d, $0 - ld e, ANIM_MON_TRADE - predef LoadMonAnimation - ret - -MobileTradeAnim_InitSpeciesName: - push de - ld [wNamedObjectIndex], a - call GetPokemonName - ld hl, wStringBuffer1 - pop de - ld bc, MON_NAME_LENGTH - call CopyBytes - ret - -MobileTradeAnim_JumptableLoop: - ld a, [wJumptableIndex] - bit 7, a - jr nz, .StopAnim - call .ExecuteMobileTradeAnimCommand - call DelayFrame - and a - ret - -.StopAnim: - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - call LoadStandardFont - call LoadFontsBattleExtra - farcall Stubbed_Function106462 - farcall Function106464 - scf - ret - -.ExecuteMobileTradeAnimCommand: - jumptable .Jumptable, wJumptableIndex - -.Jumptable: - add_mobiletradeanim GetMobileTradeAnimByte ; 00 - add_mobiletradeanim MobileTradeAnim_ShowPlayerMonToBeSent ; 01 - add_mobiletradeanim MobileTradeAnim_02 ; 02 - add_mobiletradeanim MobileTradeAnim_GiveTrademon1 ; 03 - add_mobiletradeanim MobileTradeAnim_GiveTrademon2 ; 04 - add_mobiletradeanim MobileTradeAnim_05 ; 05 - add_mobiletradeanim MobileTradeAnim_06 ; 06 - add_mobiletradeanim MobileTradeAnim_07 ; 07 - add_mobiletradeanim MobileTradeAnim_GetTrademon1 ; 08 - add_mobiletradeanim MobileTradeAnim_GetTrademon2 ; 09 - add_mobiletradeanim MobileTradeAnim_GetTrademon3 ; 0a - add_mobiletradeanim MobileTradeAnim_ShowOTMonFromTrade ; 0b - add_mobiletradeanim EndMobileTradeAnim ; 0c - add_mobiletradeanim MobileTradeAnim_ShowPlayerMonForGTS ; 0d - add_mobiletradeanim MobileTradeAnim_ShowOTMonFromGTS ; 0e - add_mobiletradeanim MobileTradeAnim_0f ; 0f - add_mobiletradeanim MobileTradeAnim_10 ; 10 - add_mobiletradeanim MobileTradeAnim_11 ; 11 - add_mobiletradeanim MobileTradeAnim_FadeToBlack ; 12 - add_mobiletradeanim MobileTradeAnim_GetOddEgg ; 13 get odd egg - -MobileTradeAnim_Next: - ld hl, wJumptableIndex - inc [hl] - ret - -GetMobileTradeAnimByte: - ld hl, wTradeAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - ld [wJumptableIndex], a - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -EndMobileTradeAnim: - ld hl, wJumptableIndex - set 7, [hl] - ret - -WaitMobileTradeSpriteAnims: -.loop - push bc - farcall PlaySpriteAnimations - pop bc - call DelayFrame - dec c - jr nz, .loop - ret - -Function1082db: -.loop - farcall PlaySpriteAnimations - farcall SetUpPokeAnim - farcall HDMATransferTilemapToWRAMBank3 - jr nc, .loop - ret - -Function1082f0: -.loop - call Function108b78 - call DelayFrame - dec c - jr nz, .loop - ret - -Function1082fa: -.loop - call Function108b78 - push hl - push bc - farcall PlaySpriteAnimations - pop bc - pop hl - call DelayFrame - dec c - jr nz, .loop - ret - -MobileTradeAnim_ShowPlayerMonToBeSent: - ld de, MUSIC_EVOLUTION - call PlayMusic2 - ld a, $80 - ldh [hSCX], a - xor a - ldh [hSCY], a - ld a, $87 - ldh [hWX], a - ld a, $50 - ldh [hWY], a - call MobileTradeAnim_DisplayMonToBeSent - ld a, [wPlayerTrademonSpecies] - ld [wCurPartySpecies], a - call Function10895e - ld a, [wPlayerTrademonDVs] - ld [wTempMonDVs], a - ld a, [wPlayerTrademonDVs + 1] - ld [wTempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call WaitBGMap -.loop - ldh a, [hWX] - cp $7 - jr z, .okay - sub $4 - ldh [hWX], a - ldh a, [hSCX] - sub $4 - ldh [hSCX], a - call DelayFrame - jr .loop - -.okay - ld a, $7 - ldh [hWX], a - xor a - ldh [hSCX], a - ld a, [wPlayerTrademonSpecies] - call GetCryIndex - jr c, .skip_cry - ld e, c - ld d, b - call PlayCry - -.skip_cry - ld c, 80 - call DelayFrames - call Function108bec - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL - call InitSpriteAnimStruct - ld de, SFX_BALL_POOF - call PlaySFX - hlcoord 0, 0 - ld bc, 12 * SCREEN_WIDTH - ld a, " " - call ByteFill - ld c, 80 - call WaitMobileTradeSpriteAnims - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_ShowOTMonFromTrade: - call ClearBGPalettes - call ClearSprites - call ClearTilemap - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, [wOTTrademonSpecies] - ld [wCurPartySpecies], a - ld hl, wOTTrademonDVs - ld de, vTiles2 - call Function108201 - call EnableLCD - farcall DeinitializeAllSprites - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - call InitSpriteAnimStruct - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, 48 - call WaitMobileTradeSpriteAnims - ld de, SFX_BALL_POOF - call PlaySFX - call MobileTradeAnim_DisplayReceivedMon - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $50 - ldh [hWY], a - ld a, [wOTTrademonSpecies] - ld [wCurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [wTempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [wTempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call Function108963 - ld a, [wOTTrademonSpecies] - call Function108229 - call Function1082db - call Function108c16 - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_ShowPlayerMonForGTS: - ld de, MUSIC_EVOLUTION - call PlayMusic2 - ld a, $80 - ldh [hSCX], a - xor a - ldh [hSCY], a - ld a, $87 - ldh [hWX], a - ld a, $50 - ldh [hWY], a - call MobileTradeAnim_DisplayMonToBeSent - ld a, [wPlayerTrademonSpecies] - ld [wCurPartySpecies], a - ld hl, wPlayerTrademonDVs - call Function10898a - call DelayFrame - ld de, TradeBallGFX - ld hl, vTiles0 - lb bc, BANK(TradeBallGFX), 6 - call Request2bpp - ld de, TradePoofGFX - ld hl, vTiles0 tile $06 - lb bc, BANK(TradePoofGFX), 12 - call Request2bpp - ld a, [wPlayerTrademonDVs] - ld [wTempMonDVs], a - ld a, [wPlayerTrademonDVs + 1] - ld [wTempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call WaitBGMap -.loop - ldh a, [hWX] - cp $7 - jr z, .done - sub $4 - ldh [hWX], a - ldh a, [hSCX] - sub $4 - ldh [hSCX], a - call DelayFrame - jr .loop - -.done - ld a, $7 - ldh [hWX], a - xor a - ldh [hSCX], a - ld a, [wPlayerTrademonSpecies] - call GetCryIndex - jr c, .skip_cry - ld e, c - ld d, b - call PlayCry - -.skip_cry - ld c, 80 - call DelayFrames - call Function108c2b - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL - call InitSpriteAnimStruct - ld de, SFX_BALL_POOF - call PlaySFX - hlcoord 0, 0 - ld bc, 12 * SCREEN_WIDTH - ld a, " " - call ByteFill - ld c, 80 - call WaitMobileTradeSpriteAnims - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_ShowOTMonFromGTS: - call ClearBGPalettes - call ClearSprites - call ClearTilemap - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, [wOTTrademonSpecies] - ld [wCurPartySpecies], a - ld hl, wOTTrademonDVs - ld de, vTiles2 - call Function108201 - call EnableLCD - farcall DeinitializeAllSprites - call DelayFrame - ld de, TradeBallGFX - ld hl, vTiles0 - lb bc, BANK(TradeBallGFX), 6 - call Request2bpp - ld de, TradePoofGFX - ld hl, vTiles0 tile $06 - lb bc, BANK(TradePoofGFX), 12 - call Request2bpp - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - call InitSpriteAnimStruct - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, 48 - call WaitMobileTradeSpriteAnims - ld de, SFX_BALL_POOF - call PlaySFX - call MobileTradeAnim_DisplayReceivedMon - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $50 - ldh [hWY], a - ld a, [wOTTrademonSpecies] - ld [wCurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [wTempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [wTempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - call Function10898a - ld a, [wOTTrademonSpecies] - call Function108229 - call Function1082db - call Function108c40 - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_GetOddEgg: - call ClearBGPalettes - call ClearSprites - call ClearTilemap - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, [wOTTrademonSpecies] - ld [wCurPartySpecies], a - ld hl, wOTTrademonDVs - ld de, vTiles2 - call Function108201 - call EnableLCD - farcall DeinitializeAllSprites - call DelayFrame - ld de, TradeBallGFX - ld hl, vTiles0 - lb bc, BANK(TradeBallGFX), 6 - call Request2bpp - ld de, TradePoofGFX - ld hl, vTiles0 tile $06 - lb bc, BANK(TradePoofGFX), 12 - call Request2bpp - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - call InitSpriteAnimStruct - call Function108b45 - ld a, $1 - call Function108b98 - call Function108af4 - ld c, 48 - call WaitMobileTradeSpriteAnims - ld de, SFX_BALL_POOF - call PlaySFX - call Function108a33 - xor a - ldh [hSCX], a - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $50 - ldh [hWY], a - ld a, [wOTTrademonSpecies] - ld [wCurPartySpecies], a - ld a, [wOTTrademonDVs] - ld [wTempMonDVs], a - ld a, [wOTTrademonDVs + 1] - ld [wTempMonDVs + 1], a - ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS - call GetSGBLayout - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - ld a, [wOTTrademonSpecies] - ld hl, wOTTrademonDVs - call Function10898a - ld a, [wOTTrademonSpecies] - call Function108229 - call Function1082db - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_02: - farcall DeinitializeAllSprites - call ClearBGPalettes - call ClearSprites - call ClearTilemap - xor a - ldh [hBGMapMode], a - call DisableLCD - call MobileTradeAnim_ClearBGMap - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $c - ldh [hSCX], a - ld a, $78 - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, MobileTradeBGPalettes - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - pop af - ldh [rSVBK], a - call LoadMobileAdapterPalette - call Function108af4 - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_10: - farcall DeinitializeAllSprites - call ClearBGPalettes - call ClearSprites - call ClearTilemap - xor a - ldh [hBGMapMode], a - call DisableLCD - call MobileTradeAnim_ClearBGMap - ld a, $1 - ldh [rVBK], a - ld hl, MobileTradeGFX - ld de, vTiles2 - call Decompress - ld a, $0 - ldh [rVBK], a - ld hl, MobileTradeSpritesGFX - ld de, vTiles0 tile $20 - call Decompress - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $c - ldh [hSCX], a - ld a, $78 - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, MobileTradeBGPalettes - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - pop af - ldh [rSVBK], a - call LoadMobileAdapterPalette - call Function108af4 - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_11: - call ClearBGPalettes - call ClearSprites - call ClearTilemap - xor a - ldh [hBGMapMode], a - call DisableLCD - ld a, $1 - ldh [rVBK], a - ld hl, MobileTradeGFX - ld de, vTiles2 - call Decompress - ld a, $0 - ldh [rVBK], a - ld hl, MobileTradeSpritesGFX - ld de, vTiles0 tile $20 - call Decompress - call Function108c80 - call Function108c6d - call EnableLCD - ld a, $80 - ldh [hSCX], a - ld a, $90 - ldh [hSCY], a - ld a, $7 - ldh [hWX], a - ld a, $90 - ldh [hWY], a - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, MobileTradeBGPalettes - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - pop af - ldh [rSVBK], a - call LoadMobileAdapterPalette - call Function108af4 - call Function108b5a - ld a, $e0 - ldh [hSCX], a - ld de, MUSIC_EVOLUTION - call PlayMusic2 - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_GiveTrademon1: - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ld c, 40 - ld hl, wBGPals2 palette 6 - call Function1082f0 - call Function108af4 -.loop - ldh a, [hSCX] - cp $e0 - jr z, .loop2 - dec a - dec a - ldh [hSCX], a - cp $f8 - jr nz, .next - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE - call InitSpriteAnimStruct - -.next - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop - -.loop2 - ldh a, [hSCY] - cp $f8 - jr z, .done - dec a - dec a - ldh [hSCY], a - cp $40 - jr z, .init - cp $30 - jr z, .delete - cp $68 - jr z, .replace - jr .next2 - -.init - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE - call InitSpriteAnimStruct - xor a - call Function108ad4 - jr .next2 - -.delete - call MobileTradeAnim_DeleteSprites - jr .next2 - -.replace - call MobileTradeAnim_DeleteSprites - ld a, $1 - call Function108ad4 -.next2 - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop2 - -.done - call MobileTradeAnim_Next - ret - -MobileTradeAnim_GiveTrademon2: - ld c, 40 - ld hl, wBGPals2 + 1 palettes - call Function1082f0 - call Function108af4 - call Function108b5a - depixel 9, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_PING - call InitSpriteAnimStruct - ld de, SFX_FORESIGHT - call PlaySFX - ld c, 10 - call WaitMobileTradeSpriteAnims - xor a - ld [wcf64], a - depixel 9, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE - call InitSpriteAnimStruct -.loop - ldh a, [hSCY] - cp $90 - jr z, .done - sub $8 - ldh [hSCY], a - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop - -.done - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_05: - ld c, 40 - call WaitMobileTradeSpriteAnims - ld a, $1 - ld [wcf64], a - ld de, SFX_SHARPEN - call PlaySFX - ld c, 60 - call WaitMobileTradeSpriteAnims - depixel 30, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE - call InitSpriteAnimStruct - call GetMobileTradeAnimByte - ld de, SFX_THROW_BALL - call PlaySFX - ret - -MobileTradeAnim_06: - ld c, 40 - call WaitMobileTradeSpriteAnims - ld a, $1 - ld [wcf64], a - ld de, SFX_SHARPEN - call PlaySFX - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_07: - ld c, 80 - call DelayFrames - depixel 30, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE - call InitSpriteAnimStruct - call GetMobileTradeAnimByte - ld de, SFX_THROW_BALL - call PlaySFX - ret - -MobileTradeAnim_GetTrademon1: - ld c, 40 - call WaitMobileTradeSpriteAnims -.loop - ldh a, [hSCY] - cp $f8 - jr z, .done - add $8 - ldh [hSCY], a - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .loop - -.done - farcall DeinitializeAllSprites - depixel 9, 10, 2, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_PING - call InitSpriteAnimStruct - ld de, SFX_GLASS_TING_2 - call PlaySFX - call Function108af4 - call MobileTradeAnim_Next - ret - -MobileTradeAnim_GetTrademon2: - ld c, 20 - ld hl, wBGPals2 + 1 palettes - call Function1082fa - ld de, SFX_GIVE_TRADEMON - call PlaySFX - ld c, 20 - ld hl, wBGPals2 + 1 palettes - call Function1082fa - call Function108af4 -.asm_1088ad - ldh a, [hSCY] - cp $78 - jr z, .asm_1088ee - inc a - inc a - ldh [hSCY], a - cp $30 - jr z, .asm_1088c5 - cp $40 - jr z, .asm_1088dd - cp $68 - jr z, .asm_1088cf - jr .asm_1088e7 - -.asm_1088c5 - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE - call InitSpriteAnimStruct - jr .asm_1088e7 - -.asm_1088cf - depixel 10, 11, 4, 0 - ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE - call InitSpriteAnimStruct - xor a - call Function108ad4 - jr .asm_1088e7 - -.asm_1088dd - call MobileTradeAnim_DeleteSprites - ld a, $1 - call Function108ad4 - jr .asm_1088e7 - -.asm_1088e7 - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .asm_1088ad - -.asm_1088ee - ldh a, [hSCX] - cp $c - jr z, .asm_108906 - inc a - inc a - ldh [hSCX], a - cp -8 - jr nz, .asm_1088e7 - call MobileTradeAnim_DeleteSprites - ld c, 1 - call WaitMobileTradeSpriteAnims - jr .asm_1088ee - -.asm_108906 - call MobileTradeAnim_Next - ret - -MobileTradeAnim_GetTrademon3: - ld c, 40 - ld hl, wBGPals2 palette 6 - call Function1082f0 - call Function108af4 - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_0f: - ld c, 40 - call WaitMobileTradeSpriteAnims - farcall DeinitializeAllSprites - call ClearBGPalettes - call ClearSprites - call ClearTilemap - call DisableLCD - call MobileTradeAnim_ClearTiles - call MobileTradeAnim_ClearBGMap - call EnableLCD - call GetMobileTradeAnimByte - ret - -MobileTradeAnim_FadeToBlack: -.loop - ldh a, [rBGP] - and a - jr z, .blank - sla a - sla a - call DmgToCgbBGPals - call DmgToCgbObjPal0 - ld c, 4 - call DelayFrames - jr .loop - -.blank - xor a - call DmgToCgbBGPals - call DmgToCgbObjPal0 - call GetMobileTradeAnimByte - ret - -Function10895e: - ld de, vTiles0 tile $30 - jr asm_108966 - -Function108963: - ld de, vTiles2 tile $31 -asm_108966: - call DelayFrame - ld hl, vTiles2 - lb bc, BANK(TradeGameBoyLZ), $31 - call Request2bpp - call WaitTop - call MobileTradeAnim_ClearTilemap - hlcoord 7, 2 - xor a - ldh [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - call WaitBGMap - ret - -Function10898a: - ld de, vTiles2 - call MobileTradeAnim_GetFrontpic - call WaitTop - call MobileTradeAnim_ClearTilemap - hlcoord 7, 2 - xor a - ldh [hGraphicStartTile], a - lb bc, 7, 7 - predef PlaceGraphic - call WaitBGMap - ret - -MobileTradeAnim_DisplayMonToBeSent: - ld de, wPlayerTrademonSpecies - ld a, [de] - cp EGG - jr z, MobileTradeAnim_DisplayEggData - call MobileTradeAnim_LoadMonTemplate - ld de, wPlayerTrademonSpecies - call MobileTradeAnim_MonDisplay_PrintSpeciesNumber - ld de, wPlayerTrademonSpeciesName - call MobileTradeAnim_MonDisplay_PrintSpeciesName - ld a, [wPlayerTrademonCaughtData] - ld de, wPlayerTrademonOTName - call MobileTradeAnim_MonDisplay_PrintOTNameAndGender - ld de, wPlayerTrademonID - call MobileTradeAnim_MonDisplay_PrintIDNumber - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret - -MobileTradeAnim_DisplayReceivedMon: - ld de, wOTTrademonSpecies - ld a, [de] - cp EGG - jr z, MobileTradeAnim_DisplayEggData - call MobileTradeAnim_LoadMonTemplate - ld de, wOTTrademonSpecies - call MobileTradeAnim_MonDisplay_PrintSpeciesNumber - ld de, wOTTrademonSpeciesName - call MobileTradeAnim_MonDisplay_PrintSpeciesName - ld a, [wOTTrademonCaughtData] - ld de, wOTTrademonOTName - call MobileTradeAnim_MonDisplay_PrintOTNameAndGender - ld de, wOTTrademonID - call MobileTradeAnim_MonDisplay_PrintIDNumber - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret - -MobileTradeAnim_DisplayEggData: - call WaitTop - call MobileTradeAnim_ClearTilemap - ld a, HIGH(vBGMap1) - ldh [hBGMapAddress + 1], a - hlcoord 5, 0 - ld b, 6 - ld c, 9 - call Textbox - hlcoord 6, 2 - ld de, .EggTemplate - call PlaceString - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret - -.EggTemplate: - db "タマゴ" - next "おや/?????" - next "?????" - db "@" - -Function108a33: - call WaitTop - call MobileTradeAnim_ClearTilemap - ld a, HIGH(vBGMap1) - ldh [hBGMapAddress + 1], a - hlcoord 5, 0 - ld b, 6 - ld c, 9 - call Textbox - hlcoord 7, 4 - ld de, .OddEgg - call PlaceString - call MobileTradeAnim_MonDisplay_UpdateBGMap - ret - -.OddEgg: - db "なぞのタマゴ@" - -MobileTradeAnim_LoadMonTemplate: - call WaitTop - call MobileTradeAnim_ClearTilemap - ld a, HIGH(vBGMap1) - ldh [hBGMapAddress + 1], a - hlcoord 4, 0 - ld b, 6 - ld c, 10 - call Textbox - hlcoord 5, 0 - ld de, .MonTemplate - call PlaceString - ret - -.MonTemplate: - db "─ №" - next "" - next "おや/" - next "" - db "@" - -MobileTradeAnim_MonDisplay_UpdateBGMap: - call WaitBGMap - call WaitTop - ld a, HIGH(vBGMap0) - ldh [hBGMapAddress + 1], a - ret - -MobileTradeAnim_MonDisplay_PrintSpeciesNumber: - hlcoord 9, 0 - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - ret - -MobileTradeAnim_MonDisplay_PrintSpeciesName: - hlcoord 5, 2 - call PlaceString - ret - -MobileTradeAnim_MonDisplay_PrintOTNameAndGender: - cp $3 - jr c, .got_gender - xor a -.got_gender - push af - hlcoord 8, 4 - call PlaceString - inc bc - pop af - ld hl, .GenderChars - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [bc], a - ret - -.GenderChars: - db " " - db "♂" - db "♀" - -MobileTradeAnim_MonDisplay_PrintIDNumber: - hlcoord 8, 6 - lb bc, PRINTNUM_LEADINGZEROS | 2, 5 - call PrintNum - ret - -MobileTradeAnim_ClearTilemap: - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, " " - call ByteFill - ret - -Function108ad4: - and a - jr z, .asm_108adc - ld de, MobileCable2GFX - jr .asm_108adf - -.asm_108adc - ld de, MobileCable1GFX -.asm_108adf - ld a, $1 - ldh [rVBK], a - ld hl, vTiles2 tile $4a - lb bc, BANK(MobileCable1GFX), 16 ; aka BANK(MobileCable2GFX) - call Get2bppViaHDMA - call DelayFrame - ld a, $0 - ldh [rVBK], a - ret - -Function108af4: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld a, [wcf65] - and $1 - jr z, .copy_MobileTradeOB1Palettes - ld hl, MobileTradeOB2Palettes - ld de, wOBPals1 - ld bc, 8 palettes - call CopyBytes - ld hl, MobileTradeOB2Palettes - ld de, wOBPals2 - ld bc, 8 palettes - call CopyBytes - jr .done_copy - -.copy_MobileTradeOB1Palettes - ld hl, MobileTradeOB1Palettes - ld de, wOBPals1 - ld bc, 8 palettes - call CopyBytes - ld hl, MobileTradeOB1Palettes - ld de, wOBPals2 - ld bc, 8 palettes - call CopyBytes - -.done_copy - pop af - ldh [rSVBK], a - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbObjPal0 - ld a, %11100100 ; 3,2,1,0 - call DmgToCgbBGPals - call DelayFrame - ret - -Function108b45: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld de, PALRGB_WHITE - ld hl, wBGPals1 - ld a, e - ld [hli], a - ld d, a - ld [hli], a - pop af - ldh [rSVBK], a - ret - -Function108b5a: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld de, palred 18 + palgreen 31 + palblue 15 - ld hl, wBGPals2 + 4 palettes - ld c, $10 -.loop - ld a, e - ld [hli], a - ld a, d - ld [hli], a - dec c - jr nz, .loop - pop af - ldh [rSVBK], a - ld a, TRUE - ldh [hCGBPalUpdate], a - ret - -Function108b78: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld a, c - and $2 - jr z, .Orange - ld de, PALRGB_WHITE - jr .load_pal - -.Orange: - ld de, palred 31 + palgreen 15 + palblue 1 -.load_pal - ld a, e - ld [hli], a - ld a, d - ld [hld], a - pop af - ldh [rSVBK], a - ld a, TRUE - ldh [hCGBPalUpdate], a - ret - -Palette_108b98: -; removed - -Function108b98: - ld d, a - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld a, [wcf65] - and $1 - xor d - jr z, .asm_108bad - ld hl, Palette_108b98 + 1 palettes - jr .asm_108bb0 - -.asm_108bad - ld hl, Palette_108b98 -.asm_108bb0 - ld de, wBGPals1 + 7 palettes - ld bc, 8 palettes - call CopyBytes - pop af - ldh [rSVBK], a - ret - -MobileTradeAnim_DeleteSprites: - farcall DeinitializeAllSprites - call ClearSprites - ret - -MobileTradeAnim_AnimateSentPulse: - ld a, [wcf64] - and a - ret z - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp -1 * 8 - 6 - jr z, .delete - sub 1 * 8 - ld [hl], a - ret - -.delete - farcall DeinitializeSprite - ret - -MobileTradeAnim_AnimateOTPulse: - ld hl, SPRITEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp 9 * 8 + 2 - ret z - add 1 * 8 - ld [hl], a - ret - -Function108bec: - ld a, $90 - ldh [hWY], a - ld hl, .MobilePlayerWillTradeMonText - call PrintText - ld c, 80 - call DelayFrames - ld hl, .MobileForPartnersMonText - call PrintText - ld c, 80 - call DelayFrames - ret - -.MobilePlayerWillTradeMonText: - text_far _MobilePlayerWillTradeMonText - text_end - -.MobileForPartnersMonText: - text_far _MobileForPartnersMonText - text_end - -.MobilePlayersMonTradeText: ; unreferenced - text_far _MobilePlayersMonTradeText - text_end - -Function108c16: - ld a, $90 - ldh [hWY], a - ld hl, .MobileTakeGoodCareOfMonText - call PrintText - ld c, 80 - call DelayFrames - ret - -.MobileTakeGoodCareOfMonText: - text_far _MobileTakeGoodCareOfMonText - text_end - -Function108c2b: - ld a, $90 - ldh [hWY], a - ld hl, .MobilePlayersMonTrade2Text - call PrintText - ld c, 80 - call DelayFrames - ret - -.MobilePlayersMonTrade2Text: - text_far _MobilePlayersMonTrade2Text - text_end - -Function108c40: - ld a, $90 - ldh [hWY], a - ld a, [wcf65] - and %10000000 - jr z, .Getmon - ld hl, .MobileTradeCameBackText - call PrintText - ld c, 80 - call DelayFrames - ret - -.Getmon: - ld hl, .MobileTakeGoodCareOfText - call PrintText - ld c, 80 - call DelayFrames - ret - -.MobileTakeGoodCareOfText: - text_far _MobileTakeGoodCareOfText - text_end - -.MobileTradeCameBackText: - text_far _MobileTradeCameBackText - text_end - -Function108c6d: - ld hl, MobileTradeTilemapLZ - debgcoord 0, 0 - call Decompress - ld hl, MobileTradeTilemapLZ - debgcoord 0, 0, vBGMap1 - call Decompress - ret - -Function108c80: - ld a, $1 - ldh [rVBK], a - ld hl, MobileTradeAttrmapLZ - debgcoord 0, 0 - call Decompress - ld hl, MobileTradeAttrmapLZ - debgcoord 0, 0, vBGMap1 - call Decompress - ld a, $0 - ldh [rVBK], a - ret - -DebugMobileTrade: ; unreferenced -; localization error: NAME_LENGTH (11) should be NAME_LENGTH_JAPANESE (6) here - - ld hl, .DebugTradeData - ld a, [hli] - ld [wPlayerTrademonSpecies], a - - ld de, wPlayerTrademonSenderName - ld c, NAME_LENGTH -.your_name_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .your_name_loop - - ld de, wPlayerTrademonID - ld c, 2 -.your_id_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .your_id_loop - - ld de, wPlayerTrademonOTName - ld c, NAME_LENGTH -.your_ot_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .your_ot_loop - - ld a, [hli] - ld [wOTTrademonSpecies], a - - ld de, wOTTrademonSenderName - ld c, NAME_LENGTH -.their_name_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .their_name_loop - - ld de, wOTTrademonID - ld c, 2 -.their_id_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .their_id_loop - - ld de, wOTTrademonOTName - ld c, NAME_LENGTH -.their_ot_loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .their_ot_loop - - ret - -.DebugTradeData: - db VENUSAUR - db "ゲーフり@@" - dw $0123 - db "かびーん@@" - db CHARIZARD - db "クりーチャ@" - dw $0456 - db "マツミヤ@@" - -LoadMobileAdapterPalette: - ld a, [wc74e] - and $7f - cp $8 ; CONST: Amount of mobile adapters - jr c, .asm_108d12 - ld a, $7 - -.asm_108d12 - ld bc, 1 palettes - ld hl, MobileAdapterPalettes - call AddNTimes - ld a, BANK(wBGPals1) - ld de, wBGPals1 + 4 palettes - ld bc, 1 palettes - call FarCopyWRAM - ret - -MobileTradeSpritesGFX: -INCBIN "gfx/mobile/mobile_trade_sprites.2bpp.lz" - -MobileTradeGFX: -INCBIN "gfx/mobile/mobile_trade.2bpp.lz" - -MobileTradeTilemapLZ: -INCBIN "gfx/mobile/mobile_trade.tilemap.lz" - -MobileTradeAttrmapLZ: -INCBIN "gfx/mobile/mobile_trade.attrmap.lz" - -UnusedMobilePulsePalettes: ; unreferenced -INCLUDE "gfx/mobile/unused_mobile_pulses.pal" - -MobileTradeBGPalettes: -INCLUDE "gfx/mobile/mobile_trade_bg.pal" - -MobileTradeOB1Palettes: -INCLUDE "gfx/mobile/mobile_trade_ob1.pal" - -MobileTradeOB2Palettes: -INCLUDE "gfx/mobile/mobile_trade_ob2.pal" - -MobileCable1GFX: -INCBIN "gfx/mobile/mobile_cable_1.2bpp" - -MobileCable2GFX: -INCBIN "gfx/mobile/mobile_cable_2.2bpp" - -MobileAdapterPalettes: -INCLUDE "gfx/mobile/mobile_adapters.pal" diff --git a/mobile/mobile_45_2.asm b/mobile/mobile_45_2.asm deleted file mode 100644 index 82f2cc779..000000000 --- a/mobile/mobile_45_2.asm +++ /dev/null @@ -1,1369 +0,0 @@ -Function116567: - ld hl, wc3f7 - dec [hl] - ret nz - ld hl, wc3f6 - inc [hl] -.asm_116570 - ld a, $7 - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1167eb - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc3f6] - sla a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - cp $fe - jr nz, .asm_116595 - xor a - ld [wc3f6], a - jr .asm_116570 - -.asm_116595 - ld [wc3f5], a - ld a, [hl] - ld [wc3f7], a - ret - -Function11659d: - ld a, [wc314] - cp $12 - ret nc - ld e, a - ld d, 0 - ld hl, Jumptable_1165af - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -Jumptable_1165af: - dw Function11677e - dw Function1165d5 - dw Function1165d8 - dw Function1165e3 - dw Function1165f5 - dw Function116600 - dw Function116615 - dw Function116618 - dw Function116623 - dw Function116635 - dw Function116640 - dw Function116655 - dw Function11665c - dw Function11668d - dw Function11669f - dw Function1166a2 - dw Function1166c4 - dw Function1166d6 - dw Function1166d6 - -Function1165d5: - call Function11678e - -Function1165d8: - ld a, $0 - ld c, a - ld a, $ff - ld b, a - ld a, $a8 - call Function1166f4 - -Function1165e3: - call Function116747 - ld a, [wc30e] - cp $e8 - ret nz - ld a, $1 - call Function116780 - ret c - jp Function116797 - -Function1165f5: - ld a, $1 - ld c, a - ld a, $1 - ld b, a - ld a, $e8 - call Function1166f4 - -Function116600: - call Function116747 - ld a, [wc30e] - cp $a8 - ret nz - ld a, $1 - call Function116780 - ret c - ld a, $2 - ld [wc314], a - ret - -Function116615: - call Function11678e - -Function116618: - ld a, $3 - ld c, a - ld a, $1 - ld b, a - ld a, $28 - call Function11671f - -Function116623: - call Function116747 - ld a, [wc30f] - cp $a0 - ret nz - ld a, $6 - call Function116780 - ret c - jp Function116797 - -Function116635: - ld a, $2 - ld c, a - ld a, $ff - ld b, a - ld a, $a0 - call Function11671f - -Function116640: - call Function116747 - ld a, [wc30f] - cp $28 - ret nz - ld a, $6 - call Function116780 - ret c - ld a, $7 - ld [wc314], a - ret - -Function116655: - xor a - ld [wc314 + 3], a - call Function11678e - -Function11665c: - ld hl, wc314 + 3 - ld a, $1 - xor [hl] - ld [hl], a - add $4 - ld c, a - call Function11679c - ld a, [wc314 + 3] - and a - jr nz, .asm_116673 - ld a, $48 - jr .asm_116675 - -.asm_116673 - ld a, $78 - -.asm_116675 - ld [wc30f], a - call Random - ldh a, [hRandomAdd] - and $7 - sla a - sla a - sla a - add $30 - ld [wc30e], a - call Function116797 - -Function11668d: - ld a, [wc311] - cp $ff - ret nz - ld a, $b - call Function116780 - ret c - ld a, $c - ld [wc314], a - ret - -Function11669f: - call Function11678e - -Function1166a2: - ld a, $a8 - ld [wc30e], a - ld [wc3f1], a - ld a, $60 - ld [wc30f], a - ld [wc3f3], a - ld a, $ff - ld [wc314 + 2], a - xor a - ld [wc314 + 3], a - ld a, $0 - ld c, a - call Function11679c - call Function116797 - -Function1166c4: - call Function116747 - ld a, [wc30e] - cp $58 - ret nz - ld a, $6 - ld c, a - call Function11679c - call Function116797 - -Function1166d6: - call Function116747 - ld a, [wc30e] - cp $48 - jr nz, .asm_1166e4 - xor a - ld [wc314 + 2], a - -.asm_1166e4 - ld a, [wc311] - cp $ff - ret nz - ld a, $4 - ld [wc319], a - xor a - ld [wc314], a - ret - -Function1166f4: - ld [wc30e], a - ld a, b - ld [wc314 + 2], a - xor a - ld [wc314 + 3], a - ld hl, wc30f -.asm_116702 - call Random - ldh a, [hRandomAdd] - and $7 - jr z, .asm_11670c - dec a - -.asm_11670c - sla a - sla a - sla a - add $48 - cp [hl] - jr z, .asm_116702 - ld [hl], a - call Function11679c - call Function116797 - ret - -Function11671f: - ld [wc30f], a - ld a, b - ld [wc314 + 3], a - xor a - ld [wc314 + 2], a - ld hl, wc30e -.asm_11672d - call Random - ldh a, [hRandomAdd] - and $7 - sla a - sla a - sla a - add $30 - cp [hl] - jr z, .asm_11672d - ld [hl], a - call Function11679c - call Function116797 - ret - -Function116747: - ld hl, wc30e - ld a, [wc314 + 2] - add [hl] - ld [hl], a - ld hl, wc30f - ld a, [wc314 + 3] - add [hl] - ld [hl], a - ret - -Function116758: - ld a, [wc30f] - cp $30 - jr c, .asm_116770 - jr z, .asm_116770 - cp $38 - jr c, .asm_116774 - jr z, .asm_116774 - cp $40 - jr c, .asm_116778 - jr z, .asm_116778 - xor a - jr .asm_11677a - -.asm_116770 - ld a, $c - jr .asm_11677a - -.asm_116774 - ld a, $8 - jr .asm_11677a - -.asm_116778 - ld a, $4 - -.asm_11677a - ld [wc314 + 4], a - ret - -Function11677e: - ld a, $0 - -Function116780: - ld hl, wc314 + 1 - cp [hl] - jr z, .asm_11678c - ld a, [hl] - ld [wc314], a - scf - ret - -.asm_11678c - and a - ret - -Function11678e: - ld hl, wc314 - ld a, [hl] - ld [wc314 + 1], a - inc [hl] - ret - -Function116797: - ld hl, wc314 - inc [hl] - ret - -Function11679c: - ld a, c - ld [wc311], a - xor a - ld [wc312], a - jr asm_1167af - -Function1167a6: - ld hl, wc313 - dec [hl] - ret nz - ld hl, wc312 - inc [hl] - -asm_1167af: - ld a, [wc311] - cp $ff - ret z - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1167eb - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc312] - sla a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - cp $ff - jr z, .asm_1167dc - cp $fe - jr nz, .asm_1167e3 - xor a - ld [wc312], a - jr asm_1167af - -.asm_1167dc - ld a, $ff - ld [wc311], a - ld a, $fd - -.asm_1167e3 - ld [wc310], a - ld a, [hl] - ld [wc313], a - ret - -Unknown_1167eb: - dw Unknown_1167fb - dw Unknown_116808 - dw Unknown_116867 - dw Unknown_116870 - dw Unknown_116815 - dw Unknown_11683e - dw Unknown_116881 - dw Unknown_1168ae - -Unknown_1167fb: - db $0, $6 - db $1, $4 - db $2, $4 - db $3, $6 - db $2, $4 - db $1, $4 - db $fe - -Unknown_116808: - db $4, $6 - db $5, $4 - db $6, $4 - db $7, $6 - db $6, $4 - db $5, $4 - db $fe - -Unknown_116815: - db $fd, $20 - db $8, $c - db $9, $24 - db $a, $4 - db $b, $8 - db $a, $4 - db $9, $6 - db $c, $4 - db $d, $8 - db $c, $5 - db $9, $24 - db $a, $4 - db $b, $8 - db $a, $4 - db $9, $6 - db $c, $4 - db $d, $8 - db $c, $5 - db $9, $8 - db $8, $4 - db -1 ; end - -Unknown_11683e: - db $fd, $20 - db $e, $c - db $f, $24 - db $10, $4 - db $11, $8 - db $10, $4 - db $f, $6 - db $12, $4 - db $13, $8 - db $12, $5 - db $f, $24 - db $10, $4 - db $11, $8 - db $10, $4 - db $f, $6 - db $12, $4 - db $13, $8 - db $12, $5 - db $f, $8 - db $e, $4 - db -1 ; end - -Unknown_116867: - db $14, $8 - db $15, $8 - db $16, $8 - db $15, $8 - db $fe - -Unknown_116870: - db $17, $5 - db $18, $5 - db $19, $5 - db $1a, $5 - db $1b, $5 - db $1a, $5 - db $19, $5 - db $18, $5 - db $fe - -Unknown_116881: - db $1c, $7 - db $1d, $7 - db $1e, $a - db $1f, $a - db $20, $5 - db $21, $5 - db $20, $5 - db $21, $5 - db $20, $18 - db $22, $4 - db $23, $2 - db $22, $2 - db $23, $2 - db $22, $1 - db $23, $1 - db $22, $1 - db $23, $4 - db $fd, $1 - db $23, $1 - db $fd, $2 - db $23, $2 - db $fd, $40 - db -1 ; end - -Unknown_1168ae: - db $24, $4 - db $25, $4 - db $26, $4 - db $27, $4 - db $28, $4 - db $29, $4 - db $2a, $4 - db $2b, $4 - db $2c, $4 - db $2d, $4 - db $2e, $4 - db $fe - -Unknown_1168c5: - dw Unknown_116923 - dw Unknown_116960 - dw Unknown_1169a1 - dw Unknown_1169de - dw Unknown_116a1b - dw Unknown_116a58 - dw Unknown_116a99 - dw Unknown_116ad6 - dw Unknown_116d1b - dw Unknown_116d4c - dw Unknown_116d85 - dw Unknown_116dbe - dw Unknown_116df7 - dw Unknown_116e30 - dw Unknown_116e69 - dw Unknown_116e9a - dw Unknown_116ed3 - dw Unknown_116f0c - dw Unknown_116f45 - dw Unknown_116f7e - dw Unknown_116b13 - dw Unknown_116b54 - dw Unknown_116b95 - dw Unknown_116bd6 - dw Unknown_116c17 - dw Unknown_116c58 - dw Unknown_116c99 - dw Unknown_116cda - dw Unknown_116fb7 - dw Unknown_116fec - dw Unknown_117025 - dw Unknown_117056 - dw Unknown_117083 - dw Unknown_1170c0 - dw Unknown_1170fd - dw Unknown_11713a - dw Unknown_117177 - dw Unknown_11719c - dw Unknown_1171c1 - dw Unknown_1171e6 - dw Unknown_11720b - dw Unknown_117230 - dw Unknown_117255 - dw Unknown_11727a - dw Unknown_11729f - dw Unknown_1172c4 - dw Unknown_1172e9 - -Unknown_116923: - db $f - db $0, $0, $1, $a - db $0, $8, $2, $d - db $0, $10, $3, $d - db $0, $18, $4, $d - db $8, $0, $11, $a - db $8, $8, $12, $a - db $8, $10, $13, $a - db $8, $18, $14, $d - db $10, $0, $21, $a - db $10, $8, $22, $a - db $10, $10, $23, $a - db $10, $18, $24, $a - db $18, $0, $31, $a - db $18, $8, $32, $a - db $18, $10, $33, $a - -Unknown_116960: - db $10 - db $1, $0, $1, $a - db $1, $8, $2, $d - db $1, $10, $3, $d - db $1, $18, $4, $d - db $9, $0, $11, $a - db $9, $8, $12, $a - db $9, $10, $13, $a - db $9, $18, $14, $d - db $11, $0, $5, $a - db $11, $8, $6, $a - db $11, $10, $7, $a - db $11, $18, $34, $a - db $19, $0, $15, $a - db $19, $8, $16, $a - db $19, $10, $17, $a - db $19, $18, $35, $a - -Unknown_1169a1: - db $f - db $1, $0, $1, $a - db $1, $8, $2, $d - db $1, $10, $3, $d - db $1, $18, $4, $d - db $9, $0, $11, $a - db $9, $8, $12, $a - db $9, $10, $13, $a - db $9, $18, $14, $d - db $11, $0, $25, $a - db $11, $8, $26, $a - db $11, $10, $27, $a - db $11, $18, $34, $a - db $19, $8, $36, $a - db $19, $10, $37, $a - db $19, $18, $35, $a - -Unknown_1169de: - db $f - db $0, $0, $1, $a - db $0, $8, $2, $d - db $0, $10, $3, $d - db $0, $18, $4, $d - db $8, $0, $11, $a - db $8, $8, $12, $a - db $8, $10, $13, $a - db $8, $18, $14, $d - db $10, $0, $10, $a - db $10, $8, $20, $a - db $10, $10, $30, $a - db $10, $18, $24, $a - db $18, $0, $31, $a - db $18, $8, $32, $a - db $18, $10, $33, $a - -Unknown_116a1b: - db $f - db $0, $0, $4, $2d - db $0, $8, $3, $2d - db $0, $10, $2, $2d - db $0, $18, $1, $2a - db $8, $0, $14, $2d - db $8, $8, $13, $2a - db $8, $10, $12, $2a - db $8, $18, $11, $2a - db $10, $0, $24, $2a - db $10, $8, $23, $2a - db $10, $10, $22, $2a - db $10, $18, $21, $2a - db $18, $8, $33, $2a - db $18, $10, $32, $2a - db $18, $18, $31, $2a - -Unknown_116a58: - db $10 - db $1, $0, $4, $2d - db $1, $8, $3, $2d - db $1, $10, $2, $2d - db $1, $18, $1, $2a - db $9, $0, $14, $2d - db $9, $8, $13, $2a - db $9, $10, $12, $2a - db $9, $18, $11, $2a - db $11, $0, $34, $2a - db $11, $8, $7, $2a - db $11, $10, $6, $2a - db $11, $18, $5, $2a - db $19, $0, $35, $2a - db $19, $8, $17, $2a - db $19, $10, $16, $2a - db $19, $18, $15, $2a - -Unknown_116a99: - db $f - db $1, $0, $4, $2d - db $1, $8, $3, $2d - db $1, $10, $2, $2d - db $1, $18, $1, $2a - db $9, $0, $14, $2d - db $9, $8, $13, $2a - db $9, $10, $12, $2a - db $9, $18, $11, $2a - db $11, $0, $34, $2a - db $11, $8, $27, $2a - db $11, $10, $26, $2a - db $11, $18, $25, $2a - db $19, $0, $35, $2a - db $19, $8, $37, $2a - db $19, $10, $36, $2a - -Unknown_116ad6: - db $f - db $0, $0, $4, $2d - db $0, $8, $3, $2d - db $0, $10, $2, $2d - db $0, $18, $1, $2a - db $8, $0, $14, $2d - db $8, $8, $13, $2a - db $8, $10, $12, $2a - db $8, $18, $11, $2a - db $10, $0, $24, $2a - db $10, $8, $30, $2a - db $10, $10, $20, $2a - db $10, $18, $10, $2a - db $18, $8, $33, $2a - db $18, $10, $32, $2a - db $18, $18, $31, $2a - -Unknown_116b13: - db $10 - db $18, $0, $0, $b - db $18, $8, $8, $b - db $18, $10, $5c, $b - db $18, $18, $0, $b - db $10, $0, $0, $b - db $10, $8, $5d, $b - db $10, $10, $5e, $b - db $10, $18, $0, $b - db $8, $0, $50, $b - db $8, $8, $51, $b - db $8, $10, $52, $b - db $8, $18, $50, $2b - db $0, $0, $43, $b - db $0, $8, $44, $b - db $0, $10, $44, $2b - db $0, $18, $43, $2b - -Unknown_116b54: - db $10 - db $19, $0, $0, $b - db $19, $8, $18, $b - db $19, $10, $c, $b - db $19, $18, $0, $b - db $11, $0, $42, $b - db $11, $8, $3a, $b - db $11, $10, $3a, $2b - db $11, $18, $42, $2b - db $9, $0, $58, $b - db $9, $8, $45, $b - db $9, $10, $45, $2b - db $9, $18, $58, $2b - db $1, $0, $d, $b - db $1, $8, $44, $b - db $1, $10, $44, $2b - db $1, $18, $d, $2b - -Unknown_116b95: - db $10 - db $18, $0, $0, $b - db $18, $8, $5c, $2b - db $18, $10, $8, $2b - db $18, $18, $0, $b - db $10, $0, $0, $b - db $10, $8, $5e, $2b - db $10, $10, $5d, $2b - db $10, $18, $0, $b - db $8, $0, $50, $b - db $8, $8, $52, $2b - db $8, $10, $51, $2b - db $8, $18, $50, $2b - db $0, $0, $43, $b - db $0, $8, $44, $b - db $0, $10, $44, $2b - db $0, $18, $43, $2b - -Unknown_116bd6: - db $10 - db $18, $0, $0, $a - db $18, $8, $56, $a - db $18, $10, $57, $a - db $18, $18, $0, $a - db $10, $0, $64, $a - db $10, $8, $4a, $a - db $10, $10, $4b, $a - db $10, $18, $71, $a - db $8, $0, $54, $a - db $8, $8, $55, $a - db $8, $10, $55, $2a - db $8, $18, $54, $2a - db $0, $0, $48, $a - db $0, $8, $49, $a - db $0, $10, $49, $2a - db $0, $18, $48, $2a - -Unknown_116c17: - db $10 - db $19, $0, $0, $a - db $19, $8, $76, $a - db $19, $10, $77, $a - db $19, $18, $0, $a - db $11, $0, $64, $a - db $11, $8, $69, $a - db $11, $10, $6a, $a - db $11, $18, $6b, $a - db $9, $0, $6f, $a - db $9, $8, $70, $a - db $9, $10, $70, $2a - db $9, $18, $6f, $2a - db $1, $0, $63, $a - db $1, $8, $19, $a - db $1, $10, $19, $2a - db $1, $18, $63, $2a - -Unknown_116c58: - db $10 - db $1a, $0, $6c, $a - db $1a, $8, $6d, $a - db $1a, $10, $6e, $a - db $1a, $18, $0, $a - db $12, $0, $5f, $a - db $12, $8, $60, $a - db $12, $10, $61, $a - db $12, $18, $62, $a - db $a, $0, $53, $a - db $a, $8, $55, $a - db $a, $10, $55, $2a - db $a, $18, $53, $2a - db $2, $0, $46, $a - db $2, $8, $47, $a - db $2, $10, $47, $2a - db $2, $18, $46, $2a - -Unknown_116c99: - db $10 - db $19, $0, $0, $2a - db $19, $8, $77, $2a - db $19, $10, $76, $2a - db $19, $18, $0, $2a - db $11, $0, $6b, $2a - db $11, $8, $6a, $2a - db $11, $10, $69, $2a - db $11, $18, $64, $2a - db $9, $0, $6f, $a - db $9, $8, $70, $a - db $9, $10, $70, $2a - db $9, $18, $6f, $2a - db $1, $0, $63, $a - db $1, $8, $19, $a - db $1, $10, $19, $2a - db $1, $18, $63, $2a - -Unknown_116cda: - db $10 - db $18, $0, $0, $a - db $18, $8, $57, $2a - db $18, $10, $56, $2a - db $18, $18, $0, $a - db $10, $0, $71, $2a - db $10, $8, $4b, $2a - db $10, $10, $4a, $2a - db $10, $18, $64, $2a - db $8, $0, $54, $a - db $8, $8, $55, $a - db $8, $10, $55, $2a - db $8, $18, $54, $2a - db $0, $0, $48, $a - db $0, $8, $49, $a - db $0, $10, $49, $2a - db $0, $18, $48, $2a - -Unknown_116d1b: - db $c - db $0, $0, $38, $4a - db $0, $8, $39, $4a - db $0, $10, $39, $6a - db $0, $18, $38, $6a - db $8, $0, $28, $4a - db $8, $8, $29, $4a - db $8, $10, $29, $6a - db $8, $18, $28, $6a - db $10, $0, $9, $4d - db $10, $8, $19, $4a - db $10, $10, $19, $6a - db $10, $18, $9, $6d - -Unknown_116d4c: - db $e - db $0, $8, $3b, $4a - db $0, $10, $3b, $6a - db $8, $0, $2a, $4a - db $8, $8, $2b, $4a - db $8, $10, $2b, $6a - db $8, $18, $2a, $6a - db $10, $0, $1a, $4a - db $10, $8, $1b, $4a - db $10, $10, $1b, $6a - db $10, $18, $1a, $6a - db $18, $0, $a, $4a - db $18, $8, $b, $4a - db $18, $10, $b, $6a - db $18, $18, $a, $6a - -Unknown_116d85: - db $e - db $0, $0, $35, $2a - db $0, $8, $3c, $4a - db $0, $10, $3d, $4a - db $0, $18, $3e, $4a - db $8, $0, $2c, $4a - db $8, $8, $2d, $4a - db $8, $10, $2e, $4a - db $8, $18, $2f, $4a - db $10, $0, $1c, $4a - db $10, $8, $1d, $4a - db $10, $10, $1e, $4d - db $10, $18, $1f, $4d - db $18, $10, $e, $4d - db $18, $18, $f, $4a - -Unknown_116dbe: - db $e - db $0, $0, $65, $4a - db $0, $8, $66, $4a - db $0, $10, $67, $4a - db $0, $18, $68, $4a - db $8, $8, $59, $4a - db $8, $10, $5a, $4a - db $8, $18, $5b, $4a - db $10, $0, $4c, $4a - db $10, $8, $4d, $4d - db $10, $10, $4e, $4d - db $10, $18, $4f, $4a - db $18, $0, $3f, $4d - db $18, $8, $40, $4d - db $18, $10, $41, $4d - -Unknown_116df7: - db $e - db $0, $0, $3e, $6a - db $0, $8, $3d, $6a - db $0, $10, $3c, $6a - db $0, $18, $35, $a - db $8, $0, $2f, $6a - db $8, $8, $2e, $6a - db $8, $10, $2d, $6a - db $8, $18, $2c, $6a - db $10, $0, $1f, $6d - db $10, $8, $1e, $6d - db $10, $10, $1d, $6a - db $10, $18, $1c, $6a - db $18, $0, $f, $6a - db $18, $8, $e, $6d - -Unknown_116e30: - db $e - db $0, $0, $68, $6a - db $0, $8, $67, $6a - db $0, $10, $66, $6a - db $0, $18, $65, $6a - db $8, $0, $5b, $6a - db $8, $8, $5a, $6a - db $8, $10, $59, $6a - db $10, $0, $4f, $6a - db $10, $8, $4e, $6d - db $10, $10, $4d, $6d - db $10, $18, $4c, $6a - db $18, $8, $41, $6d - db $18, $10, $40, $6d - db $18, $18, $3f, $6d - -Unknown_116e69: - db $c - db $8, $0, $9, $d - db $8, $8, $19, $a - db $8, $10, $19, $2a - db $8, $18, $9, $2d - db $10, $0, $28, $a - db $10, $8, $29, $a - db $10, $10, $29, $2a - db $10, $18, $28, $2a - db $18, $0, $38, $a - db $18, $8, $39, $a - db $18, $10, $39, $2a - db $18, $18, $38, $2a - -Unknown_116e9a: - db $e - db $0, $0, $a, $a - db $0, $8, $b, $a - db $0, $10, $b, $2a - db $0, $18, $a, $2a - db $8, $0, $1a, $a - db $8, $8, $1b, $a - db $8, $10, $1b, $2a - db $8, $18, $1a, $2a - db $10, $0, $2a, $a - db $10, $8, $2b, $a - db $10, $10, $2b, $2a - db $10, $18, $2a, $2a - db $18, $8, $3b, $a - db $18, $10, $3b, $2a - -Unknown_116ed3: - db $e - db $0, $10, $e, $d - db $0, $18, $f, $a - db $8, $0, $1c, $a - db $8, $8, $1d, $a - db $8, $10, $1e, $d - db $8, $18, $1f, $d - db $10, $0, $2c, $a - db $10, $8, $2d, $a - db $10, $10, $2e, $a - db $10, $18, $2f, $a - db $18, $0, $35, $6a - db $18, $8, $3c, $a - db $18, $10, $3d, $a - db $18, $18, $3e, $a - -Unknown_116f0c: - db $e - db $0, $0, $3f, $d - db $0, $8, $40, $d - db $0, $10, $41, $d - db $8, $0, $4c, $a - db $8, $8, $4d, $d - db $8, $10, $4e, $d - db $8, $18, $4f, $a - db $10, $8, $59, $a - db $10, $10, $5a, $a - db $10, $18, $5b, $a - db $18, $0, $65, $a - db $18, $8, $66, $a - db $18, $10, $67, $a - db $18, $18, $68, $a - -Unknown_116f45: - db $e - db $0, $0, $f, $2a - db $0, $8, $e, $2d - db $8, $0, $1f, $2d - db $8, $8, $1e, $2d - db $8, $10, $1d, $2a - db $8, $18, $1c, $2a - db $10, $0, $2f, $2a - db $10, $8, $2e, $2a - db $10, $10, $2d, $2a - db $10, $18, $2c, $2a - db $18, $0, $3e, $2a - db $18, $8, $3d, $2a - db $18, $10, $3c, $2a - db $18, $18, $35, $4a - -Unknown_116f7e: - db $e - db $0, $8, $41, $2d - db $0, $10, $40, $2d - db $0, $18, $3f, $2d - db $8, $0, $4f, $2a - db $8, $8, $4e, $2d - db $8, $10, $4d, $2d - db $8, $18, $4c, $2a - db $10, $0, $5b, $2a - db $10, $8, $5a, $2a - db $10, $10, $59, $2a - db $18, $0, $68, $2a - db $18, $8, $67, $2a - db $18, $10, $66, $2a - db $18, $18, $65, $2a - -Unknown_116fb7: - db $d - db $fa, $0, $72, $a - db $fa, $8, $73, $d - db $fa, $10, $74, $d - db $fa, $18, $75, $d - db $2, $0, $81, $a - db $2, $8, $82, $a - db $2, $10, $83, $a - db $2, $18, $84, $a - db $a, $0, $91, $a - db $a, $8, $92, $a - db $a, $10, $93, $a - db $a, $18, $94, $a - db $12, $10, $a3, $a - -Unknown_116fec: - db $e - db $fd, $0, $85, $d - db $fd, $8, $86, $d - db $5, $0, $95, $d - db $5, $8, $96, $a - db $5, $10, $97, $a - db $5, $18, $98, $a - db $d, $0, $a5, $a - db $d, $8, $a6, $a - db $d, $10, $a7, $a - db $d, $18, $a8, $a - db $15, $0, $b3, $a - db $15, $8, $b4, $a - db $15, $10, $b5, $a - db $15, $18, $b6, $a - -Unknown_117025: - db $c - db $8, $0, $79, $d - db $8, $8, $7a, $d - db $8, $10, $7b, $a - db $8, $18, $7c, $a - db $10, $0, $89, $d - db $10, $8, $8a, $a - db $10, $10, $8b, $a - db $10, $18, $8c, $a - db $18, $0, $99, $a - db $18, $8, $9a, $a - db $18, $10, $9b, $a - db $18, $18, $9c, $a - -Unknown_117056: - db $b - db $8, $0, $7d, $a - db $8, $8, $7e, $d - db $8, $10, $7f, $d - db $8, $18, $80, $a - db $10, $0, $8d, $a - db $10, $8, $8e, $a - db $10, $10, $8f, $a - db $10, $18, $90, $a - db $18, $8, $9e, $a - db $18, $10, $9f, $a - db $18, $18, $a0, $a - -Unknown_117083: - db $f - db $0, $0, $a1, $a - db $0, $8, $a2, $a - db $0, $10, $a2, $2a - db $0, $18, $a1, $2a - db $8, $0, $b1, $a - db $8, $8, $b2, $d - db $8, $10, $b2, $2d - db $8, $18, $b1, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ab, $2a - db $18, $8, $a4, $a - db $18, $10, $87, $a - db $18, $18, $88, $a - -Unknown_1170c0: - db $f - db $0, $0, $a1, $a - db $0, $8, $a2, $d - db $0, $10, $a2, $2a - db $0, $18, $a1, $2a - db $8, $0, $b1, $a - db $8, $8, $78, $d - db $8, $10, $78, $2d - db $8, $18, $b1, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ab, $2a - db $18, $8, $a4, $a - db $18, $10, $87, $a - db $18, $18, $88, $a - -Unknown_1170fd: - db $f - db $0, $0, $a9, $a - db $0, $8, $aa, $a - db $0, $10, $aa, $2a - db $0, $18, $a9, $2a - db $8, $0, $b7, $a - db $8, $8, $b8, $a - db $8, $10, $b8, $2a - db $8, $18, $b7, $2a - db $10, $0, $ab, $a - db $10, $8, $ac, $a - db $10, $10, $ac, $2a - db $10, $18, $ad, $a - db $18, $8, $a4, $a - db $18, $10, $ba, $a - db $18, $18, $bb, $a - -Unknown_11713a: - db $f - db $0, $0, $ae, $c - db $0, $8, $af, $c - db $0, $10, $af, $2c - db $0, $18, $ae, $2c - db $8, $0, $bc, $c - db $8, $8, $bd, $c - db $8, $10, $bd, $2c - db $8, $18, $bc, $2c - db $10, $0, $bf, $c - db $10, $8, $9d, $c - db $10, $10, $9d, $2c - db $10, $18, $b0, $c - db $18, $8, $b9, $c - db $18, $10, $c0, $c - db $18, $18, $be, $c - -Unknown_117177: - db $9 - db $14, $0, $1f, $6 - db $14, $8, $20, $6 - db $14, $10, $21, $6 - db $c, $0, $10, $6 - db $c, $8, $11, $6 - db $c, $10, $12, $6 - db $4, $0, $1, $6 - db $4, $8, $2, $6 - db $4, $10, $3, $6 - -Unknown_11719c: - db $9 - db $14, $0, $22, $6 - db $14, $8, $23, $6 - db $14, $10, $24, $6 - db $c, $0, $13, $6 - db $c, $8, $14, $6 - db $c, $10, $15, $6 - db $4, $0, $4, $6 - db $4, $8, $5, $6 - db $4, $10, $6, $6 - -Unknown_1171c1: - db $9 - db $14, $0, $25, $6 - db $14, $8, $26, $6 - db $14, $10, $27, $6 - db $c, $0, $16, $6 - db $c, $8, $17, $6 - db $c, $10, $18, $6 - db $4, $0, $7, $6 - db $4, $8, $8, $6 - db $4, $10, $9, $6 - -Unknown_1171e6: - db $9 - db $14, $0, $28, $6 - db $14, $8, $29, $6 - db $14, $10, $2a, $6 - db $c, $0, $19, $6 - db $c, $8, $1a, $6 - db $c, $10, $1b, $6 - db $4, $0, $a, $6 - db $4, $8, $b, $6 - db $4, $10, $c, $6 - -Unknown_11720b: - db $9 - db $14, $0, $2b, $6 - db $14, $8, $2c, $6 - db $14, $10, $2d, $6 - db $c, $0, $1c, $6 - db $c, $8, $1d, $6 - db $c, $10, $1e, $6 - db $4, $0, $d, $6 - db $4, $8, $e, $6 - db $4, $10, $f, $6 - -Unknown_117230: - db $9 - db $14, $0, $47, $6 - db $14, $8, $48, $6 - db $14, $10, $49, $6 - db $c, $0, $3b, $6 - db $c, $8, $3c, $6 - db $c, $10, $3b, $26 - db $4, $0, $2e, $6 - db $4, $8, $2f, $6 - db $4, $10, $30, $6 - -Unknown_117255: - db $9 - db $14, $0, $35, $6 - db $14, $8, $4a, $6 - db $14, $10, $35, $6 - db $c, $0, $3d, $6 - db $c, $8, $35, $6 - db $c, $10, $3d, $26 - db $4, $0, $31, $6 - db $4, $8, $32, $6 - db $4, $10, $31, $26 - -Unknown_11727a: - db $9 - db $14, $0, $4b, $6 - db $14, $8, $4c, $6 - db $14, $10, $4d, $6 - db $c, $0, $3e, $6 - db $c, $8, $3f, $6 - db $c, $10, $40, $6 - db $4, $0, $33, $6 - db $4, $8, $34, $6 - db $4, $10, $35, $6 - -Unknown_11729f: - db $9 - db $14, $0, $4e, $6 - db $14, $8, $4f, $6 - db $14, $10, $50, $6 - db $c, $0, $41, $6 - db $c, $8, $42, $6 - db $c, $10, $43, $6 - db $4, $0, $35, $6 - db $4, $8, $36, $6 - db $4, $10, $37, $6 - -Unknown_1172c4: - db $9 - db $14, $0, $51, $6 - db $14, $8, $52, $6 - db $14, $10, $35, $6 - db $c, $0, $44, $6 - db $c, $8, $45, $6 - db $c, $10, $46, $6 - db $4, $0, $38, $6 - db $4, $8, $39, $6 - db $4, $10, $3a, $6 - -Unknown_1172e9: - db $9 - db $10, $0, $0, $2 - db $10, $8, $0, $2 - db $10, $10, $0, $2 - db $8, $0, $0, $2 - db $8, $8, $0, $2 - db $c, $10, $1f, $6 - db $0, $0, $0, $2 - db $0, $8, $0, $2 - db $4, $10, $10, $6 - -PichuBorderMobileOBPalettes: -INCLUDE "gfx/mobile/pichu_border_ob.pal" - -PichuBorderMobileBGPalettes: -INCLUDE "gfx/mobile/pichu_border_bg.pal" - -PichuBorderMobileTilemapAttrmap: -INCBIN "gfx/mobile/pichu_border.tilemap" -INCBIN "gfx/mobile/pichu_border.attrmap" diff --git a/mobile/mobile_45_sprite_engine.asm b/mobile/mobile_45_sprite_engine.asm deleted file mode 100644 index 6a0cb09c9..000000000 --- a/mobile/mobile_45_sprite_engine.asm +++ /dev/null @@ -1,877 +0,0 @@ -Function115d99: - ld de, MobileDialingGFX - ld hl, vTiles0 tile $60 - lb bc, BANK(MobileDialingGFX), 20 - call Get2bpp - xor a - ld [wc305], a - ld [wc306], a - ld [wc309], a - ld [wc30a], a - ld [wc30b], a - ld [wc30c], a - ld a, $10 - ld [wc307], a - ld a, $18 - ld [wc308], a - ret - -Function115dc3: - xor a - ld [wc305], a - ld a, $a0 - ld hl, wShadowOAMSprite31 - ld bc, 8 * SPRITEOAMSTRUCT_LENGTH - call ByteFill - ret - -Function115dd3: - ld a, [wc305] - and a - ret z - ld a, $a0 - ld hl, wShadowOAMSprite31 - ld bc, 8 * SPRITEOAMSTRUCT_LENGTH - call ByteFill - call Function115e22 - ld a, [wc309] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_115e86 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld de, wShadowOAMSprite31 - ld a, [wc307] - ld c, a - ld a, [wc308] - ld b, a - ld a, [hli] -.asm_115e04 - push af - ld a, [hli] - add b - ld [de], a ; y - inc de - ld a, [hli] - add c - ld [de], a ; x - inc de - ld a, [hli] - ld [de], a ; tile id - inc de - ld a, [hli] - ld [de], a ; attributes - inc de - pop af - dec a - jr nz, .asm_115e04 - ret - -Function115e18: - ld a, c - ld [wc30a], a - xor a - ld [wc30b], a - jr Function115e2b - -Function115e22: - ld hl, wc30c - dec [hl] - ret nz - ld hl, wc30b - inc [hl] - -Function115e2b: - ld a, [wc30a] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_115e59 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - pop hl - ld a, [wc30b] - sla a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - cp $ff - jr nz, .not_end - xor a - ld [wc30b], a - jr Function115e2b - -.not_end - ld [wc309], a - ld a, [hl] - ld [wc30c], a - ret - -Unknown_115e59: - dw Unknown_115e61 - dw Unknown_115e6c - dw Unknown_115e76 - dw Unknown_115e79 - -; OAM idx (see Unknown_115e86), flip flags/duration -Unknown_115e61: - db $04, $08 - db $05, $08 - db $06, $08 - db $07, $08 - db $08, $08 - db -1 - -Unknown_115e6c: - db $01, $08 - db $02, $08 - db $03, $08 - db $09, $08 - db $0a, $08 -Unknown_115e76: - db $00, $08 - db -1 - -Unknown_115e79: - db $0b, $08 - db $0c, $08 - db $0d, $08 - db $0e, $08 - db $0f, $08 - db $00, $08 - db -1 - -Unknown_115e86: - dw Unknown_115ea6 - dw Unknown_115eb7 - dw Unknown_115ecc - dw Unknown_115ee1 - dw Unknown_115ef6 - dw Unknown_115f13 - dw Unknown_115f30 - dw Unknown_115f4d - dw Unknown_115f6a - dw Unknown_115f87 - dw Unknown_115f9c - dw Unknown_115fb1 - dw Unknown_115fc6 - dw Unknown_115fdb - dw Unknown_115ff0 - dw Unknown_116005 - -Unknown_115ea6: - db 4 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115eb7: - db 5 - dbsprite 1, 0, 0, 0, $64, $00 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115ecc: - db 5 - dbsprite 1, 0, 0, 0, $65, $00 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115ee1: - db 5 - dbsprite 1, 0, 0, 0, $66, $00 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115ef6: - db 7 - dbsprite 0, 0, 0, 0, $67, $01 - dbsprite 0, 1, 0, 0, $68, $01 - dbsprite 0, 2, 0, 0, $6d, $00 - dbsprite 1, 2, 0, 0, $69, $00 - dbsprite 2, 2, 0, 0, $6a, $00 - dbsprite 1, 3, 0, 0, $6b, $00 - dbsprite 2, 3, 0, 0, $6c, $00 - -Unknown_115f13: - db 7 - dbsprite 0, 0, 0, 0, $67, $01 - dbsprite 0, 1, 0, 0, $68, $01 - dbsprite 0, 2, 0, 0, $6e, $00 - dbsprite 1, 2, 0, 0, $69, $00 - dbsprite 2, 2, 0, 0, $6a, $00 - dbsprite 1, 3, 0, 0, $6b, $00 - dbsprite 2, 3, 0, 0, $6c, $00 - -Unknown_115f30: - db 7 - dbsprite 0, 0, 0, 0, $67, $01 - dbsprite 0, 1, 0, 0, $68, $01 - dbsprite 0, 2, 0, 0, $6f, $00 - dbsprite 1, 2, 0, 0, $69, $00 - dbsprite 2, 2, 0, 0, $6a, $00 - dbsprite 1, 3, 0, 0, $6b, $00 - dbsprite 2, 3, 0, 0, $6c, $00 - -Unknown_115f4d: - db 7 - dbsprite 0, 0, 0, 0, $67, $01 - dbsprite 0, 1, 0, 0, $68, $01 - dbsprite 0, 2, 0, 0, $70, $00 - dbsprite 1, 2, 0, 0, $69, $00 - dbsprite 2, 2, 0, 0, $6a, $00 - dbsprite 1, 3, 0, 0, $6b, $00 - dbsprite 2, 3, 0, 0, $6c, $00 - -Unknown_115f6a: - db 7 - dbsprite 0, 0, 0, 0, $67, $01 - dbsprite 0, 1, 0, 0, $68, $01 - dbsprite 0, 2, 0, 0, $71, $00 - dbsprite 1, 2, 0, 0, $69, $00 - dbsprite 2, 2, 0, 0, $6a, $00 - dbsprite 1, 3, 0, 0, $6b, $00 - dbsprite 2, 3, 0, 0, $6c, $00 - -Unknown_115f87: - db 5 - dbsprite 1, 0, 0, 0, $72, $00 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115f9c: - db 5 - dbsprite 1, 0, 0, 0, $73, $00 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115fb1: - db 5 - dbsprite 1, 0, 0, 1, $64, $60 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115fc6: - db 5 - dbsprite 1, 0, 0, 1, $65, $60 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115fdb: - db 5 - dbsprite 1, 0, 0, 1, $66, $60 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_115ff0: - db 5 - dbsprite 1, 0, 0, 1, $72, $60 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -Unknown_116005: - db 5 - dbsprite 1, 0, 0, 1, $73, $60 - dbsprite 0, 1, 0, 0, $60, $01 - dbsprite 1, 1, 0, 0, $61, $01 - dbsprite 0, 2, 0, 0, $62, $01 - dbsprite 1, 2, 0, 0, $63, $01 - -MobileDialingGFX:: -INCBIN "gfx/mobile/dialing.2bpp" - -Function11615a: - xor a - ld [wc30d], a - ld [wc319], a - ld [wc310], a - ld [wc311], a - ld [wc312], a - ld [wc313], a - ld [wc314], a - ld [wc314 + 1], a - ld [wc314 + 4], a - ld [wc3f6], a - ld [wc3f8], a - ld [wc3f2], a - ld [wc3f4], a - ld a, $24 - ld [wc3f5], a - ld a, $7 - ld [wc3f7], a - ld a, $b0 - ld [wc30e], a - ld [wc3f1], a - ld a, $48 - ld [wc30f], a - ld [wc3f3], a - ret - -Function11619d: - ld a, [wc30d] - and a - ret z - ld a, [wc319] - cp $2 - jr c, .asm_1161b4 - ld a, $a0 - ld hl, wShadowOAM - ld bc, 25 * SPRITEOAMSTRUCT_LENGTH - call ByteFill - -.asm_1161b4 - call Function1161b8 - ret - -Function1161b8: - jumptable .Jumptable, wc319 - -.Jumptable: - dw Function1161d5 - dw Function116294 - dw Function1162cb - dw Function1162f2 - dw Function1163c0 - dw Function11636e - dw Function116441 - -Function1161d5: - ldh a, [rSVBK] - push af - - ld a, $6 - ldh [rSVBK], a - - ld hl, PichuBorderMobileTilemapAttrmap - ld de, wDecompressScratch - ld bc, 32 * 12 * 2 - call CopyBytes - - di - -.wait_for_vblank -; Wait until a vblank would occur had interrupts not just been disabled. - ldh a, [rLY] - cp LY_VBLANK + 1 - jr nz, .wait_for_vblank - - ld a, $d0 - ldh [rHDMA1], a - ld a, $0 - ldh [rHDMA2], a - ld a, $1c - ldh [rHDMA3], a - xor a - ldh [rHDMA4], a - ld a, $8 - ldh [rHDMA5], a - - ld a, $d0 - ldh [rHDMA1], a - ld a, $80 - ldh [rHDMA2], a - ld a, $1c - ldh [rHDMA3], a - ld a, $80 - ldh [rHDMA4], a - ld a, $8 - ldh [rHDMA5], a - - ld a, $d1 - ldh [rHDMA1], a - ld a, $0 - ldh [rHDMA2], a - ld a, $1d - ldh [rHDMA3], a - xor a - ldh [rHDMA4], a - ld a, $8 - ldh [rHDMA5], a - - ld a, $1 - ldh [rVBK], a - - ld a, $d1 - ldh [rHDMA1], a - ld a, $80 - ldh [rHDMA2], a - ld a, $1c - ldh [rHDMA3], a - xor a - ldh [rHDMA4], a - ld a, $8 - ldh [rHDMA5], a - - ld a, $d2 - ldh [rHDMA1], a - ld a, $0 - ldh [rHDMA2], a - ld a, $1c - ldh [rHDMA3], a - ld a, $80 - ldh [rHDMA4], a - ld a, $8 - ldh [rHDMA5], a - - ld a, $d2 - ldh [rHDMA1], a - ld a, $80 - ldh [rHDMA2], a - ld a, $1d - ldh [rHDMA3], a - xor a - ldh [rHDMA4], a - ld a, $8 - ldh [rHDMA5], a - - xor a - ldh [rVBK], a - - ei - - pop af - ldh [rSVBK], a - - farcall ReloadMapPart - ld a, $8 - ld [wMusicFade], a - ld de, MUSIC_MOBILE_ADAPTER - ld a, e - ld [wMusicFadeID], a - ld a, d - ld [wMusicFadeID + 1], a - ld a, [wc319] - inc a - ld [wc319], a - ret - -MenuHeader_11628c: ; unreferenced - db MENU_BACKUP_TILES ; flags - menu_coords 0, 6, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw NULL - db 0 ; default option - -Function116294: - farcall Function170d02 - ld a, [wc319] - inc a - ld [wc319], a - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, wBGPals1 palette 6 - ld de, wc320 - ld bc, 2 palettes - call CopyBytes - ld hl, PichuBorderMobileBGPalettes - ld de, wBGPals1 palette 7 - ld bc, 1 palettes - call CopyBytes - call SetPalettes - pop af - ldh [rSVBK], a - ld a, $30 - ldh [hWY], a - ret - -Function1162cb: - farcall Function170cc6 - ld a, [wc319] - inc a - ld [wc319], a - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, PichuBorderMobileOBPalettes - ld de, wOBPals1 + 2 palettes - ld bc, 6 palettes - call CopyBytes - call SetPalettes - pop af - ldh [rSVBK], a - ret - -Function1162f2: - call Function11659d - call Function116758 - call Function1167a6 - ld a, [wc310] - cp EGG - ret z - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1168c5 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wc30e] - ld c, a - ld a, [wc30f] - ld b, a - ld a, [wc314 + 4] - ld e, a - ld a, [hli] - sub e - ld de, wShadowOAMSprite09 -.asm_116321 - push af - ld a, [hli] - add b - ld [de], a ; y - inc de - ld a, [hli] - add c - ld [de], a ; x - inc de - ld a, [hli] - ld [de], a ; tile id - inc de - ld a, [hli] - ld [de], a ; attributes - inc de - pop af - dec a - jr nz, .asm_116321 - call Function116468 - ld a, [wc3f5] - sla a - ld c, a - ld b, 0 - ld hl, Unknown_1168c5 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - push de - pop hl - ld a, [wc3f1] - ld c, a - ld a, [wc3f3] - ld b, a - ld a, [wc3f8] - ld e, a - ld a, [hli] - sub e - ld de, wShadowOAMSprite00 -.asm_11635a - push af - ld a, [hli] - add b - ld [de], a ; y - inc de - ld a, [hli] - add c - ld [de], a ; x - inc de - ld a, [hli] - ld [de], a ; tile id - inc de - ld a, [hli] - ld [de], a ; attributes - inc de - pop af - dec a - jr nz, .asm_11635a - ret - -Function11636e: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, wBGPals2 - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - pop af - ldh [rSVBK], a - call SetPalettes - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, $a0 - ld hl, wShadowOAM - ld bc, 16 * SPRITEOAMSTRUCT_LENGTH - call ByteFill - ld a, $90 - ldh [hWY], a - call UpdateSprites - pop af - ldh [rSVBK], a - farcall ReloadMapPart - ld a, $8 - ld [wMusicFade], a - ld a, [wMapMusic] - ld [wMusicFadeID], a - xor a - ld [wMusicFadeID + 1], a - xor a - ld [wc319], a - ld [wc30d], a - ret - -Function1163c0: - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, $a0 - ld hl, wShadowOAM - ld bc, 16 * SPRITEOAMSTRUCT_LENGTH - call ByteFill - call DelayFrame - farcall _RefreshSprites - ld b, SCGB_MAPPALS - call GetSGBLayout - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, wc320 - ld de, wd030 - ld bc, $0010 - call CopyBytes - pop af - ldh [rSVBK], a - call SetPalettes - call DelayFrame - ld a, $90 - ldh [hWY], a - call UpdateSprites - farcall _ClearSprites - pop af - ldh [rSVBK], a - farcall ReloadMapPart - ld a, [wLinkMode] - cp LINK_MOBILE - jr z, .asm_11642a - ld a, $8 - ld [wMusicFade], a - ld a, [wMapMusic] - ld [wMusicFadeID], a - xor a - ld [wMusicFadeID + 1], a - jr .asm_116439 - -.asm_11642a - ld a, $8 - ld [wMusicFade], a - ld a, LOW(MUSIC_NONE) - ld [wMusicFadeID], a - ld a, HIGH(MUSIC_NONE) - ld [wMusicFadeID + 1], a - -.asm_116439 - xor a - ld [wc319], a - ld [wc30d], a - ret - -Function116441: - farcall Function17d405 - ld a, $90 - ldh [hWY], a - farcall ReloadMapPart - ld a, $8 - ld [wMusicFade], a - ld a, [wMapMusic] - ld [wMusicFadeID], a - xor a - ld [wMusicFadeID + 1], a - xor a - ld [wc319], a - ld [wc30d], a - ret - -Function116468: - call Function116567 - ld a, [wc314] - cp $d - jr nz, .asm_1164a8 - ld hl, wc30e - ld a, [hl] - cp $50 - jr nc, .asm_116484 - ld a, $50 - sub [hl] - add $50 - ld [wc3f1], a - jr .asm_11648d - -.asm_116484 - sub $50 - ld c, a - ld a, $50 - sub c - ld [wc3f1], a - -.asm_11648d - ld hl, wc30f - ld a, [hl] - cp $60 - jr nc, .asm_11649e - ld a, $60 - sub [hl] - add $60 - ld [wc3f3], a - ret - -.asm_11649e - sub $60 - ld c, a - ld a, $60 - sub c - ld [wc3f3], a - ret - -.asm_1164a8 - ld hl, wc30e - ld a, $b0 - cp [hl] - jr nc, .asm_1164b8 - ld a, [wc3f1] - and a - jr z, .asm_11650b - jr .asm_1164f2 - -.asm_1164b8 - ld a, [wc3f1] - sub [hl] - jr nc, .asm_1164c1 - xor $ff - inc a - -.asm_1164c1 - ld b, a - ld c, $0 - ld a, $5 -.asm_1164c6 - srl b - rr c - dec a - jr nz, .asm_1164c6 - ld a, c - ld [wc3fa], a - ld a, b - ld [wc3f9], a - ld a, [wc3f1] - sub [hl] - jr c, .asm_1164f2 - ld c, $0 - ld a, [wc3fa] - xor $ff - add $1 - rl c - ld [wc3fa], a - ld a, [wc3f9] - xor $ff - add c - ld [wc3f9], a - -.asm_1164f2 - ld a, [wc3f2] - ld l, a - ld a, [wc3f1] - ld h, a - ld a, [wc3fa] - ld e, a - ld a, [wc3f9] - ld d, a - add hl, de - ld a, l - ld [wc3f2], a - ld a, h - ld [wc3f1], a - -.asm_11650b - ld hl, wc30f - ld a, $b0 - cp [hl] - jr c, .asm_11654d - ld a, [wc3f3] - sub [hl] - jr nc, .asm_11651c - xor $ff - inc a - -.asm_11651c - ld b, a - ld c, $0 - ld a, $5 -.asm_116521 - srl b - rr c - dec a - jr nz, .asm_116521 - ld a, c - ld [wc3fc], a - ld a, b - ld [wc3fb], a - ld a, [wc3f3] - sub [hl] - jr c, .asm_11654d - ld c, $0 - ld a, [wc3fc] - xor $ff - add $1 - rl c - ld [wc3fc], a - ld a, [wc3fb] - xor $ff - add c - ld [wc3fb], a - -.asm_11654d - ld a, [wc3f4] - ld l, a - ld a, [wc3f3] - ld h, a - ld a, [wc3fc] - ld e, a - ld a, [wc3fb] - ld d, a - add hl, de - ld a, l - ld [wc3f4], a - ld a, h - ld [wc3f3], a - ret diff --git a/mobile/mobile_45_stadium.asm b/mobile/mobile_45_stadium.asm deleted file mode 100644 index 429bc7f55..000000000 --- a/mobile/mobile_45_stadium.asm +++ /dev/null @@ -1,813 +0,0 @@ -GiveOddEgg: - farcall _GiveOddEgg - ret - -Function11765d: - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - call Function11766b - pop af - ldh [hInMenu], a - ret - -Function11766b: - call Function117699 - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - call Function1176ee - ld a, $5 - call OpenSRAM - ld hl, $b1f3 - ld de, wcd49 - ld bc, $8 - call CopyBytes - ld de, wc708 - ld bc, $11 - call CopyBytes - call CloseSRAM - pop af - ldh [rSVBK], a - ret - -Function117699: - ld a, $5 - call OpenSRAM - ld hl, wcd49 - ld de, $b1f3 - ld bc, $8 - call CopyBytes - ld hl, wc708 - ld bc, $11 - call CopyBytes - call CloseSRAM - xor a - ld [wcd49], a - ld [wcd4a], a - ld [wcd4b], a - ld [wcd4c], a - ld [wcd4d], a - ld [wcd4e], a - ld [wcd4f], a - ld hl, wc708 - ld bc, $11 - call ByteFill - call ClearBGPalettes - call ClearSprites - farcall Function171c87 - farcall ReloadMapPart - farcall ClearSpriteAnims - ret - -Function1176ee: -.loop - call JoyTextDelay - ld a, [wcd49] - bit 7, a - jr nz, .quit - call Function117719 - farcall PlaySpriteAnimations - farcall ReloadMapPart - jr .loop - -.quit - farcall ClearSpriteAnims - call ClearBGPalettes - call ClearScreen - call ClearSprites - ret - -Function117719: - jumptable Jumptable_117728, wcd49 - -Jumptable_117728: - dw Function117738 - dw Function117764 - dw Function1178aa - dw Function1178e8 - dw Function117942 - dw Function117976 - dw Function117984 - dw Function1179a7 - -Function117738: - farcall Function171ccd - depixel 6, 3 - ld a, $1d - call InitSpriteAnimStruct - ld hl, $c - add hl, bc - ld a, $6 - ld [hl], a - depixel 9, 4 - ld a, $1d - call InitSpriteAnimStruct - ld hl, $c - add hl, bc - ld a, $7 - ld [hl], a - ld a, $3 - ld [wcd23], a - jp MobilePassword_IncrementJumptable - -Function117764: - ld a, [wcd4a] - cp $10 - jr nz, .asm_11776f - ld a, $1 - jr .asm_117770 - -.asm_11776f - xor a -.asm_117770 - ld [wcd24], a - ld hl, hJoyPressed - ld a, [hl] - and SELECT - jr nz, Function117764_select - ld a, [hl] - and START - jr nz, Function117764_start - ld a, [hl] - and A_BUTTON - jp nz, Function117764_a_button - ld a, [hl] - and B_BUTTON - jr nz, Function117764_b_button - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, Function117764_d_up - ld a, [hl] - and D_DOWN - jr nz, Function117764_d_down - ld a, [hl] - and D_LEFT - jp nz, Function117764_d_left - ld a, [hl] - and D_RIGHT - jp nz, Function117764_d_right - ret - -Function117764_select: - farcall Function171cf0 - ret - -Function117764_start: - ld a, $2 - ld [wcd4c], a - ld a, $4 - ld [wcd4d], a - ret - -Function1177b7: - ld a, $3 - ld [wcd24], a - ld a, [wcd4a] - and a - jr z, .asm_1177c5 - jp MobilePassword_IncrementJumptable - -.asm_1177c5 - ld a, $6 - ld [wcd49], a - ret - -Function1177cb: - ld a, $80 - ld [wcd49], a - ld [wScriptVar], a - jp MobilePassword_IncrementJumptable - -Function117764_b_button: - call PlayClickSFX - ld a, [wcd4a] - and a - ret z - dec a - ld [wcd4a], a - ld e, a - ld d, 0 - ld hl, wc708 - add hl, de - xor a - ld [hl], a - hlcoord 2, 4 - add hl, de - ld [hl], a - ret - -Function117764_d_up: - ld a, [wcd4d] - and a - ret z - dec a - ld [wcd4d], a - cp $3 - ret nz - ld a, [wcd4c] - ld e, a - sla a - sla a - add e -Function117764_d_vertical_load: - ld [wcd4c], a - ret - -Function117764_d_down: - ld a, [wcd4d] - cp $4 - ret z - inc a - ld [wcd4d], a - cp $4 - ret nz - ld a, [wcd4c] - cp $a - jr nc, .asm_117825 - cp $5 - jr nc, .asm_117829 - xor a - jr Function117764_d_vertical_load - -.asm_117825 - ld a, $2 - jr Function117764_d_vertical_load - -.asm_117829 - ld a, $1 - jr Function117764_d_vertical_load - -Function117764_d_left: - ld a, [wcd4c] - and a - ret z - dec a - ld [wcd4c], a - ret - -Function117764_d_right: - ld e, $d - ld a, [wcd4d] - cp $4 - jr nz, .wrap - ld e, $2 -.wrap - ld a, [wcd4c] - cp e - ret z - inc a - ld [wcd4c], a - ret - -Function117764_a_button: - call PlayClickSFX - ld a, [wcd4d] - cp $4 - jr nz, .not_4 - ld a, [wcd4c] - cp $2 - jp z, Function1177b7 - cp $1 - jp z, Function1177cb - jp Function117764_select - -.not_4 - ld a, [wcd4a] - ld e, a - cp $10 - jp z, Function117764_start - inc a - ld [wcd4a], a - ld d, $0 - ld a, [wcd4b] - and a - jr nz, .ascii_symbols - ld hl, Unknown_117a0f - jr .got_ascii - -.ascii_symbols - ld hl, Unknown_117a47 -.got_ascii - push de - ld a, [wcd4c] - ld b, a - ld a, [wcd4d] - ld c, $e - call SimpleMultiply - add b - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ld hl, wc708 - add hl, de - ld [hl], a - pop de - hlcoord 2, 4 - add hl, de - sub $20 - ld [hl], a - ld a, e - cp $f - ret nz - jp Function117764_start - -Function1178aa: - ld hl, MenuHeader_1179b5 - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - ld hl, MenuHeader_1179bd - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - farcall ReloadMapPart - hlcoord 16, 8 - ld de, YessNoString_1179c5 - call PlaceString - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - hlcoord 1, 14 - ld de, AskSavePasswordString - call PlaceString - ld a, $1 - ld [wcd4e], a - jp MobilePassword_IncrementJumptable - -Function1178e8: - ldh a, [hJoyPressed] - cp B_BUTTON - jr z, .b_button - cp A_BUTTON - jr z, .a_button - cp D_DOWN - jr z, .d_down - cp D_UP - ret nz - ld a, [wcd4e] - and a - ret z - dec a - ld [wcd4e], a - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - hlcoord 15, 10 - ld a, " " - ld [hl], a - ret - -.d_down - ld a, [wcd4e] - and a - ret nz - inc a - ld [wcd4e], a - hlcoord 15, 8 - ld a, " " - ld [hl], a - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - ret - -.a_button - call PlayClickSFX - ld a, [wcd4e] - and a - jr nz, .b_button - call ExitMenu - ld a, $1 - ld [wcd4f], a - jp MobilePassword_IncrementJumptable - -.b_button - call ExitMenu - call ExitMenu - jp MobilePassword_IncrementJumptable - -Function117942: - call SpeechTextbox - hlcoord 1, 14 - ld de, SavedPasswordString - call PlaceString - ld a, $1e - ld [wcd4e], a - ld a, BANK(sMobileLoginPassword) - call OpenSRAM - ld a, [wcd4f] - ld [sMobileLoginPassword], a - ld hl, wc708 - ld de, sMobileLoginPassword + 1 - ld bc, MOBILE_LOGIN_PASSWORD_LENGTH - call CopyBytes - call CloseSRAM - ld a, [wcd4f] - and a - jr z, asm_11797e - call MobilePassword_IncrementJumptable - -Function117976: - ld hl, wcd4e - dec [hl] - ret nz - call ExitMenu -asm_11797e: - ld a, $80 - ld [wcd49], a - ret - -Function117984: - ld hl, MenuHeader_1179b5 - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - farcall ReloadMapPart - hlcoord 1, 14 - ld de, NotAPokemonPasswordString - call PlaceString - ld a, $1e - ld [wcd4e], a - call MobilePassword_IncrementJumptable - -Function1179a7: - ld hl, wcd4e - dec [hl] - ret nz - call ExitMenu - ld a, $1 - ld [wcd49], a - ret - -MenuHeader_1179b5: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw NULL - db 0 ; default option - -MenuHeader_1179bd: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw NULL - db 0 ; default option - -YessNoString_1179c5: - db "はい" - next "いいえ@" - -AskSavePasswordString: - db "こパスワード¯ほぞんして" - line "おきますか?@" - -NotAPokemonPasswordString: - db "パスワードにゅうりょく" - line "されていません!@" - -SavedPasswordString: - db "ログインパスワード¯ほぞん" - line "しました@" - -MobilePassword_IncrementJumptable: - ld hl, wcd49 - inc [hl] - ret - -pushc -setcharmap ascii - -Unknown_117a0f: - db "ABCDEFGHIJKLMNOPQRSTUVWXYZ " - db "abcdefghijklmnopqrstuvwxyz " - -Unknown_117a47: - db "0123456789 " - db "!\"#$%&'()*+ " - db ",-./:;<=>?@ " - db "[\\]^_`\{|}~ " -popc - -; everything from here to the end of the bank is related to the -; Mobile Stadium option from the continue/newgame menu. -; Needs better function names -MobileStudium: - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - call Function117a8d - pop af - ldh [hInMenu], a - ret - -Function117a8d: - call Function117a94 - call Function117acd - ret - -Function117a94: - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - call ClearBGPalettes - call ClearSprites - farcall Function172e78 - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - ret - -Function117ab4: - call ClearBGPalettes - call ClearSprites - farcall Function172e78 - farcall Function172eb9 - farcall ReloadMapPart - ret - -Function117acd: - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_117ae2 - call Function117ae9 - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - jr Function117acd - -.asm_117ae2 - call ClearBGPalettes - call ClearSprites - ret - -Function117ae9: - jumptable .Jumptable, wJumptableIndex - -.Jumptable: - dw Function117b06 - dw Function117b14 - dw Function117b28 - dw Function117b31 - dw Function117b4f - dw Function117bb6 - dw Function117c4a - -Function117b06: - farcall Function172eb9 - ld a, $10 - ld [wcf64], a - jp MobileStudium_JumptableIncrement - -Function117b14: - ld hl, wcf64 - dec [hl] - ret nz - ld hl, MenuHeader_117cbc - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - jp MobileStudium_JumptableIncrement - -Function117b28: - ld hl, MobileStadiumEntryText - call PrintText - jp MobileStudium_JumptableIncrement - -Function117b31: - ld hl, MenuHeader_117cc4 - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - hlcoord 16, 8 - ld de, YesNo117ccc - call PlaceString - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - jp MobileStudium_JumptableIncrement - -Function117b4f: - ldh a, [hJoyPressed] - cp B_BUTTON - jr z, .b_button - cp A_BUTTON - jr z, .a_button - cp D_DOWN - jr z, .d_down - cp D_UP - ret nz - ld a, [wcf64] - and a - ret z - dec a - ld [wcf64], a - hlcoord 15, 8 - ld a, "▶" - ld [hl], a - hlcoord 15, 10 - ld a, " " - ld [hl], a - ret - -.d_down - ld a, [wcf64] - and a - ret nz - inc a - ld [wcf64], a - hlcoord 15, 8 - ld a, " " - ld [hl], a - hlcoord 15, 10 - ld a, "▶" - ld [hl], a - ret - -.a_button - call PlayClickSFX - ld a, [wcf64] - and a - jr nz, .b_button - call ExitMenu - call ExitMenu - farcall ReloadMapPart - jp MobileStudium_JumptableIncrement - -.b_button - call ExitMenu - call ExitMenu - farcall ReloadMapPart - ld a, $80 - ld [wJumptableIndex], a - ret - -Function117bb6: - call Function117c89 - ld a, $1 - ldh [hBGMapMode], a - farcall Function118284 - call ClearSprites - ld a, [wMobileErrorCodeBuffer] - and a - jr z, .asm_117be7 - cp $a - jr z, .asm_117be1 -.asm_117bd0 - ld a, $2 - ld [wc303], a - farcall DisplayMobileError - ld a, $80 - ld [wJumptableIndex], a - ret - -.asm_117be1 - ld a, $80 - ld [wJumptableIndex], a - ret - -.asm_117be7 - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a - ld a, [wcd89] - and $1 - jr nz, .asm_117c16 - ld a, [w3_d000] - cp $fe - jr nz, .asm_117c16 - ld a, [w3_d001] - cp $f - jr nz, .asm_117c16 - ld hl, w3_dfec - ld de, wcd69 - ld c, $10 -.asm_117c0b - ld a, [de] - inc de - cp [hl] - jr nz, .asm_117c16 - inc hl - dec c - jr nz, .asm_117c0b - jr .asm_117c20 - -.asm_117c16 - pop af - ldh [rSVBK], a - ld a, $d3 - ld [wMobileErrorCodeBuffer], a - jr .asm_117bd0 - -.asm_117c20 - pop af - ldh [rSVBK], a - farcall Function172eb9 - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a - ld a, $7 - call OpenSRAM - ld hl, w3_d002 - ld de, $b000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - pop af - ldh [rSVBK], a - jp MobileStudium_JumptableIncrement - -Function117c4a: - ld hl, MenuHeader_117cbc - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - farcall ReloadMapPart - ld hl, MobileStadiumSuccessText - call PrintText - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, wBGPals1 - ld de, 1 palettes - ld c, 8 -.loop - push hl - ld a, LOW(PALRGB_WHITE) - ld [hli], a - ld a, HIGH(PALRGB_WHITE) - ld [hl], a - pop hl - add hl, de - dec c - jr nz, .loop - call RotateThreePalettesRight - pop af - ldh [rSVBK], a - ld a, $80 - ld [wJumptableIndex], a - ret - -Function117c89: - ld a, $7 - call OpenSRAM - ld l, $0 - ld h, l - ld de, $b000 - ld bc, $0ffc -.asm_117c97 - push bc - ld a, [de] - inc de - ld c, a - ld b, 0 - add hl, bc - pop bc - dec bc - ld a, b - or c - jr nz, .asm_117c97 - ld a, l - ld [wcd83], a - ld a, h - ld [wcd84], a - ld hl, $bfea - ld de, wcd69 - ld bc, $10 - call CopyBytes - call CloseSRAM - ret - -MenuHeader_117cbc: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw NULL - db 0 ; default option - -MenuHeader_117cc4: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw NULL - db 0 ; default item - -YesNo117ccc: - db "はい" - next "いいえ@" - -MobileStadiumEntryText: - text_far _MobileStadiumEntryText - text_end - -MobileStadiumSuccessText: - text_far _MobileStadiumSuccessText - text_end - -MobileStudium_JumptableIncrement: - ld hl, wJumptableIndex - inc [hl] - ret diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm deleted file mode 100644 index 40a4183bb..000000000 --- a/mobile/mobile_46.asm +++ /dev/null @@ -1,7704 +0,0 @@ -Function118000: - ld a, $1 - ld [wcd38], a - jr asm_11800b - -Function118007: - xor a - ld [wcd38], a - -asm_11800b: - call BattleTowerRoomMenu_InitRAM - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.loop - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $1b - jr c, .skip - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.skip - call Function1184a5 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .loop - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu -BattleTowerRoomMenu_DoNothing: - ret - -Function11805f: - ld a, $1 - ld [wcd38], a - call BattleTowerRoomMenu_InitRAM - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_11807d - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $1b - jr c, .asm_118090 - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_118090 - call Function11857c - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11807d - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret - -Function1180b8: - call BattleTowerRoomMenu_InitRAM - ld a, $22 - ld [wcd33], a - ld a, $23 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_1180d1 - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $28 - jr c, .asm_1180e4 - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_1180e4 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $10 - jr c, .asm_1180f2 - cp $16 - jr nc, .asm_1180f2 - call Function11884c - -.asm_1180f2 - call Function1184ec - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1180d1 - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret - -Function11811a: - ld a, 1 - ld [wcd38], a - jr Function118125 - -_BattleTowerRoomMenu: - xor a - ld [wcd38], a -Function118125: - call BattleTowerRoomMenu_InitRAM - ld a, $3 - ld [wcd33], a - ld a, $d - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.loop - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $f - jr c, .skip - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a -.skip - call BattleTowerRoomMenu_Jumptable - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .loop - xor a - ld [w3_d000], a - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call Function118180 - call ReturnToMapFromSubmenu - ret - -Function118180: - ld a, [wScriptVar] - and a - ret nz - ld a, [wcd38] - and a - ret z - ld a, BANK(s5_a89c) ; aka BANK(s5_a8b2) - call OpenSRAM - ld hl, wcd69 - ld de, s5_a89c - ld bc, 22 - call CopyBytes - - ldh a, [rSVBK] - push af - ld a, BANK(w3_d202) - ldh [rSVBK], a - - ld de, w3_d202 - ld c, $96 - farcall CheckStringForErrors_IgnoreTerminator - jr c, .return_d3 - - ld de, w3_d202 - lb bc, 1, $96 - farcall CheckStringContainsLessThanBNextCharacters - jr c, .return_d3 - - ld hl, w3_d202 - ld de, s5_a8b2 - ld bc, 150 - call CopyBytes -.reset_banks - pop af - ldh [rSVBK], a - call CloseSRAM - ret - -.return_d3 - ld a, $d3 - ld [wMobileErrorCodeBuffer], a - ld [wScriptVar], a - jr .reset_banks - -Function1181da: - call BattleTowerRoomMenu_InitRAM - ld a, $2 - ld [wcd38], a - ld a, $21 - ld [wcd33], a - ld a, $22 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_1181f8 - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $28 - jr c, .asm_11820b - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_11820b - call Function1185c3 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1181f8 - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret - -Function118233: - call BattleTowerRoomMenu_InitRAM - ld a, $1b - ld [wcd33], a - ld a, $1c - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_11824c - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $1e - jr c, .asm_11825f - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_11825f - call Function118624 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11824c - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret - -Function118284: - call BattleTowerRoomMenu_InitRAM - ld a, $19 - ld [wcd33], a - ld a, $1e - ld [wcd34], a - ld a, $5 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_11829d - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $20 - jr c, .asm_1182b0 - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a -.asm_1182b0 - call Function1186f5 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_11829d - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret - -Function1182d5: ; unreferenced - call BattleTowerRoomMenu_InitRAM - ld a, $18 - ld [wcd33], a - ld a, $19 - ld [wcd34], a - ld a, $4 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_1182ee - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $1b - jr c, .asm_118301 - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_118301 - call Function118746 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_1182ee - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - call ReturnToMapFromSubmenu - ret - -Function118329: - call BattleTowerRoomMenu_InitRAM - ld a, $15 - ld [wcd33], a - ld a, $16 - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_118342 - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $18 - jr c, .asm_118355 - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_118355 - call Function118671 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118342 - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret - -Function11837a: - call BattleTowerRoomMenu_InitRAM - ld a, $16 - ld [wcd33], a - ld a, $17 - ld [wcd34], a - ld a, $6 - ld [wc3f0], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a -.asm_118393 - call JoyTextDelay - call Function118473 - ld a, [wBattleTowerRoomMenuJumptableIndex] - cp $19 - jr c, .asm_1183a6 - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - -.asm_1183a6 - call Function1186b2 - call BattleTowerRoomMenu_WriteMessage - farcall Function115dd3 - farcall Function11619d - call DelayFrame - ld a, [wBattleTowerRoomMenuJumptableIndex] - ld hl, wcd33 - cp [hl] - jr nz, .asm_118393 - pop af - ldh [rSVBK], a - call BattleTowerRoomMenu_Cleanup - ret - -BattleTowerRoomMenu_InitRAM: - di - ldh a, [rIE] - ld [wcd32], a - call DoubleSpeed - xor a - ldh [rIF], a - ld [wMobileErrorCodeBuffer], a - ld [wMobileErrorCodeBuffer + 1], a - ld [wMobileErrorCodeBuffer + 2], a - ld [wcd80], a - ld [wcd65], a - ld [wcd66], a - ld [wcd67], a - ld [wcd68], a - ld [wc31a], a - ld [wcd89], a - ld [wcd8a], a - ld [wcd8b], a - ld [wc3ec], a - ld [wc3ed], a - ld [wc3ee], a - ld [wc3ef], a - ld hl, wVramState - ld a, [hl] - ld [wcd7f], a - set 1, [hl] - ld a, (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) - ldh [rIE], a - ld a, $1 - ldh [hMobileReceive], a - ldh [hMobile], a - ei - farcall Stubbed_Function106462 - farcall Function106464 - farcall Function115d99 - farcall Function11615a - ld a, BANK(s5_bfff) - call OpenSRAM - xor a - ld [s5_bfff], a - call CloseSRAM - ret - -Function118440: - push af - ld a, BANK(s5_bfff) - call OpenSRAM - ld a, [s5_bfff] - inc a - ld [s5_bfff], a - call CloseSRAM - pop af - ret - -BattleTowerRoomMenu_Cleanup: - di - xor a - ldh [hMobileReceive], a - ldh [hMobile], a - ldh [hVBlank], a - call NormalSpeed - xor a - ldh [rIF], a - ld a, [wcd32] - ldh [rIE], a - ei - ld a, [wcd7f] - ld [wVramState], a - ld a, [wMobileErrorCodeBuffer] - ld [wScriptVar], a - ret - -Function118473: - ld a, [wcd65] - and a - ret z - ld a, [wcd66] - inc a - ld [wcd66], a - cp 60 - ret nz - xor a - ld [wcd66], a - ld a, [wcd67] - inc a - ld [wcd67], a - cp 60 - ret nz - ld a, [wcd68] - inc a - ld [wcd68], a - cp 99 - jr z, .ninety_nine - xor a - ld [wcd67], a - ret - -.ninety_nine - xor a - ld [wcd65], a - ret - -Function1184a5: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw SetExchangeDownloadURL - dw Function11878d - dw Function118d80 - dw Function118d9b - dw Function11878d - dw Function118ded - dw Function118e6d - dw Function11878d - dw Function11984e - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function1184ec: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119954 - dw Function11878d - dw Function119973 - dw Function11878d - dw Function119987 - dw Function11878d - dw Function1199b4 - dw Function1199ca - dw Function11878d - dw Function1199e2 - dw Function119b0d - dw Function11878d - dw Function119b6b - dw Function119b3b - dw Function11878d - dw Function119b52 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function119b45 - dw Function11878d - dw Function119ac9 - dw Function118e76 - -BattleTowerRoomMenu_Jumptable: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw BattleTowerRoomMenu_PickLevelMessage - dw BattleTowerRoomMenu_PlacePickLevelMenu - dw BattleTowerRoomMenu_UpdatePickLevelMenu - dw BattleTowerRoomMenu_DoNothing - dw BattleTowerRoomMenu_PartyMonTopsThisLevelMessage - dw BattleTowerRoomMenu_WaitForMessage - dw BattleTowerRoomMenu_DelayRestartMenu - dw BattleTowerRoomMenu_QuitMessage - dw BattleTowerRoomMenu_PlaceYesNoMenu - dw BattleTowerRoomMenu_UpdateYesNoMenu - dw BattleTowerRoomMenu_UberRestrictionMessage - dw BattleTowerRoomMenu_WaitForMessage - dw BattleTowerRoomMenu_DelayRestartMenu - dw Function118e76 ; mobile - dw BattleTowerRoomMenu_CallRoomMenu2 ; mobile - dw Function118e76 ; mobile - -Function11857c: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw SetBattleDownloadURL - dw Function11878d - dw Function11891c - dw Function1198ee - dw Function1198f7 - dw Function11878d - dw Function119937 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function1185c3: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw SetNewsDownloadURL - dw Function11878d - dw Function118e92 - dw Function11878d - dw Function118eb0 - dw Function118ec6 - dw Function118f0d - dw Function118f14 - dw Function118f5e - dw Function11878d - dw Function118fc0 - dw Function11878d - dw Function119054 - dw Function1190d0 - dw Function11878d - dw Function1190ec - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw BattleTowerRoomMenu_QuitMessage - dw BattleTowerRoomMenu_PlaceYesNoMenu - dw BattleTowerRoomMenu_UpdateYesNoMenu - dw Function11914e - dw Function118e76 - -Function118624: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw SetNewsDownloadURL - dw Function11878d - dw Function118e92 - dw Function11878d - dw Function11915d - dw Function118f68 - dw Function11878d - dw Function119009 - dw Function11878d - dw Function119054 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function118671: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119380 - dw Function119388 - dw Function1193a0 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function1186b2: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function118866 - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw Function119380 - dw Function1193e3 - dw Function1193fb - dw Function11878d - dw Function119413 - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function1186f5: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function11886a - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw SetStadiumDownloadURL - dw Function11878d - dw Function119451 - dw Function1195f8 - dw Function119612 - dw Function119629 - dw Function119648 - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function11967d - dw Function119685 - dw Function119665 - dw Function11966d - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function118746: - jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex - -.Jumptable: - dw Function11886e - dw Function118880 - dw Function11878d - dw Function1188b0 - dw Function11878d - dw Function1188b8 - dw Function11878d - dw Function1188c0 - dw Function11878d - dw Function1188c8 - dw Function11878d - dw Function118903 - dw SetOddEggDownloadURL - dw Function11878d - dw Function1196f2 - dw Function1197c9 - dw Function1197dc - dw Function11878d - dw Function118e6d - dw Function11878d - dw Function119800 - dw Function118e76 - dw Function118e7e - dw Function11878d - dw BattleTowerRoomMenu_DoNothing - dw Function118e76 - dw BattleTowerRoomMenu_CallRoomMenu2 - dw Function118e76 - -Function11878d: - ld a, [wc821] - bit 1, a - jr nz, .asm_1187af - bit 2, a - jr nz, .asm_1187d1 - bit 0, a - jr nz, .asm_1187aa - ld a, [wcd89] - and $1 - jr z, .asm_1187a7 - ld a, $3 - ldh [rSVBK], a -.asm_1187a7 - jp BattleTowerRoomMenu_IncrementJumptable -.asm_1187aa - call Function118821 - ret c - ret -.asm_1187af - ld a, MOBILEAPI_00 - call MobileAPI - ld [wMobileErrorCodeBuffer], a - ld a, l - ld [wMobileErrorCodeBuffer + 1], a - ld a, h - ld [wMobileErrorCodeBuffer + 2], a - ld a, MOBILEAPI_05 - call MobileAPI - ld a, [wc3f0] - ld [wc319], a - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - ret -.asm_1187d1 - ld hl, wcd89 - bit 0, [hl] - jr nz, .asm_118803 - set 0, [hl] - ld a, BANK(w6_d000) - ldh [rSVBK], a - ld de, w6_d000 - ld bc, $1000 - ld a, [hl] - sla a - jr c, .asm_1187f9 - sla a - jr c, .asm_1187fd - sla a - jr c, .asm_1187f5 - ld a, MOBILEAPI_12 - jr .asm_1187ff -.asm_1187f5 - ld a, MOBILEAPI_14 - jr .asm_1187ff -.asm_1187f9 - ld a, MOBILEAPI_15 - jr .asm_1187ff -.asm_1187fd - ld a, MOBILEAPI_16 -.asm_1187ff - call MobileAPI - ret -.asm_118803 - ld a, $d3 - -SetMobileErrorCode: - ld [wMobileErrorCodeBuffer], a - xor a - ld [wMobileErrorCodeBuffer + 1], a - ld [wMobileErrorCodeBuffer + 2], a - ld a, MOBILEAPI_05 - call MobileAPI - ld a, [wc3f0] - ld [wc319], a - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - ret - -Function118821: - ld a, [wc319] - cp $3 - jr c, .asm_11884a - cp $4 - jr z, .asm_11884a - ldh a, [hJoyDown] - cp $5 - jr nz, .asm_11884a - ld a, MOBILEAPI_05 - call MobileAPI - ld a, $a - ld [wMobileErrorCodeBuffer], a - ld a, [wc3f0] - ld [wc319], a - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - scf - ret -.asm_11884a - and a - ret - -Function11884c: - ldh a, [hJoyDown] - cp $5 - jr nz, .asm_118864 - ld a, MOBILEAPI_05 - call MobileAPI - ld a, $a - ld [wMobileErrorCodeBuffer], a - ld a, [wcd34] - ld [wBattleTowerRoomMenuJumptableIndex], a - scf - ret - -.asm_118864 - and a - ret - -Function118866: - ld a, 2 - jr asm_11886f - -Function11886a: - ld a, 1 - jr asm_11886f - -Function11886e: - xor a - -asm_11886f: - ld [wBGMapPalBuffer], a - ld a, $0 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu_IncrementJumptable - ld a, [wcd33] - ld [wMobileInactivityTimerSeconds], a - -Function118880: - call BattleTowerRoomMenu2 - ret c - xor a - ld [wcf64], a - ld [wc807], a - ld de, wcd81 - ld hl, $46 - ld a, MOBILEAPI_01 - jp Function119e2b - -Function118896: ; unreferenced - ld a, [wc821] - bit 1, a - jr nz, .asm_1188a5 - bit 2, a - jr nz, .asm_1188a5 - bit 0, a - jr z, .asm_1188aa - -.asm_1188a5 - ld a, MOBILEAPI_1A - jp Function119e2b - -.asm_1188aa - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable - -Function1188b0: - ld de, wc346 - ld a, MOBILEAPI_06 - jp Function119e2b - -Function1188b8: - ld de, wc3ac - ld a, MOBILEAPI_07 - jp Function119e2b - -Function1188c0: - ld de, wEmailAddress - ld a, MOBILEAPI_08 - jp Function119e2b - -Function1188c8: - ld a, $1 - ld [wcd65], a - call Function1188e7 - ld hl, wc708 -.asm_1188d3 - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_1188d3 - call Function119eb4 - call Function119ec2 - ld hl, wc708 - ld a, MOBILEAPI_03 - jp Function119e2b - -Function1188e7: - ld de, wc346 - ld a, BANK(s5_aa4a) - call OpenSRAM - ld a, [s5_aa4a] - call CloseSRAM - and a - ret z - sla a - ld c, a -.asm_1188fa - ld a, [de] - inc de - and a - jr nz, .asm_1188fa - dec c - jr nz, .asm_1188fa - ret - -Function118903: - ld a, [wc3f0] - ld [wc319], a - ld c, $1 - farcall Function115e18 - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - jp BattleTowerRoomMenu_IncrementJumptable - -Function11891c: - call Function118b42 - jp BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_PickLevelMessage: - ld a, [wcd38] - and a - jr nz, .asm_11892d - ld hl, Text_WhatLevelDoYouWantToChallenge - jr .asm_118930 - -.asm_11892d - ld hl, Text_CheckBattleRoomListByMaxLevel - -.asm_118930 - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_PlacePickLevelMenu: - ld a, [wc31a] - and a - ret nz - ld hl, MenuHeader_119cf7 - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - call ApplyTilemap - hlcoord 16, 8, wAttrmap - ld a, $40 - or [hl] - ld [hl], a - call WaitBGMap2 - ld a, $1 - ld [wcd4f], a - ld a, $1 - ldh [rSVBK], a - ld a, [wStatusFlags] - bit STATUSFLAGS_HALL_OF_FAME_F, a - jr nz, .asm_11896b - ld hl, Strings_Ll0ToL40 ; Address to list of strings with the choosable levels - ld a, 5 ; 4 levels to choose from, including 'Cancel'-option - jr .asm_118970 - -.asm_11896b - ld hl, Strings_L10ToL100 ; Address to list of strings with the choosable levels - ld a, 11 ; 10 levels to choose from, including 'Cancel'-option - -.asm_118970 - ld [wcd4a], a - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - ld a, $3 - ldh [rSVBK], a - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_UpdatePickLevelMenu: - hlcoord 13, 8 - ld de, String_119d07 - call PlaceString - hlcoord 13, 10 - ld de, String_119d07 - call PlaceString - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld d, $0 - ld a, [wcd4f] - dec a - rlca - rlca - rlca - ld e, a - add hl, de - ld a, l - ld e, a - ld a, h - ld d, a - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld bc, wStringBuffer3 -.asm_1189b5 - ld a, [hli] - cp $50 - jr z, .asm_1189c4 - cp $7f - jr z, .asm_1189c2 - ld [bc], a - inc bc - jr .asm_1189b5 - -.asm_1189c2 - ld a, $50 - -.asm_1189c4 - ld [bc], a - pop af - ldh [rSVBK], a - hlcoord 13, 9 - call PlaceString - ld hl, hJoyPressed - ld a, [hl] - and B_BUTTON - jr nz, .b_button - ld a, [hl] - and A_BUTTON - jr nz, .a_button - ld a, [hl] - and D_DOWN - jr nz, .d_down - ld a, [hl] - and D_UP - jr nz, .d_up -.asm_1189e5 - ret - -.d_down - ld hl, wcd4f - dec [hl] - jr nz, .asm_1189e5 - ld a, [wcd4a] - ld [hl], a - jr .asm_1189e5 - -.d_up - ld a, [wcd4a] - ld hl, wcd4f - inc [hl] - cp [hl] - jr nc, .asm_1189e5 - ld a, $1 - ld [hl], a - jr .asm_1189e5 - -.a_button - call PlayClickSFX - ld a, [wcd4f] - ld hl, wcd4a - cp [hl] - jr z, .asm_118a3c - dec a - and $fe - srl a - ld [wcf65], a - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - call CloseWindow - pop af - ldh [rSVBK], a - ld a, [wcd38] - and a - jr nz, .asm_118a30 - call BattleTower_LevelCheck - ret c - call BattleTower_UbersCheck - ret c - -.asm_118a30 - ld a, [wcd4f] - ld [w3_d800], a - jp BattleTowerRoomMenu_IncrementJumptable - -.b_button - call PlayClickSFX - -.asm_118a3c - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - call CloseWindow - pop af - ldh [rSVBK], a - ld a, $7 - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, $0 - ld [wMobileInactivityTimerFrames], a - ret - -Function118a54: ; unreferenced - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wc3ec - ld bc, $0004 - jp Function118ae4 - -Function118a65: ; unreferenced - ld hl, BattleDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 - -SetBattleDownloadURL: - ld hl, BattleDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 - -SetExchangeDownloadURL: - ld hl, ExchangeDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 - -SetNewsDownloadURL: - ld hl, NewsDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld a, $5 - ldh [rSVBK], a - ld de, w3_d100 - ld bc, $e00 - jr Function118b10 - -SetStadiumDownloadURL: - ld hl, StadiumDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jr Function118b10 - -SetOddEggDownloadURL: - ld hl, OddEggDownloadURL - ld de, wcc60 - ld bc, $80 - call CopyBytes - ld de, w3_d000 - ld bc, $1000 - jr Function118b10 - -Function118ae4: - push bc - push de - push hl - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - pop hl - ld c, $0 - ld de, wcc60 -.asm_118af5 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_118b06 - inc c - ld a, c - cp $a6 - jr c, .asm_118af5 - ld a, $da - jp SetMobileErrorCode - -.asm_118b06 - call Function118b24 - pop de - pop bc - ld a, MOBILEAPI_15 - jp Function119e2b - -Function118b10: - push de - push bc - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - call Function118b24 - pop bc - pop de - ld a, MOBILEAPI_15 - jp Function119e2b - -Function118b24: - ld hl, wc346 - ld a, LOW(wc708) - ld [hli], a - ld a, HIGH(wc708) - ld [hli], a - ld a, LOW(wcc60) - ld [hli], a - ld a, HIGH(wcc60) - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $80 - ld [wcd89], a - ld hl, wc346 - ret - -Function118b42: - ld hl, wd002 - ld a, l - ld [wcd51], a - ld a, h - ld [wcd52], a - call Function118b8c - ld a, l - ld [wcd55], a - ld [wcd59], a - ld a, h - ld [wcd56], a - ld [wcd5a], a - call Function118b8c - ld a, l - ld [wcd53], a - ld [wcd5d], a - ld a, h - ld [wcd54], a - ld [wcd5e], a - call Function118b8c - ld a, l - ld [wcd57], a - ld [wcd5b], a - ld a, h - ld [wcd58], a - ld [wcd5c], a - call Function118b8c - ld a, l - ld [wcd5f], a - ld a, h - ld [wcd60], a - ret - -Function118b8c: -.asm_118b8c - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118b8c - dec hl - xor a - ld [hli], a - ld [hli], a - ret - -Function118b9a: - ld a, h - cp $e0 - ret c - ld a, $d3 - call SetMobileErrorCode - and a - ret - -pushc -setcharmap ascii - -ExchangeDownloadURL: - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0 - -BattleDownloadURL: - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/battle/index.txt", 0 - -NewsDownloadURL: - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/news/index.txt", 0 - -StadiumDownloadURL: - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/POKESTA/menu.cgb", 0 - -OddEggDownloadURL: - db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0 - -popc - -Function118d35: ; unreferenced - ld hl, $d200 - ld a, [wcd38] - and a - jr nz, .asm_118d6e - ld a, [hli] - cp $94 - jr nz, .asm_118d7b - ld a, [hl] - cp $5 - jr nz, .asm_118d7b - ld a, [wcd4f] - sla a - ld b, a - sla a - sla a - add b - ld b, a - ld a, BANK(s5_b2fb) - call OpenSRAM - ld a, b - ld [s5_b2fb], a - call CloseSRAM - farcall Function170be4 - farcall Function1700c4 - jr .asm_118d78 - -.asm_118d6e - ld a, [hli] - cp $96 - jr nz, .asm_118d7b - ld a, [hl] - cp $0 - jr nz, .asm_118d7b - -.asm_118d78 - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_118d7b - ld a, $d3 - jp SetMobileErrorCode - -Function118d80: - call Function118e06 - ld a, [wcd38] - and a - jr z, .asm_118d8e - call BattleTowerRoomMenu_IncrementJumptable - jr asm_118d9f - -.asm_118d8e - ld a, $9 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $12 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function118d9b: - call BattleTowerRoomMenu2 - ret c - -asm_118d9f: - ld hl, wc608 - call Function119940 - ld a, [wcd38] - and a - jr nz, .asm_118db2 - ld a, TRADE_CORNER_REQUEST_LENGTH - ld [wcd3b], a - jr .asm_118db7 - -.asm_118db2 - ld a, $26 - ld [wcd3b], a - -.asm_118db7 - ld hl, w3_d800 - ld a, LOW(wc608) - ld [hli], a - ld a, HIGH(wc608) - ld [hli], a - ld a, [wcd3b] - ld [hli], a - xor a - ld [hli], a - ld a, LOW(wc708) - ld [hli], a - ld a, HIGH(wc708) - ld [hli], a - ld a, [wcd39] - ld [hli], a - ld a, [wcd3a] - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, w3_d800 - ld de, w3_de00 - ld bc, $200 - ld a, MOBILEAPI_16 - jp Function119e2b - -Function118ded: - ld a, [wcd38] - and a - jr z, .asm_118e03 - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - farcall Function11b93b - pop af - ldh [rSVBK], a - -.asm_118e03 - jp BattleTowerRoomMenu_IncrementJumptable - -Function118e06: - ld hl, wd002 - ld a, [wcd38] - and a - jr z, .asm_118e1d -.asm_118e0f - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118e0f - ld a, [hli] - cp $a - jr nz, .asm_118e0f - -.asm_118e1d - ld a, l - ld [wcd39], a - ld a, h - ld [wcd3a], a -.asm_118e25 - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_118e25 - ld a, [hli] - cp $a - jr nz, .asm_118e25 - dec hl - xor a - ld [hld], a - ld [hl], a - jr asm_118e3e - -Function118e39: - ld a, [hli] - and a - jr nz, Function118e39 - dec hl - -asm_118e3e: - ld a, [hld] - cp $2f - jr nz, asm_118e3e - inc hl - inc hl - ld de, wcd85 - ld c, $4 -.asm_118e4a - ld a, [hli] - cp $2e - jr z, .asm_118e63 - cp $30 - jr c, .asm_118e67 - cp $3a - jr nc, .asm_118e67 - sub $30 - add $f6 - ld [de], a - inc de - dec c - jr nz, .asm_118e4a - ld de, wcd85 -.asm_118e63 - ld a, $50 - ld [de], a - ret -.asm_118e67 - ld a, $f3 - ld [de], a - inc de - jr .asm_118e63 - -Function118e6d: - xor a - ld [wcd65], a - ld a, MOBILEAPI_05 - jp Function119e2b - -Function118e76: - ; Call $c in BattleTowerRoomMenu2 - ld a, $c - ld [wBattleTowerRoomMenu2JumptableIndex], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function118e7e: - call BattleTowerRoomMenu2 - ret c - ld a, MOBILEAPI_1B - jp Function119e2b - -BattleTowerRoomMenu_CallRoomMenu2: - call BattleTowerRoomMenu2 - ret c - ld a, [wcd33] - ld [wBattleTowerRoomMenuJumptableIndex], a - ret - -Function118e92: - call Function118440 - call Function1191d3 - ld a, [wcd53] - ld l, a - ld a, [wcd54] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld de, w3_d800 - ld bc, $0800 - jp Function118b10 - -Function118eb0: - call Function118440 - ld hl, w3_d802 - ld de, wBGMapBuffer - ld bc, $000c - call CopyBytes - call Function1192cc - ret c - jp BattleTowerRoomMenu_IncrementJumptable - -Function118ec6: - call Function118440 - call SpeechTextbox - ld hl, w3_d80e - ld de, wc320 - ld bc, $0026 - call CopyBytes - xor a - ld [wc31f], a - ld a, LOW(wc320) - ld [wc31b], a - ld a, HIGH(wc320) - ld [wc31c], a - hlcoord 1, 14 - ld a, l - ld [wc31d], a - ld a, h - ld [wc31e], a - ld a, $2 - ld [wc31a], a - ld a, $1d - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $24 - ld [wMobileInactivityTimerSeconds], a - ld a, $11 - ld [wMobileInactivityTimerFrames], a - ld a, $1c - ld [wcd47], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function118f0d: - call BattleTowerRoomMenu2 - ret c - call Function118440 - -Function118f14: - call Function118440 - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .DontSendSaveFile - ld hl, Text_SaveFileWillBeSent - call BattleTowerRoomMenu_SetMessage - -.DontSendSaveFile: - ld a, [wcd57] - ld l, a - ld a, [wcd58] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $24 - ld [wMobileInactivityTimerSeconds], a - ld a, $13 - ld [wMobileInactivityTimerFrames], a - ld a, $1c - ld [wcd47], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function118f5e: - call BattleTowerRoomMenu2 - ret c - call Function118440 - call DelayFrame - -Function118f68: - call Function119223 - ret c - call Function118440 - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118fba - ld hl, wc346 - ld a, LOW(wc608) - ld [hli], a - ld a, HIGH(wc608) - ld [hli], a - ld a, [wcd4b] - ld [hli], a - ld a, [wcd4c] - ld [hli], a - ld a, LOW(wc708) - ld [hli], a - ld a, HIGH(wc708) - ld [hli], a - ld a, LOW(wcc60) - ld [hli], a - ld a, HIGH(wcc60) - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, wc346 - ld de, w3_de00 - ld bc, $200 - ld a, MOBILEAPI_16 - jp Function119e2b - -.asm_118fba - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable - -Function118fc0: - call Function118440 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118ffa - ld a, [wcd51] - ld l, a - ld a, [wcd52] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld a, [wcc60] - and a - jr z, .asm_118ff2 - ld hl, Text_SentSaveFileReadingNews - jr .asm_118ff5 - -.asm_118ff2 - ld hl, Text_ReadingNews - -.asm_118ff5 - call BattleTowerRoomMenu_SetMessage - jr Function119009 - -.asm_118ffa - ld hl, Text_ReadingNews - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable - -Function119009: - call Function118440 - call Function119300 - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld hl, wc346 - ld a, LOW(wc608) - ld [hli], a - ld a, HIGH(wc608) - ld [hli], a - ld a, [wcd4b] - ld [hli], a - ld a, [wcd4c] - ld [hli], a - ld a, LOW(wc708) - ld [hli], a - ld a, HIGH(wc708) - ld [hli], a - ld a, LOW(wcc60) - ld [hli], a - ld a, HIGH(wcc60) - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, wc346 - ld de, w3_d000 - ld bc, $1000 - ld a, MOBILEAPI_16 - jp Function119e2b - -Function119054: - ld a, $6 - call OpenSRAM - ld hl, wd002 - ld a, [wcd4f] - ld e, a - ld a, [wcd50] - ld d, a - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_11908a - ld a, $6 - ldh [rSVBK], a - ld hl, wd002 - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - call Function119192 - ret c - -.asm_11908a - call CloseSRAM - ld a, $3 ; ??? - ldh [rSVBK], a - ld a, BANK(s5_b1b3) ; aka BANK(s5_b1b4) and BANK(s5_aa7f) and BANK(s5_b2f3) and BANK(s5_b2f4) - call OpenSRAM - ld a, [wcd4f] - ld [s5_b1b3], a - ld a, [wcd50] - ld [s5_b1b4], a - ld hl, wcd20 - ld de, s5_aa7f - ld bc, 12 - call CopyBytes - ldh a, [rSVBK] - push af - ld a, BANK(wd474) ; aka BANK(wd475) - ldh [rSVBK], a - ld a, [wd474] - ld [s5_b2f3], a - ld hl, wd475 - ld de, s5_b2f4 - ld bc, 4 - call CopyBytes - pop af - ldh [rSVBK], a - call CloseSRAM - jp BattleTowerRoomMenu_IncrementJumptable - -Function1190d0: - ld a, BANK(w3_d000) - ldh [rSVBK], a - ld a, [wcd57] - ld l, a - ld a, [wcd58] - ld h, a - ld de, wcc60 - call Function1191ad - ret c - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 - -Function1190ec: - ld a, BANK(s5_aa73) - call OpenSRAM - ld hl, wBGMapBuffer - ld de, s5_aa73 - ld bc, 12 - call CopyBytes - call CloseSRAM - ld a, BANK(s5_aa72) - call OpenSRAM - ld a, $1 - ld [s5_aa72], a - call CloseSRAM - ld a, BANK(s6_a000) - call OpenSRAM - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - ld hl, wd002 - ld de, s6_a000 - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_11913e - ld a, BANK(w6_d000) - ldh [rSVBK], a - ld a, [w6_d000] - ld c, a - ld a, [w6_d000 + 1] - ld b, a - ld hl, w6_d000 + 2 - call Function119192 - ret c - -.asm_11913e - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - call CloseSRAM - ld hl, Text_ReceivedNews - call BattleTowerRoomMenu_SetMessage - jp BattleTowerRoomMenu_IncrementJumptable - -Function11914e: - call BattleTowerRoomMenu2 - ret c - ld a, $1c - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, $a - ld [wMobileErrorCodeBuffer], a - ret - -Function11915d: - ld hl, w3_d802 - ld de, wcd20 - ld bc, 12 - call CopyBytes - ld a, BANK(s5_aa7f) - call OpenSRAM - ld hl, wBGMapBuffer - ld de, s5_aa7f - ld c, 12 -.asm_119176 - ld a, [de] - inc de - cp [hl] - jr nz, .asm_119184 - inc hl - dec c - jr nz, .asm_119176 - call BattleTowerRoomMenu_IncrementJumptable - jr .asm_11918e - -.asm_119184 - ld a, $16 - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, $b - ld [wMobileErrorCodeBuffer], a - -.asm_11918e - call CloseSRAM - ret - -Function119192: - inc b - inc c - jr .asm_11919e - -.asm_119196 - ld a, [hli] - ld [de], a - inc de - ld a, $bf - cp d - jr c, .asm_1191a6 - -.asm_11919e - dec c - jr nz, .asm_119196 - dec b - jr nz, .asm_119196 - and a - ret - -.asm_1191a6 - ld a, $d3 - call SetMobileErrorCode - scf - ret - -Function1191ad: - push bc - ld c, $0 - ld a, $5 - ldh [rSVBK], a -.asm_1191b4 - ld a, [hli] - ld [de], a - inc de - and a - jr z, .asm_1191cc - inc c - ld a, c - cp $a6 - jr c, .asm_1191b4 - ld a, $da - call SetMobileErrorCode - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - pop bc - scf - ret - -.asm_1191cc - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - pop bc - and a - ret - -Function1191d3: - ld hl, w3_d100 + 2 - ld a, l - ld [wcd53], a - ld a, h - ld [wcd54], a - call Function11920f - ld a, l - ld [wcd51], a - ld a, [wcd4a] - ld a, h - ld [wcd52], a - call Function11920f - ld a, l - ld [wcd55], a - ld a, [wcd4a] - ld a, h - ld [wcd56], a - call Function11920f - ld a, [wcd49] - ld a, l - ld [wcd57], a - ld a, [wcd4a] - ld a, h - ld [wcd58], a - call Function11920f - ret - -Function11920f: -.asm_11920f - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_11920f - ld a, [hli] - cp $a - jr nz, .asm_11920f - dec hl - xor a - ld [hld], a - ld [hli], a - inc hl - ret - -Function119223: - xor a - ld [wcd4b], a - ld [wcd4c], a - ld a, BANK(s5_b092) ; aka BANK(s5_b1b1) and BANK(s5_b1b2) and BANK(s5_b1d3) - call OpenSRAM - ld hl, wEmailAddress - ld de, s5_b092 - ld bc, 31 - call CopyBytes - dec de - xor a - ld [de], a - ld hl, w3_d810 -.asm_119241 - ld a, [hli] - cp $50 - jr nz, .asm_119241 - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [s5_b1b1], a - ld c, a - ld a, [hli] - ld [s5_b1b2], a - ld b, a - ld de, s5_b1d3 - call CopyBytes - call CloseSRAM - ld e, l - ld d, h - ld hl, wc608 -.asm_119266 - ld a, [de] - inc de - cp $ff - jr z, .asm_1192c2 - cp $fe - jr z, .asm_1192a5 - call OpenSRAM - ld a, [de] - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - push de - push af - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a - pop af -.asm_119286 - push af - ld a, [bc] - inc bc - ld [hli], a - inc de - pop af - dec a - jr nz, .asm_119286 - call CloseSRAM - ld a, e - ld [wcd4b], a - ld a, d - ld [wcd4c], a - pop de -.asm_11929b - and a - jr z, .asm_119266 - ld a, $d3 - call SetMobileErrorCode - scf - ret - -.asm_1192a5 - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a - ld a, [de] - inc de -.asm_1192af - push af - ld a, [de] - inc de - ld [hli], a - inc bc - pop af - dec a - jr nz, .asm_1192af - ld a, c - ld [wcd4b], a - ld a, b - ld [wcd4c], a - jr .asm_11929b - -.asm_1192c2 - ld a, e - ld [wcd4d], a - ld a, d - ld [wcd4e], a - and a - ret - -Function1192cc: - ld a, BANK(s5_aa73) - call OpenSRAM - ld hl, s5_aa73 - ld de, wc608 - ld bc, 12 - call CopyBytes - call CloseSRAM - ld hl, wc608 - ld de, wcd20 - ld c, $c -.asm_1192e8 - ld a, [de] - inc de - ld b, a - ld a, [hli] - cp b - jr nz, .asm_1192fe - dec c - jr nz, .asm_1192e8 - ld a, $1f - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $27 - ld [wBattleTowerRoomMenuJumptableIndex], a - scf - ret - -.asm_1192fe - and a - ret - -Function119300: - xor a - ld [wcd4b], a - ld [wcd4c], a - ld a, [wcd4d] - ld e, a - ld a, [wcd4e] - ld d, a - ld hl, wc608 - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a -.asm_11931a - ld a, [de] - inc de - cp $50 - jr z, .asm_119324 - ld [hli], a - inc bc - jr .asm_11931a - -.asm_119324 - ld a, $3d - ld [hli], a - inc bc - ld a, c - ld [wcd4b], a - ld a, b - ld [wcd4c], a - ld a, [de] - inc de - call OpenSRAM - ld a, [de] - inc de - ld c, a - ld a, [de] - inc de - ld b, a - ld a, [de] - inc de - push de - push af - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a - pop af -.asm_119348 - push af - ld a, [bc] - and $f0 - swap a - call Function1197bf - ld [hli], a - inc de - ld a, [bc] - inc bc - and $f - call Function1197bf - ld [hli], a - inc de - pop af - dec a - jr nz, .asm_119348 - call CloseSRAM - ld a, e - ld [wcd4b], a - ld a, d - ld [wcd4c], a - pop de - ld a, [de] - cp $50 - jr z, .asm_11937f - ld a, [wcd4b] - ld c, a - ld a, [wcd4c] - ld b, a - ld a, $26 - ld [hli], a - inc bc - jr .asm_11931a - -.asm_11937f - ret - -Function119380: - ld a, $80 - ld [wcd49], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function119388: - ld hl, wcd49 - dec [hl] - ret nz - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $10 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function1193a0: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - ld hl, wc346 - ld a, LOW(w3_d000) - ld [hli], a - ld a, HIGH(w3_d000) - ld [hli], a - ld a, [wcd3b] - ld [hli], a - xor a - ld [hli], a - ld a, LOW(wc708) - ld [hli], a - ld a, HIGH(wc708) - ld [hli], a - ld a, LOW(wcc60) - ld [hli], a - ld a, HIGH(wcc60) - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, wc346 - ld de, w3_de00 - ld bc, $200 - ld a, MOBILEAPI_16 - jp Function119e2b - -Function1193e3: - ld hl, wcd49 - dec [hl] - ret nz - ld hl, wcc60 - call Function118e39 - ld a, $9 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $11 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function1193fb: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - ld de, w3_d000 - ld bc, $1000 - jp Function118b10 - -Function119413: - ld a, $6 ; ??? - call OpenSRAM - ld a, [w3_d000] - ld c, a - ld a, [w3_d000 + 1] - ld b, a - dec bc - dec bc - ld hl, wd002 - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call Function119192 - ret c - ld a, [wcd89] - and $1 - jr z, .asm_119447 - ld a, BANK(w6_d000) - ldh [rSVBK], a - ld a, [w6_d000] - ld c, a - ld a, [w6_d000 + 1] - ld b, a - ld hl, w6_d000 + 2 - call Function119192 - ret c - -.asm_119447 - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - call CloseSRAM - jp BattleTowerRoomMenu_IncrementJumptable - -Function119451: - ld a, [wcd89] - and $1 - jr z, .asm_11945d - ld a, $d3 - jp SetMobileErrorCode -.asm_11945d - xor a - ld [wcd50], a - call Function119694 - ld a, b - ld [wcd49], a - call Function1196cd - ld a, [wd002] - ld hl, wd003 - -Function119471: - push af - ld a, [hli] - ld [wc608], a - ld a, [hli] - ld [wc608 + 3], a - ld a, [hli] - ld [wc608 + 1], a - ld a, [hli] - ld [wc608 + 2], a - ld a, [hli] - ld [wc608 + 4], a - ld a, [hli] - ld [wc608 + 5], a - push hl - ld a, [wc608] - cp $ff - jr z, .asm_1194a7 - ld a, [wc608 + 2] - cp $ff - jr z, .asm_1194a7 - ld a, [wc608 + 1] - cp $ff - jr nz, .asm_1194a7 - call Function119584 - jr c, .asm_11950c - jr .asm_1194f0 -.asm_1194a7 - ld hl, wc608 - ld de, wc608 + 3 - ld c, $3 -.asm_1194af - ld a, [de] - inc de - cp [hl] - inc hl - jr c, .asm_1194f3 - jr z, .asm_1194b9 - jr nc, .asm_1194bc -.asm_1194b9 - dec c - jr nz, .asm_1194af -.asm_1194bc - ld c, $3 - ld hl, wcd49 - ld de, wc608 -.asm_1194c4 - ld a, [de] - inc de - cp $ff - jr z, .asm_1194d1 - cp [hl] - jr z, .asm_1194d1 - jr c, .asm_1194d5 - jr nc, .asm_1194f0 -.asm_1194d1 - inc hl - dec c - jr nz, .asm_1194c4 -.asm_1194d5 - ld c, $3 - ld hl, wcd49 - ld de, wc608 + 3 -.asm_1194dd - ld a, [de] - inc de - cp $ff - jr z, .asm_1194ea - cp [hl] - jr c, .asm_1194f0 - jr z, .asm_1194ea - jr nc, .asm_11950c -.asm_1194ea - inc hl - dec c - jr nz, .asm_1194dd - jr .asm_11950c -.asm_1194f0 - pop hl - jr .asm_119557 -.asm_1194f3 - ld c, $3 - ld hl, wcd49 - ld de, wc608 -.asm_1194fb - ld a, [de] - inc de - cp $ff - jr z, .asm_119508 - cp [hl] - jr c, .asm_11950c - jr z, .asm_119508 - jr nc, .asm_1194d5 -.asm_119508 - inc hl - dec c - jr nz, .asm_1194fb -.asm_11950c - pop hl - ld a, $1 - ld [wcd50], a - ld a, l - ld [wc608], a - ld a, h - ld [wc608 + 1], a - ld de, wcd69 - ld c, $10 - ld b, $0 -.asm_119521 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_119528 - inc b -.asm_119528 - dec c - jr nz, .asm_119521 - ld a, $10 - cp b - jr z, .asm_119536 -rept 4 - inc hl -endr - jr .asm_11957a -.asm_119536 - ld a, [hli] - cp $50 - jr nz, .asm_119552 - ld a, [hli] - cp $33 - jr nz, .asm_119553 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [wcd83] - cp c - jr nz, .asm_119576 - ld a, [wcd84] - cp b - jr nz, .asm_119576 - jr .asm_11955b -.asm_119552 - inc hl -.asm_119553 - inc hl - inc hl - jr .asm_11955b -.asm_119557 - ld de, $14 - add hl, de -.asm_11955b - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - add hl, de - pop af - dec a - jp nz, Function119471 - ld a, [wcd50] - and a - jr z, .asm_119571 - ld a, $1a - ld [wBattleTowerRoomMenuJumptableIndex], a - ret -.asm_119571 - ld a, $d8 - jp SetMobileErrorCode -.asm_119576 - ld a, $10 - jr .asm_11957c -.asm_11957a - ld a, $f -.asm_11957c - ld [wBattleTowerRoomMenuJumptableIndex], a - pop af - call Function1195c4 - ret - -Function119584: - ld a, [wc608] - ld b, a - ld a, [wc608 + 3] - ld c, a - cp b - jr c, .asm_11959c - ld a, [wcd49] - cp b - jr c, .asm_1195c2 -.asm_119595 - cp c - jr c, .asm_1195a2 - jr z, .asm_1195a2 - jr .asm_1195c2 -.asm_11959c - ld a, [wcd49] - cp b - jr c, .asm_119595 -.asm_1195a2 - ld a, [wc608 + 2] - ld b, a - ld a, [wc608 + 5] - ld c, a - cp b - jr c, .asm_1195ba - ld a, [wcd4b] - cp b - jr c, .asm_1195c2 -.asm_1195b3 - cp c - jr c, .asm_1195c0 - jr z, .asm_1195c0 - jr .asm_1195c2 -.asm_1195ba - ld a, [wcd4b] - cp b - jr c, .asm_1195b3 -.asm_1195c0 - scf - ret -.asm_1195c2 - and a - ret - -Function1195c4: - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld de, $a5 - ld a, b - cp d - jr c, .asm_1195d9 - jr z, .asm_1195d3 - jr nc, .asm_1195f3 -.asm_1195d3 - ld a, c - cp e - jr z, .asm_1195d9 - jr nc, .asm_1195f3 -.asm_1195d9 - ld de, wcc60 - call CopyBytes - xor a - ld [de], a - ld a, [wc608] - ld l, a - ld a, [wc608 + 1] - ld h, a - ld de, wcd69 - ld bc, $10 - call CopyBytes - ret -.asm_1195f3 - ld a, $d8 - jp SetMobileErrorCode - -Function1195f8: - ld a, $11 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $1c - ld [wMobileInactivityTimerSeconds], a - ld a, $f - ld [wMobileInactivityTimerFrames], a - ld a, $14 - ld [wcd47], a - call BattleTowerRoomMenu_IncrementJumptable - jp BattleTowerRoomMenu_IncrementJumptable - -Function119612: - ld a, $14 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $1c - ld [wMobileInactivityTimerSeconds], a - ld a, $10 - ld [wMobileInactivityTimerFrames], a - ld a, $14 - ld [wcd47], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function119629: - call BattleTowerRoomMenu2 - ret c - ld a, LOW(wcc60) - ld l, a - ld a, HIGH(wcc60) - ld h, a - call Function118e39 - ld a, $9 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $1c - ld [wMobileInactivityTimerSeconds], a - ld a, $14 - ld [wcd47], a - call BattleTowerRoomMenu_IncrementJumptable - -Function119648: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - call Function118b24 - ld de, w3_d000 - ld bc, $1000 - ld a, MOBILEAPI_15 - jp Function119e2b - -Function119665: - ld a, $1a - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu_IncrementJumptable - -Function11966d: - call BattleTowerRoomMenu2 - ret c - ld a, [wcd47] - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, $a - ld [wMobileErrorCodeBuffer], a - ret - -Function11967d: - ld a, $18 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu_IncrementJumptable - -Function119685: - call BattleTowerRoomMenu2 - ret c - ld a, $14 - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, $a - ld [wMobileErrorCodeBuffer], a - ret - -Function119694: - ld b, 0 - ld hl, Unknown_1196b8 -.asm_119699 - ld de, wc708 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196af - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196b0 - ld a, [de] - inc de - cp [hl] - inc hl - jr nz, .asm_1196b1 - ret -.asm_1196af - inc hl -.asm_1196b0 - inc hl -.asm_1196b1 - inc b - ld a, b - cp $7 - jr nz, .asm_119699 - ret - -pushc -setcharmap ascii - -Unknown_1196b8: - db "Mon" - db "Tue" - db "Wed" - db "Thu" - db "Fri" - db "Sat" - db "Sun" - -popc - -Function1196cd: - ld de, wc719 - call Function1196de - ld [wcd4a], a - inc de - call Function1196de - ld [wcd4b], a - ret - -Function1196de: - ld a, [de] - inc de - ; b = ([de] - 48) * 2 - ; c = ([de] - 48) * 10 - sub $30 - sla a - ld b, a - sla a - sla a - add b - ld c, a - add hl, bc - ld a, [de] - inc de - sub $30 - add c - ret - -Function1196f2: - ld hl, wd002 -.asm_1196f5 - call Function118b9a - ret nc - ld a, [hli] - cp $d - jr nz, .asm_1196f5 - ld a, [hl] - cp $a - jr nz, .asm_1196f5 - xor a - ld [hld], a - ld [hli], a - ld a, l - ld [wcd5b], a - ld a, h - ld [wcd5c], a - inc hl - ld e, l - ld d, h - ld a, [de] - inc de - cp $d - jr nz, .asm_119722 - ld a, [de] - inc de - cp $a - jr nz, .asm_119722 - ld a, $b - jp SetMobileErrorCode - -.asm_119722 - call Random - ld c, $0 - ld b, c -.asm_119728 - call Function119798 - ld a, d - cp $ff - jr nz, .asm_119735 - ld a, e - cp $ff - jr z, .asm_11974c - -.asm_119735 - ldh a, [hRandomSub] - cp d - jr c, .asm_11974c - jr z, .asm_11973e - jr .asm_119745 - -.asm_11973e - ldh a, [hRandomAdd] - cp e - jr c, .asm_11974c - jr z, .asm_11974c - -.asm_119745 - inc bc - ld a, c - or b - jr z, .asm_119770 - jr .asm_119728 - -.asm_11974c - ld a, [wcd5b] - ld l, a - ld a, [wcd5c] - ld h, a -.asm_119754 - ld a, [hld] - cp $58 - jr nz, .asm_119754 - ld d, $0 -.asm_11975b - inc d - ld a, [hld] - cp $58 - jr z, .asm_11975b - inc hl - inc hl - ld a, d - dec a - jr z, .asm_11978e - dec a - jr z, .asm_119785 - dec a - jr z, .asm_11977e - dec a - jr z, .asm_119775 - -.asm_119770 - ld a, $d3 - jp SetMobileErrorCode - -.asm_119775 - ld a, b - and $f0 - swap a - call Function1197bf - ld [hli], a - -.asm_11977e - ld a, b - and $f - call Function1197bf - ld [hli], a - -.asm_119785 - ld a, c - and $f0 - swap a - call Function1197bf - ld [hli], a - -.asm_11978e - ld a, c - and $f - call Function1197bf - ld [hli], a - jp BattleTowerRoomMenu_IncrementJumptable - -Function119798: - ld d, $0 - ld e, d - call Function1197b4 - swap a - or d - ld d, a - call Function1197b4 - or d - ld d, a - call Function1197b4 - swap a - or e - ld e, a - call Function1197b4 - or e - ld e, a - ret - -Function1197b4: - ld a, [hli] - cp $61 - jr nc, .asm_1197bc - sub $30 - ret - -.asm_1197bc - sub $57 - ret - -Function1197bf: - cp $a - jr nc, .asm_1197c6 - add $30 - ret - -.asm_1197c6 - add $57 - ret - -Function1197c9: - ld hl, wd002 - call Function118e39 - ld a, $9 - ld [wBattleTowerRoomMenu2JumptableIndex], a - ld a, $12 - ld [wMobileInactivityTimerSeconds], a - call BattleTowerRoomMenu_IncrementJumptable - -Function1197dc: - call BattleTowerRoomMenu2 - ret c - call DelayFrame - ld hl, wd002 - ld de, wcc60 - ld bc, $0080 - call CopyBytes - dec de - xor a - ld [de], a - call Function118b24 - ld de, w3_d000 - ld bc, $1000 - ld a, MOBILEAPI_15 - jp Function119e2b - -Function119800: - ld a, $fd - ld [wc6d0], a - ld [wOTTrademonSpecies], a - ld a, [wcd81] - ld [wc74e], a - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wBattleTowerRoomMenuJumptableIndex] - push af - ld a, $1 - ldh [rSVBK], a - call FadeToMenu - farcall Function10803d - call Function11a9ce - call RestartMapMusic - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - pop af - ld [wBattleTowerRoomMenuJumptableIndex], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - farcall Function115dc3 - jp BattleTowerRoomMenu_IncrementJumptable - -Function11984e: - ld a, [wcd80] - and a - jr nz, .asm_1198a0 - ld a, [wcd38] - and a - jr nz, .asm_1198a8 - farcall Function170000 - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wBattleTowerRoomMenuJumptableIndex] - push af - ld a, $1 - ldh [rSVBK], a - call FadeToMenu - farcall MobileTradeAnimation_SendGivemonToGTS - call Function11a9ce - call RestartMapMusic - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - pop af - ld [wBattleTowerRoomMenuJumptableIndex], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - farcall Function115dc3 - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_1198a0 - ld a, $a - ld [wMobileErrorCodeBuffer], a - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_1198a8 - farcall Function17005a - ld a, [wJumptableIndex] - push af - ld a, [wcf64] - push af - ld a, [wcf65] - push af - ld a, [wBattleTowerRoomMenuJumptableIndex] - push af - ld a, $1 - ldh [rSVBK], a - call FadeToMenu - farcall MobileTradeAnimation_RetrieveGivemonFromGTS - call Function11a9ce - call RestartMapMusic - ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a - pop af - ld [wBattleTowerRoomMenuJumptableIndex], a - pop af - ld [wcf65], a - pop af - ld [wcf64], a - pop af - ld [wJumptableIndex], a - farcall Function115dc3 - jp BattleTowerRoomMenu_IncrementJumptable - -Function1198ee: - ld hl, Text_RegisteringRecord - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -Function1198f7: - ld a, [wc31a] - and a - ret nz - ld hl, wc608 + 2 - call Function119940 - ld hl, w3_d800 - ld a, LOW(wc608) - ld [hli], a - ld a, HIGH(wc608) - ld [hli], a - ld a, $f6 - ld [hli], a - xor a - ld [hli], a - ld a, LOW(wc708) - ld [hli], a - ld a, HIGH(wc708) - ld [hli], a - ld a, [wcd51] - ld [hli], a - ld a, [wcd52] - ld [hli], a - call Function119eb4 - call Function119ec2 - ld a, $40 - ld [wcd89], a - ld hl, w3_d800 - ld de, w3_de00 - ld bc, $200 - ld a, MOBILEAPI_16 - jp Function119e2b - -Function119937: - farcall BattleTowerAction_06 - jp BattleTowerRoomMenu_IncrementJumptable - -Function119940: - ld de, wEmailAddress - ld c, MOBILE_EMAIL_LENGTH -.asm_119945 - ld a, [de] - inc de - ld [hli], a - dec c - jr z, .asm_119953 - and a - jr nz, .asm_119945 - xor a -.asm_11994f - ld [hli], a - dec c - jr nz, .asm_11994f - -.asm_119953 - ret - -Function119954: - ld a, $1c - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - ld hl, wc608 - ld de, wEmailAddress -.asm_119962 - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .asm_119962 - call Function119ec2 - ld hl, wc608 - ld a, MOBILEAPI_0F - jp Function119e2b - -Function119973: - ld a, $1 - ld [wcf64], a - xor a - ld [wcf65], a - ld [w3_d090], a - ld de, w3_d000 - ld a, MOBILEAPI_10 - jp Function119e2b - -Function119987: - ld hl, w3_d000 + 1 - ld a, [w3_d000] - or [hl] - jr z, .asm_1199a0 - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - ld de, wBGPals2 - ld a, MOBILEAPI_11 - jp Function119e2b - -.asm_1199a0 - ld a, [w3_d090] - and a - jr z, .asm_1199ae - ld a, $16 - ld [wBattleTowerRoomMenuJumptableIndex], a - jp Function119b0d - -.asm_1199ae - ld a, $1b - ld [wBattleTowerRoomMenuJumptableIndex], a - ret - -Function1199b4: - ld a, [w3_d081 + 1] - and a - jr nz, .asm_1199c7 - ld a, [w3_d081] - cp $7 - jr nc, .asm_1199c7 - call BattleTowerRoomMenu_IncrementJumptable - jp Function1199ca - -.asm_1199c7 - jp Function119ac9 - -Function1199ca: - ld a, $20 - ld [wcd89], a - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - ld de, w3_d100 - ld bc, $0700 - ld a, MOBILEAPI_14 - jp Function119e2b - -Function1199e2: - ld c, $c - ld de, XGameCodePrefix - call Function119e4f - jp c, Function119ac9 - ld a, c - cp $1 - jp nz, Function119ac9 - ld hl, w3_d880 - ld bc, XGameCode -.loop - ld a, [bc] - and a - jr z, .game_result_prefix - cp [hl] - jp nz, Function119ac9 - inc bc - inc hl - jr .loop - -.game_result_prefix - ld c, $17 - ld de, XGameResultPrefix - call Function119e4f - jp c, .asm_119aa7 - ld a, c - cp $1 - jp nz, .asm_119aa7 - ld a, [w3_d880] - cp $31 - jp nz, .asm_119aa7 - ld a, [w3_d881] - cp $20 - jp nz, .asm_119aa7 - ld a, [w3_d88a] - cp $20 - jp nz, .asm_119aa7 - ld a, [w3_d894] - cp $20 - jp nz, .asm_119aa7 - xor a - ld [w3_d8a0], a - ld [w3_d8a1], a - ld [w3_d8a2], a - ld [w3_d8a3], a - ld hl, w3_d8a0 - ld bc, w3_d889 - call Function119e98 - call Function119e98 - ld hl, w3_d8a0 - ld a, [wcd2d] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2c] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2b] - cp [hl] - jr nz, Function119ac9 - inc hl - ld a, [wcd2a] - cp [hl] - jr nz, Function119ac9 - xor a - ld [w3_d8a0], a - ld [w3_d8a1], a - ld [w3_d8a2], a - ld [w3_d8a3], a - ld hl, w3_d8a0 - ld bc, w3_d88e - call Function119e98 - ld bc, w3_d893 - call Function119e98 - ld hl, w3_d8a0 - ld a, [wcd2f] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd2e] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd31] - cp [hl] - jr nz, .asm_119aa7 - inc hl - ld a, [wcd30] - cp [hl] - jr z, .asm_119aaf - -.asm_119aa7 - ld a, $25 - ld [wBattleTowerRoomMenuJumptableIndex], a - jp Function119b45 - -.asm_119aaf - ld a, [w3_d090] - and a - jr nz, .asm_119aa7 - ld a, [w3_d895] - sub $30 - ld [w3_d090], a - ld a, [wcf64] - ld [w3_d090 + 1], a - ld a, [wcf65] - ld [w3_d090 + 2], a - -Function119ac9: - ld a, [w3_d000] - ld l, a - ld a, [w3_d000 + 1] - ld h, a - dec hl - ld a, l - ld [w3_d000], a - ld a, h - ld [w3_d000 + 1], a - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - inc hl - ld a, l - ld [wcf64], a - ld a, h - ld [wcf65], a - ld a, $10 - ld [wBattleTowerRoomMenuJumptableIndex], a - ret - -pushc -setcharmap ascii - -XGameCode: - db "CGB-BXTJ-00", $0 - -XGameResult: ; unreferenced - db "pokemon_crystal", $0 - -popc - -Function119b0d: - ld a, $8 - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu2 - ld a, [w3_d090] - cp $1 - jr z, .asm_119b23 - ld a, $19 - ld [wBattleTowerRoomMenuJumptableIndex], a - jr Function119b3b - -.asm_119b23 - ld a, $10 - ld [wcd89], a - ld a, [w3_d090 + 1] - ld l, a - ld a, [w3_d090 + 2] - ld h, a - ld de, w3_d100 - ld bc, $0700 - ld a, MOBILEAPI_12 - jp Function119e2b - -Function119b3b: - ld a, [w3_d090 + 1] - ld l, a - ld a, [w3_d090 + 2] - ld h, a - jr asm_119b4d - -Function119b45: - ld a, [wcf64] - ld l, a - ld a, [wcf65] - ld h, a - -asm_119b4d: - ld a, MOBILEAPI_13 - jp Function119e2b - -Function119b52: - ld a, [w3_d090] - cp $1 - jr nz, .asm_119b66 - ld a, BANK(s5_a800) - call OpenSRAM - ld a, $4 - ld [s5_a800], a - call CloseSRAM - -.asm_119b66 - ld a, MOBILEAPI_0E - jp Function119e2b - -Function119b6b: - ld a, [w3_d090] - cp $1 - jr z, .asm_119b75 - jp BattleTowerRoomMenu_IncrementJumptable - -.asm_119b75 - ld a, [w3_d100] - ld b, a - ld a, [w3_d100 + 1] - or b - jr z, .asm_119be3 - ld hl, w3_d800 - ld de, w3_d100 + 2 -.asm_119b85 - ld a, [de] - inc de - cp $d - jr nz, .asm_119b85 - inc de - ld a, [de] - cp $d - jr nz, .asm_119b85 - inc de - inc de -.asm_119b93 - ld a, [de] - inc de - cp $d - jr z, .asm_119bfa - call .decodeBase64Character - ret c - ld [hli], a - ld a, [de] - inc de - call .decodeBase64Character - ret c - ld [hli], a - ld a, [de] - inc de - call .decodeBase64Character - ret c - ld [hli], a - ld a, [de] - inc de - call .decodeBase64Character - ret c - ld [hl], a - push de - ld d, [hl] - dec hl - ld c, [hl] - dec hl - ld b, [hl] - dec hl - ld a, [hl] - sla b - sla b - sla b - rla - sla b - rla - ld [hli], a - ld [hl], b - inc hl - rrc c - rrc c - ld [hl], c - dec hl - ld a, $f - and c - or [hl] - ld [hli], a - ld a, [hli] - and $c0 - or [hl] - dec hl - ld [hld], a - dec hl - pop de - inc hl - inc hl - inc hl - ld a, h - cp $e0 - jr c, .asm_119b93 - -.asm_119be3 - ld a, $19 - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, BANK(s5_a800) - call OpenSRAM - ld a, $1 - ld [s5_a800], a - call CloseSRAM - xor a - ld [w3_d090], a - ret - -.asm_119bfa - inc de - ld a, [de] - cp $d - jr nz, .asm_119b93 - ld a, l - cp LOW(w3_d869) - jr nz, .asm_119be3 - ld a, h - cp HIGH(w3_d869) - jr nz, .asm_119be3 - ld a, BANK(s5_b090) ; aka BANK(s5_b091) and BANK(s5_b023) - call OpenSRAM - ld a, [wcf64] - ld [s5_b090], a - ld a, [wcf65] - ld [s5_b091], a - ld hl, w3_d800 - ld de, s5_b023 - ld bc, 105 - call CopyBytes - ld a, $3 - ld [s5_a800], a - call CloseSRAM - ld hl, w3_d800 - ld de, wc608 - ld bc, 105 - call CopyBytes - jp BattleTowerRoomMenu_IncrementJumptable - -pushc -setcharmap ascii - -.decodeBase64Character - cp "+" - jr c, .asm_119c68 - jr z, .asm_119c80 - cp "/" - jr c, .asm_119c68 - jr z, .asm_119c84 - cp "0" - jr c, .asm_119c68 - cp "9" + 1 - jr c, .asm_119c88 - cp "=" - jr c, .asm_119c68 - jr z, .asm_119c8c - cp "A" - jr c, .asm_119c68 - cp "Z" + 1 - jr c, .asm_119c8f - cp "a" - jr c, .asm_119c68 - cp "z" + 1 - jr c, .asm_119c93 - -popc - -.asm_119c68 - ld a, $19 - ld [wBattleTowerRoomMenuJumptableIndex], a - ld a, BANK(s5_a800) - call OpenSRAM - ld a, $1 - ld [s5_a800], a - call CloseSRAM - xor a - ld [w3_d090], a - scf - ret - -.asm_119c80 - ld a, $3e - and a - ret - -.asm_119c84 - ld a, $3f - and a - ret - -.asm_119c88 - add $4 - and a - ret - -.asm_119c8c - xor a - and a - ret - -.asm_119c8f - sub $41 - and a - ret - -.asm_119c93 - sub $47 - and a - ret - -BattleTowerRoomMenu_UberRestrictionMessage: - ld hl, Text_UberRestriction - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - jr BattleTowerRoomMenu_WaitForMessage - -BattleTowerRoomMenu_PartyMonTopsThisLevelMessage: - ld hl, Text_PartyMonTopsThisLevel - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_WaitForMessage: - ld a, [wc31a] - and a - ret nz - ld a, $80 - ld [wcd50], a - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_DelayRestartMenu: - ; Loops while (--[wcd50] != 0), - ; to create some sort of "delay" after the message is written on the screen, - ; before starting the menu again. - ld hl, wcd50 - dec [hl] - ret nz - ld a, $0 - ld [wBattleTowerRoomMenuJumptableIndex], a - ret - -BattleTowerRoomMenu_QuitMessage: - ld a, [wcd38] - and a - jr z, .asm_119cd1 - dec a - jr z, .asm_119cd6 - ld hl, Text_QuitReadingNews - jr .asm_119cd9 - -.asm_119cd1 - ld hl, Text_CancelBattleRoomChallenge - jr .asm_119cd9 - -.asm_119cd6 - ld hl, Text_ExitGymLeaderHonorRoll - -.asm_119cd9 - call BattleTowerRoomMenu_SetMessage - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_PlaceYesNoMenu: - ld a, [wc31a] - and a - ret nz - ld a, $f - ld [wBattleTowerRoomMenu2JumptableIndex], a - call BattleTowerRoomMenu_IncrementJumptable - -BattleTowerRoomMenu_UpdateYesNoMenu: - ; Only ever called when [wBattleTowerRoomMenu2JumptableIndex] is $10 - call BattleTowerRoomMenu2 - ret c - ld a, [wMobileInactivityTimerFrames] - ld [wBattleTowerRoomMenuJumptableIndex], a - ret - -MenuHeader_119cf7: - db MENU_BACKUP_TILES ; flags - menu_coords 12, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw NULL - db 0 ; default option - -MenuData_119cff: ; unreferenced - db MENU_BACKUP_TILES ; flags - menu_coords 15, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw NULL - db 0 ; default option - -String_119d07: - db " ▼@" - -Strings_L10ToL100: - db " L:10 @@" - db " L:20 @@" - db " L:30 @@" - db " L:40 @@" - db " L:50 @@" - db " L:60 @@" - db " L:70 @@" - db " L:80 @@" - db " L:90 @@" - db " L:100@@" - db "CANCEL@@" - -Strings_Ll0ToL40: - db " L:10 @@" - db " L:20 @@" - db " L:30 @@" - db " L:40 @@" - db "CANCEL@@" - -BattleTowerCancelString: ; unreferenced - db "CANCEL@" - -BattleTower_LevelCheck: - ldh a, [rSVBK] - push af - ld a, BANK(wPartyMons) - ldh [rSVBK], a - ld a, [wcd4f] - ld c, 10 - call SimpleMultiply - ld hl, wcd50 - ld [hl], a - ld bc, PARTYMON_STRUCT_LENGTH - ld de, wPartyMon1Level - ld a, [wPartyCount] -.party_loop - push af - ld a, [de] - push hl - push de - pop hl - add hl, bc - push hl - pop de - pop hl - cp [hl] - jr z, .equal - jr nc, .exceeds -.equal - pop af - dec a - jr nz, .party_loop - pop af - ldh [rSVBK], a - and a - ret - -.exceeds - pop af - ld a, $4 - ld [wBattleTowerRoomMenuJumptableIndex], a - pop af - ldh [rSVBK], a - scf - ret - -BattleTower_UbersCheck: - ldh a, [rSVBK] - push af - ld a, [wcd4f] - cp 70 / 10 - jr nc, .level_70_or_more - ld a, BANK(wPartyMons) - ldh [rSVBK], a - ld hl, wPartyMon1Level - ld bc, PARTYMON_STRUCT_LENGTH - ld de, wPartySpecies - ld a, [wPartyCount] -.loop - push af - ld a, [de] - cp MEWTWO - jr z, .uber - cp MEW - jr z, .uber - cp LUGIA - jr c, .next - cp NUM_POKEMON + 1 - jr nc, .next -.uber - ld a, [hl] - cp 70 - jr c, .uber_under_70 -.next - add hl, bc - inc de - pop af - dec a - jr nz, .loop -.level_70_or_more - pop af - ldh [rSVBK], a - and a - ret - -.uber_under_70 - pop af - ld a, [de] - ld [wNamedObjectIndex], a - call GetPokemonName - ld hl, wStringBuffer1 - ld de, wcd49 - ld bc, MON_NAME_LENGTH - call CopyBytes - ld a, $a - ld [wBattleTowerRoomMenuJumptableIndex], a - pop af - ldh [rSVBK], a - scf - ret - -Function119e2b: - call MobileAPI - -BattleTowerRoomMenu_IncrementJumptable: - ld hl, wBattleTowerRoomMenuJumptableIndex - inc [hl] - ret - -pushc -setcharmap ascii - -XGameCodePrefix: - db "X-Game-code:\n" - -XGameResultPrefix: - db "X-Game-result:\n" - -popc - -Function119e4f: - push bc - ld hl, w3_d100 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.loop - ld a, [de] - cp [hl] - jr z, .found_equality -.next - inc hl - dec bc - ld a, b - or c - jr nz, .loop -.return_carry - pop bc - scf - ret - -.found_equality - push de -.loop2 - ld a, [de] - inc de -pushc -setcharmap ascii - cp "\n" -popc - jr z, .newline - cp [hl] - jr nz, .unequal - inc hl - dec bc - ld a, b - or c - jr nz, .loop2 - pop de - jr .return_carry - -.unequal - pop de - jr .next - -.newline - pop de - pop bc - inc hl - ld de, w3_d880 -.loop3 - ld a, [hli] - ld [de], a - inc de -pushc -setcharmap ascii - cp "\r" -popc - jr z, .finish - dec c - jr nz, .loop3 - scf - ret - -.finish - and a - ret - -Function119e8e: - cp $60 - jr c, .less_than_0x60 - sub $57 - ret - -.less_than_0x60 - sub $30 - ret - -Function119e98: - ld a, $2 -.loop - push af - ld a, [bc] - dec bc - call Function119e8e - or [hl] - ld [hl], a - ld a, [bc] - dec bc - call Function119e8e - rlca - rlca - rlca - rlca - or [hl] - ld [hl], a - inc hl - pop af - dec a - and a - jr nz, .loop - ret - -Function119eb4: - xor a - ld [wc3cc], a - ld de, wc3ac -.loop - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .loop - ret - -Function119ec2: - ld a, BANK(sMobileLoginPassword) - call OpenSRAM - xor a - ld [sMobileLoginPassword + MOBILE_LOGIN_PASSWORD_LENGTH], a - ld de, sMobileLoginPassword + 1 -.loop - ld a, [de] - inc de - ld [hli], a - and a - jr nz, .loop - call CloseSRAM - ret - -BattleTowerRoomMenu2: - ldh a, [rSVBK] - ld [wcd8c], a - ld a, $1 - ldh [rSVBK], a - - call .RunJumptable - - ld a, [wcd8c] - ldh [rSVBK], a - ld a, $1 - ldh [hBGMapMode], a - ret - -.RunJumptable: - jumptable .Jumptable, wBattleTowerRoomMenu2JumptableIndex - -.Jumptable: - dw Function119f3f - dw Function119f45 - dw Function119f56 - dw Function119f76 - dw Function119f98 - dw Function11a113 - dw Function11a129 - dw Function11a131 - dw Function11a13d - dw Function11a14b - dw Function11a16d - dw Function11a192 - dw Function11a2e6 - dw Function11a302 - dw Function11a33a - dw BattleTowerRoomMenu2_PlaceYesNoMenu - dw BattleTowerRoomMenu2_UpdateYesNoMenu - dw Function11a357 - dw Function11a36b - dw Function11a38d - dw Function11a3c5 - dw Function11a3d9 - dw Function11a3f9 - dw Function11a41b - dw Function11a452 - dw Function11a47a - dw Function11a488 - dw Function11a49e - dw Function11a4db - dw Function11a4e8 - dw Function11a4fe - dw Function11a466 - dw Function11a47a - -Function119f3f: - call Function11a5b9 - jp BattleTowerRoomMenu2_IncrementJumptable - -Function119f45: - hlcoord 4, 2 - ld de, String_11a661 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function119f56: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_119f62 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_119f62 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6aa - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function119f76: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_119f82 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_119f82 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a679 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function119f98: - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_119fef - call ExitMenu - call Function11a63c - xor a - ld [wScriptVar], a - call Function11a00e - ld a, [wScriptVar] - and a - jr z, .asm_119fd4 - call ExitMenu - farcall ReloadMapPart - farcall Function115dc3 - ld a, [wcd33] - ld [wcf66], a - ld a, $a - ld [wMobileErrorCodeBuffer], a - scf - ret - -.asm_119fd4 - hlcoord 4, 2 - ld de, String_11a692 - call PlaceString - ld a, $1 - ld [wc30d], a - ld a, $1 - ld [wc314], a - farcall ReloadMapPart - and a - ret - -.asm_119fef - call ExitMenu - call ExitMenu - farcall ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - farcall Function115dc3 - ld a, $a - ld [wMobileErrorCodeBuffer], a - scf - ret - -Function11a00e: - ld a, BANK(sMobileLoginPassword) - call OpenSRAM - ld a, [sMobileLoginPassword] - and a - jr z, .asm_11a02a - ld a, [sMobileLoginPassword + 1] - call CloseSRAM - and a - ret nz - ld a, BANK(sMobileLoginPassword) - call OpenSRAM - xor a - ld [sMobileLoginPassword], a - -.asm_11a02a - call CloseSRAM - ld a, [wBGMapPalBuffer] - and a - jr z, .asm_11a039 - dec a - jr z, .asm_11a081 - jp Function11a0ca - -.asm_11a039 - ld a, BANK(w3_d800) - ldh [rSVBK], a - ld hl, wc608 - ld de, w3_d800 - ld bc, 246 - call CopyBytes - ld a, $1 - ldh [rSVBK], a - call FadeToMenu - farcall Function11765d - call Function11a9ce - ld a, BANK(w3_d800) - ldh [rSVBK], a - ld hl, w3_d800 - ld de, wc608 - ld bc, 246 - call CopyBytes - ld a, $1 - ldh [rSVBK], a - farcall Function115d99 - ld c, $0 - farcall Function115e18 - ld a, $1 - ld [wc305], a - ret - -.asm_11a081 - xor a - ld [wMenuBorderLeftCoord], a - ld [wMenuBorderTopCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $5 - ld [wMenuBorderBottomCoord], a - call PushWindow - farcall Function11765d - farcall Function117ab4 - farcall Stubbed_Function106462 - farcall Function106464 - call ExitMenu - farcall ReloadMapPart - farcall Function115d99 - ld c, $0 - farcall Function115e18 - ld a, $1 - ld [wc305], a - ret - -Function11a0ca: - xor a - ld [wMenuBorderLeftCoord], a - ld [wMenuBorderTopCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $11 - ld [wMenuBorderBottomCoord], a - call PushWindow - farcall Function11765d - farcall Function17d3f6 - farcall Stubbed_Function106462 - farcall Function106464 - call ExitMenu - farcall ReloadMapPart - farcall Function115d99 - ld c, $0 - farcall Function115e18 - ld a, $1 - ld [wc305], a - ret - -Function11a113: - call Function11a63c - ld c, $1 - farcall Function115e18 - hlcoord 4, 2 - ld de, String_11a6c8 - call PlaceString - and a - ret - -Function11a129: - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a131: - ld hl, wMobileInactivityTimerMinutes - dec [hl] - ret nz - ld a, [wBattleTowerRoomMenu2JumptableIndex] - inc a - ld [wBattleTowerRoomMenu2JumptableIndex], a - -Function11a13d: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -Function11a14b: - ld hl, wcd85 - ld a, [hl] - cp $f3 - jr nz, .asm_11a155 - and a - ret - -.asm_11a155 - call Function11a1d6 - ret c - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6f1 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a16d: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a179 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a179 - call Function11a63c - call Function11a1e6 - hlcoord 4, 2 - ld de, wc346 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a192: - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a1b6 - call ExitMenu - farcall ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a1b6 - call ExitMenu - farcall ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - ld [wcd80], a - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - scf - ret - -Function11a1d6: - ld a, [wcd85] - cp $50 - jr nz, .asm_11a1e4 - ld a, $d3 - call SetMobileErrorCode - scf - ret - -.asm_11a1e4 - and a - ret - -Function11a1e6: - ld hl, String_11a706 - ld de, wc346 - call Function11a1ff - ld hl, wcd85 - call Function11a1ff - ld hl, String_11a70b - call Function11a1ff - ld a, $50 - ld [de], a - ret - -Function11a1ff: -.asm_11a1ff - ld a, [hli] - cp $50 - ret z - ld [de], a - inc de - jr .asm_11a1ff - -BattleTowerRoomMenu2_PlaceYesNoMenu: - ld hl, MenuHeader_11a2de - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - call ApplyTilemap - hlcoord 16, 8 - ld de, String_11a2cf - call PlaceString - hlcoord 16, 10 - ld de, String_11a2d3 - call PlaceString - hlcoord 15, 8 - ld a, $ed - ld [hl], a - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -BattleTowerRoomMenu2_UpdateYesNoMenu: - ld hl, hJoyPressed - ld a, [hl] - and A_BUTTON - jr nz, .a_button - ld a, [hl] - and B_BUTTON - jr nz, .b_button - ld a, [hl] - and D_UP - jr nz, .d_up - ld a, [hl] - and D_DOWN - jr nz, .d_down -.asm_11a24c - call Function11a9f0 - scf - ret - -.d_up - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a24c - xor a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 8 - ld a, $ed - ld [hl], a - hlcoord 15, 10 - ld a, $7f - ld [hl], a - jr .asm_11a24c - -.d_down - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a24c - inc a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 8 - ld a, $7f - ld [hl], a - hlcoord 15, 10 - ld a, $ed - ld [hl], a - jr .asm_11a24c - -.a_button - xor a - ld [wcd8a], a - ld [wcd8b], a - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .exit_no_carry - call ExitMenu - farcall ReloadMapPart - ld a, [wMobileInactivityTimerFrames] - cp $0 - jr z, .asm_11a2b4 - ld a, [wcd47] - jr .exit_carry - -.asm_11a2b4 - ld a, [wcd33] - -.exit_carry - ld [wcf66], a - ld a, $a - ld [wMobileErrorCodeBuffer], a - scf - ret - -.b_button - call PlayClickSFX - -.exit_no_carry - call ExitMenu - farcall ReloadMapPart - and a - ret - -String_11a2cf: - db "YES@" - -String_11a2d3: - db "NO@" - -MenuHeader_11a2d6: ; unreferenced - db MENU_BACKUP_TILES ; flags - menu_coords 14, 6, SCREEN_WIDTH - 1, 10 - dw NULL - db 0 ; default option - -MenuHeader_11a2de: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw NULL - db 0 ; default option - -Function11a2e6: - call Function11a63c - ld c, $2 - farcall Function115e18 - hlcoord 4, 2 - ld de, String_11a71e - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a302: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a30e - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a30e - call Function11a63c - hlcoord 4, 2 - ld de, String_11a72a - call PlaceString - hlcoord 9, 4 - ld de, wcd68 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - hlcoord 14, 4 - ld de, wcd67 - lb bc, PRINTNUM_LEADINGZEROS | 1, 2 - call PrintNum - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a33a: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a346 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a346 - call ExitMenu - farcall ReloadMapPart - farcall Function115dc3 - and a - ret - -Function11a357: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a743 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a36b: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a377 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a377 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a755 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a38d: - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a3b1 - call ExitMenu - farcall ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a3b1 - call ExitMenu - farcall ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - ld [wcd80], a - scf - ret - -Function11a3c5: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a762 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a3d9: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a3e5 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a3e5 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a779 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a3f9: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a405 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a405 - call Function11a63c - hlcoord 4, 2 - ld de, String_11a755 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a41b: - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a43f - call ExitMenu - farcall ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a43f - call ExitMenu - farcall ReloadMapPart - ld a, $1c - ld [wcf66], a - ld [wcd80], a - scf - ret - -Function11a452: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a791 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a466: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7c1 - call PlaceString - ld a, $80 - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a47a: - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a486 - dec a - ld [wMobileInactivityTimerMinutes], a - scf - ret - -.asm_11a486 - and a - ret - -Function11a488: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7ac - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a49e: - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a4c7 - call ExitMenu - farcall ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - ld a, $14 - ld [wcf66], a - and a - ret - -.asm_11a4c7 - call ExitMenu - farcall ReloadMapPart - ld a, [wMobileInactivityTimerFrames] - ld [wcf66], a - ld [wcd80], a - scf - ret - -Function11a4db: - call Function11a63c - ld de, String_11a6db - hlcoord 4, 2 - call PlaceString - ret - -Function11a4e8: - call Function11a63c - hlcoord 4, 2 - ld de, String_11a7d7 - call PlaceString - call Function11a5f5 - xor a - ld [wMobileInactivityTimerMinutes], a - jp BattleTowerRoomMenu2_IncrementJumptable - -Function11a4fe: - call Function11a536 - ret c - call PlayClickSFX - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a522 - call ExitMenu - farcall ReloadMapPart - call Function11a63c - hlcoord 4, 2 - ld de, String_11a6d2 - call PlaceString - and a - ret - -.asm_11a522 - call ExitMenu - farcall ReloadMapPart - ld a, [wMobileInactivityTimerSeconds] - ld [wcf66], a - ld [wcd80], a - scf - ret - -Function11a536: - ld hl, hJoyPressed - ld a, [hl] - and A_BUTTON - jr nz, .asm_11a5a7 - ld a, [hl] - and B_BUTTON - jr nz, .asm_11a5a2 - ld a, [hl] - and D_UP - jr nz, .asm_11a564 - ld a, [hl] - and D_DOWN - jr nz, .asm_11a583 -.asm_11a54d - ld a, [wBattleTowerRoomMenu2JumptableIndex] - cp $4 - jr z, .asm_11a562 - call Function11a9f0 - jr nz, .asm_11a562 - call ExitMenu - farcall ReloadMapPart - -.asm_11a562 - scf - ret - -.asm_11a564 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr z, .asm_11a54d - xor a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 7 - ld a, $ed - ld [hl], a - hlcoord 15, 9 - ld a, $7f - ld [hl], a - jr .asm_11a54d - -.asm_11a583 - xor a - ld [wcd8a], a - ld [wcd8b], a - ld a, [wMobileInactivityTimerMinutes] - and a - jr nz, .asm_11a54d - inc a - ld [wMobileInactivityTimerMinutes], a - hlcoord 15, 7 - ld a, $7f - ld [hl], a - hlcoord 15, 9 - ld a, $ed - ld [hl], a - jr .asm_11a54d - -.asm_11a5a2 - ld a, $1 - ld [wMobileInactivityTimerMinutes], a - -.asm_11a5a7 - xor a - ld [wcd8a], a - ld [wcd8b], a - and a - ret - -BattleTowerRoomMenu2_IncrementJumptable: - ld a, [wBattleTowerRoomMenu2JumptableIndex] - inc a - ld [wBattleTowerRoomMenu2JumptableIndex], a - scf - ret - -Function11a5b9: - xor a - ld [wMenuBorderLeftCoord], a - ld [wMenuBorderTopCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $5 - ld [wMenuBorderBottomCoord], a - call PushWindow - hlcoord 0, 0, wAttrmap - ld b, $6 - ld c, $14 - hlcoord 0, 0 - ld b, $4 - ld c, $12 - call Function3eea - farcall ReloadMapPart - call UpdateSprites - ld c, $0 - farcall Function115e18 - ld a, $1 - ld [wc305], a - ret - -Function11a5f5: - ld a, $e - ld [wMenuBorderLeftCoord], a - ld a, $13 - ld [wMenuBorderRightCoord], a - ld a, $6 - ld [wMenuBorderTopCoord], a - ld a, $a - ld [wMenuBorderBottomCoord], a - call PushWindow - hlcoord 14, 6, wAttrmap - ld b, $5 - ld c, $6 - hlcoord 14, 6 - ld b, $3 - ld c, $4 - call Function3eea - hlcoord 16, 7 - ld de, String_11a2cf - call PlaceString - hlcoord 16, 9 - ld de, String_11a2d3 - call PlaceString - hlcoord 15, 7 - ld a, $ed - ld [hl], a - farcall ReloadMapPart - ret - -Function11a63c: - hlcoord 4, 1 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 2 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 3 - ld de, String_11a7f4 - call PlaceString - hlcoord 4, 4 - ld de, String_11a7f4 - call PlaceString - ret - -String_11a661: - db "これから モバイルセンターに" - next "でんわかけます@" - -String_11a679: - db "モバイルアダプタじゅんびは" - next "できて いますか?@" - -String_11a692: - db "でんわかけています" - next "しばらく おまちください@" - -String_11a6aa: - db "でんわをかけると つうわりょう" - next "せつぞくりょうかかります@" - -String_11a6c8: - db "せつぞく しました@" - -String_11a6d2: - db "つうしん ちゅう@" - -String_11a6db: - db "つうしん ちゅう" - next "セレクト エーでちゅうし@" - -String_11a6f1: - db "この サービスには" - next "つうわりょうほかに@" - -String_11a706: - db "おかね@" - -String_11a70b: - db "えん" - next "かかります よろしい ですか?@" - -String_11a71e: - db "つうしん しゅうりょう@" - -String_11a72a: - db "つないだ じかん" - next "  やく   ふん   びょう@" - -String_11a743: - db "もっていない データが" - next "あります!@" - -String_11a755: - db "データよみこみますか?@" - -String_11a762: - db "おなじ データよみこんだ" - next "ことありますが@" - -String_11a779: - db "そのデータなくなっているか" - next "こわれて います@" - -String_11a791: - db "もっている データと" - next "おなじデータしか ありません!@" - -String_11a7ac: - db "データよみこみを" - next "ちゅうし しますか?@" - -String_11a7c1: - db "あたらしい ニュースは" - next "ありません でした@" - -String_11a7d7: - db "あたらしいニュースあります" - next "ニュースよみこみますか?@" - -String_11a7f4: - db "               @" - -MenuHeader_11a804: ; unreferenced - db MENU_BACKUP_TILES ; flags - menu_coords 0, 0, SCREEN_WIDTH - 1, 5 - dw NULL - db 0 ; default option - -Function11a80c: - ld de, hDivisor - ld bc, hDividend - ld hl, Unknown_11a89a - call Function11a88c - ld bc, hQuotient + 1 - ld hl, Unknown_11a8ba - call Function11a88c - ld bc, hPrintNumBuffer + 2 - ld hl, Unknown_11a8da - call Function11a88c - xor a - ld b, a - ldh a, [hDivisor] - and $f - ld e, a - ldh a, [hPrintNumBuffer + 6] - and $f - call Function11a884 - ld e, a - ldh a, [hPrintNumBuffer + 8] - and $f - call Function11a884 - ld [wcd62], a - ld e, b - xor a - ld b, a - ldh a, [hDivisor] - and $f0 - swap a - call Function11a884 - ld e, a - ldh a, [hPrintNumBuffer + 6] - and $f0 - swap a - call Function11a884 - ld e, a - ldh a, [hPrintNumBuffer + 8] - and $f0 - swap a - call Function11a884 - ld [wcd63], a - ld e, b - xor a - ld b, a - ldh a, [hMathBuffer] - and $f - call Function11a884 - ld e, a - ldh a, [hPrintNumBuffer + 7] - and $f - call Function11a884 - ld e, a - ldh a, [hPrintNumBuffer + 9] - and $f - call Function11a884 - ld [wcd64], a - ret - -Function11a884: - add e - cp $a - ret c - sub $a - inc b - ret - -Function11a88c: - ld a, [bc] - sla a - ld c, a - xor a - ld b, a - add hl, bc - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - inc de - ret - -Unknown_11a89a: -for x, 16 - bcd x % 100, x / 100 -endr - -Unknown_11a8ba: -for x, 0, 16**2, 16 - bcd x % 100, x / 100 -endr - -Unknown_11a8da: -for x, 0, 16**3, 16**2 - bcd x % 100, x / 100 -endr - -BattleTowerRoomMenu_WriteMessage: - jumptable .Jumptable, wc31a - -.Jumptable: - dw BattleTowerRoomMenu_WriteMessage_DoNothing - dw Function11a90f - dw Function11a971 - -Function11a90f: - ld a, $1 - ldh [rSVBK], a - call SpeechTextbox - ld a, $50 - ld hl, wc320 - ld bc, $008c - call ByteFill - ld a, [wc31b] - ld l, a - ld a, [wc31c] - ld h, a - ld de, wc320 -.asm_11a92c - ld a, [hli] - cp $57 - jr z, .asm_11a94f - cp $0 - jr z, .asm_11a92c - cp $50 - jr z, .asm_11a92c - cp $1 - jr z, .asm_11a941 - ld [de], a - inc de - jr .asm_11a92c - -.asm_11a941 - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a -.asm_11a945 - ld a, [bc] - inc bc - cp $50 - jr z, .asm_11a92c - ld [de], a - inc de - jr .asm_11a945 - -.asm_11a94f - xor a - ld [wc31f], a - ld a, LOW(wc320) - ld [wc31b], a - ld a, HIGH(wc320) - ld [wc31c], a - hlcoord 1, 14 - ld a, l - ld [wc31d], a - ld a, h - ld [wc31e], a - ld hl, wc31a - inc [hl] - ld a, $3 - ldh [rSVBK], a - -BattleTowerRoomMenu_WriteMessage_DoNothing: - ret - -Function11a971: - ld hl, wc31f - ldh a, [hJoyDown] - and a - jr nz, .asm_11a97f - ld a, [hl] - and a - jr z, .asm_11a97f - dec [hl] - ret - -.asm_11a97f - ld a, [wOptions] - and $7 - ld [hl], a - ld hl, wcd8d - ld a, [wc31b] - ld e, a - ld a, [wc31c] - ld d, a - ld a, [de] - inc de - ld [hli], a - ld a, e - ld [wc31b], a - ld a, d - ld [wc31c], a - ld a, $50 - ld [hl], a - ld a, [wc31d] - ld l, a - ld a, [wc31e] - ld h, a - ld de, wcd8d - call PlaceString - ld a, c - ld [wc31d], a - ld a, b - ld [wc31e], a - ld a, [wcd8d] - cp $50 - jr nz, .asm_11a9bf - xor a - ld [wc31a], a - -.asm_11a9bf - ret - -BattleTowerRoomMenu_SetMessage: - ld a, l - ld [wc31b], a - ld a, h - ld [wc31c], a - ld a, $1 - ld [wc31a], a - ret - -Function11a9ce: - call ClearBGPalettes - call ReloadTilesetAndPalettes - call Call_ExitMenu - farcall Stubbed_Function106462 - farcall Function106464 - call GSReloadPalettes - farcall FinishExitMenu - call UpdateSprites - ret - -Function11a9f0: - ld a, $1 - and a - ret - -Function11a9f4: ; unreferenced - ld a, [wcd8a] - ld l, a - ld a, [wcd8b] - ld h, a - inc hl - ld a, l - ld [wcd8a], a - ld a, h - ld [wcd8b], a - ld de, $d5d0 - add hl, de - bit 7, h - ret nz - ld a, $d6 - call SetMobileErrorCode - and a - ret - -Text_SaveFileWillBeSent: - text "SAVE FILE will be" - line "sent." - done - -Text_SentSaveFileReadingNews: - text "Sent SAVE FILE." - line "Reading NEWS…" - done - -Text_ReadingNews: - text "Reading NEWS…" - done - -Text_ReceivedNews: - text "Received NEWS!" - done - -Text_QuitReadingNews: - text "Quit reading NEWS?" - done - -Text_CanceledSendingSaveFile: ; unreferenced - text "Canceled sending" - line "SAVE FILE." - done - -Text_ReceivedOddEgg: ; unreferenced - text "ODD EGG" - line "was received!" - done - -Text_RegisteringRecord: - text "Registering your" - line "record…" - done - -Text_BattleRoomVisitLimit: ; unreferenced - text "One visit per day" - line "per BATTLE ROOM!" - done - -Text_PartyMonTopsThisLevel: - text "A party #MON" - line "tops this level." - done - -Text_UberRestriction: - text_ram wcd49 - text " may go" - line "only to BATTLE" - - para "ROOMS that are" - line "Lv.70 or higher." - done - -Text_CancelBattleRoomChallenge: - text "Cancel your BATTLE" - line "ROOM challenge?" - done - -Text_ExitGymLeaderHonorRoll: - text "Exit GYM LEADER" - line "HONOR ROLL?" - done - -Text_LinkingWithCenter: ; unreferenced - text "Linking with the" - line "CENTER…" - done - -Text_WhatLevelDoYouWantToChallenge: - text "What level do you" - line "want to challenge?" - done - -Text_CheckBattleRoomListByMaxLevel: - text "Check BATTLE ROOM" - line "list by max level?" - done - -Text_EnterWhichBattleRoom: ; unreferenced - text "Enter which" - line "BATTLE ROOM?" - done - -Text_WhichBattleRoom: ; unreferenced - text "Which BATTLE ROOM?" - done - -Text_ThisBattleRoomPleaseWait: ; unreferenced - text_ram wStringBuffer3 - text "'s ROOM" - line "@" - text_ram wStringBuffer4 - text "?" - cont "Please wait…" - done - -Function11ac3e: - call SpeechTextbox - call FadeToMenu - callfar ClearSpriteAnims2 - call Function11ac51 - call CloseSubmenu - ret - -Function11ac51: - xor a - ldh [hBGMapMode], a - ld hl, wOptions - ld a, [hl] - push af - set 4, [hl] - ld a, [wVramState] - push af - xor a - ld [wVramState], a - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - xor a - ldh [hMapAnims], a - ld [wcd49], a - ld [wcd4a], a - ld [wcd4c], a - ld [wcd4d], a - ld [wcd4e], a - call Function11ad1b - call DelayFrame -.loop - call JoyTextDelay - ld a, [wJumptableIndex] - bit 7, a - jr nz, .asm_11aca8 - call Function11b314 - call Function11acb7 - call Function11ad6e - ld a, 30 * SPRITEOAMSTRUCT_LENGTH - ld [wCurSpriteOAMAddr], a - farcall DoNextFrameForAllSprites - farcall ReloadMapPart - jr .loop - -.asm_11aca8 - call ClearSprites - pop af - ldh [hInMenu], a - pop af - ld [wVramState], a - pop af - ld [wOptions], a - ret - -Function11acb7: - ld hl, TilemapPack_11ba44 - ld a, [wcd49] - ld c, a - ld b, 0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - decoord 6, 6 - ld a, [hli] - ld [de], a - decoord 0, 7 - ld bc, 7 - call CopyBytes - ld a, [wcd49] - inc a - ld [wcd49], a - ld a, [hl] - cp $ff - jr nz, .get_the_other - xor a - ld [wcd49], a -.get_the_other - ld hl, TilemapPack_11bb7d - ld a, [wcd4a] - ld c, a - ld b, 0 - sla c - rl b - sla c - rl b - sla c - rl b - add hl, bc - decoord 3, 9 - ld bc, 7 - call CopyBytes - ld a, [wcd4a] - inc a - ld [wcd4a], a - inc hl - ld a, [hl] - cp $ff - ret nz - xor a - ld [wcd4a], a - ret - -Function11ad1b: - call ClearBGPalettes - call ClearSprites - call ClearTilemap - farcall Function17c000 - ld a, [wMenuCursorY] - ld [wcd82], a - dec a - ldh [hObjectStructIndex], a - ld a, $10 - ld [wCurIconTile], a - ld hl, LoadMenuMonIcon - ld a, BANK(LoadMenuMonIcon) - ld e, MONICON_MOBILE1 - rst FarCall - ld hl, LoadMenuMonIcon - ld a, BANK(LoadMenuMonIcon) - ld e, MONICON_MOBILE2 - rst FarCall - ld hl, wPokedexOrder - ld bc, $0115 - xor a - call ByteFill - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ld [wcd30], a - ld a, DEXMODE_ABC - ld [wCurDexMode], a - farcall Pokedex_OrderMonsByMode - ret - -Function11ad6e: - ld a, [wJumptableIndex] - ld hl, Jumptable_11ad78 - call Function11b239 - jp hl - -Jumptable_11ad78: - dw Function11b082 - dw Function11b0ff - dw Function11ad95 - dw Function11adc4 - dw Function11ae4e - dw Function11ae98 - dw Function11ad8f - dw Function11af04 - dw Function11af4e - -MobileIncJumptableIndex: - ld hl, wJumptableIndex - inc [hl] - ret - -Function11ad8f: - ld hl, wJumptableIndex - set 7, [hl] - ret - -Function11ad95: - ld hl, MenuHeader_11ae38 - call LoadMenuHeader - call MenuBox - hlcoord 12, 12 - ld de, String_11ae40 - call PlaceString - hlcoord 10, 10, wAttrmap - lb bc, 8, 8 - call Function11afd6 - farcall ReloadMapPart - call MobileIncJumptableIndex - ld a, $1 - ld [wMenuCursorY], a - ld hl, Unknown_11afcc - call Function11afb7 - -Function11adc4: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11ade6 - ld a, [hl] - and D_DOWN - jr nz, .asm_11aded - ld a, [hl] - and A_BUTTON - jr nz, .asm_11ae06 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX - xor a - ld [wJumptableIndex], a - jr .asm_11ae2e - -.asm_11ade6 - ld a, [wMenuCursorY] - dec a - ret z - jr .asm_11adf4 - -.asm_11aded - ld a, [wMenuCursorY] - inc a - cp $4 - ret z - -.asm_11adf4 - push af - ld hl, Unknown_11afcc - call Function11afbb - pop af - ld [wMenuCursorY], a - ld hl, Unknown_11afcc - call Function11afb7 - ret - -.asm_11ae06 - call PlayClickSFX - ld a, [wMenuCursorY] - dec a - ld hl, wcd30 - ld [hl], a - and a - jr z, .asm_11ae28 - hlcoord 2, 14 - ld a, [wMenuCursorY] - cp $2 - jr z, .asm_11ae23 - call Function11b272 - jr .asm_11ae2b - -.asm_11ae23 - call Function11b267 - jr .asm_11ae2b - -.asm_11ae28 - ld a, $3 - ld [hl], a - -.asm_11ae2b - call MobileIncJumptableIndex - -.asm_11ae2e - call ExitMenu - farcall ReloadMapPart - ret - -MenuHeader_11ae38: - db MENU_BACKUP_TILES ; flags - menu_coords 10, 10, 17, SCREEN_HEIGHT - 1 - dw NULL - db 0 ; default option - -String_11ae40: - db "どちらでも" - next "♂オス" - next "♀メス" - db "@" - -Function11ae4e: - ld hl, MenuHeader_11afe8 - call LoadMenuHeader - call MenuBox - hlcoord 10, 14 - ld de, String_11aff0 - call PlaceString - ld hl, MenuHeader_11b013 - call LoadMenuHeader - call MenuBox - hlcoord 16, 8 - ld de, String_11b01b - call PlaceString - hlcoord 14, 7, wAttrmap - lb bc, 5, 6 - call Function11afd6 - hlcoord 9, 12, wAttrmap - lb bc, 6, 11 - call Function11afd6 - farcall ReloadMapPart - call MobileIncJumptableIndex - ld a, $1 - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - -Function11ae98: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11aec1 - ld a, [hl] - and D_DOWN - jr nz, .asm_11aec8 - ld a, [hl] - and A_BUTTON - jr nz, .asm_11aee1 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX -.asm_11aeb4 - hlcoord 2, 14 - ld a, $7f - ld [hl], a - ld a, $1 - ld [wJumptableIndex], a - jr .asm_11aef7 - -.asm_11aec1 - ld a, [wMenuCursorY] - dec a - ret z - jr .asm_11aecf - -.asm_11aec8 - ld a, [wMenuCursorY] - inc a - cp $3 - ret z - -.asm_11aecf - push af - ld hl, Unknown_11afd2 - call Function11afbb - pop af - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - ret - -.asm_11aee1 - call PlayClickSFX - ld a, [wMenuCursorY] - cp $2 - jr z, .asm_11aeb4 - ld a, [wcd4b] - ld [wScriptVar], a - call Function11b022 - call MobileIncJumptableIndex - -.asm_11aef7 - call ExitMenu - call ExitMenu - farcall ReloadMapPart - ret - -Function11af04: - ld hl, MenuHeader_11afe8 - call LoadMenuHeader - call MenuBox - hlcoord 10, 14 - ld de, String_11b003 - call PlaceString - ld hl, MenuHeader_11b013 - call LoadMenuHeader - call MenuBox - hlcoord 16, 8 - ld de, String_11b01b - call PlaceString - hlcoord 14, 7, wAttrmap - lb bc, 5, 6 - call Function11afd6 - hlcoord 9, 12, wAttrmap - lb bc, 6, 11 - call Function11afd6 - farcall ReloadMapPart - call MobileIncJumptableIndex - ld a, $2 - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - -Function11af4e: - ld hl, hJoyPressed - ld a, [hl] - and a - ret z - ld a, [hl] - and D_UP - jr nz, .asm_11af77 - ld a, [hl] - and D_DOWN - jr nz, .asm_11af7e - ld a, [hl] - and A_BUTTON - jr nz, .asm_11af97 - ld a, [hl] - and B_BUTTON - ret z - call PlayClickSFX -.asm_11af6a - hlcoord 2, 14 - ld a, $7f - ld [hl], a - ld a, $1 - ld [wJumptableIndex], a - jr .asm_11afaa - -.asm_11af77 - ld a, [wMenuCursorY] - dec a - ret z - jr .asm_11af85 - -.asm_11af7e - ld a, [wMenuCursorY] - inc a - cp $3 - ret z - -.asm_11af85 - push af - ld hl, Unknown_11afd2 - call Function11afbb - pop af - ld [wMenuCursorY], a - ld hl, Unknown_11afd2 - call Function11afb7 - ret - -.asm_11af97 - call PlayClickSFX - ld a, [wMenuCursorY] - cp $2 - jr z, .asm_11af6a - ld a, $6 - ld [wJumptableIndex], a - xor a - ld [wScriptVar], a - -.asm_11afaa - call ExitMenu - call ExitMenu - farcall ReloadMapPart - ret - -Function11afb7: - ld e, $ed - jr asm_11afbd - -Function11afbb: - ld e, $7f - -asm_11afbd: - ld a, [wMenuCursorY] - dec a - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, e - ld e, [hl] - inc hl - ld d, [hl] - ld [de], a - ret - -Unknown_11afcc: - dwcoord 11, 12 - dwcoord 11, 14 - dwcoord 11, 16 - -Unknown_11afd2: - dwcoord 15, 8 - dwcoord 15, 10 - -Function11afd6: - ld de, SCREEN_WIDTH - ld a, $3 -.row - push bc - push hl -.col - ld [hli], a - dec c - jr nz, .col - pop hl - add hl, de - pop bc - dec b - jr nz, .row - ret - -MenuHeader_11afe8: - db MENU_BACKUP_TILES ; flags - menu_coords 9, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw NULL - db 0 ; default option - -String_11aff0: - db "この じょうけんで" - next "よろしいですか?@" - -String_11b003: - db "こうかんを" - next "ちゅうししますか?@" - -MenuHeader_11b013: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw NULL - db 1 ; default option - -String_11b01b: - db "はい" - next "いいえ@" - -Function11b022: - ld a, [wcd2e] - and a - jr z, .asm_11b02e - ld hl, wStringBuffer3 - call Function11b03d - -.asm_11b02e - ld a, [wcd30] - and a - ret z - cp $3 - ret z - ld hl, wStringBuffer4 - call Function11b03d - ret - -Function11b03d: - push hl - push af - ld c, $1 -.loop - ld a, [hli] - cp "♂" - jr z, .gender - cp "♀" - jr z, .gender - cp "@" - jr z, .done - inc c - jr .loop - -.gender - dec hl - ld a, "@" - ld [hli], a - -.done - dec hl - push hl - ld e, 4 - ld d, 0 - add hl, de - ld e, l - ld d, h - pop hl -.loop2 - ld a, [hld] - ld [de], a - dec de - dec c - jr nz, .loop2 - pop af - pop de - cp $1 - jr nz, .female - ld hl, .MaleString - jr .got_string - -.female - ld hl, .FemaleString - -.got_string - ld bc, 4 ; string length - call CopyBytes - ret - -.MaleString: db "オスの " -.FemaleString: db "メスの " - -Function11b082: - call Function11b242 - ld a, $7 - ld [wc7d3], a - call Function11b099 - call Function11b295 - call Function11b275 - call SetPalettes - jp MobileIncJumptableIndex - -Function11b099: - ld c, $6 - hlcoord 11, 1 - ld a, [wc7d3] - add a - ld b, a - xor a - call Function11b236 - ld a, [wc7d0] - ld e, a - ld d, 0 - ld hl, wPokedexOrder - add hl, de - ld e, l - ld d, h - hlcoord 11, 2 - ld a, [wc7d3] -.loop - push af - ld a, [de] - ld [wTempSpecies], a - push de - push hl - call .PlaceMonNameOrPlaceholderString - pop hl - ld de, 2 * SCREEN_WIDTH - add hl, de - pop de - inc de - pop af - dec a - jr nz, .loop - ret - -.PlaceMonNameOrPlaceholderString: - and a - ret z - - call .CheckSeenFlag - ret c - - call .SetCaughtFlag - push hl - call GetPokemonName - pop hl - call PlaceString - ret - -.SetCaughtFlag: - call CheckCaughtMemMon - jr nz, .okay - inc hl - ret - -.okay - ld a, $1 - ld [hli], a - ret - -.CheckSeenFlag: - call CheckSeenMemMon - ret nz - - inc hl - ld de, .EmptySlot - call PlaceString - scf - ret - -.EmptySlot: - db "ーーーーー@" - -Function11b0ff: - ld hl, hJoyPressed - ld a, [hl] - and B_BUTTON - jr nz, .asm_11b141 - ld a, [hl] - and A_BUTTON - jr nz, .asm_11b131 - call Function11b175 - jr nc, .asm_11b125 - ld a, [wcd4c] - inc a - and $3 - ld [wcd4c], a - xor a - ldh [hBGMapMode], a - call Function11b099 - ld a, $1 - ldh [hBGMapMode], a - ret - -.asm_11b125 - ld a, [wcd4c] - and a - ret z - inc a - and $3 - ld [wcd4c], a - ret - -.asm_11b131 - call Function11b20b - call CheckSeenMemMon - jr z, .asm_11b13d - ld a, $1 - jr .asm_11b148 - -.asm_11b13d - ld a, $2 - jr .asm_11b148 - -.asm_11b141 - ld hl, wJumptableIndex - ld a, $7 - ld [hl], a - ret - -.asm_11b148 - call PlayClickSFX - ld [wcd4b], a - and a - jr z, .asm_11b16c - ld a, [wcf65] - cp $0 - jr z, .asm_11b163 - cp $fe - jr z, .asm_11b167 - cp $ff - jr z, .asm_11b16b - jp MobileIncJumptableIndex - -.asm_11b163 - ld a, $1 - jr .asm_11b16c - -.asm_11b167 - ld a, $2 - jr .asm_11b16c - -.asm_11b16b - xor a - -.asm_11b16c - ld [wcd30], a - ld a, $4 - ld [wJumptableIndex], a - ret - -Function11b175: - ld a, [wc7d3] - ld d, a - ld a, [wc7d2] - ld e, a - ld hl, hJoyLast - ld a, [hl] - and D_UP - jr nz, .asm_11b19a - ld a, [hl] - and D_DOWN - jr nz, .asm_11b1ae - ld a, d - cp e - jr nc, .asm_11b1ed - ld a, [hl] - and D_LEFT - jr nz, .asm_11b1c6 - ld a, [hl] - and D_RIGHT - jr nz, .asm_11b1d8 - jr .asm_11b1ed - -.asm_11b19a - ld hl, wc7d1 - ld a, [hl] - and a - jr z, .asm_11b1a4 - dec [hl] - jr .asm_11b1ef - -.asm_11b1a4 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, .asm_11b1ed - dec [hl] - jr .asm_11b1ef - -.asm_11b1ae - ld hl, wc7d1 - ld a, [hl] - inc a - cp e - jr nc, .asm_11b1ed - cp d - jr nc, .asm_11b1bc - inc [hl] - jr .asm_11b1ef - -.asm_11b1bc - ld hl, wc7d0 - add [hl] - cp e - jr nc, .asm_11b1ed - inc [hl] - jr .asm_11b1ef - -.asm_11b1c6 - ld hl, wc7d0 - ld a, [hl] - and a - jr z, .asm_11b1ed - cp d - jr nc, .asm_11b1d4 - xor a - ld [hl], a - jr .asm_11b1ef - -.asm_11b1d4 - sub d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1d8 - ld hl, wc7d0 - ld a, d - add a - add [hl] - jr c, .asm_11b1e3 - cp e - jr c, .asm_11b1e8 - -.asm_11b1e3 - ld a, e - sub d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1e8 - ld a, [hl] - add d - ld [hl], a - jr .asm_11b1ef - -.asm_11b1ed - and a - ret - -.asm_11b1ef - call Function11b295 - call Function11b275 - scf - ret - -FillScreenWithTile32: ; unreferenced - hlcoord 0, 0 - ld a, $32 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ret - -CopyDataUntilFF: ; unreferenced -.loop - ld a, [de] - cp $ff - ret z - inc de - ld [hli], a - jr .loop - -Function11b20b: - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - ld e, a - ld d, 0 - ld hl, wc6d0 - add hl, de - ld a, [hl] - ld [wTempSpecies], a - ret - -CheckCaughtMemMon: - push de - push hl - ld a, [wTempSpecies] - dec a - call CheckCaughtMon - pop hl - pop de - ret - -CheckSeenMemMon: - push de - push hl - ld a, [wTempSpecies] - dec a - call CheckSeenMon - pop hl - pop de - ret - -Function11b236: - jp FillBoxWithByte - -Function11b239: - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret - -Function11b242: - hlcoord 3, 4 - ld de, wStringBuffer3 - call PlaceString - xor a - ld [wMonType], a - farcall GetGender - hlcoord 1, 4 - ld a, [wCurPartySpecies] - ld bc, wcd2f - ld [bc], a - dec bc - jr c, asm_11b26a - jr z, asm_11b26f - ld a, $1 - ld [bc], a - -Function11b267: - ld [hl], $ef - ret - -asm_11b26a: - xor a - ld [bc], a - ld [hl], $7f - ret - -asm_11b26f: - ld a, $2 - ld [bc], a - -Function11b272: - ld [hl], $f5 - ret - -Function11b275: - call Function11b279 - ret - -Function11b279: - ld a, [wTempSpecies] - ld [wCurSpecies], a - call CheckSeenMemMon - jr z, .asm_11b28f - call GetBaseData - ld a, [wBaseGender] - ld [wcf65], a - jr .asm_11b294 - -.asm_11b28f - ld a, $ff - ld [wcf65], a - -.asm_11b294 - ret - -Function11b295: - hlcoord 4, 13 - ld de, String_11b308 - call PlaceString - hlcoord 4, 14 - ld de, String_11b308 - call PlaceString - call Function11b20b - call CheckSeenMemMon - jr z, .asm_11b2d1 - ld a, [wc608] - ld c, a - ld a, [wc608 + 1] - ld b, a - ld hl, $0007 - add hl, bc - xor a - ld [hl], a - ld hl, $0003 - add hl, bc - ld e, [hl] - farcall FlyFunction_GetMonIcon - hlcoord 4, 14 - push hl - call GetPokemonName - jr .asm_11b2e7 - -.asm_11b2d1 - ld a, [wc608] - ld c, a - ld a, [wc608 + 1] - ld b, a - ld hl, $0007 - add hl, bc - ld a, $50 - ld [hl], a - hlcoord 4, 13 - push hl - ld de, String_11b30e - -.asm_11b2e7 - ld a, NAME_LENGTH_JAPANESE - ld bc, wStringBuffer4 -.asm_11b2ec - push af - ld a, [de] - ld [bc], a - inc de - inc bc - pop af - dec a - and a - jr nz, .asm_11b2ec - pop hl - ld de, wStringBuffer4 - call PlaceString - ret - -String_11b2fe: ; unreferenced - db "あげる#@" - -String_11b303: ; unreferenced - db "ほしい#@" - -String_11b308: - db "     @" - -String_11b30e: - db "みはっけん@" - -Function11b314: - call Function11b31b - call Function11b3d9 - ret - -Function11b31b: - ld hl, .Coords - ld a, [wJumptableIndex] - cp 2 - jr c, .tilemap_1 - ld a, [wc7d1] - cp 4 - jr nc, .tilemap_3 - cp 3 - jr c, .tilemap_1 - ld a, [wJumptableIndex] - cp 2 - jr z, .tilemap_1 - cp 3 - jr z, .tilemap_1 - cp 6 - jr z, .tilemap_1 - - ld bc, .Tilemap2 - jr .load_sprites - -.tilemap_3 - ld bc, .Tilemap3 - jr .load_sprites - -.tilemap_1 - ld bc, .Tilemap1 - -.load_sprites - call Function11b397 - ret - -.Coords: - dbpixel 3, 11, 2, 6 ; 0 - dbpixel 3, 12, 2, 6 ; 1 - dbpixel 3, 13, 2, 6 ; 2 - dbpixel 3, 14, 2, 6 ; 3 - dbpixel 3, 15, 2, 6 ; 4 - dbpixel 3, 16, 2, 6 ; 5 - dbpixel 3, 17, 2, 6 ; 6 - dbpixel 4, 11, 2, 6 ; 7 - dbpixel 4, 12, 2, 6 ; 8 - dbpixel 4, 13, 2, 6 ; 9 - dbpixel 4, 14, 2, 6 ; 10 - dbpixel 4, 15, 2, 6 ; 11 - dbpixel 4, 16, 2, 6 ; 12 - dbpixel 4, 17, 2, 6 ; 13 - db -1 - -.Tilemap1: ; vtiles - db $30 ; 0 - db $31 ; 1 - db $31 ; 2 - db $31 ; 3 - db $31 ; 4 - db $31 ; 5 - db $32 ; 6 - db $40 ; 7 - db $41 ; 8 - db $41 ; 9 - db $41 ; 10 - db $41 ; 11 - db $41 ; 12 - db $42 ; 13 - -.Tilemap2: ; vtiles - db $30 ; 0 - db $31 ; 1 - db $31 ; 2 - db $39 ; 3 - db $39 ; 4 - db $39 ; 5 - db $39 ; 6 - db $40 ; 7 - db $41 ; 8 - db $41 ; 9 - db $39 ; 10 - db $39 ; 11 - db $39 ; 12 - db $39 ; 13 - -.Tilemap3: ; vtiles - db $39 ; 0 - db $39 ; 1 - db $39 ; 2 - db $39 ; 3 - db $39 ; 4 - db $39 ; 5 - db $39 ; 6 - db $39 ; 7 - db $39 ; 8 - db $39 ; 9 - db $39 ; 10 - db $39 ; 11 - db $39 ; 12 - db $39 ; 13 - -Function11b397: - ld de, wShadowOAMSprite00 -.loop - ld a, [hl] - cp $ff - ret z - ld a, [wc7d1] - and $7 - swap a - add [hl] - inc hl - ld [de], a ; y - inc de - - ld a, [hli] - ld [de], a ; x - inc de - - ld a, [bc] - inc bc - ld [de], a ; tile id - inc de - ld a, $5 - ld [de], a ; attributes - inc de - jr .loop - -Function11b3b6: ; unreferenced -.loop - ld a, [hl] - cp -1 - ret z - ld a, [wcd4d] - and $7 - swap a - add [hl] - inc hl - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de - push hl - ld l, c - ld h, b - ld a, [wcd4e] - add [hl] - inc bc - ld [de], a - inc de - pop hl - ld a, $5 - ld [de], a - inc de - jr .loop - -Function11b3d9: - ld de, wShadowOAMSprite28 - push de - ld a, [wc7d2] - dec a - ld e, a - ld a, [wc7d1] - ld hl, wc7d0 - add [hl] - cp e - jr z, .skip - ld hl, 0 - ld bc, $70 - call AddNTimes - ld e, l - ld d, h - ld b, 0 - ld a, d - or e - jr z, .load_sprites - ld a, [wc7d2] - ld c, a -.loop1 - ld a, e - sub c - ld e, a - ld a, d - sbc $0 - ld d, a - jr c, .load_sprites - inc b - jr .loop1 - -.skip - ld b, 14 * 8 - -.load_sprites - ld a, 2 * 8 + 5 - add b - pop hl - ld [hli], a - cp $41 - jr c, .version1 - ld a, [wJumptableIndex] - cp 4 - jr z, .version2 - cp 5 - jr z, .version2 - cp 7 - jr z, .version2 - cp 8 - jr z, .version2 - -.version1 - ld a, 19 * 8 + 3 - ld [hli], a - ld a, [wcd4c] - add $3c - ld [hli], a - ld a, [wcd4c] - add $1 - ld [hl], a - ret - -.version2 - ld a, 19 * 8 + 3 - ld [hli], a - ld a, $39 - ld [hli], a - xor a - ld [hl], a - ret - -TradeCornerHoldMon: -; special - call Mobile46_InitJumptable - call TradeCornerHoldMon_RunJumptable - ret - -Mobile46_InitJumptable: - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - call UpdateTime - ret - -TradeCornerHoldMon_RunJumptable: -.loop - call .IterateJumptable - call DelayFrame - ld a, [wJumptableIndex] - cp 4 - jr nz, .loop - ret - -.IterateJumptable: - jumptable .Jumptable, wJumptableIndex - -.Jumptable: - dw TradeCornerHoldMon_PrepareForUpload - dw Function11b570 - dw TradeCornerHoldMon_RemoveFromParty - dw TradeCornerHoldMon_Success - dw TradeCornerHoldMon_Noop ; unused - -TradeCornerHoldMon_PrepareForUpload: - call .InitRAM - ld hl, wPlayerName - ld a, NAME_LENGTH_JAPANESE - 1 -.get_char - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .get_char - - ld de, PARTYMON_STRUCT_LENGTH - ld hl, wPartyMon1Species - ld a, [wcd82] - dec a - push af - -.get_next_party_mon - and a - jr z, .got_selected_mon - add hl, de - dec a - jr .get_next_party_mon - -.got_selected_mon - push bc - ld a, PARTYMON_STRUCT_LENGTH -.copy_mon_byte - ; copies wPartyMon to bc. - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .copy_mon_byte - - pop de ; pushed from bc - push bc - ld a, [de] - ld [wCurSpecies], a - call GetBaseData - ld hl, MON_LEVEL - add hl, de - ld a, [hl] - ld [wCurPartyLevel], a - ld hl, MON_MAXHP - add hl, de - push hl - ld hl, MON_STAT_EXP - 1 - add hl, de - pop de - push de - ld b, TRUE - predef CalcMonStats - pop de - ld h, d - ld l, e - dec hl - dec hl - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - pop bc - ld de, NAME_LENGTH - ld hl, wPartyMonOTs - pop af - push af -.loop4 - and a - jr z, .okay2 - add hl, de - dec a - jr .loop4 - -.okay2 - ld a, NAME_LENGTH - 1 -.loop5 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop5 - ld de, NAME_LENGTH - ld hl, wPartyMonNicknames - pop af - push af -.loop6 - and a - jr z, .okay3 - add hl, de - dec a - jr .loop6 - -.okay3 - ld a, NAME_LENGTH - 1 -.loop7 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop7 - ld de, MAIL_STRUCT_LENGTH - ld hl, sPartyMail - pop af -.loop8 - and a - jr z, .okay4 - add hl, de - dec a - jr .loop8 - -.okay4 - ld a, BANK(sPartyMail) - call OpenSRAM - ld a, MAIL_STRUCT_LENGTH -.loop9 - push af - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - and a - jr nz, .loop9 - call CloseSRAM - jp MobileIncJumptableIndex - -.InitRAM: - ld bc, wOfferTrainerID - ld a, [wPlayerID] - ld [wcd2a], a - ld [bc], a - inc bc - - ld a, [wPlayerID + 1] - ld [wcd2b], a - ld [bc], a - inc bc - - ld a, [wSecretID] - ld [wcd2c], a - ld [bc], a - inc bc - - ld a, [wSecretID + 1] - ld [wcd2d], a - ld [bc], a - inc bc - - ld a, [wcd2e] ; offer gender - ld [bc], a - inc bc - - ld a, [wcd2f] ; offer species - ld [bc], a - inc bc - - ld a, [wcd30] ; req gender - ld [bc], a - inc bc - - ld a, [wd265] ; req species - ld [bc], a - inc bc - ret - -Function11b570: - call Function118007 - ld a, [wScriptVar] - and a - jr nz, .exit - call .SaveData - jp MobileIncJumptableIndex - -.exit - ld a, $4 - ld [wJumptableIndex], a - ret - -.SaveData: - ld a, $3 - ldh [rSVBK], a - - ld hl, w3_d800 - ld de, wc608 - ld bc, w3_d88f - w3_d800 - call CopyBytes - - ld a, $1 - ldh [rSVBK], a - ld a, BANK(s5_a800) - call OpenSRAM - - ld de, s5_a800 - ld a, $1 - ld [de], a - inc de - ld hl, wc608 - ld bc, w3_d88f - w3_d800 - call CopyBytes - - push de - pop hl - - ldh a, [hRTCMinutes] - ld [hli], a - ldh a, [hRTCHours] - ld [hli], a - ldh a, [hRTCDayLo] - ld [hli], a - ldh a, [hRTCDayHi] - ld [hl], a - - call CloseSRAM - ret - -TradeCornerHoldMon_RemoveFromParty: - ld a, [wcd82] - dec a - ld [wCurPartyMon], a - xor a ; REMOVE_PARTY - ld [wPokemonWithdrawDepositParameter], a - farcall RemoveMonFromPartyOrBox - farcall BattleTowerAction_16 - farcall SaveAfterLinkTrade - jp MobileIncJumptableIndex - -TradeCornerHoldMon_Success: - xor a - ld [wScriptVar], a - jp MobileIncJumptableIndex - -TradeCornerHoldMon_Noop: - ret - -Function11b5e8: - ld a, $0 - call OpenSRAM - ld hl, wRTC - ld de, wc608 - ld bc, 4 - call CopyBytes - call CloseSRAM - ld a, $5 - call OpenSRAM - ld hl, wc608 - ld de, $b08c - ld bc, 4 - call CopyBytes - ld a, $2 - ld [$a800], a - ld a, [$a81f] - ld [wcd2a], a - ld a, [$a820] - ld [wcd2b], a - ld a, [$a821] - ld [wcd2c], a - ld a, [$a822] - ld [wcd2d], a - ld a, [$a823] - ld [wcd2e], a - ld a, [$a824] - ld [wcd2f], a - ld a, [$a825] - ld [wcd30], a - ld a, [$a826] - ld [wcd31], a - call CloseSRAM - call Mobile46_InitJumptable - call .loop - ret - -.loop - call .RunJumptable - call DelayFrame - ld a, [wJumptableIndex] - cp $1 - jr nz, .loop - ret - -.RunJumptable: - jumptable .Jumptable, wJumptableIndex - -.Jumptable: - dw Function11b66d - dw Function11b6b3 - -Function11b66d: - call Function1180b8 - ld a, [wScriptVar] - and a - jr nz, .asm_11b6b0 - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a - ld a, [w3_d090] - ld b, a - pop af - ldh [rSVBK], a - ld a, b - and a - jr z, .asm_11b691 - cp $1 - jr nz, .asm_11b6b0 - call Function11b6b4 - jr .asm_11b6b0 - -.asm_11b691 - farcall BattleTowerAction_17 - ld a, [wScriptVar] - and a - jr z, .asm_11b6b0 - xor a - ld [wScriptVar], a - ldh a, [rSVBK] - push af - ld a, $3 - ldh [rSVBK], a - ld a, $2 - ld [w3_d090], a - pop af - ldh [rSVBK], a - -.asm_11b6b0 - jp MobileIncJumptableIndex - -Function11b6b3: - ret - -Function11b6b4: - ld a, $5 - call OpenSRAM - ld a, [wcd30] - ld [wc708], a - ld a, [wcd31] - ld [wc709], a - - ld a, LOW(wc708) - ld [wMobileMonSpeciesPointer], a - ld a, HIGH(wc708) - ld [wMobileMonSpeciesPointer + 1], a - - ld a, LOW(wMobileMon) - ld [wMobileMonStructPointer], a - ld a, HIGH(wMobileMon) - ld [wMobileMonStructPointer + 1], a - - ld a, LOW(wMobileMonOT) - ld [wMobileMonOTPointer], a - ld a, HIGH(wMobileMonOT) - ld [wMobileMonOTPointer + 1], a - - ld a, LOW(wMobileMonNick) - ld [wMobileMonNicknamePointer], a - ld a, HIGH(wMobileMonNick) - ld [wMobileMonNicknamePointer + 1], a - - ld a, LOW(wMobileMonMail) - ld [wMobileMonMailPointer], a - ld a, HIGH(wMobileMonMail) - ld [wMobileMonMailPointer + 1], a - - ld a, BASE_HAPPINESS - ld [wMobileMonHappiness], a - - ld de, wMobileMonOT - ld c, NAME_LENGTH_JAPANESE - 1 - farcall CheckStringForErrors - jr nc, .length_check_OT - farcall Mobile_CopyDefaultOTName - -.length_check_OT - ld de, wMobileMonOT - lb bc, 1, NAME_LENGTH_JAPANESE - 1 - farcall CheckStringContainsLessThanBNextCharacters - jr nc, .error_check_nick - farcall Mobile_CopyDefaultOTName - -.error_check_nick - ld de, wMobileMonNick - ld c, NAME_LENGTH_JAPANESE - 1 - farcall CheckStringForErrors - jr nc, .length_check_nick - farcall Mobile_CopyDefaultNickname - -.length_check_nick - ld de, wMobileMonNick - lb bc, 1, NAME_LENGTH_JAPANESE - 1 - farcall CheckStringContainsLessThanBNextCharacters - jr nc, .error_check_mail - farcall Mobile_CopyDefaultNickname - -.error_check_mail - ld de, wMobileMonMail - ld c, MAIL_MSG_LENGTH + 1 - farcall CheckStringForErrors - jr nc, .length_check_mail - farcall Mobile_CopyDefaultMail - -.length_check_mail - ld de, wMobileMonMail - lb bc, 2, MAIL_MSG_LENGTH + 1 - farcall CheckStringContainsLessThanBNextCharacters - jr c, .fix_mail - ld a, b - cp $2 - jr nz, .mail_ok - -.fix_mail - farcall Mobile_CopyDefaultMail - -.mail_ok - ld de, wMobileMonMailAuthor - ld c, NAME_LENGTH_JAPANESE - 1 - farcall CheckStringForErrors - jr nc, .length_check_author - farcall Mobile_CopyDefaultMailAuthor - -.length_check_author - ld de, wMobileMonMailAuthor - lb bc, 1, NAME_LENGTH_JAPANESE - 1 - farcall CheckStringContainsLessThanBNextCharacters - jr nc, .author_okay - farcall Mobile_CopyDefaultMailAuthor - -.author_okay - ld a, [wMobileMonItem] - cp -1 - jr nz, .item_okay - xor a - ld [wMobileMonItem], a - -.item_okay - ld a, [wcd31] - ld [wMobileMonSpecies], a - ld [wCurSpecies], a - call GetBaseData - - ld hl, wMobileMonLevel - ld a, [hl] - cp MIN_LEVEL - ld a, MIN_LEVEL - jr c, .replace_level - ld a, [hl] - cp MAX_LEVEL - jr c, .done_level - ld a, MAX_LEVEL -.replace_level - ld [hl], a -.done_level - ld [wCurPartyLevel], a - - ld hl, wMobileMonExp + 2 - ld de, wMobileMonMaxHP - ld b, TRUE - predef CalcMonStats - ld de, wMobileMonMaxHP - ld hl, wMobileMonHP - ld a, [de] - ld [hli], a - inc de - ld a, [de] - ld [hl], a - call AddMobileMonToParty - ret - -Function11b7e5: - ld a, [wMobileMonSpecies] - ld [wOTTrademonSpecies], a - ld [wCurPartySpecies], a - ld a, [wcd81] - ld [wc74e], a - ld hl, wMobileMonOT ; OT - ld de, wOTTrademonOTName - ld bc, 5 - call CopyBytes - ld a, "@" - ld [de], a - ld a, [wMobileMonID] - ld [wOTTrademonID], a - ld a, [wMobileMonID + 1] - ld [wOTTrademonID + 1], a - ld hl, wMobileMonDVs - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld bc, wMobileMon ; pokemon_data_start - farcall GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - call SpeechTextbox - call FadeToMenu - farcall MobileTradeAnimation_ReceiveGetmonFromGTS - farcall Function17d1f1 - ld a, $1 - ld [wForceEvolution], a - ld a, LINK_TRADECENTER - ld [wLinkMode], a - farcall EvolvePokemon - xor a - ld [wLinkMode], a - farcall SaveAfterLinkTrade - ld a, BANK(s5_a800) - call OpenSRAM - ld a, $5 - ld [s5_a800], a - call CloseSRAM - ld a, [wMapGroup] - ld b, a - ld a, [wMapNumber] - ld c, a - call GetMapSceneID - ld a, d - or e - jr z, .asm_11b872 - ld a, $1 - ld [de], a - -.asm_11b872 - call CloseSubmenu - call RestartMapMusic - ret - -Function11b879: - farcall BattleTower_CheckSaveFileExistsAndIsYours - ld a, [wScriptVar] - and a - ret z - ld a, BANK(s5_a800) - call OpenSRAM - ld a, [s5_a800] - ld [wScriptVar], a - ld a, [s5_a890] - ld [wcd49], a - ld a, [s5_a891] - ld [wcd4a], a - ld a, [s5_a892] - ld [wcd4b], a - ld a, [s5_a893] - ld [wcd4c], a - call CloseSRAM - ld a, [wScriptVar] - and a - ret z - ld hl, wcd4c - ldh a, [hRTCDayHi] - cp [hl] - ret nz - dec hl - ldh a, [hRTCDayLo] - cp [hl] - ret nz - ld hl, wcd4a - ldh a, [hRTCHours] - cp [hl] - jr nc, .asm_11b8d8 - ld a, $18 - sub [hl] - ld hl, hRTCHours - add [hl] - ld [wcd4c], a - ldh a, [hRTCMinutes] - ld [wcd4b], a - xor a - ld [wcd4a], a - jr .asm_11b8e2 - -.asm_11b8d8 - ldh a, [hRTCMinutes] - ld [wcd4b], a - ldh a, [hRTCHours] - ld [wcd4c], a - -.asm_11b8e2 - xor a - ld l, a - ld h, a - ld b, a - ld d, a - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld c, $3c - call AddNTimes - add hl, de - push hl - xor a - ld l, a - ld h, a - ld b, a - ld d, a - ld a, [wcd49] - ld e, a - ld a, [wcd4a] - ld c, $3c - call AddNTimes - add hl, de - ld a, l - cpl - add $1 - ld e, a - ld a, h - cpl - adc 0 - ld d, a - pop hl - add hl, de - ld de, $ff88 - add hl, de - bit 7, h - ret z - ld a, $2 - ld [wScriptVar], a - ret - -Function11b920: - call Mobile46_InitJumptable - ld a, BANK(sOfferTrainerID) - call OpenSRAM - ld hl, sOfferTrainerID - ld de, wOfferTrainerID - ld bc, 8 - call CopyBytes - call CloseSRAM - call Function118000 - ret - -Function11b93b: - ld a, BANK(s5_a800) - call OpenSRAM - xor a - ld [s5_a800], a - ld hl, sOfferGender - ld de, wc608 - ld bc, TRADE_CORNER_REQUEST_LENGTH - call CopyBytes - call CloseSRAM - - ld a, LOW(wUnknownGender) - ld [wMobileMonSpeciesPointer], a - ld a, HIGH(wUnknownGender) - ld [wMobileMonSpeciesPointer + 1], a - - ld a, LOW(wUnknownMon) - ld [wMobileMonStructPointer], a - ld a, HIGH(wUnknownMon) - ld [wMobileMonStructPointer + 1], a - - ld a, LOW(wUnknownMonOT) - ld [wMobileMonOTPointer], a - ld a, HIGH(wUnknownMonOT) - ld [wMobileMonOTPointer + 1], a - - ld a, LOW(wUnknownMonNick) - ld [wMobileMonNicknamePointer], a - ld a, HIGH(wUnknownMonNick) - ld [wMobileMonNicknamePointer + 1], a - - ld a, LOW(wUnknownMonMail) - ld [wMobileMonMailPointer], a - ld a, HIGH(wUnknownMonMail) - ld [wMobileMonMailPointer + 1], a - call AddMobileMonToParty - farcall SaveAfterLinkTrade - ret - -AddMobileMonToParty: - ld hl, wPartyCount - ld a, [hl] - ld e, a - inc [hl] - - ld a, [wMobileMonSpeciesPointer] - ld l, a - ld a, [wMobileMonSpeciesPointer + 1] - ld h, a - inc hl - ld bc, wPartySpecies - ld d, e -.loop1 - inc bc - dec d - jr nz, .loop1 - ld a, e - ld [wCurPartyMon], a - ld a, [hl] - ld [bc], a - inc bc - ld a, -1 - ld [bc], a - - ld hl, wPartyMon1Species - ld bc, PARTYMON_STRUCT_LENGTH - ld a, e - ld [wMobileMonIndex], a -.loop2 - add hl, bc - dec a - and a - jr nz, .loop2 - ld e, l - ld d, h - ld a, [wMobileMonStructPointer] - ld l, a - ld a, [wMobileMonStructPointer + 1] - ld h, a - ld bc, PARTYMON_STRUCT_LENGTH - call CopyBytes - - ld hl, wPartyMonOTs - ld bc, NAME_LENGTH - ld a, [wMobileMonIndex] -.loop3 - add hl, bc - dec a - and a - jr nz, .loop3 - ld e, l - ld d, h - ld a, [wMobileMonOTPointer] - ld l, a - ld a, [wMobileMonOTPointer + 1] - ld h, a - ld bc, MON_NAME_LENGTH - 1 - call CopyBytes - ld a, "@" - ld [de], a - - ld hl, wPartyMonNicknames - ld bc, MON_NAME_LENGTH - ld a, [wMobileMonIndex] -.loop4 - add hl, bc - dec a - and a - jr nz, .loop4 - ld e, l - ld d, h - ld a, [wMobileMonNicknamePointer] - ld l, a - ld a, [wMobileMonNicknamePointer + 1] - ld h, a - ld bc, MON_NAME_LENGTH - 1 - call CopyBytes - ld a, "@" - ld [de], a - - ld hl, sPartyMail - ld bc, MAIL_STRUCT_LENGTH - ld a, [wMobileMonIndex] -.loop5 - add hl, bc - dec a - and a - jr nz, .loop5 - ld a, BANK(sPartyMail) - call OpenSRAM - ld e, l - ld d, h - ld a, [wMobileMonMailPointer] - ld l, a - ld a, [wMobileMonMailPointer + 1] - ld h, a - ld bc, MAIL_STRUCT_LENGTH - call CopyBytes - - call CloseSRAM - ret - -Function11ba38: - farcall CheckCurPartyMonFainted - ret c - xor a - ld [wScriptVar], a - ret - -TilemapPack_11ba44: - db $47, $30, $0a, $0a, $0a, $0a, $0a, $56 ; 00 - db $46, $2f, $0a, $0a, $0a, $0a, $0a, $55 ; 01 - db $45, $3d, $0a, $0a, $0a, $0a, $0a, $54 ; 02 - db $44, $30, $0a, $0a, $0a, $0a, $0a, $53 ; 03 - db $43, $2f, $0a, $0a, $0a, $0a, $0a, $52 ; 04 - db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $51 ; 05 - db $4a, $30, $0a, $0a, $0a, $0a, $0a, $50 ; 06 - db $4a, $2f, $0a, $0a, $0a, $0a, $0a, $4f ; 07 - db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $4e ; 08 - db $4a, $30, $0a, $0a, $0a, $0a, $4d, $42 ; 09 - db $4a, $2f, $0a, $0a, $0a, $0a, $6b, $58 ; 0a - db $4a, $3d, $0a, $0a, $0a, $0a, $6a, $58 ; 0b - db $4a, $30, $0a, $0a, $0a, $0a, $69, $58 ; 0c - db $4a, $2f, $0a, $0a, $0a, $0a, $68, $58 ; 0d - db $4a, $3d, $0a, $0a, $0a, $66, $67, $58 ; 0e - db $4a, $30, $0a, $0a, $0a, $65, $0a, $58 ; 0f - db $4a, $2f, $0a, $0a, $0a, $64, $0a, $58 ; 10 - db $4a, $3d, $0a, $0a, $0a, $63, $0a, $58 ; 11 - db $4a, $30, $0a, $0a, $61, $62, $0a, $58 ; 12 - db $4a, $2f, $0a, $0a, $5f, $60, $0a, $58 ; 13 - db $4a, $3d, $0a, $61, $62, $0a, $0a, $58 ; 14 - db $4a, $30, $0a, $63, $0a, $0a, $0a, $58 ; 15 - db $4a, $2f, $69, $0a, $0a, $0a, $0a, $58 ; 16 - db $4a, $3d, $81, $0a, $0a, $0a, $0a, $58 ; 17 - db $4a, $30, $80, $0a, $0a, $0a, $0a, $58 ; 18 - db $4a, $2f, $7f, $0a, $0a, $0a, $0a, $58 ; 19 - db $4a, $3d, $0a, $0a, $0a, $0a, $0a, $58 ; 1a - db $4a, $30, $0a, $0a, $0a, $0a, $0a, $58 ; 1b - db $4a, $2f, $68, $87, $88, $89, $0a, $58 ; 1c - db $4a, $3d, $6e, $6f, $70, $75, $76, $58 ; 1d - db $4a, $30, $75, $76, $5c, $5d, $5e, $58 ; 1e - db $4a, $2f, $71, $72, $73, $74, $6d, $58 ; 1f - db $4a, $3d, $75, $76, $77, $8a, $8b, $58 ; 20 - db $4a, $30, $66, $67, $65, $0a, $6a, $58 ; 21 - db $4a, $2f, $83, $84, $0a, $83, $84, $58 ; 22 - db $4a, $3d, $0a, $85, $82, $84, $0a, $58 ; 23 - db $4a, $30, $41, $80, $40, $0a, $0a, $58 ; 24 - db $4a, $2f, $83, $0a, $0a, $0a, $0a, $58 ; 25 - db $4a, $3d, $40, $0a, $0a, $0a, $0a, $58 ; 26 - db -1 - -TilemapPack_11bb7d: - db $0a, $0a, $0a, $0a, $0a, $0a, $16, $00 ; 00 - db $78, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 01 - db $79, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 02 - db $7a, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 03 - db $7b, $0a, $0a, $0a, $0a, $0a, $8c, $00 ; 04 - db $7c, $0a, $0a, $0a, $0a, $0a, $8d, $00 ; 05 - db $7d, $0a, $0a, $0a, $0a, $0a, $8e, $00 ; 06 - db $2e, $7e, $0a, $0a, $0a, $0a, $8c, $00 ; 07 - db $2e, $80, $0a, $0a, $0a, $0a, $8d, $00 ; 08 - db $2e, $81, $0a, $0a, $0a, $0a, $8e, $00 ; 09 - db $2e, $82, $0a, $0a, $0a, $0a, $8c, $00 ; 0a - db $2e, $69, $0a, $0a, $0a, $0a, $8d, $00 ; 0b - db $2e, $6a, $0a, $0a, $0a, $0a, $8e, $00 ; 0c - db $2e, $6b, $0a, $0a, $0a, $0a, $8c, $00 ; 0d - db $2e, $0a, $68, $0a, $0a, $0a, $8d, $00 ; 0e - db $2e, $0a, $69, $0a, $0a, $0a, $8e, $00 ; 0f - db $2e, $0a, $0a, $6a, $0a, $0a, $8c, $00 ; 10 - db $2e, $0a, $0a, $6b, $0a, $0a, $8d, $00 ; 11 - db $2e, $0a, $0a, $0a, $80, $0a, $8e, $00 ; 12 - db $2e, $0a, $0a, $0a, $82, $0a, $8c, $00 ; 13 - db $2e, $0a, $0a, $0a, $6c, $0a, $8d, $00 ; 14 - db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 15 - db $2e, $0a, $6b, $0a, $0a, $0a, $8c, $00 ; 16 - db $2e, $0a, $0a, $69, $0a, $0a, $8d, $00 ; 17 - db $2e, $0a, $0a, $6a, $0a, $0a, $8e, $00 ; 18 - db $2e, $0a, $0a, $0a, $68, $0a, $8c, $00 ; 19 - db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1a - db $2e, $0a, $0a, $61, $62, $0a, $8e, $00 ; 1b - db $2e, $0a, $0a, $0a, $5f, $60, $8c, $00 ; 1c - db $2e, $0a, $0a, $0a, $63, $0a, $8d, $00 ; 1d - db $2e, $0a, $0a, $0a, $0a, $69, $8c, $00 ; 1e - db $2e, $0a, $0a, $0a, $0a, $6b, $8d, $00 ; 1f - db $2e, $0a, $0a, $0a, $0a, $83, $8e, $00 ; 20 - db $2e, $0a, $0a, $0a, $0a, $86, $8c, $00 ; 21 - db $2e, $0a, $85, $0a, $0a, $0a, $8d, $00 ; 22 - db $2e, $0a, $0a, $84, $0a, $0a, $8e, $00 ; 23 - db -1 diff --git a/mobile/mobile_5b.asm b/mobile/mobile_5b.asm deleted file mode 100644 index 1a363158b..000000000 --- a/mobile/mobile_5b.asm +++ /dev/null @@ -1,781 +0,0 @@ -Function16c000: ; unreferenced - ; Only for CGB - ldh a, [hCGB] - and a - ret z - ; Only do this once per boot cycle - ldh a, [hSystemBooted] - and a - ret z - ; Disable the joypad during mobile setup - ld a, [wJoypadDisable] - push af - set JOYPAD_DISABLE_SGB_TRANSFER_F, a - ld [wJoypadDisable], a - ; Do stuff - call MobileSystemSplashScreen_InitGFX ; Load GFX - farcall SetRAMStateForMobile - farcall EnableMobile - call .RunJumptable - farcall DisableMobile - ; Prevent this routine from running again - ; until the next time the system is turned on - xor a - ldh [hSystemBooted], a - ; Restore the flag state - pop af - ld [wJoypadDisable], a - ret - -.RunJumptable: - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wd002], a - ld [wd003], a -.loop - call DelayFrame - farcall Function10635c - ld a, [wd002] - ld hl, .Jumptable - rst JumpTable - call Function16cb2e - call Function16cbae - ld a, [wd002] - cp $ff - jr nz, .loop - ret - -.Jumptable: - dw .init - dw Function16c0ba - dw Function16c089 - dw Function16c09e - dw Function16c0a8 - dw Function16c0dc - dw Function16c0ec - dw Function16c0ba - dw Function16c0ca - dw Function16c0dc - dw Function16c0ec - dw .quit - -.init - ld a, [wcf64] - and a - ret z - ld [wd002], a - xor a - ld [wd003], a - ret - -.quit - push af - ld a, $ff - ld [wd002], a - pop af - ret - -Function16c089: - ld a, $1 - ld [wd1eb], a - ld [wd1f1], a - xor a - ldh [hWY], a - call Function16c0fa - ld a, [wd002] - ld [wcf64], a - ret - -Function16c09e: - ld a, [wcf64] - cp $4 - ret nz - call Function16c0fa - ret - -Function16c0a8: - xor a - ld [wd1eb], a - ld [wd1f1], a - call ClearSprites - ld a, $90 - ldh [hWY], a - call Function16c0fa - ret - -Function16c0ba: - call Function16c943 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call c, Function16c0fa - ret - -Function16c0ca: - ld a, [wd003] - cp $28 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call z, Function16c0fa - ret - -Function16c0dc: - call Function16ca11 - push af - ld a, [wd003] - inc a - ld [wd003], a - pop af - call c, Function16c0fa - ret - -Function16c0ec: - call ClearBGPalettes - call ClearScreen - push af - ld a, $ff - ld [wd002], a - pop af - ret - -Function16c0fa: - push af - ld a, [wd002] - inc a - ld [wd002], a - xor a - ld [wd003], a - pop af - ret - -MobileSystemSplashScreen_InitGFX: - call DisableLCD - ld hl, vTiles2 - ld de, .Tiles - lb bc, BANK(.Tiles), 104 - call Get2bpp - call .LoadPals - call .LoadTilemap - call .LoadAttrmap - hlbgcoord 0, 0 - call Function16cc73 - call Function16cc02 - xor a - ldh [hBGMapMode], a - call EnableLCD - ret - -.LoadPals: - ld de, wBGPals1 - ld hl, MobileSplashScreenPalettes - ld bc, 8 - ld a, $5 - call FarCopyWRAM - farcall ApplyPals - ret - -.LoadTilemap: - hlcoord 0, 0 - ld bc, 20 - xor a - call ByteFill - ld hl, .Tilemap - decoord 0, 1 - ld bc, $0154 - call CopyBytes - ret - -.LoadAttrmap: - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH - xor a - call ByteFill - ld hl, .Attrmap - decoord 0, 1, wAttrmap - ld bc, 17 * SCREEN_WIDTH - call CopyBytes - ret - -.Tiles: -INCBIN "gfx/mobile/mobile_splash.2bpp" - -.Tilemap: -INCBIN "gfx/mobile/mobile_splash.tilemap" - -.Attrmap: -INCBIN "gfx/mobile/mobile_splash.attrmap" - -MobileSplashScreenPalettes: -INCLUDE "gfx/mobile/mobile_splash.pal" - -Function16c943: - ld a, [wd003] - and a - jr nz, .asm_16c95e - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld a, $ff - ld bc, 1 palettes - ld hl, wBGPals1 - call ByteFill - pop af - ldh [rSVBK], a - -.asm_16c95e - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld e, $0 - ld a, $0 -.asm_16c969 - ld hl, MobileSplashScreenPalettes - call Function16cab6 - call Function16cabb - ld d, a - ld hl, wBGPals1 - call Function16cab6 - call Function16cabb - cp d - jr z, .asm_16c991 - ld b, $1 -.asm_16c981 - dec a - cp d - jr z, .asm_16c988 - dec b - jr nz, .asm_16c981 - -.asm_16c988 - ld hl, wBGPals1 - call Function16cab6 - call Function16cadc - -.asm_16c991 - ld hl, MobileSplashScreenPalettes - call Function16cab6 - call Function16cad8 - ld d, a - ld hl, wBGPals1 - call Function16cab6 - call Function16cad8 - cp d - jr z, .asm_16c9b9 - ld b, $1 -.asm_16c9a9 - dec a - cp d - jr z, .asm_16c9b0 - dec b - jr nz, .asm_16c9a9 - -.asm_16c9b0 - ld hl, wBGPals1 - call Function16cab6 - call Function16cb08 - -.asm_16c9b9 - ld hl, MobileSplashScreenPalettes - call Function16cab6 - call Function16cac4 - ld d, a - ld hl, wBGPals1 - call Function16cab6 - call Function16cac4 - cp d - jr z, .asm_16c9e1 - ld b, $1 -.asm_16c9d1 - dec a - cp d - jr z, .asm_16c9d8 - dec b - jr nz, .asm_16c9d1 - -.asm_16c9d8 - ld hl, wBGPals1 - call Function16cab6 - call Function16cae8 - -.asm_16c9e1 - inc e - inc e - ld a, e - cp $8 - jr nz, .asm_16c969 - farcall ApplyPals - call SetPalettes - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, [wd003] - cp $1f - jr z, .asm_16ca09 - pop af - ldh [rSVBK], a - ld e, $0 - pop af - ldh [rSVBK], a - and a - ret - -.asm_16ca09 - pop af - ldh [rSVBK], a - pop af - ldh [rSVBK], a - scf - ret - -Function16ca11: - ld a, [wd003] - and a - jr nz, .asm_16ca1d - farcall ApplyPals - -.asm_16ca1d - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld e, $0 - ld a, $0 -.asm_16ca28 - ld hl, wBGPals1 - call Function16cab6 - call Function16cabb - cp $1f - jr z, .asm_16ca48 - ld b, $1 -.asm_16ca37 - inc a - cp $1f - jr z, .asm_16ca3f - dec b - jr nz, .asm_16ca37 - -.asm_16ca3f - ld hl, wBGPals1 - call Function16cab6 - call Function16cadc - -.asm_16ca48 - ld hl, wBGPals1 - call Function16cab6 - call Function16cad8 - cp $1f - jr z, .asm_16ca68 - ld b, $1 -.asm_16ca57 - inc a - cp $1f - jr z, .asm_16ca5f - dec b - jr nz, .asm_16ca57 - -.asm_16ca5f - ld hl, wBGPals1 - call Function16cab6 - call Function16cb08 - -.asm_16ca68 - ld hl, wBGPals1 - call Function16cab6 - call Function16cac4 - cp $1f - jr z, .asm_16ca88 - ld b, $1 -.asm_16ca77 - inc a - cp $1f - jr z, .asm_16ca7f - dec b - jr nz, .asm_16ca77 - -.asm_16ca7f - ld hl, wBGPals1 - call Function16cab6 - call Function16cae8 - -.asm_16ca88 - inc e - inc e - ld a, e - cp $8 - jr nz, .asm_16ca28 - farcall ApplyPals - call SetPalettes - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, [wd003] - cp $1f - jr z, .asm_16caae - pop af - ldh [rSVBK], a - pop af - ldh [rSVBK], a - and a - ret - -.asm_16caae - pop af - ldh [rSVBK], a - pop af - ldh [rSVBK], a - scf - ret - -Function16cab6: - ld b, $0 - ld c, e - add hl, bc - ret - -Function16cabb: - inc hl - ld a, [hl] - srl a - srl a - and $1f - ret - -Function16cac4: - inc hl - ld a, [hld] - and $3 - ld b, a - ld a, [hl] - sla a - rl b - sla a - rl b - sla a - rl b - ld a, b - ret - -Function16cad8: - ld a, [hl] - and $1f - ret - -Function16cadc: - sla a - sla a - ld b, a - inc hl - ld a, [hl] - and $83 - or b - ld [hl], a - ret - -Function16cae8: - ld c, a - srl a - srl a - srl a - ld b, a - inc hl - ld a, [hl] - and $fc - or b - ld [hld], a - ld a, c - sla a - sla a - sla a - sla a - sla a - ld b, a - ld a, [hl] - and $1f - or b - ld [hl], a - ret - -Function16cb08: - ld b, a - ld a, [hl] - and $e0 - or b - ld [hl], a - ret - -Function16cb0f: - xor a - ld [wd1ea], a - ld [wd1eb], a - xor a - ld [wd1ec], a - ld a, $70 - ld [wd1ee], a - ld a, $4 - ld [wd1ed], a - ld a, $a0 - ld [wd1ef], a - xor a - ld [wd1f0], a - ret - -Function16cb2e: - ld a, [wd1eb] - and a - ret z - call Function16cb40 - ld hl, Unknown_16cb86 - ld de, wShadowOAM - call Function16cb5d - ret - -Function16cb40: - ld hl, wd1ec - inc [hl] - ld a, [hl] - cp $18 - ret c - xor a - ld [hl], a - ld a, [wd1ef] - cp $a0 - jr nz, .asm_16cb57 - ld a, $a7 - ld [wd1ef], a - ret - -.asm_16cb57 - ld a, $a0 - ld [wd1ef], a - ret - -Function16cb5d: - ld a, [hli] - and a - ret z -.asm_16cb60 - push af - ld a, [wd1ee] - add [hl] - add $10 - ld [de], a - inc hl - inc de - ld a, [wd1ed] - add [hl] - add $8 - ld [de], a - inc hl - inc de - ld a, [wd1ef] - add [hl] - ld [de], a - inc hl - inc de - ld a, [wd1f0] - or [hl] - ld [de], a - inc hl - inc de - pop af - dec a - jr nz, .asm_16cb60 - ret - -Unknown_16cb86: - db 7 - db 0, 0, 0, 1 - db 8, 0, 1, 1 - db 8, 8, 2, 0 - db 8, 16, 3, 0 - db 16, 0, 4, 1 - db 16, 8, 5, 0 - db 16, 16, 6, 0 - -Function16cba3: - xor a - ld [wd1f1], a - ld [wd1f2], a - ld [wd1f3], a - ret - -Function16cbae: - ld a, [wd1f1] - and a - ret z - call Function16cbba - call Function16cbd1 - ret - -Function16cbba: - ld hl, wd1f2 - inc [hl] - ld a, [hl] - cp $c - ret c - xor a - ld [hl], a - ld a, [wd1f3] - inc a - cp $4 - jr c, .asm_16cbcd - xor a - -.asm_16cbcd - ld [wd1f3], a - ret - -Function16cbd1: - ld a, [wd1f3] - ld c, a - ld b, 0 - ld hl, Unknown_16cbfb - add hl, bc - ld a, [hl] - ld bc, 2 - ld hl, Unknown_16cfa3 - call AddNTimes - ld de, wBGPals1 palette 1 color 2 - ld bc, PAL_COLOR_SIZE - ld a, $5 - call FarCopyWRAM - farcall ApplyPals - ld a, TRUE - ldh [hCGBPalUpdate], a - ret - -Unknown_16cbfb: - db 0, 1, 2, 1, 0, 1, 2 - -Function16cc02: - call Function16cc18 - call Function16cc49 - call Function16cc62 - call Function16cc25 - call Function16cc6e - call Function16cb0f - call Function16cba3 - ret - -Function16cc18: - ld hl, vTiles1 - ld de, MobileAdapterCheckGFX - lb bc, BANK(MobileAdapterCheckGFX), 46 - call Get2bpp - ret - -Function16cc25: - ld hl, Unknown_16cfa9 - ld de, wBGPals1 + 1 palettes - call .CopyPal - ld hl, Unknown_16cfb1 - ld de, wOBPals1 - call .CopyPal - ld hl, Unknown_16cfb9 - ld de, wOBPals1 + 1 palettes - call .CopyPal - ret - -.CopyPal: - ld bc, 1 palettes - ld a, $5 - jp FarCopyWRAM - -Function16cc49: - hlcoord 4, 15 - ld a, $80 - call Function16cc5a - hlcoord 4, 16 - ld a, $90 - call Function16cc5a - ret - -Function16cc5a: - ld c, $10 -.asm_16cc5c - ld [hli], a - inc a - dec c - jr nz, .asm_16cc5c - ret - -Function16cc62: - hlcoord 0, 15, wAttrmap - ld bc, $0028 - ld a, $1 - call ByteFill - ret - -Function16cc6e: - hlbgcoord 0, 0, vBGMap1 - jr Function16cc73 - -Function16cc73: - ldh a, [rVBK] - push af - ld a, $0 - ldh [rVBK], a - push hl - decoord 0, 0 - call Function16cc90 - pop hl - ld a, $1 - ldh [rVBK], a - decoord 0, 0, wAttrmap - call Function16cc90 - pop af - ldh [rVBK], a - ret - -Function16cc90: - ld bc, $1214 -.asm_16cc93 - push bc -.asm_16cc94 - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .asm_16cc94 - ld bc, $000c - add hl, bc - pop bc - dec b - jr nz, .asm_16cc93 - ret - -MobileAdapterCheckGFX: -INCBIN "gfx/mobile/mobile_splash_check.2bpp" - -Unknown_16cfa3: - RGB 31, 31, 31 - RGB 25, 27, 29 - RGB 16, 19, 25 - -Unknown_16cfa9: - RGB 31, 31, 31 - RGB 25, 27, 29 - RGB 31, 31, 31 - RGB 07, 07, 07 - -Unknown_16cfb1: - RGB 31, 31, 31 - RGB 13, 09, 18 - RGB 26, 21, 16 - RGB 07, 07, 07 - -Unknown_16cfb9: - RGB 31, 31, 31 - RGB 18, 05, 02 - RGB 27, 11, 12 - RGB 07, 07, 07 diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm deleted file mode 100644 index 386c8e940..000000000 --- a/mobile/mobile_5c.asm +++ /dev/null @@ -1,878 +0,0 @@ -Function170000: - ld a, [wOfferSpecies] - ld [wPlayerTrademonSpecies], a - ld hl, wOfferMonSender - ld de, wPlayerTrademonSenderName - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ld a, "@" - ld [de], a - ld hl, wOfferMonOT - ld de, wPlayerTrademonOTName - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ld a, "@" - ld [de], a - ld hl, wOfferMonDVs - ld a, [hli] - ld [wPlayerTrademonDVs], a - ld a, [hl] - ld [wPlayerTrademonDVs + 1], a - ld hl, wOfferMonID - ld a, [hli] - ld [wPlayerTrademonID], a - ld a, [hl] - ld [wPlayerTrademonID + 1], a - ld bc, wOfferMon - farcall GetCaughtGender - ld a, c - ld [wPlayerTrademonCaughtData], a - ld a, [wcd81] - ld [wc74e], a - ld hl, wc608 - ld de, $d800 - ld bc, TRADE_CORNER_REQUEST_LENGTH - call CopyBytes - ret - -Function17005a: - ld a, BANK(sOfferMon) - call OpenSRAM - ld a, [sOfferSpecies] - ld [wOTTrademonSpecies], a - ld hl, sOfferMonSender - ld de, wOTTrademonSenderName - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ld a, "@" - ld [de], a - ld hl, sOfferMonOT - ld de, wOTTrademonOTName - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ld a, "@" - ld [de], a - ld hl, sOfferMonDVs - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld hl, sOfferMonID - ld a, [hli] - ld [wOTTrademonID], a - ld a, [hl] - ld [wOTTrademonID + 1], a - ld bc, sOfferMon - farcall GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - ld a, [wcd81] - ld [wc74e], a - call CloseSRAM - ret - -INCLUDE "engine/events/battle_tower/battle_tower.asm" - -Function170be4: - ld a, BANK(s5_a894) - call OpenSRAM - xor a - ld hl, s5_a894 - ld bc, 6 + 2 - call ByteFill - call CloseSRAM - ret - -Clears5_a89a: - ld a, BANK(s5_a89a) - call OpenSRAM - ld hl, s5_a89a - xor a - ld [hli], a - ld [hl], a - call CloseSRAM - ret - -Function170c06: ; unreferenced - ld a, BANK(s5_a894) - call OpenSRAM - ld hl, s5_a894 - ld a, [wBattleResult] - and a ; WIN? - jr nz, .asm_170c15 - inc [hl] - -.asm_170c15 - inc hl - inc hl - ld a, [s5_a89a + 1] - add [hl] - ld [hld], a - ld a, [s5_a89a] - adc [hl] - ld [hli], a - jr nc, .asm_170c27 - ld a, $ff - ld [hld], a - ld [hli], a - -.asm_170c27 - inc hl - push hl - ld de, 0 - xor a - ld [wTempByteValue], a -.asm_170c30 - ld hl, wPartyMon1HP - ld a, [wTempByteValue] - call GetPartyLocation - ld a, [hli] - ld b, a - ld c, [hl] - inc hl - inc hl - ld a, [hld] - sub c - ld c, a - ld a, [hl] - sbc b - ld b, a - push de - pop hl - add hl, bc - push hl - pop de - jr c, .asm_170c58 - ld a, [wTempByteValue] - inc a - ld [wTempByteValue], a - cp $3 - jr c, .asm_170c30 - jr .asm_170c5b - -.asm_170c58 - ld de, -1 - -.asm_170c5b - pop hl - inc hl - ld a, e - add [hl] - ld [hld], a - ld a, d - adc [hl] - ld [hli], a - jr nc, .asm_170c69 - ld a, $ff - ld [hld], a - ld [hli], a - -.asm_170c69 - inc hl - push hl - ld b, $0 - ld c, $0 -.asm_170c6f - ld hl, wPartyMon1HP - ld a, b - push bc - call GetPartyLocation - pop bc - ld a, [hli] - or [hl] - jr nz, .asm_170c7d - inc c - -.asm_170c7d - inc b - ld a, b - cp $3 - jr c, .asm_170c6f - pop hl - ld a, [hl] - add c - ld [hl], a - call CloseSRAM - ret - -Function170c8b: - ld hl, wLastEnemyCounterMove - ld b, $5 -.asm_170c90 - ld a, [hl] - xor $ff - ld [hli], a - dec b - jr nz, .asm_170c90 - ret - -CheckBTMonMovesForErrors: - ld c, BATTLETOWER_PARTY_LENGTH - ld hl, wBT_OTTempMon1Moves -.loop - push hl - ld a, [hl] - cp NUM_ATTACKS + 1 - jr c, .okay - ld a, POUND - ld [hl], a - -.okay - inc hl - ld b, NUM_MOVES - 1 -.loop2 - ld a, [hl] - and a - jr z, .loop3 - cp NUM_ATTACKS + 1 - jr c, .next - -.loop3 - xor a - ld [hl], a - inc hl - dec b - jr nz, .loop3 - jr .done - -.next - inc hl - dec b - jr nz, .loop2 - -.done - pop hl - ld de, NICKNAMED_MON_STRUCT_LENGTH - add hl, de - dec c - jr nz, .loop - ret - -Function170cc6: - ldh a, [rSVBK] - push af - ld a, BANK(wDecompressScratch) - ldh [rSVBK], a - ld hl, PichuAnimatedMobileGFX - ld de, wDecompressScratch - call Decompress - ld a, 1 - ldh [rVBK], a - ld de, wDecompressScratch - ld hl, vTiles0 - lb bc, BANK(wDecompressScratch), 193 - call Get2bpp - xor a - ldh [rVBK], a - ld hl, ElectroBallMobileGFX - ld de, wDecompressScratch - call Decompress - ld de, wBGPals1 - ld hl, vTiles0 - lb bc, BANK(wDecompressScratch), 83 - call Get2bpp - pop af - ldh [rSVBK], a - ret - -Function170d02: - ld a, $1 - ldh [rVBK], a - ld de, PichuBorderMobileGFX - ld hl, vTiles0 tile $c1 - lb bc, BANK(PichuBorderMobileGFX), 24 - call Get2bpp - xor a - ldh [rVBK], a - ret - -PichuAnimatedMobileGFX: -INCBIN "gfx/mobile/pichu_animated.2bpp.lz" - -ElectroBallMobileGFX: -INCBIN "gfx/mobile/electro_ball.2bpp.lz" - -PichuBorderMobileGFX: -INCBIN "gfx/mobile/pichu_border.2bpp" - -Function1719c8: - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - call Function1719d6 - pop af - ldh [hInMenu], a - ret - -Function1719d6: - farcall BattleTowerRoomMenu_InitRAM - call Function1719ed - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - call Function171a11 - pop af - ldh [rSVBK], a - ret - -Function1719ed: - xor a - ld [wcd49], a - ld [wcd4a], a - dec a - ld [wcd4b], a - call ClearBGPalettes - call ClearSprites - farcall Function171d2b - farcall ReloadMapPart - farcall ClearSpriteAnims - ret - -Function171a11: -.loop - call JoyTextDelay - ld a, [wcd49] - bit 7, a - jr nz, .done - call Function171a36 - farcall PlaySpriteAnimations - farcall ReloadMapPart - jr .loop -.done - farcall ClearSpriteAnims - call ClearSprites - ret - -Function171a36: - jumptable Jumptable_171a45, wcd49 - -Jumptable_171a45: - dw Function171a95 - dw Function171ac9 - dw Function171a5d - dw Function171ad7 - dw Function171a5d - dw Function171aec - dw Function171b4b - dw Function171b85 - dw Function171bcc - dw Function171c2c - dw Function171c39 - dw Function171c41 - -Function171a5d: - ld a, [wc821] - bit 1, a - jr nz, .asm_171a6a - bit 0, a - ret nz - jp Function171c66 - -.asm_171a6a - ld a, MOBILEAPI_00 - call MobileAPI - ld [wMobileErrorCodeBuffer], a - ld a, l - ld [wMobileErrorCodeBuffer + 1], a - ld a, h - ld [wMobileErrorCodeBuffer + 2], a - ld a, MOBILEAPI_05 - call MobileAPI - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - farcall BattleTowerRoomMenu_Cleanup - pop af - ldh [rSVBK], a - ld a, $a - ld [wcd49], a - ret - -Function171a95: - farcall Function171ccd - hlcoord 2, 8 - ld de, String_171aa7 - call PlaceString - jp Function171c66 - -String_171aa7: - db "モバイルアダプタに" - next "せつぞく しています" - next "しばらく おまちください" - db "@" - -Function171ac9: - ld de, wcd81 - ld hl, $5c - ld a, MOBILEAPI_01 - call MobileAPI - jp Function171c66 - -Function171ad7: - xor a - ld hl, wc608 - ld bc, $66 - call ByteFill - ld de, wc608 - ld a, MOBILEAPI_06 - call MobileAPI - jp Function171c66 - -Function171aec: - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - farcall BattleTowerRoomMenu_Cleanup - pop af - ldh [rSVBK], a - hlcoord 2, 6 - ld a, $8 -.asm_171b01 - push af - push hl - xor a - ld bc, $10 - call ByteFill - pop hl - ld de, $14 - add hl, de - pop af - dec a - jr nz, .asm_171b01 - hlcoord 2, 7 - ld a, $3 - ld de, wc608 -.asm_171b1b - push af - push hl - ld a, [de] - and a - jr z, .asm_171b34 - ld a, [wcd4b] - inc a - ld [wcd4b], a - push hl - call Function171b42 - pop hl - ld bc, $ffec - add hl, bc - call Function171b42 -.asm_171b34 - pop hl - ld bc, $14 - add hl, bc - add hl, bc - add hl, bc - pop af - dec a - jr nz, .asm_171b1b - jp Function171c66 - -Function171b42: - ld a, [de] - inc de - and a - ret z - sub $20 - ld [hli], a - jr Function171b42 - -Function171b4b: - depixel 8, 2 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $8 - ld [hl], a - - depixel 8, 19 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $9 - ld [hl], a - - depixel 17, 14, 2, 0 - ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR - call InitSpriteAnimStruct - ld hl, SPRITEANIMSTRUCT_VAR1 - add hl, bc - ld a, $a - ld [hl], a - - ld a, $4 - ld [wcd23], a - ld a, $8 - ld [wcd24], a - jp Function171c66 - -Function171b85: - ld hl, hJoyPressed - ld a, [hl] - and B_BUTTON - jp nz, Function171b9f - ld a, [hl] - and A_BUTTON - jp nz, Function171bbd - ld a, [hl] - and D_UP - jr nz, asm_171ba5 - ld a, [hl] - and D_DOWN - jr nz, asm_171baf - ret - -Function171b9f: - ld a, $80 - ld [wcd49], a - ret - -asm_171ba5: - ld a, [wcd4a] - and a - ret z - dec a - ld [wcd4a], a - ret - -asm_171baf: - ld a, [wcd4b] - ld c, a - ld a, [wcd4a] - cp c - ret z - inc a - ld [wcd4a], a - ret - -Function171bbd: - call PlayClickSFX - ld a, $8 - ld [wcd23], a - xor a - ld [wcd24], a - jp Function171c66 - -Function171bcc: - ld hl, hJoyPressed - ld a, [hl] - and B_BUTTON - jp nz, Function171bdc - ld a, [hl] - and A_BUTTON - jp nz, Function171beb - ret - -Function171bdc: - ld a, $4 - ld [wcd23], a - ld a, $8 - ld [wcd24], a - ld hl, wcd49 - dec [hl] - ret - -Function171beb: - ld a, BANK(s5_aa4a) - call OpenSRAM - ld a, [wcd4a] - ld [s5_aa4a], a - call CloseSRAM - ld hl, MenuHeader_171c6b - call LoadMenuHeader - call MenuBox - call MenuBoxCoord2Tile - farcall ReloadMapPart - hlcoord 1, 14 - ld de, String_171c73 - call PlaceString - ld a, [wcd4a] - cp $2 - jr z, .asm_171c1f - ld a, $8 - jr .asm_171c21 -.asm_171c1f - ld a, $c -.asm_171c21 - ld [wcd24], a - ld a, $1e - ld [wcd4c], a - call Function171c66 - -Function171c2c: - ld hl, wcd4c - dec [hl] - ret nz - call ExitMenu - call ClearBGPalettes - jr asm_171c60 - -Function171c39: - ld a, $28 - ld [wcd4c], a - call Function171c66 - -Function171c41: - ld hl, wcd4c - dec [hl] - ret nz - call ClearBGPalettes - farcall Stubbed_Function106462 - farcall Function106464 - ld a, $2 - ld [wc303], a - farcall DisplayMobileError -asm_171c60: - ld a, $80 - ld [wcd49], a - ret - -Function171c66: - ld hl, wcd49 - inc [hl] - ret - -MenuHeader_171c6b: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1 - dw NULL - db 0 ; default option - -String_171c73: - db "モバイルセンターを けってい" - next "しました@" - -Function171c87: - call DisableLCD - ld hl, AsciiFontGFX - ld de, vTiles2 tile $00 - ld bc, $6e tiles - call CopyBytes - ld hl, PasswordSlowpokeLZ - ld de, vTiles0 tile $00 - call Decompress - call EnableLCD - ld hl, PasswordTopTilemap - decoord 0, 0 - ld bc, $168 - call CopyBytes - ld hl, MobilePasswordAttrmap - decoord 0, 0, wAttrmap - ld bc, $168 - call CopyBytes - hlcoord 3, 2 - ld de, String_172e31 - call PlaceString - hlcoord 3, 16 - ld de, String_172e3f - call PlaceString - ret - -Function171ccd: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, MobilePasswordPalettes - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - ld hl, wOBPals1 palette 0 color 1 - ld a, LOW(PALRGB_WHITE) - ld [hli], a - ld a, HIGH(PALRGB_WHITE) - ld [hl], a - call SetPalettes - pop af - ldh [rSVBK], a - ret - -Function171cf0: - xor a - hlcoord 4, 15 - ld [hli], a - ld [hli], a - ld a, [wcd4b] - xor $1 - ld [wcd4b], a - and a - jr nz, .shifted - ld hl, PasswordBottomTilemap - decoord 0, 7 - ld bc, $8c - call CopyBytes - hlcoord 3, 16 - ld de, String_172e3f - jp PlaceString - -.shifted - ld hl, PasswordShiftTilemap - decoord 0, 7 - ld bc, $8c - call CopyBytes - hlcoord 3, 16 - ld de, String_172e4e - jp PlaceString - -Function171d2b: - call DisableLCD - ld hl, AsciiFontGFX - ld de, vTiles2 tile $00 - ld bc, $6e tiles - call CopyBytes - ld hl, PasswordSlowpokeLZ - ld de, vTiles0 tile $00 - call Decompress - call EnableLCD - ld hl, ChooseMobileCenterTilemap - decoord 0, 0 - ld bc, $168 - call CopyBytes - ld hl, ChooseMobileCenterAttrmap - decoord 0, 0, wAttrmap - ld bc, $168 - call CopyBytes - hlcoord 2, 2 - ld de, String_172e5d - call PlaceString - hlcoord 14, 16 - ld de, String_172e58 - call PlaceString - ret - -MobilePasswordPalettes: -INCLUDE "gfx/mobile/mobile_password.pal" - -AsciiFontGFX: -INCBIN "gfx/mobile/ascii_font.2bpp" - -PasswordTopTilemap: -INCBIN "gfx/mobile/password_top.tilemap" - -PasswordBottomTilemap: -INCBIN "gfx/mobile/password_bottom.tilemap" - -PasswordShiftTilemap: -INCBIN "gfx/mobile/password_shift.tilemap" - -ChooseMobileCenterTilemap: -INCBIN "gfx/mobile/mobile_center.tilemap" - -MobilePasswordAttrmap: -INCBIN "gfx/mobile/password.attrmap" - -ChooseMobileCenterAttrmap: -INCBIN "gfx/mobile/mobile_center.attrmap" - -PasswordSlowpokeLZ: -INCBIN "gfx/pokedex/slowpoke.2bpp.lz" - -String_172e31: - db "パスワードいれてください@" -String_172e3f: - db "きりかえ やめる  けってい@" -String_172e4e: - db "きりかえ やめる  " -String_172e58: - db "けってい@" -String_172e5d: - db "せつぞくする モバイルセンターを" - next "えらんで ください@" - -Function172e78: - ld a, $7f - hlcoord 0, 0 - ld bc, $168 - call ByteFill - ld a, $7 - hlcoord 0, 0, wAttrmap - ld bc, $168 - call ByteFill - call DisableLCD - ld hl, Stadium2N64GFX - ld de, vTiles2 tile $00 - ld bc, $61 tiles - call CopyBytes - call EnableLCD - ld hl, Stadium2N64Tilemap - decoord 0, 0 - ld bc, $168 - call CopyBytes - ld hl, Stadium2N64Attrmap - decoord 0, 0, wAttrmap - ld bc, $168 - call CopyBytes - ret - -Function172eb9: - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, Palette_172edf - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - ld hl, Palette_172edf - ld de, wBGPals2 - ld bc, 8 palettes - call CopyBytes - call SetPalettes - pop af - ldh [rSVBK], a - ret - -Palette_172edf: - RGB 5, 12, 17 - RGB 31, 31, 31 - RGB 18, 25, 28 - RGB 10, 17, 21 - RGB 6, 13, 18 - RGB 31, 31, 31 - RGB 20, 26, 28 - RGB 12, 19, 23 - RGB 3, 10, 16 - RGB 31, 31, 31 - RGB 6, 13, 18 - RGB 20, 26, 28 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -Stadium2N64GFX: -INCBIN "gfx/mobile/stadium2_n64.2bpp" - -Stadium2N64Tilemap: -if DEF(_CRYSTAL11) -; BUG: Crystal 1.1 corrupted this tilemap by treating $0a bytes as -; Unix newlines, and converting them to $0d $0a Windows newlines. -INCBIN "gfx/mobile/stadium2_n64_corrupt.tilemap" -else -INCBIN "gfx/mobile/stadium2_n64.tilemap" -endc - -Stadium2N64Attrmap: -INCBIN "gfx/mobile/stadium2_n64.attrmap" diff --git a/mobile/mobile_5e.asm b/mobile/mobile_5e.asm deleted file mode 100644 index 111fc9666..000000000 --- a/mobile/mobile_5e.asm +++ /dev/null @@ -1,941 +0,0 @@ -MobileCardGFX:: -INCBIN "gfx/mobile/card.2bpp" - -ChrisSilhouetteGFX:: -INCBIN "gfx/mobile/chris_silhouette.2bpp" - -KrisSilhouetteGFX:: -INCBIN "gfx/mobile/kris_silhouette.2bpp" - -MobileCard2GFX:: -INCBIN "gfx/mobile/card_2.2bpp" - -CardLargeSpriteAndFolderGFX:: -INCBIN "gfx/mobile/card_large_sprite.2bpp" -INCBIN "gfx/mobile/card_folder.2bpp" - -CardSpriteGFX:: -INCBIN "gfx/mobile/card_sprite.2bpp" - -Function17a68f:: - call Function17a6a8 - call Function17a751 - ld hl, $d088 - bit 5, [hl] - jr z, .asm_17a6a6 - ld de, wStringBuffer1 - push de - call Function17a721 - pop de - xor a - ret - -.asm_17a6a6 - scf - ret - -Function17a6a8: - push de - push bc - ld hl, wStringBuffer2 - ld bc, $a - xor a - call ByteFill - ld hl, wd1ea - ld bc, $10 - ld a, $ff - call ByteFill - pop bc - ld a, c - and a - jr z, .asm_17a6c9 - ld hl, $d088 - set 4, [hl] -.asm_17a6c9 - pop de - call Function17a6f5 - call Function17aba0 - farcall Function106464 - call Function17ac0c - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - call Function17abcf - farcall LoadOW_BGPal7 - farcall Function49420 - call SetPalettes - call DelayFrame - ret - -Function17a6f5: - ld hl, wd1ea - ld c, $0 - ld b, $8 -.asm_17a6fc - ld a, [de] - call Function17a713 - jr c, .asm_17a70e - ld a, [de] - swap a - call Function17a713 - jr c, .asm_17a70e - inc de - dec b - jr nz, .asm_17a6fc -.asm_17a70e - ld a, c - ld [$d08c], a - ret - -Function17a713: - and $f - cp $a - jr nc, .asm_17a71d - ld [hli], a - inc c - and a - ret - -.asm_17a71d - ld [hl], $ff - scf - ret - -Function17a721: - push de - ld h, d - ld l, e - ld bc, $8 - ld a, $ff - call ByteFill - pop de - ld hl, wd1ea - ld b, $8 -.asm_17a732 - ld c, $0 - ld a, [hli] - cp $a - jr nc, .asm_17a748 - ld c, a - ld a, [hli] - cp $a - jr nc, .asm_17a74c - swap a - or c - ld [de], a - inc de - dec b - jr nz, .asm_17a732 - ret - -.asm_17a748 - ld a, $ff - ld [de], a - ret - -.asm_17a74c - ld a, $f0 - or c - ld [de], a - ret - -Function17a751: - xor a - ld [$d087], a -.asm_17a755 - call Function17a781 - call Function17a7ae - call Function17a97b - call Function17a770 - call Function17a78f - ld hl, $d08f - inc [hl] - ld a, [$d087] - bit 7, a - jr z, .asm_17a755 - ret - -Function17a770: - ldh a, [hOAMUpdate] - push af - ld a, $1 - ldh [hOAMUpdate], a - call HideSprites - call Function17a9cb - pop af - ldh [hOAMUpdate], a - ret - -Function17a781: - ldh a, [hInMenu] - push af - ld a, $1 - ldh [hInMenu], a - call JoyTextDelay - pop af - ldh [hInMenu], a - ret - -Function17a78f: - ld hl, $d088 - bit 7, [hl] - res 7, [hl] - jr nz, .asm_17a79f - farcall HDMATransferTilemapToWRAMBank3 - ret - -.asm_17a79f - farcall ReloadMapPart - ret - -Function17a7a6: ; unreferenced - ld a, [$d087] - inc a - ld [$d087], a - ret - -Function17a7ae: - ld a, [$d087] - ld hl, Jumptable_17a7b6 - rst JumpTable - ret - -Jumptable_17a7b6: - dw Function17a7c2 - dw Function17a7cd - dw Function17a7d8 - dw Function17a7ff - dw Function17a81a - dw Function17a7f4 - -Function17a7c2: - ld a, $4 - call Function17aad3 - ld a, $1 - ld [$d087], a - ret - -Function17a7cd: - call Function17a83c - call Function17a8ae - ret c - call Function17a848 - ret - -Function17a7d8: - call Function17a83c - call Function17a848 - ld hl, $d08b - dec [hl] - ret nz - call Function17ac1d - call Function17ac2a - ld hl, $d088 - set 7, [hl] - ld a, $1 - ld [$d087], a - ret - -Function17a7f4: - ld hl, $d08b - dec [hl] - ret nz - ld hl, $d087 - set 7, [hl] - ret - -Function17a7ff: - ld hl, $d08b - dec [hl] - ret nz - call Function17ac1d - call Function17ac2a - ld hl, $d088 - set 7, [hl] - ld hl, $d088 - set 5, [hl] - ld hl, $d087 - set 7, [hl] - ret - -Function17a81a: - call IsSFXPlaying - ret nc - ldh a, [hJoyPressed] - and $3 - ret z - call ExitMenu - call Function17ac1d - call Function17ac2a - ld hl, $d088 - set 7, [hl] - ld hl, $d088 - res 6, [hl] - ld a, $1 - ld [$d087], a - ret - -Function17a83c: - ldh a, [hJoyLast] - and $f0 - ld c, a - ldh a, [hJoyPressed] - and $b - or c - ld c, a - ret - -Function17a848: - ld a, c - and $60 - cp $60 - jr z, .asm_17a876 - ld a, c - and $50 - cp $50 - jr z, .asm_17a87d - ld a, c - and $a0 - cp $a0 - jr z, .asm_17a884 - ld a, c - and $90 - cp $90 - jr z, .asm_17a88b - bit 6, c - jr nz, .asm_17a892 - bit 7, c - jr nz, .asm_17a899 - bit 5, c - jr nz, .asm_17a8a0 - bit 4, c - jr nz, .asm_17a8a7 - xor a - ret - -.asm_17a876 - ld a, $9 - call Function17aad0 - scf - ret - -.asm_17a87d - ld a, $a - call Function17aad0 - scf - ret - -.asm_17a884 - ld a, $b - call Function17aad0 - scf - ret - -.asm_17a88b - ld a, $c - call Function17aad0 - scf - ret - -.asm_17a892 - ld a, $5 - call Function17aad0 - scf - ret - -.asm_17a899 - ld a, $6 - call Function17aad0 - scf - ret - -.asm_17a8a0 - ld a, $7 - call Function17aad0 - scf - ret - -.asm_17a8a7 - ld a, $8 - call Function17aad0 - scf - ret - -Function17a8ae: - bit 1, c - jr nz, .asm_17a8bc - bit 0, c - jr nz, .asm_17a8cc - bit 3, c - jr nz, .asm_17a8d7 - xor a - ret - -.asm_17a8bc - ld a, $b - ld [$d08a], a - call Function17aa98 - call Function17a943 - call Function17aa88 - scf - ret - -.asm_17a8cc - call Function17aad7 - call Function17aa98 - call Function17a8de - scf - ret - -.asm_17a8d7 - ld a, $c - call Function17aad3 - scf - ret - -Function17a8de: - ld a, $2 - call Function17aae0 - ld a, [hl] - cp $f1 - jr z, .asm_17a8fd - cp $f0 - jr z, .asm_17a904 - cp $f2 - jr z, .asm_17a911 - ld e, a - call Function17a964 - ld a, $2 - ld [$d087], a - call Function17aa88 - ret - -.asm_17a8fd - call Function17a943 - call Function17aa88 - ret - -.asm_17a904 - call Function17aad7 - call Function17aa98 - call Function17a91e - call Function17aa88 - ret - -.asm_17a911 - call Function17aa98 - ld a, $5 - ld [$d087], a - xor a - call Function17aa88 - ret - -Function17a91e: - ld a, [$d08c] - cp $7 - jr c, .asm_17a92c - ld a, $3 - ld [$d087], a - xor a - ret - -.asm_17a92c - call LoadStandardMenuHeader - call Function17a99e - ld hl, $d088 - set 7, [hl] - ld hl, $d088 - set 6, [hl] - ld a, $4 - ld [$d087], a - scf - ret - -Function17a943: - ld a, [$d08c] - and a - jr z, .asm_17a95d - dec a - ld [$d08c], a - ld c, a - ld b, 0 - ld hl, wd1ea - add hl, bc - ld [hl], $ff - ld a, $2 - ld [$d087], a - and a - ret - -.asm_17a95d - ld a, $5 - ld [$d087], a - xor a - ret - -Function17a964: - ld a, [$d08c] - cp $10 - jr nc, .asm_17a979 - ld c, a - ld b, 0 - inc a - ld [$d08c], a - ld hl, wd1ea - add hl, bc - ld [hl], e - and a - ret - -.asm_17a979 - scf - ret - -Function17a97b: - hlcoord 1, 1 - lb bc, 2, 18 - call ClearBox - hlcoord 3, 2 - ld de, wd1ea - ld a, [$d08c] - and a - ret z - ld c, a -.asm_17a990 - ld a, [de] - inc de - cp $a - jr nc, .asm_17a99d - add $f6 - ld [hli], a - dec c - jr nz, .asm_17a990 - ret - -.asm_17a99d - ret - -Function17a99e: - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Function17ac46 - hlcoord 2, 14 - ld de, String_17a9b2 - call PlaceString - ret - -String_17a9b2: - db "でんわばんごうが ただしく" - next "はいって いません!" - db "@" - -Function17a9cb: - ld de, wShadowOAM - ld hl, $d088 - bit 6, [hl] - jr nz, .bit_6_set - call Function17a9e3 - call Function17aa22 - call Function17a9f5 - ret - -.bit_6_set - call Function17a9e3 - ret - -Function17a9e3: - ld a, $3 - ld [$d08e], a - ld hl, Unknown_17aa77 - ld b, $8 - ld c, $8 - ld a, $5 - call Function17aa4a - ret - -Function17a9f5: - ld a, [$d08c] - cp $10 - ret nc - ld a, [$d08f] - swap a - and $1 - add $1 - ld [$d08e], a - ld a, [$d08c] - cp $10 - jr c, .okay - dec a -.okay - ld c, $8 - call SimpleMultiply - add $18 - ld b, a - ld c, $11 - ld hl, Unknown_17aa72 - ld a, $4 - call Function17aa4a - ret - -Function17aa22: - ld a, $0 - ld [$d08e], a - push de - ld a, $3 - call Function17aae0 - add a - add a - add a - add $0 - push af - ld a, $4 - call Function17aae0 - add a - add a - add a - add $8 - ld c, a - pop af - ld b, a - pop de - ld a, $0 - ld hl, Unknown_17aa77 - call Function17aa4a - ret - -Function17aa4a: - ld [$d08d], a - ld a, b - add $8 - ld b, a - ld a, c - add $10 - ld c, a - ld a, [hli] -.loop - push af - ld a, [hli] - add c - ld [de], a - inc de - ld a, [hli] - add b - ld [de], a - inc de - ld a, [$d08d] - add [hl] - inc hl - ld [de], a - inc de - ld a, [$d08e] - or [hl] - inc hl - ld [de], a - inc de - pop af - dec a - jr nz, .loop - ret - -Unknown_17aa72: - db 1 - db 0, 0, 0, 0 - -Unknown_17aa77: - db 4 - db 0, 0, 0, 0 - db 0, 8, 1, 0 - db 8, 0, 2, 0 - db 8, 8, 3, 0 - -Function17aa88: - jr c, asm_17aa91 - ld de, SFX_SWITCH_POKEMON - call PlaySFX - ret - -asm_17aa91: - ld de, SFX_WRONG - call PlaySFX - ret - -Function17aa98: - ld a, $5 - ld [$d08b], a - call Function17aaa9 - call Function17aac3 - ld hl, $d088 - set 7, [hl] - ret - -Function17aaa9: - ld a, $3 - call Function17aae3 - ld c, a - ld b, 0 - hlcoord 0, 0, wAttrmap - add hl, bc - push hl - ld a, $4 - call Function17aae3 - ld bc, $14 - pop hl - call AddNTimes - ret - -Function17aac3: - ld a, $b - push hl - ld [hli], a - ld [hli], a - pop hl - ld de, SCREEN_WIDTH - add hl, de - ld [hli], a - ld [hli], a - ret - -Function17aad0: - call Function17aae0 - -Function17aad3: - ld [$d089], a - ret - -Function17aad7: - push af - ld a, [$d089] - ld [$d08a], a - pop af - ret - -Function17aae0: - call Function17aad7 - -Function17aae3: - push af - ld a, [$d08a] - ld bc, $d - ld hl, Unknown_17aaf7 - call AddNTimes - pop af - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ret - -Unknown_17aaf7: - db $0, $0, $1, $6, $5, $9, $3, $2, $1, $2, $1, $2, $4 - db $0, $0, $2, $9, $5, $a, $4, $0, $2, $a, $a, $3, $5 - db $0, $0, $3, $c, $5, $b, $5, $1, $0, $1, $0, $4, $0 - db $0, $0, $4, $6, $8, $0, $6, $5, $4, $5, $1, $5, $7 - db $0, $0, $5, $9, $8, $1, $7, $3, $5, $0, $2, $6, $8 - db $0, $0, $6, $c, $8, $2, $8, $4, $3, $1, $3, $7, $3 - db $0, $0, $7, $6, $b, $3, $9, $8, $7, $8, $4, $8, $a - db $0, $0, $8, $9, $b, $4, $a, $6, $8, $3, $5, $9, $b - db $0, $0, $9, $c, $b, $5, $b, $7, $6, $4, $6, $a, $6 - db $0, $0,$f2, $6, $e, $6, $0, $c, $a, $c, $7, $c, $0 - db $0, $0, $0, $9, $e, $7, $1, $9, $b, $6, $8, $1, $1 - db $0, $0,$f1, $c, $e, $8, $2, $a, $c, $7, $c, $2, $c - db $0, $0,$f0,$10, $e, $c, $c, $b, $9, $b, $9, $b, $9 - -Function17aba0: - ldh a, [rVBK] - push af - ld a, $1 - ldh [rVBK], a - - ld hl, vTiles5 tile $00 - ld de, DialpadGFX - lb bc, BANK(DialpadGFX), $80 ; includes first 4 tiles of DialpadCursorGFX - call Get2bpp - - pop af - ldh [rVBK], a - - ld hl, vTiles0 tile $00 - ld de, DialpadCursorGFX - lb bc, BANK(DialpadCursorGFX), 5 - call Get2bpp - - ld hl, vTiles0 tile $05 - ld de, MobileDialingGFX - lb bc, BANK(MobileDialingGFX), 4 - call Get2bpp - ret - -Function17abcf: - ldh a, [rSVBK] - push af - ld a, BANK(wBGPals1) - ldh [rSVBK], a - - ld hl, Palette_17ac55 - ld de, wBGPals1 - ld bc, 6 palettes - call CopyBytes - - ld hl, Palette_17ac95 - ld de, wOBPals1 - ld bc, 8 palettes - call CopyBytes - - ld hl, Palette_17b4b5 - ld de, wOBPals1 palette 1 - ld bc, 2 palettes - call CopyBytes - - ld hl, MapObjectPals palette 1 - ld de, wOBPals1 palette 3 - ld bc, 1 palettes - ld a, BANK(MapObjectPals) - call FarCopyBytes - - pop af - ldh [rSVBK], a - ret - -Function17ac0c: - call Function17ac1d - call Function17ac2a - hlcoord 0, 0 - ld b, 2 - ld c, SCREEN_WIDTH - 2 - call Function17ac46 - ret - -Function17ac1d: - ld hl, DialpadTilemap - decoord 0, 4 - ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH - call CopyBytes - ret - -Function17ac2a: - ld hl, DialpadAttrmap - decoord 0, 4, wAttrmap - ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH - call CopyBytes - hlcoord 0, 4, wAttrmap - ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH -.loop - ld a, [hl] - or $8 - ld [hli], a - dec bc - ld a, b - or c - jr nz, .loop - ret - -Function17ac46: - ld a, [$d088] - bit 4, a - jr nz, .bit_4_set - call Textbox - ret - -.bit_4_set - call Function3eea - ret - -Palette_17ac55: - RGB 0, 0, 0 - RGB 9, 10, 25 - RGB 16, 19, 31 - RGB 31, 31, 31 - - RGB 5, 11, 9 - RGB 7, 14, 12 - RGB 17, 24, 22 - RGB 28, 31, 31 - - RGB 0, 0, 0 - RGB 3, 0, 10 - RGB 3, 3, 16 - RGB 6, 8, 25 - - RGB 5, 11, 9 - RGB 28, 31, 31 - RGB 7, 14, 12 - RGB 17, 24, 22 - - RGB 0, 0, 0 - RGB 5, 2, 16 - RGB 8, 8, 26 - RGB 13, 9, 17 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -Palette_17ac95: - RGB 31, 31, 31 - RGB 4, 3, 3 - RGB 31, 13, 0 - RGB 31, 31, 31 - - RGB 31, 31, 31 - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 31, 31, 31 - - RGB 31, 0, 0 - RGB 16, 3, 0 - RGB 28, 19, 11 - RGB 31, 31, 31 - - RGB 31, 16, 0 - RGB 9, 6, 4 - RGB 31, 16, 0 - RGB 31, 24, 0 - - RGB 31, 18, 6 - RGB 0, 3, 0 - RGB 0, 9, 0 - RGB 0, 12, 0 - - RGB 0, 16, 0 - RGB 0, 22, 0 - RGB 0, 25, 0 - RGB 0, 27, 0 - - RGB 0, 31, 0 - RGB 3, 31, 0 - RGB 8, 31, 0 - RGB 14, 31, 0 - - RGB 16, 31, 0 - RGB 22, 31, 0 - RGB 27, 31, 0 - RGB 31, 31, 0 - -DialpadTilemap: -INCBIN "gfx/mobile/dialpad.tilemap" - -DialpadAttrmap: -INCBIN "gfx/mobile/dialpad.attrmap" - -DialpadGFX: -INCBIN "gfx/mobile/dialpad.2bpp" - -DialpadCursorGFX: -INCBIN "gfx/mobile/dialpad_cursor.2bpp" - -Palette_17b4b5: - RGB 2, 6, 10 - RGB 24, 30, 29 - -MobileCardListGFX:: -INCBIN "gfx/mobile/card_list.2bpp" diff --git a/mobile/mobile_5f.asm b/mobile/mobile_5f.asm deleted file mode 100644 index ab5e346a4..000000000 --- a/mobile/mobile_5f.asm +++ /dev/null @@ -1,5172 +0,0 @@ -Function17c000: - call DisableLCD - - ld hl, vTiles2 - ld bc, $31 tiles - xor a - call ByteFill - - call LoadStandardFont - call LoadFontsExtra - - ld hl, HaveWantMap - decoord 0, 0 - bccoord 0, 0, wAttrmap - - ld a, SCREEN_HEIGHT -.y - push af - ld a, SCREEN_WIDTH - - push hl -.x - push af - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - jr nz, .x - pop hl - - push bc - ld bc, BG_MAP_WIDTH * 2 - add hl, bc - pop bc - - pop af - dec a - jr nz, .y - - ldh a, [rSVBK] - push af - - ld a, BANK(wBGPals1) - ldh [rSVBK], a - - ld hl, HaveWantPals - ld de, wBGPals1 - ld bc, 16 palettes - call CopyBytes - - pop af - ldh [rSVBK], a - - ld hl, MobileSelectGFX - ld de, vTiles0 tile $30 - ld bc, $20 tiles - call CopyBytes - - ld a, 1 - ldh [rVBK], a - - ld hl, HaveWantGFX - ld de, vTiles2 - ld bc, $80 tiles - call CopyBytes - - ld hl, HaveWantGFX + $80 tiles - ld de, vTiles1 - ld bc, $10 tiles - call CopyBytes - - xor a - ldh [rVBK], a - - call EnableLCD - farcall ReloadMapPart - ret - -HaveWantGFX: -INCBIN "gfx/mobile/havewant.2bpp" - -MobileSelectGFX: -INCBIN "gfx/mobile/select.2bpp" - -HaveWantMap: -; Interleaved tile/palette map. -INCBIN "gfx/mobile/havewant_map.bin" - -HaveWantPals: -; BG and OBJ palettes. - RGB 0, 0, 0 - RGB 21, 21, 21 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 4, 17, 29 - RGB 6, 19, 31 - RGB 31, 31, 31 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 2, 13, 18 - RGB 6, 19, 31 - RGB 31, 31, 31 - - RGB 0, 0, 0 - RGB 31, 5, 5 - RGB 29, 21, 21 - RGB 31, 31, 31 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 4, 17, 29 - RGB 6, 19, 31 - RGB 2, 15, 27 - - RGB 0, 0, 0 - RGB 28, 19, 18 - RGB 25, 9, 0 - RGB 0, 0, 0 - - RGB 0, 0, 0 - RGB 31, 27, 27 - RGB 31, 10, 4 - RGB 29, 0, 0 - - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 26, 8, 23 - RGB 22, 0, 16 - - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 20, 8, 31 - RGB 15, 1, 26 - - RGB 0, 0, 0 - RGB 31, 31, 31 - RGB 17, 12, 31 - RGB 12, 6, 31 - - RGB 0, 16, 0 - RGB 11, 11, 14 - RGB 5, 5, 7 - RGB 31, 31, 31 - - RGB 0, 31, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - - RGB 16, 31, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - RGB 0, 0, 0 - -CheckStringForErrors: -; Valid character ranges: -; $0, $5 - $13, $19 - $1c, $26 - $34, $3a - $3e, $40 - $48, $60 - $ff -.loop - ld a, [de] - inc de - and a ; "" - jr z, .NextChar - cp FIRST_REGULAR_TEXT_CHAR - jr nc, .NextChar - cp "" - jr z, .NextChar - cp "@" - jr z, .Done - cp "ガ" - jr c, .Fail - cp "" - jr c, .NextChar - cp "" + 1 - jr c, .Fail - cp "" - jr c, .NextChar - cp "" + 1 - jr c, .Fail - cp "" - jr c, .NextChar - cp "" + 1 - jr c, .Fail - cp "" - jr c, .NextChar - cp "" + 1 - jr c, .Fail - cp "" - jr c, .NextChar - -.Fail: - scf - ret - -.NextChar: - dec c - jr nz, .loop - -.Done: - and a - ret - -CheckStringForErrors_IgnoreTerminator: -; Find control chars -.loop - ld a, [de] - inc de - and a - jr z, .next - cp "" + 1 - jr nc, .next - cp "" - jr z, .next - cp "@" - jr z, .next - - cp "ガ" - jr c, .end - cp "" - jr c, .next - cp "" + 1 - jr c, .end - cp "" - jr c, .next - cp "" + 1 - jr c, .end - cp "" - jr c, .next - cp "" + 1 - jr c, .end - cp "" - jr c, .next - cp "" + 1 - jr c, .end - cp "" - jr c, .next - -.end - scf - ret - -.next - dec c - jr nz, .loop - and a - ret - -Function17d0f3: - ld a, [wMobileMonSpecies] - ld [wOTTrademonSpecies], a - ld [wCurPartySpecies], a - ld a, [wcd81] - ld [wc74e], a - ld hl, wMobileMonOT - ld de, wOTTrademonOTName - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ld a, "@" - ld [de], a - ld a, [wMobileMonID] - ld [wOTTrademonID], a - ld a, [wMobileMonID + 1] - ld [wOTTrademonID + 1], a - ld hl, wMobileMonDVs - ld a, [hli] - ld [wOTTrademonDVs], a - ld a, [hl] - ld [wOTTrademonDVs + 1], a - ld bc, wMobileMonSpecies - farcall GetCaughtGender - ld a, c - ld [wOTTrademonCaughtData], a - call SpeechTextbox - call FadeToMenu - farcall Function10804d - farcall Function17d1f1 - ld a, $1 - ld [wForceEvolution], a - ld a, LINK_TRADECENTER - ld [wLinkMode], a - farcall EvolvePokemon - xor a - ld [wLinkMode], a - farcall SaveAfterLinkTrade - ld a, BANK(s5_a800) - call OpenSRAM - ld a, BANK(s5_a800) - ld [s5_a800], a - call CloseSRAM - ld a, [wMapGroup] - ld b, a - ld a, [wMapNumber] - ld c, a - call GetMapSceneID - ld a, d - or e - jr z, .asm_17d180 - ld a, $1 - ld [de], a - -.asm_17d180 - call CloseSubmenu - call RestartMapMusic - ret - -Mobile_CopyDefaultOTName: - ld hl, Mobile5F_PlayersName - ld de, wMobileMonOT - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ret - -Mobile5F_PlayersName: - db "クりス@@" - -Mobile_CopyDefaultNickname: - ld hl, .DefaultNickname - ld de, wMobileMonNick - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ret - -.DefaultNickname: - db "?????" - -Mobile_CopyDefaultMail: - ld a, "@" - ld hl, wMobileMonMail - ld bc, MAIL_MSG_LENGTH + 1 - call ByteFill - ld hl, .DefaultMessage - ld de, wMobileMonMail - ld bc, .DefaultMessageEnd - .DefaultMessage - call CopyBytes - ret - -.DefaultMessage: - db "こんにちは@" -.DefaultMessageEnd: - -Mobile_CopyDefaultMailAuthor: - ld a, "@" - ld de, wMobileMonMailAuthor - ld bc, NAME_LENGTH_JAPANESE - 1 - call ByteFill - ld hl, Mobile5F_PlayersName - ld de, wMobileMonMailAuthor - ld bc, NAME_LENGTH_JAPANESE - 1 - call CopyBytes - ret - -CheckStringContainsLessThanBNextCharacters: -.loop - ld a, [de] - inc de - cp "" - jr nz, .next_char - dec b - jr z, .done - -.next_char - dec c - jr nz, .loop - and a - ret - -.done - scf - ret - -Function17d1f1: - ld a, [wCurPartySpecies] - dec a - call SetSeenAndCaughtMon - - ld a, [wCurPartySpecies] - cp UNOWN - jr nz, .asm_17d223 - - ld hl, wPartyMon1DVs - ld a, [wPartyCount] - dec a - ld bc, PARTYMON_STRUCT_LENGTH - call AddNTimes - predef GetUnownLetter - callfar UpdateUnownDex - ld a, [wFirstUnownSeen] - and a - jr nz, .asm_17d223 - - ld a, [wUnownLetter] - ld [wFirstUnownSeen], a - -.asm_17d223 - ret - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Parameter: [wScriptVar] = 0..1 -; -; if [wScriptVar] == FALSE -; Show japanese menu options -; - News - News - ??? - Cancel -; if [wScriptVar] == TRUE -; Show BattleTower-Menu with 3 options in english language -; - Challenge - Explanation - Cancel -Menu_ChallengeExplanationCancel: - ld a, [wScriptVar] - and a - jr nz, .English - ld a, $4 - ld [wScriptVar], a - ld hl, MenuHeader_17d26a ; Japanese Menu, where you can choose 'News' as an option - jr .Load_Interpret - -.English: - ld a, $4 - ld [wScriptVar], a - ld hl, MenuHeader_ChallengeExplanationCancel ; English Menu - -.Load_Interpret: - call LoadMenuHeader - call Function17d246 - call CloseWindow - ret - -Function17d246: - call VerticalMenu - jr c, .Exit - ld a, [wScriptVar] - cp $5 - jr nz, .UsewMenuCursorY - ld a, [wMenuCursorY] - cp $3 - ret z - jr c, .UsewMenuCursorY - dec a - jr .LoadToScriptVar - -.UsewMenuCursorY: - ld a, [wMenuCursorY] - -.LoadToScriptVar: - ld [wScriptVar], a - ret - -.Exit: - ld a, $4 - ld [wScriptVar], a - ret - -MenuHeader_17d26a: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 0, 14, 9 - dw MenuData_17d272 - db 1 ; default option - -MenuData_17d272: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 4 - db "ニュース¯よみこむ@" - db "ニュース¯みる@" - db "せつめい@" - db "やめる@" - -MenuHeader_ChallengeExplanationCancel: - db MENU_BACKUP_TILES ; flags - menu_coords 0, 0, 14, 7 - dw MenuData_ChallengeExplanationCancel - db 1 ; default option - -MenuData_ChallengeExplanationCancel: - db STATICMENU_CURSOR | STATICMENU_WRAP ; flags - db 3 - db "Challenge@" - db "Explanation@" - db "Cancel@" - -Function17d2b6: - call Function17d2c0 - farcall Function1181da - ret - -Function17d2c0: - xor a - ld [wJumptableIndex], a - ld [wcf64], a - ld [wcf65], a - ld [wcf66], a - ret - -Function17d2ce: - ld a, BANK(s5_aa72) - call OpenSRAM - ld a, [s5_aa72] - call CloseSRAM - and a - jr nz, .asm_17d2e2 - ld a, $1 - ld [wScriptVar], a - ret - -.asm_17d2e2 - call Function17d314 - ret c - call SpeechTextbox - call FadeToMenu - ldh a, [rSVBK] - push af - ld a, $4 - ldh [rSVBK], a - call Function17d370 - call Function17d45a - pop af - ldh [rSVBK], a - ld de, MUSIC_MOBILE_CENTER - ld a, e - ld [wMapMusic], a - ld [wMusicFadeID], a - ld a, d - ld [wMusicFadeID + 1], a - call PlayMusic - call ReturnToMapFromSubmenu - call CloseSubmenu - ret - -Function17d314: - ld a, BANK(s5_b1b1) - call OpenSRAM - ld a, [s5_b1b1] - call CloseSRAM - cp $21 - jr nc, .asm_17d354 - ld a, BANK(s6_a006) - call OpenSRAM - ld l, 0 - ld h, l - ld de, s6_a006 - ld a, [s6_a004] - ld c, a - ld a, [s6_a005] - ld b, a -.asm_17d336 - push bc - ld a, [de] - inc de - ld c, a - ld b, 0 - add hl, bc - pop bc - dec bc - ld a, b - or c - jr nz, .asm_17d336 - ld a, [s6_a002] - cp l - jr nz, .asm_17d354 - ld a, [s6_a003] - cp h - jr nz, .asm_17d354 - call CloseSRAM - and a - ret - -.asm_17d354 - call CloseSRAM - ld a, $5 - call OpenSRAM - xor a - ld hl, $aa73 - ld bc, $c - call ByteFill - call CloseSRAM - ld a, $2 - ld [wScriptVar], a - scf - ret - -Function17d370: - xor a - ld [wcd77], a - ld [wMobileCrashCheckPointer], a - ld [wMobileCrashCheckPointer + 1], a - dec a - ld [wcd6c], a - call ClearBGPalettes - call ClearSprites - call ClearScreen - farcall ReloadMapPart - call DisableLCD - ld hl, vTiles0 tile $ee - ld de, wc608 - ld bc, 1 tiles - call CopyBytes - ld a, $1 - ldh [rVBK], a - ld hl, PokemonNewsGFX - ld de, vTiles1 - ld bc, $48 tiles - call CopyBytes - xor a - ld hl, vTiles2 tile $7f - ld bc, 1 tiles - call ByteFill - ld hl, wc608 - ld de, vTiles0 tile $ee - ld bc, 1 tiles - call CopyBytes - xor a - ldh [rVBK], a - ld hl, PostalMarkGFX - ld de, vTiles2 tile $60 - ld bc, 1 tiles - call CopyBytes - call EnableLCD - call Function17d60b - ld a, $0 - ld [wBGMapBuffer], a - ld a, $d0 - ld [wcd21], a - ld a, BANK(s6_a006) - call OpenSRAM - ld hl, s6_a006 - ld de, w4_d000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret - -Function17d3f6: - call ClearBGPalettes - call ClearSprites - call ClearScreen - farcall ReloadMapPart - -Function17d405: - call DisableLCD - ld hl, vTiles0 tile $ee - ld de, wc608 - ld bc, 1 tiles - call CopyBytes - ld a, $1 - ldh [rVBK], a - ld hl, PokemonNewsGFX - ld de, vTiles1 - ld bc, $48 tiles - call CopyBytes - xor a - ld hl, vTiles2 tile $7f - ld bc, 1 tiles - call ByteFill - ld hl, wc608 - ld de, vTiles0 tile $ee - ld bc, 1 tiles - call CopyBytes - xor a - ldh [rVBK], a - call EnableLCD - ldh a, [rSVBK] - push af - ld a, $5 - ldh [rSVBK], a - ld hl, PokemonNewsPalettes - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - call SetPalettes - pop af - ldh [rSVBK], a - ret - -Function17d45a: -.asm_17d45a - call JoyTextDelay - ld a, [wcd77] - bit 7, a - jr nz, .asm_17d46f - call Function17d474 - farcall ReloadMapPart - jr .asm_17d45a - -.asm_17d46f - xor a - ld [wScriptVar], a - ret - -Function17d474: - jumptable Jumptable_17d483, wcd77 - -Jumptable_17d483: - dw Function17d48d - dw Function17d5be - dw Function17d5c4 - dw Function17d6fd - dw Function17e427 - -Function17d48d: - ld hl, PokemonNewsPalettes - ld de, wc608 - ld bc, $40 - call CopyBytes - ld hl, PokemonNewsTileAttrmap - decoord 0, 0 - bccoord 0, 0, wAttrmap - ld a, $12 -.asm_17d4a4 - push af - ld a, $14 - push hl -.asm_17d4a8 - push af - ld a, [hli] - cp $7f - jr z, .asm_17d4b0 - add $80 - -.asm_17d4b0 - ld [de], a - inc de - ld a, [hli] - ld [bc], a - inc bc - pop af - dec a - jr nz, .asm_17d4a8 - pop hl - push bc - ld bc, $40 - add hl, bc - pop bc - pop af - dec a - jr nz, .asm_17d4a4 - ld a, [wBGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - ld a, [hli] - ld e, a - ld a, [wcd6c] - cp e - jr z, .asm_17d4e0 - ld a, e - ld [wcd6c], a - ld [wMapMusic], a - ld d, $0 - call PlayMusic2 - -.asm_17d4e0 - ld a, [hli] - ld de, wc608 - ld c, $8 -.asm_17d4e6 - srl a - jr nc, .asm_17d4f6 - ld b, $8 - push af -.asm_17d4ed - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .asm_17d4ed - pop af - jr .asm_17d4fc - -.asm_17d4f6 - push af - ld a, e - add $8 - ld e, a - pop af - -.asm_17d4fc - dec c - jr nz, .asm_17d4e6 - push hl - call Function17d5f6 - pop hl - ld a, [hli] - and a - jr z, .asm_17d539 -.asm_17d508 - push af - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [hli] - sla a - sla a - sla a - add $98 - ld [wcd53], a - ld de, wcd4f - call Function17e613 - ld a, [hli] - ld [wcd53], a - ld de, wcd4f - call Function17e691 - pop af - dec a - jr nz, .asm_17d508 - -.asm_17d539 - ld a, [hli] -.asm_17d53a - push af - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - push hl - pop de - hlcoord 0, 0 - add hl, bc - call PlaceString - push de - pop hl - inc hl - pop af - dec a - jr nz, .asm_17d53a - ld de, wCreditsTimer - ld bc, $c - call CopyBytes - xor a - ld [wcd2e], a - ld [wcd2f], a - inc a - ld [wcd30], a - ld [wcd31], a - ld de, wcd32 - ld bc, $10 - call CopyBytes - ld a, [hli] - ld [wcd42], a - ld a, [hli] - ld [wcd43], a - ld a, [hli] - ld [wMobileInactivityTimerMinutes], a - ld a, [hli] - ld [wMobileInactivityTimerSeconds], a - ld a, [hli] - ld [wMobileInactivityTimerFrames], a - ld a, [hli] - and a - jr z, .asm_17d58a - call Function17d6a1 - -.asm_17d58a - ld a, l - ld [wcd49], a - ld a, h - ld [wcd4a], a - ld a, [wcd42] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, l - ld [wcd4b], a - ld a, h - ld [wcd4c], a - add hl, bc - add hl, bc - ld a, l - ld [wcd4d], a - ld a, h - ld [wcd4e], a - call Function17e451 - call Function17e55b - call Function17e5af - farcall ReloadMapPart - jp Function17e438 - -Function17d5be: - call SetPalettes - call Function17e438 - -Function17d5c4: - ldh a, [hJoyPressed] - and a - ret z - ld c, 0 - ld b, c - ld hl, wcd32 -.loop - srl a - jr c, .got_button - inc c - inc c - jr .loop - -.got_button - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - and c - cp $ff - ret z - ld a, [wcd20] - ld l, a - ld a, [wcd21] - ld h, a - add hl, bc - ld a, l - ld [wMobileCrashCheckPointer], a - ld a, h - ld [wMobileCrashCheckPointer + 1], a - ld a, $3 - ld [wcd77], a - ret - -Function17d5f6: - ld a, $5 - ldh [rSVBK], a - ld hl, wc608 - ld de, wBGPals1 - ld bc, 8 palettes - call CopyBytes - ld a, $4 - ldh [rSVBK], a - ret - -Function17d60b: - ld a, $5 - call OpenSRAM - ld hl, $b1d3 - ld de, wc608 - ld bc, $20 - call CopyBytes - ld a, [$b1b1] - ld c, a - ld a, [$b1b2] - ld b, a - ld a, [$b1b3] - ld l, a - ld a, [$b1b4] - ld h, a - call CloseSRAM - ld a, $6 - call OpenSRAM - ld de, wc708 - ld a, c - and a - jr z, .asm_17d684 -.asm_17d63b - push bc - ld a, l - ld [de], a - inc de - ld a, h - ld [de], a - inc de - ld bc, $a - add hl, bc - pop bc - ld a, [hli] - ld [wcd4a], a - ld a, [hli] - ld [wcd49], a - push hl - push de - ld hl, wc608 - ld e, b - ld d, $0 - add hl, de - ld a, [hli] - ld [wcd4b], a - ld a, [hl] - ld [wcd4c], a - pop de - pop hl - inc b - inc b - dec c - dec c - jr z, .asm_17d684 - push bc - push de - ld a, [wcd49] - ld c, a - ld a, [wcd4a] - ld b, a - ld a, [wcd4b] - ld e, a - ld a, [wcd4c] - ld d, a -.asm_17d67a - add hl, de - dec bc - ld a, c - or b - jr nz, .asm_17d67a - pop de - pop bc - jr .asm_17d63b - -.asm_17d684 - call CloseSRAM - ld a, $5 - call OpenSRAM - ld hl, wc708 - ld de, $b1b3 - ld a, [$b1b1] - ld c, a - ld a, [$b1b2] - ld b, a - call CopyBytes - call CloseSRAM - ret - -Function17d6a1: - push hl - ld a, [wcd6e] - ld c, a - ld b, 0 - ld a, $5 - call OpenSRAM - ld hl, $b1d3 - add hl, bc - add hl, bc - ld a, [hli] - ld [wcd47], a - ld a, [hl] - ld [wBGMapPalBuffer], a - ld hl, $b1b3 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - call CloseSRAM - ld a, $6 - call OpenSRAM - ld a, l - ld [wcd5e], a - ld a, h - ld [wcd5f], a - ld de, wcd60 - ld bc, $4 - call CopyBytes - inc hl - inc hl - ld de, wcd64 - ld bc, $4 - call CopyBytes - ld a, [hli] - ld [wcd69], a - ld a, [hli] - ld [wcd68], a - ld a, l - ld [wcd6a], a - ld a, h - ld [wcd6b], a - call CloseSRAM - pop hl - ret - -Function17d6fd: - ld a, [wcd77] - bit 7, a - jr nz, asm_17d721 - ld a, [wMobileCrashCheckPointer] - ld l, a - ld a, [wMobileCrashCheckPointer + 1] - ld h, a - ld a, [hl] - cp $ff - jr z, asm_17d721 - -Function17d711: -.crash_loop - cp $31 - jr nc, .crash_loop - ld e, a - ld d, 0 - ld hl, Jumptable17d72a - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -asm_17d721: - call Function17e5af - ld a, $2 - ld [wcd77], a - ret - -Jumptable17d72a: - dw Function17d78c - dw Function17d78d - dw Function17d7b4 - dw Function17d7c2 - dw Function17d7d3 - dw Function17d7e5 - dw Function17d818 - dw Function17d833 - dw Function17d85d - dw Function17d902 - dw Function17d93a - dw Function17d98b - dw Function17d9e3 - dw Function17da31 - dw Function17da9c - dw Function17dadc - dw Function17db2d - dw Function17db56 - dw Function17db77 - dw Function17dbe9 - dw Function17dc1f - dw Function17dc9f - dw Function17dca9 - dw Function17dccf - dw Function17dd13 - dw Function17dd30 - dw Function17dd49 - dw Function17ddcd - dw Function17de32 - dw Function17de91 - dw Function17ded9 - dw Function17e0fd - dw Function17e133 - dw Function17e165 - dw Function17e1a1 - dw Function17e254 - dw Function17e261 - dw Function17e270 - dw Function17e27f - dw Function17e293 - dw Function17e2a7 - dw IncCrashCheckPointer_SaveGameData - dw IncCrashCheckPointer_SaveAfterLinkTrade - dw IncCrashCheckPointer_SaveBox - dw IncCrashCheckPointer_SaveChecksum - dw IncCrashCheckPointer_SaveTrainerRankingsChecksum - dw Function17e3e0 - dw Function17e3f0 - dw Function17e409 - -Function17d78c: - ret - -Function17d78d: - call IncCrashCheckPointer - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call HlToCrashCheckPointer - ld a, BANK(s6_a006) - call OpenSRAM - ld hl, s6_a006 - add hl, bc - ld de, w4_d000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - xor a - ld [wcd77], a - call ClearBGPalettes - ret - -Function17d7b4: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld d, 0 - call PlayMusic2 - call HlToCrashCheckPointer - ret - -Function17d7c2: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld d, 0 - call PlaySFX - call WaitSFX - call HlToCrashCheckPointer - ret - -Function17d7d3: - call IncCrashCheckPointer - ld a, [hli] - dec a - ld e, a - ld d, 0 - call PlayCry - call WaitSFX - call HlToCrashCheckPointer - ret - -Function17d7e5: - call IncCrashCheckPointer - ld a, [hli] - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [hli] - sla a - sla a - sla a - add $98 - ld [wcd53], a - ld de, wcd4f - call Function17e613 - ld a, [hli] - ld [wcd53], a - ld de, wcd4f - call Function17e691 - call HlToCrashCheckPointer - ret - -Function17d818: - call IncCrashCheckPointer - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call HlToCrashCheckPointer - call Function17e447 - ld e, l - ld d, h - hlcoord 0, 0 - add hl, bc - call PlaceString - ret - -Function17d833: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call HlToCrashCheckPointer - push de - push bc - call Function17e32b - pop bc - pop de - call Function17e43d - ld c, l - ld b, h - hlcoord 0, 0 - add hl, de - ld e, l - ld d, h - farcall Function11c08f - call Function17e349 - ret - -Function17d85d: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push hl - ld hl, wBGPals1 - add hl, de - ld de, wcc60 -.asm_17d86c - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_17d86c - pop hl - ld de, wc608 - ld c, $0 -.asm_17d878 - ld a, [hli] - cp $ff - jr z, .asm_17d8c7 - ld [wcd4f], a - ld a, [hli] - ld [wcd50], a - ld a, [hli] - ld [wcd51], a - ld a, [hli] - ld [wcd52], a - ld a, [wcd51] - push af - cp $c0 - jr c, .asm_17d89b - ld a, [wcd4f] - ldh [rSVBK], a - jr .asm_17d8a1 - -.asm_17d89b - ld a, [wcd4f] - call OpenSRAM - -.asm_17d8a1 - push hl - ld a, [wcd50] - ld l, a - ld a, [wcd51] - ld h, a - ld a, [wcd52] -.asm_17d8ad - push af - ld a, [hli] - ld [de], a - inc de - inc c - pop af - dec a - jr nz, .asm_17d8ad - pop hl - pop af - cp $c0 - jr c, .asm_17d8c2 - ld a, $4 - ldh [rSVBK], a - jr .asm_17d878 - -.asm_17d8c2 - call CloseSRAM - jr .asm_17d878 - -.asm_17d8c7 - call HlToCrashCheckPointer - push bc - ld a, $3 - ldh [rSVBK], a - ld hl, wc608 - ld de, wBGPals1 - ld b, $0 - call CopyBytes - ld a, $4 - ldh [rSVBK], a - call Function17e32b - pop bc - ld a, c - ld [wcd3b], a - xor a - ld [wcf66], a - farcall Function118329 - ld a, [wMobileErrorCodeBuffer] - and a - jr z, .asm_17d8fe - cp $a - jr z, .asm_17d8fe - call Function17e309 - ret - -.asm_17d8fe - call Function17e349 - ret - -Function17d902: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - call HlToCrashCheckPointer - call Function17e32b - pop de - ld hl, wBGPals1 - add hl, de - ld de, wcc60 -.asm_17d918 - ld a, [hli] - ld [de], a - inc de - and a - jr nz, .asm_17d918 - xor a - ld [wcf66], a - farcall Function11837a - ld a, [wMobileErrorCodeBuffer] - and a - jr z, .asm_17d936 - cp $a - jr z, .asm_17d936 - call Function17e309 - ret - -.asm_17d936 - call Function17e349 - ret - -Function17d93a: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $5 - call CopyBytes - call HlToCrashCheckPointer - call Function17e32b - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, [wc70c] - call Function17e6de - ld a, [wc70a] - ld [wCurPartySpecies], a - ld a, [wc70c] - ld e, a - farcall LoadMonPaletteAsNthBGPal - call SetPalettes - ld a, [wc708] - ld l, a - ld a, [wc709] - ld h, a - ld a, [wc70b] - ld c, a - decoord 0, 0 - add hl, de - ld e, l - ld d, h - farcall HOF_AnimateFrontpic - pop af - ldh [rSVBK], a - call Function17e349 - ret - -Function17d98b: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $4 - call CopyBytes - call HlToCrashCheckPointer - call Function17e32b - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld a, [wc70b] - call Function17e6de - ld a, [wc70a] - ld [wTrainerClass], a - ld a, [wc70b] - ld e, a - farcall LoadTrainerClassPaletteAsNthBGPal - call SetPalettes - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - push de - ld de, vTiles2 - farcall GetTrainerPic - pop hl - decoord 0, 0 - add hl, de - ld bc, $707 - predef PlaceGraphic - pop af - ldh [rSVBK], a - call Function17e349 - ret - -Function17d9e3: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $7 - call CopyBytes - call HlToCrashCheckPointer - ld a, [wc70b] - push af - cp $c0 - jr c, .asm_17da01 - ld a, [wc70c] - ldh [rSVBK], a - jr .asm_17da07 - -.asm_17da01 - ld a, [wc70c] - call OpenSRAM - -.asm_17da07 - ld a, [wc708] - ld l, a - ld a, [wc709] - ld h, a - ld a, [wc70a] - ld e, a - ld a, [wc70b] - ld d, a - ld a, [wc70d] - ld c, a - ld a, [wc70e] - ld b, a - call CopyBytes - pop af - cp $c0 - jr c, .asm_17da2d - ld a, $4 - ldh [rSVBK], a - jr .asm_17da30 - -.asm_17da2d - call CloseSRAM - -.asm_17da30 - ret - -Function17da31: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $4 - call CopyBytes - call HlToCrashCheckPointer - ld a, [wc709] - push af - cp $c0 - jr c, .asm_17da4f - ld a, [wc70a] - ldh [rSVBK], a - jr .asm_17da55 - -.asm_17da4f - ld a, [wc70a] - call OpenSRAM - -.asm_17da55 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - ld a, [wc70b] - ld c, a - bit 7, c - jr nz, .asm_17da70 - ld hl, Unknown_17da8c - ld b, $0 - add hl, bc - ld a, [de] - or [hl] - ld [de], a - jr .asm_17da7d - -.asm_17da70 - ld hl, Unknown_17da94 - ld a, c - and $7f - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - and [hl] - ld [de], a - -.asm_17da7d - pop af - cp $c0 - jr c, .asm_17da88 - ld a, $4 - ldh [rSVBK], a - jr .asm_17da8b - -.asm_17da88 - call CloseSRAM - -.asm_17da8b - ret - -Unknown_17da8c: -for x, 8 - db 1 << x -endr - -Unknown_17da94: -for x, 8 - db ~(1 << x) -endr - -Function17da9c: - ld a, [wcd31] - dec a - jr z, .asm_17dabd - push af - call Function17e566 - pop af - ld [wcd31], a - ld hl, wcd24 - ld a, [wcd2e] - sub [hl] - ld [wcd2e], a - call Function17e55b - call Function17e5af -.asm_17daba - jp IncCrashCheckPointer - -.asm_17dabd - ld a, [wcd2f] - and a - jr z, .asm_17daba - ld hl, wcd24 - sub [hl] - ld [wcd2f], a - ld a, [wcd2e] - sub [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jr .asm_17daba - -Function17dadc: - ld a, [wcd2e] - ld hl, wcd24 - add [hl] - ld hl, wcd42 - cp [hl] - jr z, .asm_17db0e - jr nc, .asm_17db0e - ld hl, wcd31 - ld a, [wcd2b] - cp [hl] - jr z, .asm_17db11 - call Function17e566 - ld a, [wcd31] - inc a - ld [wcd31], a - ld hl, wcd24 - ld a, [wcd2e] - add [hl] - ld [wcd2e], a - call Function17e55b - call Function17e5af - -.asm_17db0e - jp IncCrashCheckPointer - -.asm_17db11 - ld hl, wcd24 - ld a, [wcd2f] - add [hl] - ld [wcd2f], a - ld a, [wcd2e] - add [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jr .asm_17db0e - -Function17db2d: - ld a, [wcd30] - ld hl, wcd24 - cp [hl] - jr z, .asm_17db53 - ld hl, wcd42 - ld a, [wcd2e] - inc a - cp [hl] - jr z, .asm_17db53 - ld [wcd2e], a - call Function17e566 - ld a, [wcd30] - inc a - ld [wcd30], a - call Function17e55b - call Function17e5af - -.asm_17db53 - jp IncCrashCheckPointer - -Function17db56: - ld a, [wcd30] - cp $1 - jr z, .asm_17db74 - call Function17e566 - ld a, [wcd30] - dec a - ld [wcd30], a - ld a, [wcd2e] - dec a - ld [wcd2e], a - call Function17e55b - call Function17e5af - -.asm_17db74 - jp IncCrashCheckPointer - -Function17db77: - ld hl, wcd2d - ld a, [wcd2f] - add [hl] - ld hl, wcd42 - cp [hl] - jr z, .asm_17dbae - jr nc, .asm_17dbae - call Function17e566 - ld hl, wcd2d - ld a, [wcd2f] - add [hl] - ld [wcd2f], a - ld a, [wcd2e] - add [hl] - ld hl, wcd42 - cp [hl] - jr c, .asm_17db9f - ld a, [hl] - dec a - -.asm_17db9f - ld [wcd2e], a - call Function17dbb1 - call Function17e451 - call Function17e55b - call Function17e5af - -.asm_17dbae - jp IncCrashCheckPointer - -Function17dbb1: - ld hl, wcd2f - ld a, [wcd42] - sub [hl] - ld hl, wcd2d - cp [hl] - ret nc - ld a, $1 - ld [wcd30], a - ld [wcd31], a - ld a, [wcd24] - ld c, a - ld a, [wcd24] - ld b, a - ld a, [wcd2e] - ld hl, wcd2f - sub [hl] -.asm_17dbd4 - and a - ret z - push af - ld hl, wcd30 - ld a, b - cp [hl] - jr nz, .asm_17dbe4 - ld a, $1 - ld [hl], a - ld hl, wcd31 - -.asm_17dbe4 - inc [hl] - pop af - dec a - jr .asm_17dbd4 - -Function17dbe9: - ld hl, wcd2d - ld a, [wcd2f] - sub [hl] - bit 7, a - jr z, .asm_17dbf5 - xor a - -.asm_17dbf5 - ld [wcd2f], a - ld a, [wcd30] - dec a - ld c, a - ld a, [wcd31] - ld b, a - xor a - ld hl, wcd24 -.asm_17dc05 - dec b - jr z, .asm_17dc0b - add [hl] - jr .asm_17dc05 - -.asm_17dc0b - add c - ld hl, wcd2f - add [hl] - ld [wcd2e], a - call Function17e451 - call Function17e55b - call Function17e5af - jp IncCrashCheckPointer - -Function17dc1f: - call IncCrashCheckPointer - ld de, wc688 - ld bc, $6 - call CopyBytes - call Function17e32b - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld hl, wc688 - ld a, $40 - ld [wc708], a - ld a, [hli] - ld [wc70a], a - add $5 - ld [wc70c], a - ld a, [hli] - ld [wc709], a - add $4 - ld [wc70b], a - ld a, $96 - ld [wc70d], a - ld a, $5c - ld [wc70e], a - ld a, $1 - ld [wc70f], a - ld hl, wc708 - call LoadMenuHeader - call VerticalMenu - jr nc, .asm_17dc6e - ld a, $2 - ld [wMenuCursorY], a - -.asm_17dc6e - call CloseWindow - pop af - ldh [rSVBK], a - ld a, [wMenuCursorY] - cp $1 - jr nz, .asm_17dc85 - ld a, [wc68a] - ld l, a - ld a, [wc68a + 1] - ld h, a - jr .asm_17dc8d - -.asm_17dc85 - ld a, [wc68a + 2] - ld l, a - ld a, [wc68a + 3] - ld h, a - -.asm_17dc8d - push hl - call Function17e349 - pop hl - call Function17e40f - ret - -MenuData_17dc96: ; unreferenced - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags - db 2 - db "はい@" - db "いいえ@" - -Function17dc9f: - call IncCrashCheckPointer - call HlToCrashCheckPointer - call RotateFourPalettesLeft - ret - -Function17dca9: - call IncCrashCheckPointer - call HlToCrashCheckPointer - -Function17dcaf: - ld a, $5 - ldh [rSVBK], a - ld hl, wBGPals1 - ld de, 1 palettes - ld c, 8 -.asm_17dcbb - push hl - ld a, $ff - ld [hli], a - ld a, $7f - ld [hl], a - pop hl - add hl, de - dec c - jr nz, .asm_17dcbb - call RotateThreePalettesRight - ld a, $4 - ldh [rSVBK], a - ret - -Function17dccf: - call IncCrashCheckPointer - push hl - ld a, [wcd4b] - ld l, a - ld a, [wcd4c] - ld h, a - ld a, [wcd2e] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld c, a - ld a, [hl] - ld b, a - call Function17e43d - call HlToCrashCheckPointer -.asm_17dced - ld a, [wMobileCrashCheckPointer] - ld l, a - ld a, [wMobileCrashCheckPointer + 1] - ld h, a - ld a, [hl] - cp $ff - jr z, .asm_17dd0d -.crash_loop - cp $31 - jr nc, .crash_loop - call Function17d711 - ld a, [wcd77] - bit 7, a - jr nz, .asm_17dd0d - and a - jr z, .asm_17dd11 - jr .asm_17dced - -.asm_17dd0d - pop hl - jp HlToCrashCheckPointer - -.asm_17dd11 - pop hl - ret - -Function17dd13: - call IncCrashCheckPointer - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - call HlToCrashCheckPointer - call Function17e447 - push hl - hlcoord 0, 0 - add hl, bc - push hl - pop bc - pop hl - call PlaceHLTextAtBC - ret - -Function17dd30: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld b, 0 - ld a, [hli] - push af - call HlToCrashCheckPointer - pop af - hlcoord 0, 0 - add hl, de - call Function17e600 - ret - -Function17dd49: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $a - call CopyBytes - ld a, [wc711] - ld c, a - ld b, 0 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .sram - ld a, [wc708] - ldh [rSVBK], a - jr .got_bank - -.sram - ld a, [wc708] - call OpenSRAM - -.got_bank - ld a, [wc709] - ld l, a - ld a, [wc70a] - ld h, a - ld de, wc688 - ld a, [wc711] - ld c, a - ld b, 0 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .close_sram - ld a, $4 - ldh [rSVBK], a - jr .exited_bank - -.close_sram - call CloseSRAM - -.exited_bank - ld a, [wc711] - ld c, a - ld hl, wc712 - ld de, wc688 -.loop - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .next - jr c, .load - jr .load2 - -.next - dec c - jr nz, .loop - ld a, [wc70d] - ld l, a - ld a, [wc70e] - ld h, a - jr .done - -.load2 - ld a, [wc70f] - ld l, a - ld a, [wc710] - ld h, a - jr .done - -.load - ld a, [wc70b] - ld l, a - ld a, [wc70c] - ld h, a - -.done - call Function17e40f - ret - -Function17ddcd: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $8 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17dde7 - ld a, [wc708] - ldh [rSVBK], a - jr .asm_17dded - -.asm_17dde7 - ld a, [wc708] - call OpenSRAM - -.asm_17dded - ld a, [wc709] - ld e, a - ld a, [wc70a] - ld d, a - ld a, [de] - ld [wc710], a - ld a, [wc70b] - ld c, a - ld b, 0 - ld a, [wc70a] - cp $c0 - jr c, .asm_17de0c - ld a, $4 - ldh [rSVBK], a - jr .asm_17de0f - -.asm_17de0c - call CloseSRAM - -.asm_17de0f - push hl - ld hl, Unknown_17da8c - add hl, bc - ld a, [hl] - ld hl, wc710 - and [hl] - pop hl - jr nz, .asm_17de26 - ld a, [wc70e] - ld l, a - ld a, [wc70f] - ld h, a - jr .asm_17de2e - -.asm_17de26 - ld a, [wc70c] - ld l, a - ld a, [wc70d] - ld h, a - -.asm_17de2e - call Function17e40f - ret - -Function17de32: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $9 - call CopyBytes - ld a, [wc710] - ld c, a - ld b, 0 - call CopyBytes - ld a, $6 - call OpenSRAM - call Function17f4f6 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - add hl, de - ld e, l - ld d, h - ld a, [wc710] - ld c, a - ld hl, wc711 -.asm_17de61 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17de6b - jr c, .asm_17de82 - jr .asm_17de78 - -.asm_17de6b - dec c - jr nz, .asm_17de61 - ld a, [wc70c] - ld l, a - ld a, [wc70d] - ld h, a - jr .asm_17de8a - -.asm_17de78 - ld a, [wc70e] - ld l, a - ld a, [wc70f] - ld h, a - jr .asm_17de8a - -.asm_17de82 - ld a, [wc70a] - ld l, a - ld a, [wc70b] - ld h, a - -.asm_17de8a - call CloseSRAM - call Function17e40f - ret - -Function17de91: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $7 - call CopyBytes - ld a, $6 - call OpenSRAM - call Function17f4f6 - ld a, [wc708] - ld e, a - ld a, [wc709] - ld d, a - add hl, de - ld e, l - ld d, h - ld a, [wc70a] - ld c, a - ld b, 0 - ld hl, Unknown_17da8c - add hl, bc - ld a, [hl] - ld l, e - ld h, d - and [hl] - jr nz, .asm_17deca - ld a, [wc70d] - ld l, a - ld a, [wc70e] - ld h, a - jr .asm_17ded2 - -.asm_17deca - ld a, [wc70b] - ld l, a - ld a, [wc70c] - ld h, a - -.asm_17ded2 - call CloseSRAM - call Function17e40f - ret - -Function17ded9: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $1f - call CopyBytes - call Function17e32b - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [wCurPartySpecies], a - ld [wTempEnemyMonSpecies], a - ld a, [hli] - ld [wCurPartyLevel], a - ld a, [hli] - ld b, a - ld a, [wPartyCount] - cp $6 - jp nc, Function17e026 - xor a - ld [wMonType], a - push hl - push bc - predef TryAddMonToParty - farcall SetCaughtData - pop bc - pop hl - bit 1, b - jr z, .asm_17df33 - push bc - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMonNicknames - call SkipNames - ld d, h - ld e, l - pop hl - call CopyBytes - pop bc - jr .asm_17df37 - -.asm_17df33 - ld de, $6 - add hl, de - -.asm_17df37 - bit 2, b - jr z, .asm_17df5a - push bc - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMonOTs - call SkipNames - ld d, h - ld e, l - pop hl - call CopyBytes - ld a, [hli] - ld b, a - push hl - farcall SetGiftPartyMonCaughtData - pop hl - pop bc - jr .asm_17df5e - -.asm_17df5a - ld de, $7 - add hl, de - -.asm_17df5e - bit 3, b - jr z, .asm_17df79 - push bc - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1ID - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17df7b - -.asm_17df79 - inc hl - inc hl - -.asm_17df7b - bit 4, b - jr z, .asm_17dfd0 - push bc - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1DVs - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1Species - call GetPartyLocation - ld a, [hl] - ld [wCurSpecies], a - call GetBaseData - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1MaxHP - call GetPartyLocation - ld d, h - ld e, l - push hl - ld b, FALSE - farcall CalcMonStats - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1HP - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - pop hl - pop bc - jr .asm_17dfd2 - -.asm_17dfd0 - inc hl - inc hl - -.asm_17dfd2 - bit 5, b - jr z, .asm_17dfea - push bc - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1Item - call GetPartyLocation - ld d, h - ld e, l - pop hl - ld a, [hli] - ld [de], a - pop bc - jr .asm_17dfeb - -.asm_17dfea - inc hl - -.asm_17dfeb - bit 6, b - jr z, .asm_17e01f - push bc - push hl - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1Moves - call GetPartyLocation - ld d, h - ld e, l - pop hl - push de - ld bc, $4 - call CopyBytes - pop de - push hl - push de - ld a, [wPartyCount] - dec a - ld hl, wPartyMon1PP - call GetPartyLocation - ld d, h - ld e, l - pop hl - predef FillPP - pop hl - pop bc - jp asm_17e0ee - -.asm_17e01f - ld de, $4 - add hl, de - jp asm_17e0ee - -Function17e026: - ld a, BANK(sBoxCount) - call OpenSRAM - ld a, [sBoxCount] - call CloseSRAM - cp $14 - jp nc, .asm_17e0ea - bit 0, b - jp z, .asm_17e0ea - push bc - push hl - farcall LoadEnemyMon - farcall SendMonIntoBox - farcall SetBoxMonCaughtData - pop hl - pop bc - ld a, BANK(sBoxMonNicknames) - call OpenSRAM - bit 1, b - jr z, .asm_17e067 - push bc - ld bc, $b - ld de, sBoxMonNicknames - call CopyBytes - pop bc - jr .asm_17e06b - -.asm_17e067 - ld de, $6 - add hl, de - -.asm_17e06b - bit 2, b - jr z, .asm_17e08e - push bc - ld bc, $6 - ld de, sBoxMonOTs - call CopyBytes - ld a, [hli] - ld b, a - push hl - call CloseSRAM - farcall SetGiftBoxMonCaughtData - ld a, $1 - call OpenSRAM - pop hl - pop bc - jr .asm_17e092 - -.asm_17e08e - ld de, $7 - add hl, de - -.asm_17e092 - bit 3, b - jr z, .asm_17e0a2 - push bc - ld de, sBoxMon1ID - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17e0a4 - -.asm_17e0a2 - inc hl - inc hl - -.asm_17e0a4 - bit 4, b - jr z, .asm_17e0b4 - push bc - ld de, sBoxMon1DVs - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - pop bc - jr .asm_17e0b6 - -.asm_17e0b4 - inc hl - inc hl - -.asm_17e0b6 - bit 5, b - ld a, [hli] - jr z, .asm_17e0be - ld [sBoxMon1Item], a - -.asm_17e0be - bit 6, b - jr z, .asm_17e0e1 - push bc - ld de, sBoxMon1Moves - ld bc, $4 - call CopyBytes - push hl - ld hl, sBoxMon1Moves - ld de, sBoxMon1PP - predef FillPP - call CloseSRAM - pop hl - pop bc - inc hl - inc hl - jr asm_17e0ee - -.asm_17e0e1 - call CloseSRAM - ld de, $6 - add hl, de - jr asm_17e0ee - -.asm_17e0ea - ld bc, $1a - add hl, bc - -asm_17e0ee: - ld a, [hli] - ld h, [hl] - ld l, a - pop af - ldh [rSVBK], a - push hl - call Function17e349 - pop hl - call Function17e40f - ret - -Function17e0fd: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $6 - call CopyBytes - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [wCurItem], a - ld a, [hli] - ld [wItemQuantityChange], a - push hl - ld hl, wNumItems - call ReceiveItem - pop hl - jr c, .asm_17e127 - inc hl - inc hl - -.asm_17e127 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ldh [rSVBK], a - call Function17e40f - ret - -Function17e133: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $5 - call CopyBytes - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [wScriptVar], a - push hl - farcall MobileCheckOwnMonAnywhere - pop hl - jr c, .asm_17e159 - inc hl - inc hl - -.asm_17e159 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ldh [rSVBK], a - call Function17e40f - ret - -Function17e165: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $5 - call CopyBytes - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - ld hl, wc708 - ld a, [hli] - ld [wCurItem], a - push hl - ld hl, wNumItems - call CheckItem - pop hl - jr c, .asm_17e195 - push hl - ld hl, wNumPCItems - call CheckItem - pop hl - jr c, .asm_17e195 - inc hl - inc hl - -.asm_17e195 - ld a, [hli] - ld b, a - ld a, [hl] - ld h, a - ld l, b - pop af - ldh [rSVBK], a - call Function17e40f - ret - -Function17e1a1: - call IncCrashCheckPointer - ld de, wc708 - ld bc, $d - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17e1bb - ld a, [wc708] - ldh [rSVBK], a - jr .asm_17e1c1 - -.asm_17e1bb - ld a, [wc708] - call OpenSRAM - -.asm_17e1c1 - ld a, [wc709] - ld l, a - ld a, [wc70a] - ld h, a - ld de, wc608 - ld a, [wc70b] - ld c, a - ld b, 0 - call CopyBytes - ld a, [wc70a] - cp $c0 - jr c, .asm_17e1e2 - ld a, $4 - ldh [rSVBK], a - jr .asm_17e1e5 - -.asm_17e1e2 - call CloseSRAM - -.asm_17e1e5 - ld a, [wc70e] - cp $c0 - jr c, .asm_17e1f3 - ld a, [wc70c] - ldh [rSVBK], a - jr .asm_17e1f9 - -.asm_17e1f3 - ld a, [wc70c] - call OpenSRAM - -.asm_17e1f9 - ld a, [wc70d] - ld l, a - ld a, [wc70e] - ld h, a - ld de, wc688 - ld a, [wc70b] - ld c, a - ld b, 0 - call CopyBytes - ld a, [wc70e] - cp $c0 - jr c, .asm_17e21a - ld a, $4 - ldh [rSVBK], a - jr .asm_17e21d - -.asm_17e21a - call CloseSRAM - -.asm_17e21d - ld a, [wc70b] - ld c, a - ld hl, wc688 - ld de, wc608 -.asm_17e227 - ld a, [de] - inc de - cp [hl] - inc hl - jr z, .asm_17e231 - jr c, .asm_17e23e - jr .asm_17e248 - -.asm_17e231 - dec c - jr nz, .asm_17e227 - ld a, [wc711] - ld l, a - ld a, [wc712] - ld h, a - jr .asm_17e250 - -.asm_17e23e - ld a, [wc70f] - ld l, a - ld a, [wc710] - ld h, a - jr .asm_17e250 - -.asm_17e248 - ld a, [wc712 + 1] - ld l, a - ld a, [wc712 + 2] - ld h, a - -.asm_17e250 - call Function17e40f - ret - -Function17e254: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [de], a - call HlToCrashCheckPointer - ret - -Function17e261: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - add [hl] - ld [de], a - inc hl - call HlToCrashCheckPointer - ret - -Function17e270: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - sub [hl] - ld [de], a - inc hl - call HlToCrashCheckPointer - ret - -Function17e27f: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call HlToCrashCheckPointer - ld l, c - ld h, b - ld a, [de] - add [hl] - ld [de], a - ret - -Function17e293: - call IncCrashCheckPointer - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - call HlToCrashCheckPointer - ld l, c - ld h, b - ld a, [de] - sub [hl] - ld [de], a - ret - -Function17e2a7: - call IncCrashCheckPointer - call HlToCrashCheckPointer - call Function17e32b - xor a - ld [wcf66], a - farcall Function118233 - ld de, PostalMarkGFX - ld hl, vTiles2 tile $60 - lb bc, BANK(PostalMarkGFX), 1 - call Get2bpp - ld a, [wMobileErrorCodeBuffer] - and a - jr z, .asm_17e2d8 - cp $a - jr z, .asm_17e2f7 - cp $b - jr z, .asm_17e300 - call Function17e309 - ret - -.asm_17e2d8 - call Function17d60b - call Function17e349 - xor a - ld [wcd7a], a - ld a, $5 - call OpenSRAM - ld hl, $aa73 - ld de, $aa7f - ld bc, $c - call CopyBytes - call CloseSRAM - ret - -.asm_17e2f7 - call Function17e349 - ld a, $1 - ld [wcd7a], a - ret - -.asm_17e300 - call Function17e349 - ld a, $2 - ld [wcd7a], a - ret - -Function17e309: - ld a, $2 - ld [wc303], a - call Function17dcaf - call ClearScreen - call Function17e349 - call Function17d5f6 - farcall DisplayMobileError - call Function17e349 - call Function17dcaf - xor a - ld [wcd77], a - ret - -Function17e32b: - ld a, $5 - call OpenSRAM - ld hl, wc608 - ld de, $b0b1 - ld bc, $40 - call CopyBytes - ld hl, wBGMapBuffer - ld bc, $5b - call CopyBytes - call CloseSRAM - ret - -Function17e349: - ld a, $5 - call OpenSRAM - ld hl, $b0b1 - ld de, wc608 - ld bc, $40 - call CopyBytes - ld de, wBGMapBuffer - ld bc, $5b - call CopyBytes - call CloseSRAM - ret - -MACRO inc_crash_check_pointer_farcall - call IncCrashCheckPointer - call HlToCrashCheckPointer ; redundant - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - rept _NARG - farcall \1 - shift - endr - pop af - ldh [rSVBK], a - ret -ENDM - -IncCrashCheckPointer_SaveGameData: - inc_crash_check_pointer_farcall _SaveGameData - -IncCrashCheckPointer_SaveAfterLinkTrade: - inc_crash_check_pointer_farcall SaveAfterLinkTrade - -IncCrashCheckPointer_SaveBox: - inc_crash_check_pointer_farcall SaveBox - -IncCrashCheckPointer_SaveChecksum: - inc_crash_check_pointer_farcall SaveChecksum - -IncCrashCheckPointer_SaveTrainerRankingsChecksum: - inc_crash_check_pointer_farcall UpdateTrainerRankingsChecksum2, BackupMobileEventIndex - -Function17e3e0: - call IncCrashCheckPointer - ld a, [hli] - ld c, a - call HlToCrashCheckPointer - ld a, $1 - ldh [hBGMapMode], a - call DelayFrames - ret - -Function17e3f0: - call IncCrashCheckPointer - call HlToCrashCheckPointer -.asm_17e3f6 - call JoyTextDelay - ld hl, hJoyPressed - ld a, [hl] - and $1 - ret nz - ld a, [hl] - and $2 - ret nz - call WaitBGMap - jr .asm_17e3f6 - -Function17e409: - ld hl, wcd77 - set 7, [hl] - ret - -Function17e40f: - ld de, wBGPals1 - add hl, de - jr HlToCrashCheckPointer - -IncCrashCheckPointer: - ld a, [wMobileCrashCheckPointer] - ld l, a - ld a, [wMobileCrashCheckPointer + 1] - ld h, a - inc hl - -HlToCrashCheckPointer: - ld a, l - ld [wMobileCrashCheckPointer], a - ld a, h - ld [wMobileCrashCheckPointer + 1], a - ret - -Function17e427: - ld hl, hJoyPressed - ld a, [hl] - and $1 - jr nz, .asm_17e432 - and $2 - ret z - -.asm_17e432 - ld a, $3 - ld [wcd77], a - ret - -Function17e438: - ld hl, wcd77 - inc [hl] - ret - -Function17e43d: - ld a, [wBGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, bc - ret - -Function17e447: - ld a, [wBGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - ret - -Function17e451: - ld a, [wcd42] - and a - ret z - call Function17e51b - call Function17e4dd - ld a, [wcd2e] - push af - ld a, [wcd49] - ld l, a - ld a, [wcd4a] - ld h, a - ld a, [wcd2f] - ld [wcd2e], a - ld c, a - ld b, 0 - add hl, bc - add hl, bc - push hl - hlcoord 0, 0 - ld bc, $14 - ld a, [wcd23] - call AddNTimes - ld a, [wCreditsTimer] - ld c, a - ld b, 0 - add hl, bc - pop bc - ld a, [wMobileCommsJumptableIndex] -.asm_17e48b - push af - push hl - ld a, [wcd24] -.asm_17e490 - push af - push hl - ld a, [bc] - inc bc - ld e, a - ld a, [bc] - inc bc - ld d, a - push bc - push hl - ld a, [wBGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - push hl - pop de - pop hl - call PlaceString - pop bc - pop hl - ld a, [wcd26] - ld e, a - ld d, 0 - add hl, de - ld a, [wcd2e] - inc a - ld [wcd2e], a - ld e, a - ld a, [wcd42] - cp e - jr z, .asm_17e4d5 - pop af - dec a - jr nz, .asm_17e490 - pop hl - ld a, [wcd27] - ld de, $14 -.asm_17e4cb - add hl, de - dec a - jr nz, .asm_17e4cb - pop af - dec a - jr nz, .asm_17e48b - jr .asm_17e4d8 - -.asm_17e4d5 - pop af - pop hl - pop af - -.asm_17e4d8 - pop af - ld [wcd2e], a - ret - -Function17e4dd: - ld a, [wcd2c] - and $1 - ret z - ld a, [wcd29] - hlcoord 0, 0 - ld bc, $14 - call AddNTimes - ld a, [wcd28] - ld c, a - ld b, 0 - add hl, bc - ld a, [wcd2f] - and a - jr z, .asm_17e4ff - ld a, $61 - ld [hl], a - -.asm_17e4ff - ld a, [wcd2a] - ld bc, $14 - call AddNTimes - ld a, [wcd42] - ld c, a - ld a, [wcd2e] - ld b, a - ld a, [wcd24] - add b - cp c - ret z - ret nc - ld a, $ee - ld [hl], a - ret - -Function17e51b: - ld a, [wcd28] - ld hl, wCreditsTimer - sub [hl] - inc a - ld [wcd4f], a - hlcoord 0, 0 - ld bc, $14 - ld a, [wcd23] - dec a - call AddNTimes - ld a, [wCreditsTimer] - ld c, a - ld b, 0 - add hl, bc - ld a, [wMobileCommsJumptableIndex] - ld c, a - ld a, [wcd27] - call SimpleMultiply -.asm_17e544 - push af - push hl - ld a, [wcd4f] - ld c, a - ld b, 0 - ld a, $7f - call ByteFill - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_17e544 - ret - -Function17e55b: - ld a, [wcd42] - and a - ret z - ld a, $ed - call Function17e571 - ret - -Function17e566: - ld a, [wcd42] - and a - ret z - ld a, $7f - call Function17e571 - ret - -Function17e571: - push af - hlcoord 0, 0 - ld bc, $14 - ld a, [wcd23] - call AddNTimes - ld a, [wCreditsTimer] - ld c, a - ld b, 0 - add hl, bc - dec hl - push hl - ld a, [wcd31] - dec a - ld c, a - ld a, [wcd27] - call SimpleMultiply - ld l, $0 - ld h, l - ld bc, $14 - call AddNTimes - ld a, [wcd30] - dec a - ld c, a - ld a, [wcd26] - call SimpleMultiply - ld c, a - ld b, 0 - add hl, bc - pop bc - add hl, bc - pop af - ld [hl], a - ret - -Function17e5af: - ld a, [wcd2c] - and $2 - ret z - ld a, [wcd43] - ld l, a - ld a, [wMobileInactivityTimerMinutes] - ld h, a - bccoord 0, 0 - add hl, bc - ld bc, $ffec - add hl, bc - ld a, [wMobileInactivityTimerSeconds] - ld c, a - ld b, 0 - ld a, [wMobileInactivityTimerFrames] - call Function17e600 - ld a, [wcd2e] - ld c, a - ld b, 0 - ld a, [wcd4d] - ld l, a - ld a, [wcd4e] - ld h, a - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [wBGMapBuffer] - ld l, a - ld a, [wcd21] - ld h, a - add hl, de - push hl - pop de - ld a, [wcd43] - ld l, a - ld a, [wMobileInactivityTimerMinutes] - ld h, a - bccoord 0, 0 - add hl, bc - call PlaceString - ret - -Function17e600: -.asm_17e600 - push af - push hl - push bc - ld a, $7f - call ByteFill - pop bc - pop hl - ld de, $14 - add hl, de - pop af - dec a - jr nz, .asm_17e600 - ret - -Function17e613: - push hl - hlcoord 0, 0 - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - and a -.asm_17e620 - jr z, .asm_17e626 - add hl, bc - dec a - jr .asm_17e620 - -.asm_17e626 - pop af - ld c, a - ld b, 0 - add hl, bc - push hl - ld a, [wcd53] - ld [hli], a - ld a, [de] - inc de - dec a - dec a - jr z, .asm_17e63f - ld c, a - ld a, [wcd53] - inc a -.asm_17e63b - ld [hli], a - dec c - jr nz, .asm_17e63b - -.asm_17e63f - ld a, [wcd53] - add $2 - ld [hl], a - pop hl - ld bc, $14 - add hl, bc - ld a, [de] - dec de - dec a - dec a - jr z, .asm_17e674 - ld b, a -.asm_17e651 - push hl - ld a, [wcd53] - add $3 - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_17e664 - ld c, a - ld a, $7f -.asm_17e660 - ld [hli], a - dec c - jr nz, .asm_17e660 - -.asm_17e664 - ld a, [wcd53] - add $4 - ld [hl], a - pop hl - push bc - ld bc, $14 - add hl, bc - pop bc - dec b - jr nz, .asm_17e651 - -.asm_17e674 - ld a, [wcd53] - add $5 - ld [hli], a - ld a, [de] - dec a - dec a - jr z, .asm_17e689 - ld c, a - ld a, [wcd53] - add $6 -.asm_17e685 - ld [hli], a - dec c - jr nz, .asm_17e685 - -.asm_17e689 - ld a, [wcd53] - add $7 - ld [hl], a - pop hl - ret - -Function17e691: - push hl - ld hl, NULL - ld bc, $14 - ld a, [de] - inc de - push af - ld a, [de] - inc de - inc de - and a -.asm_17e69f - jr z, .asm_17e6a5 - add hl, bc - dec a - jr .asm_17e69f - -.asm_17e6a5 - pop af - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - dec de -.asm_17e6ac - push af - push hl - ld a, [de] -.asm_17e6af - push af - push hl - push hl - bccoord 0, 0 - add hl, bc - ld a, [hl] - cp $7f - jr z, .asm_17e6c2 - ld a, [wcd53] - add $8 - jr .asm_17e6c7 - -.asm_17e6c2 - ld a, [wcd53] - jr .asm_17e6c7 - -.asm_17e6c7 - pop hl - bccoord 0, 0, wAttrmap - add hl, bc - ld [hl], a - pop hl - inc hl - pop af - dec a - jr nz, .asm_17e6af - pop hl - ld bc, $14 - add hl, bc - pop af - dec a - jr nz, .asm_17e6ac - pop hl - ret - -Function17e6de: - push af - ld a, [wc708] - ld l, a - ld a, [wc709] - ld h, a - decoord 0, 0, wAttrmap - add hl, de - pop af - ld b, $7 -.asm_17e6ee - push hl - ld c, $7 -.asm_17e6f1 - ld [hli], a - dec c - jr nz, .asm_17e6f1 - pop hl - ld de, $14 - add hl, de - dec b - jr nz, .asm_17e6ee - ret - -PokemonNewsGFX: -INCBIN "gfx/mobile/pokemon_news.2bpp" - -PostalMarkGFX: -INCBIN "gfx/font/postal_mark.2bpp" - -PokemonNewsTileAttrmap: -INCBIN "gfx/mobile/pokemon_news.bin" - -PokemonNewsPalettes: -INCLUDE "gfx/mobile/pokemon_news.pal" - -RunMobileScript:: - ld a, $6 - call OpenSRAM - inc de -.loop - call _RunMobileScript - jr c, .finished - jr .loop - -.finished - call CloseSRAM - ret - -_RunMobileScript: - ld a, [de] - inc de - cp "@" - jr z, .finished - cp $10 ; jumptable size - jr nc, .finished - dec a - push de - ld e, a - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -.finished - scf - ret - -.Jumptable: - dw Function17f081 ; 0 - dw Function17f0f8 ; 1 - dw Function17f154 ; 2 - dw Function17f181 ; 3 - dw Function17f1d0 ; 4 - dw Function17f220 ; 5 - dw Function17f27b ; 6 - dw Function17f2cb ; 7 - dw MobileScript_PlayerName ; 8 - dw MobileScript_Prefecture ; 9 - dw Function17f382 ; a - dw Function17f3c9 ; b - dw Function17f3f0 ; c - dw Function17f41d ; d - dw Function17f44f ; e - dw Function17f44f ; f - -Function17f081: - pop hl - call Function17f524 - jr c, .asm_17f09f - ld de, 4 - add hl, de - ld a, [hli] - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f09d - and a - ret - -.asm_17f09d - scf - ret - -.asm_17f09f - push bc - ld de, wcd54 - ld bc, 7 - call CopyBytes - pop bc - push hl - push bc - call Function17f4f6 - pop bc - ld a, [wcd54] - ld e, a - ld a, [wcd55] - ld d, a - add hl, de - ld e, l - ld d, h - ld l, c - ld h, b - push hl - ld a, [wcd56] - ld b, a - ld a, [wcd57] - ld c, a - call MobilePrintNum - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - ld a, [wcd59] - and a - jr z, .asm_17f0ee - ld c, a - ld a, [wcd57] - inc a - ld b, a - ld e, l - ld d, h - dec de -.asm_17f0e0 - ld a, c - cp b - jr z, .asm_17f0ea - ld a, [de] - dec de - ld [hld], a - dec b - jr .asm_17f0e0 - -.asm_17f0ea - ld a, [wcd5a] - ld [hl], a - -.asm_17f0ee - pop hl - ld a, [wcd58] - call Function17f50f - pop de - and a - ret - -Function17f0f8: - pop hl - call Function17f524 - jr c, .asm_17f114 - ld de, $3 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f112 - and a - ret - -.asm_17f112 - scf - ret - -.asm_17f114 - push bc - ld de, wcd54 - ld bc, $4 - call CopyBytes - pop bc - push hl - push bc - call Function17f4f6 - ld a, [wcd54] - ld e, a - ld a, [wcd55] - ld d, a - add hl, de - ld de, wc608 - ld a, [wcd56] - ld c, a - ld b, 0 - call CopyBytes - ld a, "@" - ld [de], a - pop hl - ld de, wc608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd57] - call Function17f50f - pop de - and a - ret - -Function17f154: - pop hl - call Function17f524 - jr c, .asm_17f167 - inc hl - inc hl - ld e, l - ld d, h - ld a, [de] - cp "@" - jr z, .asm_17f165 - and a - ret - -.asm_17f165 - scf - ret - -.asm_17f167 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld c, l - ld b, h - pop de - farcall Function11c08f - ld c, l - ld b, h - pop de - and a - ret - -Function17f181: - pop hl - call Function17f524 - jr c, .asm_17f19d - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f19b - and a - ret - -.asm_17f19b - scf - ret - -.asm_17f19d - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld c, a - ld de, wc608 - farcall Function48c63 - pop hl - ld de, wc608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -Function17f1d0: - pop hl - call Function17f524 - jr c, .asm_17f1ec - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f1ea - and a - ret - -.asm_17f1ea - scf - ret - -.asm_17f1ec - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld a, BANK(wNamedObjectIndex) - ldh [rSVBK], a - ld [wNamedObjectIndex], a - call GetPokemonName - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, $4 - ldh [rSVBK], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -Function17f220: - pop hl - call Function17f524 - jr c, .asm_17f23c - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f23a - and a - ret - -.asm_17f23a - scf - ret - -.asm_17f23c - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld e, a - ld d, 0 - ld hl, .Genders - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -.Genders: dw .Boy, .Girl -.Boy: db "Boy@" -.Girl: db "Girl@" - -Function17f27b: - pop hl - call Function17f524 - jr c, .asm_17f297 - ld de, $2 - add hl, de - ld a, [hli] - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f295 - and a - ret - -.asm_17f295 - scf - ret - -.asm_17f297 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - call Function17f4f6 - add hl, de - ld a, [hl] - ld a, $1 - ldh [rSVBK], a - ld [wNamedObjectIndex], a - call GetItemName - pop hl - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, $4 - ldh [rSVBK], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -Function17f2cb: - pop hl - push bc - ld a, [hli] - ld [wcd54], a - ld a, [hli] - ld [wcd55], a - ld a, [wcd2e] - inc a - ld [wcd56], a - pop bc - push hl - ld l, c - ld h, b - push hl - ld de, wcd56 - ld b, $1 - ld a, [wcd54] - ld c, a - call MobilePrintNum - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - pop hl - ld a, [wcd55] - call Function17f50f - pop de - and a - ret - -MobileScript_PlayerName: - pop hl - push bc - ld a, [hli] - ld [wcd54], a - pop bc - push hl - push bc - ld a, $1 - ldh [rSVBK], a - ld hl, wPlayerName - ld de, wc608 - ld bc, NAME_LENGTH_JAPANESE - call CopyBytes - ld a, $4 - ldh [rSVBK], a - pop hl - ld de, wc608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -MobileScript_Prefecture: - pop hl - push bc - ld a, [hli] - ld [wcd55], a - and $f - ld [wcd54], a - pop bc - push hl - ld l, c - ld h, b - push hl - ld a, [wcd55] - bit 7, a - jr nz, .asm_17f355 - ld a, BANK(sCrystalData) - call OpenSRAM - ld a, [sCrystalData + 2] - jr .asm_17f35d - -.asm_17f355 - ld a, BANK(s5_b2f3) - call OpenSRAM - ld a, [s5_b2f3] - -.asm_17f35d - ld c, a - call CloseSRAM - ld de, wc608 - farcall Function48c63 - pop hl - ld de, wc608 - call PlaceString - ld a, c - ld [wcd52], a - ld a, b - ld [wcd53], a - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -Function17f382: - pop hl - push bc - ld a, [hli] - ld [wcd55], a - and $f - ld [wcd54], a - pop bc - push hl - push bc - ld l, c - ld h, b - ld a, [wcd55] - bit 7, a - jr nz, .asm_17f3a3 - ld a, BANK(sCrystalData) - call OpenSRAM - ld de, sCrystalData + 3 - jr .asm_17f3ab - -.asm_17f3a3 - ld a, BANK(s5_b2f4) - call OpenSRAM - ld de, s5_b2f4 - -.asm_17f3ab - ld a, PRINTNUM_LEADINGZEROS | 2 - ld b, a - ld a, 3 - ld c, a - call PrintNum - call CloseSRAM - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - pop hl - ld a, [wcd54] - call Function17f50f - pop de - and a - ret - -Function17f3c9: - push bc - ld hl, wcd36 - ld de, wc708 - ld bc, 12 - call CopyBytes - pop de - ld c, $0 - farcall Function11c075 - push hl - ld hl, wc708 - ld de, wcd36 - ld bc, 12 - call CopyBytes - pop bc - pop de - and a - ret - -Function17f3f0: - pop hl - push hl - ld a, [hli] - push af - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [de] - ld c, a - ld b, 0 - add hl, bc - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld hl, wBGPals1 - add hl, de - ld e, l - ld d, h - pop hl - call PlaceString - pop af - ld e, a - ld d, 0 - pop hl - add hl, de - add hl, de - inc hl - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - scf - ret - -Function17f41d: - pop hl - ld a, [hli] - push hl - push af - ld l, c - ld h, b - ld bc, -wTilemap + $10000 - add hl, bc - ld de, -SCREEN_WIDTH - ld c, $1 -.asm_17f42c - ld a, h - and a - jr nz, .asm_17f435 - ld a, l - cp SCREEN_WIDTH - jr c, .asm_17f439 - -.asm_17f435 - add hl, de - inc c - jr .asm_17f42c - -.asm_17f439 - hlcoord 0, 0 - ld de, SCREEN_WIDTH - ld a, c -.asm_17f440 - and a - jr z, .asm_17f447 - add hl, de - dec a - jr .asm_17f440 - -.asm_17f447 - pop af - ld e, a - ld d, 0 - add hl, de - pop de - and a - ret - -Function17f44f: - pop hl - call Function17f524 - jr c, .asm_17f46d - ld de, $5 - add hl, de - ld a, [hli] - inc hl - inc hl - ld e, l - ld d, h - ld l, c - ld h, b - ld c, a - ld b, 0 - add hl, bc - ld a, [de] - cp "@" - jr z, .asm_17f46b - and a - ret - -.asm_17f46b - scf - ret - -.asm_17f46d - push bc - ld de, wcd54 - ld bc, $8 - call CopyBytes - pop bc - push hl - push bc - ld a, [wcd56] - cp $c0 - jr c, .asm_17f488 - ld a, [wcd54] - ldh [rSVBK], a - jr .asm_17f48e - -.asm_17f488 - ld a, [wcd54] - call OpenSRAM - -.asm_17f48e - ld a, [wcd55] - ld l, a - ld a, [wcd56] - ld h, a - ld de, wc608 - ld a, [wcd57] - ld c, a - ld b, 0 - call CopyBytes - ld a, [wcd56] - cp $c0 - jr c, .asm_17f4af - ld a, $4 - ldh [rSVBK], a - jr .asm_17f4b7 - -.asm_17f4af - call CloseSRAM - ld a, $6 - call OpenSRAM - -.asm_17f4b7 - ld de, wc608 - pop hl - push hl - ld a, [wcd57] - ld b, a - ld a, [wcd58] - ld c, a - call MobilePrintNum - ld a, l - ld [wcd52], a - ld a, h - ld [wcd53], a - ld a, [wcd5a] - and a - jr z, .asm_17f4ec - ld c, a - ld a, [wcd58] - inc a - ld b, a - ld e, l - ld d, h - dec de -.asm_17f4de - ld a, c - cp b - jr z, .asm_17f4e8 - ld a, [de] - dec de - ld [hld], a - dec b - jr .asm_17f4de - -.asm_17f4e8 - ld a, [wcd5b] - ld [hl], a - -.asm_17f4ec - pop hl - ld a, [wcd59] - call Function17f50f - pop de - and a - ret - -Function17f4f6: - ld a, [wcd6a] - ld l, a - ld a, [wcd6b] - ld h, a - ld a, [wcd47] - ld c, a - ld a, [wBGMapPalBuffer] - ld b, a - ld a, [wcd2e] -.asm_17f509 - and a - ret z - dec a - add hl, bc - jr .asm_17f509 - -Function17f50f: - and a - jr z, .asm_17f519 - ld c, a - ld b, 0 - add hl, bc - ld c, l - ld b, h - ret - -.asm_17f519 - ld a, [wcd52] - ld c, a - ld l, a - ld a, [wcd53] - ld b, a - ld h, a - ret - -Function17f524: - push hl - push bc - push de - ld a, [wcd42] - dec a - ld b, a - ld a, [wcd2e] - cp b - jr z, .asm_17f53a - ld hl, wcd68 - cp [hl] -.asm_17f536 - pop de - pop bc - pop hl - ret - -.asm_17f53a - scf - jr .asm_17f536 - -BattleTowerMobileError: - call FadeToMenu - xor a - ld [wc303], a - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - - call DisplayMobileError - - pop af - ldh [rSVBK], a - call ExitAllMenus - ret - -DisplayMobileError: -.loop - call JoyTextDelay - call .RunJumptable - ld a, [wc303] - bit 7, a - jr nz, .quit - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - jr .loop - -.quit - call .deinit - ret - -.deinit - ld a, [wMobileErrorCodeBuffer] - cp $22 - jr z, .asm_17f597 - cp $31 - jr z, .asm_17f58a - cp $33 - ret nz - ld a, [wMobileErrorCodeBuffer + 1] - cp $1 - ret nz - ld a, [wMobileErrorCodeBuffer + 2] - cp $2 - ret nz - jr .asm_17f5a1 - -.asm_17f58a - ld a, [wMobileErrorCodeBuffer + 1] - cp $3 - ret nz - ld a, [wMobileErrorCodeBuffer + 2] - and a - ret nz - jr .asm_17f5a1 - -.asm_17f597 - ld a, [wMobileErrorCodeBuffer + 1] - and a - ret nz - ld a, [wMobileErrorCodeBuffer + 2] - and a - ret nz - -.asm_17f5a1 - ld a, BANK(sMobileLoginPassword) - call OpenSRAM - xor a - ld [sMobileLoginPassword], a - call CloseSRAM - ret - -.RunJumptable: - jumptable .Jumptable, wc303 - -.Jumptable: - dw Function17f5c3 - dw Function17ff23 - dw Function17f5d2 - -Function17f5c3: - call Function17f5e4 - farcall FinishExitMenu - ld a, $1 - ld [wc303], a - ret - -Function17f5d2: - call Function17f5e4 - farcall HDMATransferAttrmapAndTilemapToWRAMBank3 - call SetPalettes - ld a, $1 - ld [wc303], a - ret - -Function17f5e4: - ld a, $8 - ld [wMusicFade], a - ld de, MUSIC_NONE - ld a, e - ld [wMusicFadeID], a - ld a, d - ld [wMusicFadeID + 1], a - ld a, " " - hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - ld a, $6 - hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - call ByteFill - hlcoord 2, 1 - ld b, $1 - ld c, $e - call Function3eea - hlcoord 1, 4 - ld b, $c - ld c, $10 - call Function3eea - hlcoord 3, 2 - ld de, MobileCommunicationErrorText - call PlaceString - call Function17ff3c - jr nc, .asm_17f632 - hlcoord 11, 2 - call Function17f6b7 - -.asm_17f632 - ld a, [wMobileErrorCodeBuffer] - cp $d0 - jr nc, .asm_17f684 - cp $10 - jr c, .asm_17f679 - sub $10 - cp $24 - jr nc, .asm_17f679 - ld e, a - ld d, 0 - ld hl, MobileErrorCodeTable - add hl, de - add hl, de - ld a, [wMobileErrorCodeBuffer + 1] - ld e, a - ld a, [wMobileErrorCodeBuffer + 2] - ld d, a - ld a, [hli] - ld c, a - ld a, [hl] - ld h, a - ld l, c - ld a, [hli] - and a - jr z, .asm_17f679 - ld c, a -.asm_17f65d - ld a, [hli] - ld b, a - ld a, [hli] - cp $ff - jr nz, .asm_17f667 - cp b - jr z, .asm_17f66e - -.asm_17f667 - xor d - jr nz, .asm_17f674 - ld a, b - xor e - jr nz, .asm_17f674 - -.asm_17f66e - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - jr .asm_17f67d - -.asm_17f674 - inc hl - inc hl - dec c - jr nz, .asm_17f65d - -.asm_17f679 - ld a, $d9 - jr .asm_17f684 - -.asm_17f67d - hlcoord 2, 6 - call PlaceString - ret - -.asm_17f684 - sub $d0 - ld e, a - ld d, 0 - ld hl, Table_17f699 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld a, [hl] - ld d, a - hlcoord 2, 6 - call PlaceString - ret - -Table_17f699: - dw MobileErrorCode_101_000_Text - dw MobileErrorCode_101_001_Text - dw MobileErrorCode_101_002_Text - dw MobileErrorCode_101_003_Text - dw MobileErrorCode_101_004_Text - dw MobileErrorCode_101_005_Text - dw MobileErrorCode_101_006_Text - dw MobileErrorCode_101_007_Text - dw MobileErrorCode_101_008_Text - dw MobileErrorCode_101_009_Text - dw MobileErrorCode_101_009_Text - -Palette_17f6af: ; unreferenced - RGB 5, 5, 16 - RGB 8, 19, 28 - RGB 0, 0, 0 - RGB 31, 31, 31 - -Function17f6b7: - ld a, [wMobileErrorCodeBuffer] - call .bcd_two_digits - inc hl - ld a, [wMobileErrorCodeBuffer + 2] - and $f - call .bcd_digit - ld a, [wMobileErrorCodeBuffer + 1] - call .bcd_two_digits - ret - -.bcd_two_digits - ld c, a - and $f0 - swap a - call .bcd_digit - ld a, c - and $f - -.bcd_digit - add "0" - ld [hli], a - ret - -MobileCommunicationErrorText: - db "つうしんエラー   ー@" - -String_17f6e8: ; unreferenced - db "みていぎエラーです" - next "プログラム" - next "かくにん してください" - db "@" - -MobileErrorCodeTable: - dw MobileErrorCodes_10 - dw MobileErrorCodes_11 - dw MobileErrorCodes_12 - dw MobileErrorCodes_13 - dw MobileErrorCodes_14 - dw MobileErrorCodes_15 - dw MobileErrorCodes_16 - dw MobileErrorCodes_17 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_20 - dw MobileErrorCodes_21 - dw MobileErrorCodes_22 - dw MobileErrorCodes_23 - dw MobileErrorCodes_24 - dw MobileErrorCodes_25 - dw MobileErrorCodes_26 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_30 - dw MobileErrorCodes_31 - dw MobileErrorCodes_32 - dw MobileErrorCodes_33 - -MobileErrorCodes_10: db 1 - dw $000, MobileErrorCode_10_000_Text - -MobileErrorCodes_11: db 1 - dw $000, MobileErrorCode_11_000_Text - -MobileErrorCodes_12: db 1 - dw $000, MobileErrorCode_12_000_Text - -MobileErrorCodes_13: db 1 - dw $000, MobileErrorCode_13_000_Text - -MobileErrorCodes_14: db 1 - dw $000, MobileErrorCode_14_000_Text - -MobileErrorCodes_15: db 4 - dw $000, MobileErrorCode_15_000_Text - dw $001, MobileErrorCode_15_001_Text - dw $002, MobileErrorCode_15_002_Text - dw $003, MobileErrorCode_15_003_Text - -MobileErrorCodes_16: db 1 - dw $000, MobileErrorCode_CommuncationErrorText - -MobileErrorCodes_17: db 1 - dw $000, MobileErrorCode_CommuncationErrorText - -MobileErrorCodes_20: db 1 - dw $000, MobileErrorCode_CommuncationErrorText - -MobileErrorCodes_21: db 1 - dw $000, MobileErrorCode_CommuncationErrorText - -MobileErrorCodes_22: db 1 - dw $000, MobileErrorCode_22_000_Text - -MobileErrorCodes_23: db 1 - dw $000, MobileErrorCode_23_000_Text - -MobileErrorCodes_24: db 1 - dw $000, MobileErrorCode_ServerConnectionFailedText - -MobileErrorCodes_25: db 1 - dw $000, MobileErrorCode_25_000_Text - -MobileErrorCodes_26: db 1 - dw $000, MobileErrorCode_26_000_Text - -MobileErrorCodes_30: db 17 - dw $000, MobileErrorCode_CommuncationErrorText - dw $221, MobileErrorCode_ServerConnectionFailedText - dw $421, MobileErrorCode_ServerConnectionFailedText - dw $450, MobileErrorCode_30_450_Text - dw $451, MobileErrorCode_ServerConnectionFailedText - dw $452, MobileErrorCode_ServerConnectionFailedText - dw $500, MobileErrorCode_CommuncationErrorText - dw $501, MobileErrorCode_CommuncationErrorText - dw $502, MobileErrorCode_CommuncationErrorText - dw $503, MobileErrorCode_CommuncationErrorText - dw $504, MobileErrorCode_CommuncationErrorText - dw $550, MobileErrorCode_30_550_Text - dw $551, MobileErrorCode_30_551_Text - dw $552, MobileErrorCode_ServerConnectionFailedText - dw $553, MobileErrorCode_30_553_Text - dw $554, MobileErrorCode_ServerConnectionFailedText - dw -1, MobileErrorCode_ServerConnectionFailedText - -MobileErrorCodes_31: db 5 - dw $000, MobileErrorCode_CommuncationErrorText - dw $002, MobileErrorCode_31_002_Text - dw $003, MobileErrorCode_31_003_Text - dw $004, MobileErrorCode_CommuncationErrorText - dw -1, MobileErrorCode_ServerConnectionFailedText - -MobileErrorCodes_32: db 17 - dw $000, MobileErrorCode_CommuncationErrorText - dw $301, MobileErrorCode_CommuncationErrorText - dw $302, MobileErrorCode_CommuncationErrorText - dw $400, MobileErrorCode_CommuncationErrorText - dw $401, MobileErrorCode_CommuncationErrorText - dw $403, MobileErrorCode_32_403_Text - dw $404, MobileErrorCode_32_404_Text - dw $405, MobileErrorCode_CommuncationErrorText - dw $406, MobileErrorCode_CommuncationErrorText - dw $407, MobileErrorCode_CommuncationErrorText - dw $408, MobileErrorCode_32_408_Text - dw $500, MobileErrorCode_ServerErrorText - dw $501, MobileErrorCode_CommuncationErrorText - dw $502, MobileErrorCode_ServerErrorText - dw $503, MobileErrorCode_32_503_Text - dw $504, MobileErrorCode_ServerErrorText - dw -1, MobileErrorCode_ServerErrorText - -MobileErrorCodes_33: db 19 - dw $101, MobileErrorCode_33_101_Text - dw $102, MobileErrorCode_33_102_Text - dw $103, MobileErrorCode_33_103_Text - dw $104, MobileErrorCode_33_104_Text - dw $105, MobileErrorCode_33_105_Text - dw $106, MobileErrorCode_33_106_Text - dw $201, MobileErrorCode_33_201_Text - dw $202, MobileErrorCode_CommuncationErrorText - dw $203, MobileErrorCode_33_203_Text - dw $204, MobileErrorCode_CommuncationErrorText - dw $205, MobileErrorCode_ServerErrorText - dw $206, MobileErrorCode_33_206_Text - dw $299, MobileErrorCode_33_299_Text - dw $301, MobileErrorCode_ServerErrorText - dw $401, MobileErrorCode_ServerErrorText - dw $402, MobileErrorCode_ServerErrorText - dw $403, MobileErrorCode_ServerErrorText - dw $404, MobileErrorCode_ServerErrorText - dw -1, MobileErrorCode_ServerErrorText - -MobileErrorCode_10_000_Text: -; The Mobile Adapter is not properly plugged in. -; Ensure you have taken a good look at and properly followed the instructions. - db "モバイルアダプタが ただしく" - next "さしこまれていません" - next "とりあつかいせつめいしょを" - next "ごらんのうえ しっかりと" - next "さしこんで ください" - db "@" - -MobileErrorCode_11_000_Text: -MobileErrorCode_13_000_Text: -; Could not connect because either the phone cannot make the call, or the telephone line is busy. -; Please wait for a while and call again. - db "でんわが うまく かけられないか" - next "でんわかいせんが こんでいるので" - next "つうしん できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_12_000_Text: -; As the telephone line is busy, the phone was not able to gather enough information (?) -; Please wait for a while and call again. - db "でんわかいせんが こんでいるため" - next "でんわが かけられません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_15_000_Text: -MobileErrorCode_15_001_Text: -MobileErrorCode_15_002_Text: -MobileErrorCode_15_003_Text: -; There is an error with the Mobile Adapter. -; Please wait for a little while before calling again. -; If the problem persists, please contact the Mobile Support Center. - db "モバイルアダプタの エラーです" - next "しばらく まって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -MobileErrorCode_CommuncationErrorText: -; Communication error. -; Please wait a moment, and then try again. -; If the issue persists, please contact the Mobile Support Center. - db "つうしんエラーです" - next "しばらく まって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -MobileErrorCode_22_000_Text: -; There is a mistake either with the login password, or the login ID. -; Please confirm the password, wait for a while, and try again. - db "ログインパスワードか" - next "ログイン アイディーに" - next "まちがいがあります" - next "パスワードを かくにんして" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_23_000_Text: -; The call was ended. -; Please see the instruction manual, wait a moment, and try again. - db "でんわが きれました" - next "とりあつかいせつめいしょを" - next "ごらんのうえ" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_ServerErrorText: -; There was a communication error with the mobile center. -; Please wait a moment and then try again. - db "モバイルセンターの" - next "つうしんエラーです" - next "しばらくまって" - next "かけなおして ください" - db "@" - -MobileErrorCode_14_000_Text: -MobileErrorCode_25_000_Text: -; The Mobile Adapter's details have expired and the information is not correct. -; Please use the Mobile Trainer to repeat the initial registration (process). - db "モバイルアダプタに" - next "とうろくされた じょうほうが" - next "ただしく ありません" - next "モバイルトレーナーで" - next "しょきとうろくを してください" - db "@" - -MobileErrorCode_32_503_Text: -; Could not connect because the Mobile Center is busy. -; Please wait a moment and try again. -; For details, please see the instruction manual. - db "モバイルセンターが" - next "こんでいて つながりません" - next "しばらくまって" - next "かけなおして ください" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -MobileErrorCode_30_450_Text: -MobileErrorCode_30_550_Text: -MobileErrorCode_30_551_Text: -MobileErrorCode_30_553_Text: -; There is a mistake with the email address of the addressee. -; Please replace with a / the correct email address. - db "あてさき メールアドレスに" - next "まちがいがあります" - next "ただしい メールアドレスを" - next "いれなおしてください" - db "@" - -MobileErrorCode_31_002_Text: -; There is a mistake with the email address. -; Please see the instruction manual, and use the Mobile Trainer to repeat the initial registration (process). - db "メールアドレスに" - next "まちがいが あります" - next "とりあつかいせつめいしょを" - next "ごらんのうえ" - next "モバイルトレーナーで" - next "しょきとうろくを してください" - db "@" - -MobileErrorCode_31_003_Text: -MobileErrorCode_33_201_Text: -; There is either an error with the login password, or an error with the Mobile Center. -; Please confirm the password, wait a moment, and then try again. - db "ログインパスワードに" - next "まちがいが あるか" - next "モバイルセンターの エラーです" - next "パスワードを かくにんして" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_32_403_Text: -MobileErrorCode_32_404_Text: -; Cannot read data. -; Please wait a moment, and then try again. -; If the issue persists, please contact the Mobile Support Center. - db "データの よみこみが できません" - next "しばらくまって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -MobileErrorCode_26_000_Text: -MobileErrorCode_32_408_Text: -; Out of time. -; The call was ended. -; Please try again. -; For details, please see the instruction manual. - db "じかんぎれです" - next "でんわが きれました" - next "でんわを かけなおしてください" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -MobileErrorCode_33_101_Text: -; The service cannot be used if payments for usage fees are late. -; For details, please see the instruction manual. - db "ごりよう りょうきんの " - next "おしはらいが おくれたばあいには" - next "ごりようが できなくなります" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -MobileErrorCode_33_102_Text: -MobileErrorCode_33_299_Text: -; Your access to this service has been restricted. Service cannot be used. -; For details, please see the instruction manual. - db "おきゃくさまの ごつごうにより" - next "ごりようできません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -MobileErrorCode_ServerConnectionFailedText: -; The telephone line is busy. Due to this error, the Mobile Center cannot communicate. -; Please wait for a little while and call again. - db "でんわかいせんが こんでいるか" - next "モバイルセンターの エラーで" - next "つうしんが できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_33_103_Text: -; Service cannot be used this month because usage fees have exceeded conditions. -; For details, please see the instruction manual. - db "ごりよう りょうきんが" - next "じょうげんを こえているため" - next "こんげつは ごりようできません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -MobileErrorCode_33_106_Text: -; Cannot communicate because the Mobile Center is currently undergoing maintenance. -; Please wait a moment, then try again. - db "げんざい モバイルセンターの" - next "てんけんを しているので" - next "つうしんが できません" - next "しばらく まって" - next "かけなおして ください" - db "@" - -MobileErrorCode_33_104_Text: -MobileErrorCode_33_105_Text: -MobileErrorCode_33_203_Text: -MobileErrorCode_33_206_Text: -MobileErrorCode_101_004_Text: -; Cannot read data. -; For details, please see the instruction manual. - db "データの よみこみが できません" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -MobileErrorCode_101_006_Text: -; Call ended because more than 3 minutes elapsed with no input. - db "3ぷん いじょう なにも" - next "にゅうりょく しなかったので" - next "でんわが きれました" - db "@" - -MobileErrorCode_101_001_Text: -MobileErrorCode_101_002_Text: -; Could not connect properly. -; Please try again from the beginning (of the process). - db "つうしんが うまく" - next "できませんでした" - next "もういちど はじめから" - next "やりなおしてください" - db "@" - -MobileErrorCode_101_003_Text: -MobileErrorCode_101_008_Text: -MobileErrorCode_101_009_Text: -; Cannot read data. -; Please wait a moment, then try again. -; If the issue persists, please contact the Mobile Support Center. - db "データの よみこみが できません" - next "しばらくまって" - next "かけなおして ください" - next "なおらない ときは" - next "モバイルサポートセンターへ" - next "おといあわせください" - db "@" - -MobileErrorCode_101_007_Text: -; Call ended due to long waiting time. - db "まちじかんが ながいので" - next "でんわが きれました" - db "@" - -MobileErrorCode_101_005_Text: -; (Your adapter's) type differs from the other user’s Mobile Adapter. -; For details, please see the instruction manual. - db "あいての モバイルアダプタと" - next "タイプが ちがいます" - next "くわしくは とりあつかい" - next "せつめいしょを ごらんください" - db "@" - -String_17fe9a: ; unreferenced -; Cannot send your save data because Pokémon News is being updated. -; Please send your save data after loading new Pokémon News. - db "ポケモンニュースが" - next "あたらしくなっているので" - next "レポートを おくれません" - next "あたらしい ポケモンニュースの" - next "よみこみを さきに してください" - db "@" - -MobileErrorCode_101_000_Text: -; Either bad communication status, or the other user called was the incorrect user. -; Please confirm and try again. - db "つうしんの じょうきょうが" - next "よくないか かけるあいてが" - next "まちがっています" - next "もういちど かくにんをして" - next "でんわを かけなおして ください" - db "@" - -Function17ff23: - ldh a, [hJoyPressed] - and a - ret z - ld a, $8 - ld [wMusicFade], a - ld a, [wMapMusic] - ld [wMusicFadeID], a - xor a - ld [wMusicFadeID + 1], a - ld hl, wc303 - set 7, [hl] - ret - -Function17ff3c: - nop - ld a, [wMobileErrorCodeBuffer] - cp $d0 - ret c - hlcoord 10, 2 - ld de, String_17ff68 - call PlaceString - ld a, [wMobileErrorCodeBuffer] - push af - sub $d0 - inc a - ld [wMobileErrorCodeBuffer], a - hlcoord 14, 2 - ld de, wMobileErrorCodeBuffer - lb bc, PRINTNUM_LEADINGZEROS | 1, 3 - call PrintNum - pop af - ld [wMobileErrorCodeBuffer], a - and a - ret - -String_17ff68: - db "101@" diff --git a/mobile/mobile_menu.asm b/mobile/mobile_menu.asm deleted file mode 100644 index 834690d5a..000000000 --- a/mobile/mobile_menu.asm +++ /dev/null @@ -1,848 +0,0 @@ -MainMenu_Mobile: - call ClearBGPalettes - ld a, MUSIC_MOBILE_ADAPTER_MENU - ld [wMapMusic], a - ld de, MUSIC_MOBILE_ADAPTER_MENU - call Function4a6c5 -Function49f0a: - call ClearBGPalettes - call Function4a3a7 - call Function4a492 - call ClearBGPalettes -Function49f16: - call MobileMenu_InitMenuBuffers - ld c, 12 - call DelayFrames - hlcoord 4, 0 - ld b, 10 - ld c, 10 - call Function48cdc - hlcoord 6, 2 - ld de, MobileString1 - call PlaceString - hlcoord 0, 12 - ld b, 4 - ld c, SCREEN_HEIGHT - call Textbox - xor a - ld de, String_0x49fe9 - hlcoord 1, 14 - call PlaceString - call WaitBGMap2 - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr .check_buttons - -.joy_loop - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - -.check_buttons - bit A_BUTTON_F, a - jr nz, .a_button - bit B_BUTTON_F, a - jr nz, .b_button - jr .next - -.a_button - ld hl, wMenuCursorY - ld a, [hl] - cp 1 - jp z, Function4a098 - cp 2 - jp z, Function4a0b9 - cp 3 - jp z, Function4a0c2 - cp 4 - jp z, Function4a100 - ld a, 1 - call MenuClickSound -.b_button - pop bc - call ClearBGPalettes - call ClearTilemap - ld a, MUSIC_MAIN_MENU - ld [wMapMusic], a - ld de, MUSIC_MAIN_MENU - call Function4a6c5 - ret - -.next - ld hl, wMenuCursorY - ld a, [hl] - dec a - ld hl, MobileStrings2 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, 4 - ld c, SCREEN_HEIGHT - call ClearBox - hlcoord 1, 14 - call PlaceString - jp .useless_jump - -.useless_jump - call MobileMenu_InitMenuBuffers - pop bc - ld hl, wMenuCursorY - ld [hl], b - ld b, $a - ld c, $1 - hlcoord 5, 1 - call ClearBox - jp .joy_loop - -MobileString1: - db "めいしフォルダー" - next "あいさつ" - next "プロフィール" - next "せい" - next "もどる" - db "@" - -MobileStrings2: -; string 0 -String_0x49fe9: - db "めいし¯つくったり" - next "ほぞんしておける フォルダーです@" -; string 1 - db "モバイルたいせんや じぶんのめいしで" - next "つかう あいさつ¯つくります@" -; string 2 - db "あなたじゅうしょや ねんれいの" - next "せい¯かえられます@" -; string 3 - db "モバイルセンターせつぞくするとき" - next "ひつような こと¯きめます@" -; string 4 - db "まえがめん もどります" - next "@" - -MobileMenu_InitMenuBuffers: - ld hl, w2DMenuCursorInitY - ld a, 2 - ld [hli], a - ld a, 5 ; w2DMenuCursorInitX - ld [hli], a - ld a, 5 ; w2DMenuNumRows - ld [hli], a - ld a, 1 ; w2DMenuNumCols - ld [hli], a - ld [hl], $0 ; w2DMenuFlags1 - set 5, [hl] - inc hl - xor a ; w2DMenuFlags2 - ld [hli], a - ld a, $20 ; w2DMenuCursorOffsets - ld [hli], a - ; could have done "ld a, A_BUTTON | D_UP | D_DOWN | B_BUTTON" instead - ld a, A_BUTTON - add D_UP - add D_DOWN - add B_BUTTON - ld [hli], a ; wMenuJoypadFilter - ld a, 1 - ld [hli], a ; wMenuCursorY, wMenuCursorX - ld [hli], a ; wMenuCursorY, wMenuCursorX - ret - -Function4a098: - ld a, 2 - call MenuClickSound - call PlaceHollowCursor - call WaitBGMap - call LoadStandardMenuHeader - farcall Function89de0 - call Call_ExitMenu - call MG_Mobile_Layout_LoadPals - call Function4a485 - pop bc - jp Function49f16 - -Function4a0b9: - ld a, 2 - call MenuClickSound - pop bc - jp Function4a4c4 - -Function4a0c2: - ld a, 2 - call MenuClickSound - ld a, BANK(sPlayerData) - call OpenSRAM - ld hl, sPlayerData + wPlayerName - wPlayerData - ld de, wPlayerName - ld bc, NAME_LENGTH_JAPANESE - call CopyBytes - call CloseSRAM - farcall _LoadData - ld c, 2 - call DelayFrames - ld c, $1 - call InitMobileProfile - push af - call ClearBGPalettes - pop af - and a - jr nz, .skip_save - farcall _SaveData -.skip_save - ld c, 5 - call DelayFrames - jr asm_4a111 - -Function4a100: - ld a, 2 - call MenuClickSound - call ClearBGPalettes - call Function4a13b - call ClearBGPalettes - call ClearTilemap - -asm_4a111: - pop bc - call LoadFontsExtra - jp Function49f0a - -Function4a118: - ld hl, w2DMenuCursorInitY - ld a, $1 - ld [hli], a - ld a, $d - ld [hli], a - ld a, $3 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hl], $0 - set 5, [hl] - inc hl - xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $2 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hli], a - ret - -Function4a13b: - call Function4a3a7 - call Function4a492 - call Function4a373 - ld c, 10 - call DelayFrames - -Function4a149: - hlcoord 1, 2 - ld b, $6 - ld c, $10 - call Function48cdc - hlcoord 3, 4 - ld de, String_4a1ef - call PlaceString - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - ld a, [wMenuCursorY] - dec a - ld hl, Strings_4a23d - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, $4 - ld c, $12 - call ClearBox - hlcoord 1, 14 - call PlaceString - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr asm_4a19d - -Function4a195: - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - -asm_4a19d: - bit 0, a - jr nz, .asm_4a1a7 - bit 1, a - jr nz, .asm_4a1ba - jr .asm_4a1bc -.asm_4a1a7 - ld hl, wMenuCursorY - ld a, [hl] - cp $1 - jp z, Function4a20e - cp $2 - jp z, Function4a221 - ld a, $1 - call MenuClickSound -.asm_4a1ba - pop bc - ret -.asm_4a1bc - ld hl, wMenuCursorY - ld a, [hl] - dec a - ld hl, Strings_4a23d - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, $4 - ld c, $12 - call ClearBox - hlcoord 1, 14 - call PlaceString - jr .asm_4a1db -.asm_4a1db - call Function4a373 - pop bc - ld hl, wMenuCursorY - ld [hl], b - lb bc, 6, 1 - hlcoord 2, 3 - call ClearBox - jp Function4a195 - -String_4a1ef: - db "モバイルセンター¯えらぶ" - next "ログインパスワード¯いれる" - next "もどる@" - -Function4a20e: - ld a, $1 - call MenuClickSound - farcall Function1719c8 - call ClearBGPalettes - call DelayFrame - jr Function4a239 - -Function4a221: - ld a, $1 - call MenuClickSound - call Function4a28a - jr c, Function4a239 - call Function4a373 - ld a, $2 - ld [wMenuCursorY], a - jr .asm_4a235 -.asm_4a235 - pop bc - jp Function4a149 - -Function4a239: - pop bc - jp Function4a13b - -Strings_4a23d: - db "いつも せつぞく¯する" - next "モバイルセンター¯えらびます@" - - db "モバイルセンターせつぞくするとき" - next "つかうパスワード¯ほぞんできます@" - - db "まえがめん もどります@" - - db "@" - -Function4a28a: - hlcoord 2, 3 - lb bc, 6, 1 - ld a, " " - call Function4a6d8 - call PlaceHollowCursor - call WaitBGMap - call LoadStandardMenuHeader - ld a, $5 - call OpenSRAM - ld a, [$aa4b] - call CloseSRAM - and a - jr z, .asm_4a2df - hlcoord 12, 0 - ld b, $5 - ld c, $6 - call Function48cdc - hlcoord 14, 1 - ld de, String_4a34b - call PlaceString - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - call Function4a118 - call ScrollingMenuJoypad - push af - call PlayClickSFX - pop af - bit B_BUTTON_F, a - jr nz, .quit - ld a, [wMenuCursorY] - cp $2 - jr z, .DeleteLoginPassword - cp $3 - jr z, .quit -.asm_4a2df - farcall Function11765d - call ClearBGPalettes - call Call_ExitMenu - call LoadFontsExtra - scf - ret - -.DeleteLoginPassword: - call PlaceHollowCursor - ld hl, DeleteSavedLoginPasswordText - call PrintText - hlcoord 14, 7 - ld b, 3 - ld c, 4 - call Textbox - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - ld hl, DeletePassword_YesNo_MenuHeader - call LoadMenuHeader - call VerticalMenu - bit B_BUTTON_F, a - jr nz, .dont_delete_password - ld a, [wMenuCursorY] - cp $2 - jr z, .dont_delete_password - ld a, BANK(sMobileLoginPassword) - call OpenSRAM - ld hl, sMobileLoginPassword - xor a - ld bc, MOBILE_LOGIN_PASSWORD_LENGTH - call ByteFill - call CloseSRAM - ld hl, DeletedTheLoginPasswordText - call PrintText - call JoyWaitAorB -.dont_delete_password - call ExitMenu -.quit - call Call_ExitMenu - farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap - xor a - ret - -MenuHeader_0x4a346: ; unreferenced - db MENU_BACKUP_TILES ; flags - menu_coords 12, 0, SCREEN_WIDTH - 1, 6 - -String_4a34b: - db "いれなおす" - next "けす" - next "もどる@" - -DeleteSavedLoginPasswordText: - text_far _DeleteSavedLoginPasswordText - text_end - -DeletedTheLoginPasswordText: - text_far _DeletedTheLoginPasswordText - text_end - -DeletePassword_YesNo_MenuHeader: - db MENU_BACKUP_TILES ; flags - menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1 - dw MenuData_0x4a36a - db 2 ; default option - -MenuData_0x4a36a: - db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags - db 2 ; items - db "はい@" - db "いいえ@" - -Function4a373: - ld hl, w2DMenuCursorInitY - ld a, $4 - ld [hli], a - ld a, $2 - ld [hli], a - ld a, $3 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hl], $0 - set 5, [hl] - inc hl - xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $40 - add $80 - add $2 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hli], a - ret - -Function4a39a: ; unreferenced - call Function4a485 - call Function4a492 - call Function4a3aa - call SetPalettes - ret - -Function4a3a7: - call Function4a485 -Function4a3aa: - hlcoord 0, 0 - lb bc, 3, 1 - xor a - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 1, 1 - xor a - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 4, 1 - ld a, $2 - call Function4a6d8 - lb bc, 1, 1 - ld a, $3 - call Function4a6d8 - lb bc, 1, 1 - ld a, " " - call Function4a6d8 - hlcoord 1, 0 - ld a, $1 - lb bc, 3, 18 - call Function4a6d8 - lb bc, 1, 18 - ld a, $0 - call Function4a6d8 - lb bc, 1, 18 - ld a, $1 - call Function4a6d8 - lb bc, 1, 18 - ld a, $2 - call Function4a6d8 - lb bc, 11, 18 - ld a, " " - call Function4a6d8 - hlcoord 19, 0 - lb bc, 3, 1 - ld a, $0 - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 1, 1 - xor a - call Function4a6d8 - lb bc, 1, 1 - ld a, $1 - call Function4a6d8 - lb bc, 4, 1 - ld a, $2 - call Function4a6d8 - lb bc, 1, 1 - ld a, $3 - call Function4a6d8 - lb bc, 1, 1 - ld a, " " - call Function4a6d8 - ret - -Function4a449: ; unreferenced - ld bc, 3 * SCREEN_WIDTH - ld a, $0 - hlcoord 0, 0 - call ByteFill - ld bc, 2 * SCREEN_WIDTH - ld a, $1 - call ByteFill - ld bc, 2 * SCREEN_WIDTH - ld a, $0 - call ByteFill - ld bc, 2 * SCREEN_WIDTH - ld a, $1 - call ByteFill - ld bc, SCREEN_WIDTH - ld a, $2 - call ByteFill - ld bc, SCREEN_WIDTH - ld a, $3 - call ByteFill - ld bc, SCREEN_WIDTH - ld a, " " - call ByteFill - ret - -Function4a485: - ld de, MobileMenuGFX - ld hl, vTiles2 tile $00 - lb bc, BANK(MobileMenuGFX), 13 - call Get2bpp - ret - -Function4a492: - call _CrystalCGB_MobileLayout0 - ret - -MainMenu_MobileStudium: - ld a, [wStartDay] - ld b, a - ld a, [wStartHour] - ld c, a - ld a, [wStartMinute] - ld d, a - ld a, [wStartSecond] - ld e, a - push bc - push de - farcall MobileStudium - call ClearBGPalettes - pop de - pop bc - ld a, b - ld [wStartDay], a - ld a, c - ld [wStartHour], a - ld a, d - ld [wStartMinute], a - ld a, e - ld [wStartSecond], a - ret - -Function4a4c4: - call ClearBGPalettes - call Function4a3a7 - call Function4a492 - call Function4a680 - call ClearBGPalettes - ld c, 20 - call DelayFrames - hlcoord 2, 0 - ld b, $a - ld c, $e - call Function48cdc - hlcoord 4, 2 - ld de, String_4a5c5 - call PlaceString - hlcoord 4, 4 - ld de, String_4a5cd - call PlaceString - hlcoord 4, 6 - ld de, String_4a5da - call PlaceString - hlcoord 4, 8 - ld de, String_4a5e6 - call PlaceString - hlcoord 4, 10 - ld de, String_4a5f2 - call PlaceString - hlcoord 0, 12 - ld b, $4 - ld c, $12 - call Textbox - xor a - ld hl, Strings_4a5f6 - ld d, h - ld e, l - hlcoord 1, 14 - call PlaceString - ld a, $1 - ld hl, Strings_4a5f6 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 16 - call PlaceString - call WaitBGMap2 - call SetPalettes - call StaticMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - jr asm_4a54d - -Function4a545: - call ScrollingMenuJoypad - ld hl, wMenuCursorY - ld b, [hl] - push bc - -asm_4a54d: - bit 0, a - jr nz, .asm_4a557 - bit 1, a - jr nz, .asm_4a574 - jr .asm_4a57e -.asm_4a557 - ld hl, wMenuCursorY - ld a, [hl] - cp $1 - jp z, Function4a6ab - cp $2 - jp z, Function4a6ab - cp $3 - jp z, Function4a6ab - cp $4 - jp z, Function4a6ab - ld a, $1 - call MenuClickSound -.asm_4a574 - pop bc - call ClearBGPalettes - call ClearTilemap - jp Function49f0a -.asm_4a57e - ld hl, wMenuCursorY - ld a, [hl] - dec a - add a - push af - ld hl, Strings_4a5f6 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 13 - ld b, $4 - ld c, $12 - call ClearBox - hlcoord 1, 14 - call PlaceString - pop af - inc a - ld hl, Strings_4a5f6 - call GetNthString - ld d, h - ld e, l - hlcoord 1, 16 - call PlaceString - jp Function4a5b0 - -Function4a5b0: - call Function4a680 - pop bc - ld hl, wMenuCursorY - ld [hl], b - ld b, $a - ld c, $1 - hlcoord 3, 1 - call ClearBox - jp Function4a545 - -String_4a5c5: - db "じこしょうかい@" -String_4a5cd: - db "たいせん はじまるとき@" -String_4a5da: - db "たいせん かったとき@" -String_4a5e6: - db "たいせん まけたとき@" -String_4a5f2: - db "もどる@" - -Strings_4a5f6: - db "めいし や ニュース のせる@" - db "あなたあいさつです@" - db "モバイル たいせんはじまるとき@" - db "あいてみえる あいさつです@" - db "モバイル たいせんで かったとき@" - db "あいてみえる あいさつです@" - db "モバイル たいせんで まけたとき@" - db "あいてみえる あいさつです@" - db "まえがめん もどります@" - db "@" - -Function4a680: - ld hl, w2DMenuCursorInitY - ld a, $2 - ld [hli], a - ld a, $3 - ld [hli], a - ld a, $5 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hl], $0 - set 5, [hl] - inc hl - xor a - ld [hli], a - ld a, $20 - ld [hli], a - ld a, $1 - add $40 - add $80 - add $2 - ld [hli], a - ld a, $1 - ld [hli], a - ld [hli], a - xor a - ld [hli], a - ld [hli], a - ld [hli], a - ret - -Function4a6ab: - ld a, $2 - call MenuClickSound - call ClearBGPalettes - ld b, SCGB_DIPLOMA - call GetSGBLayout - farcall Function11c1ab - pop bc - call LoadFontsExtra - jp Function4a4c4 - -Function4a6c5: - ld a, $5 - ld [wMusicFade], a - ld a, e - ld [wMusicFadeID], a - ld a, d - ld [wMusicFadeID + 1], a - ld c, 22 - call DelayFrames - ret - -Function4a6d8: - push bc - push hl -.asm_4a6da - ld [hli], a - dec c - jr nz, .asm_4a6da - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, Function4a6d8 - ret - -if DEF(_DEBUG) -MainMenu_DebugRoom: - farcall _DebugRoom - ret -endc diff --git a/mobile/news/news.asm b/mobile/news/news.asm deleted file mode 100644 index e7264c2ea..000000000 --- a/mobile/news/news.asm +++ /dev/null @@ -1,42 +0,0 @@ -; http://forums.glitchcity.info/index.php?topic=7509.msg206449#msg206449 - - dab PlayersHouseDoll1Script ; related to "My Room" in Stadium 2? - -Function1f4003: ; unreferenced - ld a, BANK(s6_a000) - call OpenSRAM - ld hl, .news_data - ld de, s6_a000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret - -.news_data -INCBIN "mobile/news/news_1.bin" - -Function1f4dbe: ; unreferenced - ld a, BANK(s6_a000) - call OpenSRAM - ld hl, .news_data - ld de, s6_a000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret - -.news_data -INCBIN "mobile/news/news_2.bin" - -Function1f5d9f: ; unreferenced - ld a, BANK(s6_a000) - call OpenSRAM - ld hl, .news_data - ld de, s6_a000 - ld bc, $1000 - call CopyBytes - call CloseSRAM - ret - -.news_data -INCBIN "mobile/news/news_3.bin" diff --git a/mobile/news/news_1.bin b/mobile/news/news_1.bin deleted file mode 100644 index aa8c73e78..000000000 Binary files a/mobile/news/news_1.bin and /dev/null differ diff --git a/mobile/news/news_2.bin b/mobile/news/news_2.bin deleted file mode 100644 index 511d62cb7..000000000 Binary files a/mobile/news/news_2.bin and /dev/null differ diff --git a/mobile/news/news_3.bin b/mobile/news/news_3.bin deleted file mode 100644 index f4adbc0db..000000000 Binary files a/mobile/news/news_3.bin and /dev/null differ diff --git a/mobile/print_opp_message.asm b/mobile/print_opp_message.asm deleted file mode 100644 index 77cbbbdfc..000000000 --- a/mobile/print_opp_message.asm +++ /dev/null @@ -1,30 +0,0 @@ -Mobile_PrintOpponentBattleMessage: - ld a, c - push af - call SpeechTextbox - call MobileTextBorder - pop af - dec a - ld bc, $c - ld hl, w5_MobileOpponentBattleMessages - call AddNTimes - ld de, wMobileOpponentBattleMessage - ld bc, $c - ld a, BANK(w5_MobileOpponentBattleMessages) - call FarCopyWRAM - - ldh a, [rSVBK] - push af - ld a, $1 - ldh [rSVBK], a - - ld bc, wMobileOpponentBattleMessage - decoord 1, 14 - farcall PrintEZChatBattleMessage - - pop af - ldh [rSVBK], a - - ld c, 180 - call DelayFrames - ret diff --git a/ram/hram.asm b/ram/hram.asm index af43f8b2d..ad51e6d2d 100644 --- a/ram/hram.asm +++ b/ram/hram.asm @@ -123,7 +123,6 @@ hLCDCPointer:: db hLYOverrideStart:: db hLYOverrideEnd:: db -hMobileReceive:: db hSerialReceivedNewData:: db hSerialConnectionStatus:: db hSerialIgnoringInitialData:: db @@ -167,7 +166,6 @@ hCGB:: db hSGB:: db hDMATransfer:: db -hMobile:: db hSystemBooted:: db if DEF(_DEBUG) diff --git a/ram/sram.asm b/ram/sram.asm index 2621f2ebf..9c7c40e14 100644 --- a/ram/sram.asm +++ b/ram/sram.asm @@ -31,24 +31,6 @@ for n, 1, MAILBOX_CAPACITY + 1 sMailbox{d:n}Backup:: mailmsg sMailbox{d:n}Backup endr -sMysteryGiftData:: -sMysteryGiftItem:: db -sMysteryGiftUnlocked:: db -sBackupMysteryGiftItem:: db -sNumDailyMysteryGiftPartnerIDs:: db -sDailyMysteryGiftPartnerIDs:: ds MAX_MYSTERY_GIFT_PARTNERS * 2 -sMysteryGiftDecorationsReceived:: flag_array NUM_NON_TROPHY_DECOS - ds 4 -sMysteryGiftTimer:: dw - ds 1 -sMysteryGiftTrainerHouseFlag:: db -sMysteryGiftPartnerName:: ds NAME_LENGTH -sMysteryGiftUnusedFlag:: db -sMysteryGiftTrainer:: ds wMysteryGiftTrainerEnd - wMysteryGiftTrainer -sBackupMysteryGiftItemEnd:: - - ds $30 - sRTCStatusFlags:: db ds 7 sLuckyNumberDay:: db @@ -137,12 +119,8 @@ sHallOfFameEnd:: SECTION "SRAM Crystal Data", SRAM -sMobileEventIndex:: db - sCrystalData:: ds wCrystalDataEnd - wCrystalData -sMobileEventIndexBackup:: db - SECTION "SRAM Battle Tower", SRAM @@ -195,207 +173,3 @@ SECTION "Boxes 8-14", SRAM ; All 14 boxes fit exactly within 2 SRAM banks assert box_n == NUM_BOXES, \ "boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}" - - -SECTION "SRAM Mobile 1", SRAM - - ds $7 - -sEZChatMessages:: -sEZChatIntroductionMessage:: ds EASY_CHAT_MESSAGE_LENGTH -sEZChatBattleMessages:: -sEZChatBeginBattleMessage:: ds EASY_CHAT_MESSAGE_LENGTH -sEZChatWinBattleMessage:: ds EASY_CHAT_MESSAGE_LENGTH -sEZChatLoseBattleMessage:: ds EASY_CHAT_MESSAGE_LENGTH - -s4_a037:: ds 4 - -s4_a03b:: ds 37 * 40 - -s4_a603:: ds 8 - -s4_a60b:: db -s4_a60c:: db -s4_a60d:: db - -s4_a60e:: dw - - ds $1f0 - -sMobileBattleTimer:: ds 3 - - ds $7fd - -s4_b000:: db - - -SECTION "SRAM Mobile 2", SRAM - - ds 1 ; JP: location of sMobileEventIndex - -sTrainerRankings:: -sTrainerRankingGameTimeHOF:: ds 4 -sTrainerRankingStepCountHOF:: ds 4 -sTrainerRankingHealingsHOF:: ds 4 -sTrainerRankingBattlesHOF:: ds 3 -sTrainerRankingStepCount:: ds 4 -sTrainerRankingBattleTowerWins:: ds 4 -sTrainerRankingTMsHMsTaught:: ds 3 -sTrainerRankingBattles:: ds 3 -sTrainerRankingWildBattles:: ds 3 -sTrainerRankingTrainerBattles:: ds 3 -sTrainerRankingUnused1:: ds 3 -sTrainerRankingHOFEntries:: ds 3 -sTrainerRankingWildMonsCaught:: ds 3 -sTrainerRankingHookedEncounters:: ds 3 -sTrainerRankingEggsHatched:: ds 3 -sTrainerRankingMonsEvolved:: ds 3 -sTrainerRankingFruitPicked:: ds 3 -sTrainerRankingHealings:: ds 3 -sTrainerRankingMysteryGift:: ds 3 -sTrainerRankingTrades:: ds 3 -sTrainerRankingFly:: ds 3 -sTrainerRankingSurf:: ds 3 -sTrainerRankingWaterfall:: ds 3 -sTrainerRankingWhiteOuts:: ds 3 -sTrainerRankingLuckyNumberShow:: ds 3 -sTrainerRankingPhoneCalls:: ds 3 -sTrainerRankingUnused2:: ds 3 -sTrainerRankingLinkBattles:: ds 3 -sTrainerRankingSplash:: ds 3 -sTrainerRankingTreeEncounters:: ds 3 -sTrainerRankingUnused3:: ds 3 -sTrainerRankingColosseumWins:: ds 3 -sTrainerRankingColosseumLosses:: ds 3 -sTrainerRankingColosseumDraws:: ds 3 -sTrainerRankingSelfdestruct:: ds 3 -sTrainerRankingCurrentSlotsStreak:: ds 2 -sTrainerRankingLongestSlotsStreak:: ds 2 -sTrainerRankingTotalSlotsPayouts:: ds 4 -sTrainerRankingTotalBattlePayouts:: ds 4 -sTrainerRankingLongestMagikarp:: ds 2 -sTrainerRankingShortestMagikarp:: ds 2 -sTrainerRankingBugContestScore:: ds 2 -sTrainerRankingsChecksum:: ds 2 -sTrainerRankingsEnd:: - - ds 1 ; JP: location of sMobileEventIndexBackup - -sTrainerRankingsBackup:: ds sTrainerRankingsEnd - sTrainerRankings - - ds $6fa - -s5_a800:: db - -sOfferEmail:: ds MOBILE_EMAIL_LENGTH -sOfferTrainerID:: dw -sOfferSecretID:: dw -sOfferGender:: db -sOfferSpecies:: db -sOfferReqGender:: db -sOfferReqSpecies:: db -sOfferMonSender:: ds NAME_LENGTH_JAPANESE - 1 -sOfferMon:: party_struct sOfferMon -sOfferMonOT:: ds NAME_LENGTH_JAPANESE - 1 -sOfferMonNick:: ds NAME_LENGTH_JAPANESE - 1 -sOfferMonMail:: mailmsg_jp sOfferMonMail - -s5_a890:: db -s5_a891:: db -s5_a892:: db -s5_a893:: db -s5_a894:: ds 6 -s5_a89a:: dw -s5_a89c:: ds 22 -s5_a8b2:: ds 150 - -s5_a948:: ds 246 - - ds $3 - -s5_aa41:: ds 4 - - ds $2 - -s5_aa47:: db -s5_aa48:: db - - ds $1 - -s5_aa4a:: db - -sMobileLoginPassword:: ds MOBILE_LOGIN_PASSWORD_LENGTH - - ds $1 - -s5_aa5d:: ds MOBILE_LOGIN_PASSWORD_LENGTH - - ds $4 - -s5_aa72:: db -s5_aa73:: ds 12 -s5_aa7f:: ds 12 - -s5_aa8b:: db -s5_aa8c:: db -s5_aa8d:: db -s5_aa8e:: ds 7 * $cc - - ds $1 - -s5_b023:: ds 105 -s5_b08c:: ds 4 -s5_b090:: db -s5_b091:: db -s5_b092:: ds 31 - - ds $100 - -s5_b1b1:: db -s5_b1b2:: db -s5_b1b3:: db -s5_b1b4:: db - - ds $1e - -s5_b1d3:: - - ds $120 - -s5_b2f3:: db -s5_b2f4:: ds 4 - - ds $1 - -s5_b2f9:: db -s5_b2fa:: db -s5_b2fb:: db - - ds $b49 - -s5_be45:: db -s5_be46:: db - - ds $1b8 - -s5_bfff:: db - - -SECTION "SRAM Mobile 3", SRAM - -s6_a000:: db - db -s6_a002:: db -s6_a003:: db -s6_a004:: db -s6_a005:: db -s6_a006:: ds $1000 - -SECTION "SRAM Mobile 4", SRAM - -s7_a000:: db -s7_a001:: db - - ds $7fe - -s7_a800:: db diff --git a/ram/wram.asm b/ram/wram.asm index dca2dae61..5b3c5e9a4 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -198,7 +198,6 @@ wTilePermissions:: SECTION "wSpriteAnims", WRAM0 -UNION wSpriteAnimData:: wSpriteAnimDict:: @@ -216,39 +215,6 @@ wSpriteAnim{d:n}:: sprite_anim_struct wSpriteAnim{d:n} endr wSpriteAnimationStructsEnd:: -NEXTU -; mobile data -wMobileWRAM:: -wMobileErrorCodeBuffer:: ds 3 -wc303:: ds 2 -wc305:: ds 1 -wc306:: ds 1 -wc307:: ds 1 -wc308:: ds 1 -wc309:: ds 1 -wc30a:: ds 1 -wc30b:: ds 1 -wc30c:: ds 1 -wc30d:: ds 1 -wc30e:: ds 1 -wc30f:: ds 1 -wc310:: ds 1 -wc311:: ds 1 -wc312:: ds 1 -wc313:: ds 1 -wc314:: ds 5 -wc319:: db -wc31a:: db -wc31b:: db -wc31c:: db -wc31d:: db -wc31e:: db -wc31f:: db -wc320:: ds 38 -wc346:: ds 102 -wc3ac:: ds 8 -ENDU - wSpriteAnimCount:: db wCurSpriteOAMAddr:: db @@ -273,30 +239,6 @@ wSpriteAnimDataEnd:: ds 11 -; mobile data -wc3cc:: ds 1 -wEmailAddress:: ds MOBILE_EMAIL_LENGTH - ds 1 -wc3ec:: ds 1 -wc3ed:: ds 1 -wc3ee:: ds 1 -wc3ef:: ds 1 -wc3f0:: ds 1 -wc3f1:: ds 1 -wc3f2:: ds 1 -wc3f3:: ds 1 -wc3f4:: ds 1 -wc3f5:: ds 1 -wc3f6:: ds 1 -wc3f7:: ds 1 -wc3f8:: ds 1 -wc3f9:: ds 1 -wc3fa:: ds 1 -wc3fb:: ds 1 -wc3fc:: ds 1 - ds 3 -wMobileWRAMEnd:: - SECTION "Sprites", WRAM0 @@ -334,12 +276,6 @@ wBoxPartialData:: ds 480 wBoxPartialDataEnd:: -SECTION UNION "Miscellaneous", WRAM0 - -; battle tower temp struct -wBT_OTTemp:: battle_tower_struct wBT_OTTemp - - SECTION UNION "Miscellaneous", WRAM0 ; battle data @@ -621,12 +557,6 @@ wPlayerPatchLists:: ds SERIAL_PATCH_LIST_LENGTH wOTPatchLists:: ds SERIAL_PATCH_LIST_LENGTH -SECTION UNION "Miscellaneous", WRAM0 - -; mobile -wMobileTransferData:: ds 480 - - SECTION UNION "Miscellaneous", WRAM0 ; This union spans 200 bytes. @@ -644,12 +574,6 @@ NEXTU ; hall of fame temp struct wHallOfFameTemp:: hall_of_fame wHallOfFameTemp -NEXTU -; odd egg -wOddEgg:: party_struct wOddEgg -wOddEggName:: ds MON_NAME_LENGTH -wOddEggOT:: ds NAME_LENGTH - NEXTU ; debug mon color picker wDebugMiddleColors:: @@ -668,27 +592,6 @@ wDebugLightTileColor:: ds 2 wDebugDarkTileColor:: ds 2 wDebugBlackTileColor:: ds 2 -NEXTU -wMobileMonSender:: ds NAME_LENGTH_JAPANESE - 1 -wMobileMon:: party_struct wMobileMon -wMobileMonOT:: ds NAME_LENGTH_JAPANESE - 1 -wMobileMonNick:: ds NAME_LENGTH_JAPANESE - 1 -wMobileMonMail:: mailmsg_jp wMobileMonMail - -NEXTU -wOfferEmail:: ds MOBILE_EMAIL_LENGTH -wOfferTrainerID:: dw -wOfferSecretID:: dw -wOfferGender:: db -wOfferSpecies:: db -wOfferReqGender:: db -wOfferReqSpecies:: db -wOfferMonSender:: ds NAME_LENGTH_JAPANESE - 1 -wOfferMon:: party_struct wOfferMon -wOfferMonOT:: ds NAME_LENGTH_JAPANESE - 1 -wOfferMonNick:: ds NAME_LENGTH_JAPANESE - 1 -wOfferMonMail:: mailmsg_jp wOfferMonMail - NEXTU wUnknownGender:: db wUnknownSpecies:: db @@ -839,31 +742,6 @@ wMemoryGameNumCardsMatched:: db NEXTU ; unown puzzle wPuzzlePieces:: ds 6 * 6 - -NEXTU -; mobile data -wc6d0:: ds 56 -wc708:: db -wc709:: db -wc70a:: db -wc70b:: db -wc70c:: db -wc70d:: db -wc70e:: db -wc70f:: db -wc710:: db -wc711:: db -wc712:: ds 7 -wc719:: ds 53 -wc74e:: ds 107 -wc7b9:: ds 1 -wc7ba:: ds 1 -wc7bb:: ds 2 -wc7bd:: ds 19 -wc7d0:: ds 1 -wc7d1:: ds 1 -wc7d2:: ds 1 -wc7d3:: ds 2 ENDU @@ -1050,62 +928,6 @@ wLinkReceivedMail:: ds MAIL_STRUCT_LENGTH * PARTY_LENGTH wLinkReceivedMailEnd:: db -SECTION UNION "Overworld Map", WRAM0 - -; mystery gift data -wMysteryGiftStaging:: ds 80 - -UNION -wMysteryGiftTrainer:: ds 1 + (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 1 -wMysteryGiftTrainerEnd:: - -NEXTU -wNameCardData:: ds NAME_LENGTH + 2 + 2 + 1 + 8 + 12 -wNameCardDataEnd:: - -NEXTU -wMysteryGiftCardHolderName:: ds PLAYER_NAME_LENGTH -ENDU - - ds 138 - -wMysteryGiftPartnerData:: -wMysteryGiftPartnerGameVersion:: db -wMysteryGiftPartnerID:: dw -wMysteryGiftPartnerName:: ds NAME_LENGTH -wMysteryGiftPartnerDexCaught:: db -wMysteryGiftPartnerSentDeco:: db -wMysteryGiftPartnerWhichItem:: db -wMysteryGiftPartnerWhichDeco:: db -wMysteryGiftPartnerBackupItem:: db - ds 1 -wMysteryGiftPartnerDataEnd:: - - ds 60 - -wMysteryGiftPlayerData:: -wMysteryGiftPlayerGameVersion:: db -wMysteryGiftPlayerID:: dw -wMysteryGiftPlayerName:: ds NAME_LENGTH -wMysteryGiftPlayerDexCaught:: db -wMysteryGiftPlayerSentDeco:: db -wMysteryGiftPlayerWhichItem:: db -wMysteryGiftPlayerWhichDeco:: db -wMysteryGiftPlayerBackupItem:: db - ds 1 -wMysteryGiftPlayerDataEnd:: - - -SECTION UNION "Overworld Map", WRAM0 - - ds $200 - -; mystery gift data -wUnusedMysteryGiftStagedDataLength:: db -wMysteryGiftMessageCount:: db -wMysteryGiftStagedDataLength:: db - - SECTION UNION "Overworld Map", WRAM0 ds $200 @@ -1115,148 +937,6 @@ wCreditsBlankFrame2bpp:: ds 4 * 4 tiles wCreditsBlankFrame2bppEnd:: -SECTION UNION "Overworld Map", WRAM0 - -; mobile -wc800:: db -wc801:: db -wc802:: db -wc803:: db -wc804:: db -wc805:: db -wc806:: db -wc807:: db -wc808:: dw -wc80a:: db -wc80b:: db -wc80c:: dw -wc80e:: db -wc80f:: db -wc810:: dw -wMobileSDK_PacketChecksum:: dw -wc814:: db -wc815:: db -wc816:: dw -wMobileSDK_AdapterType:: db -wc819:: db -wc81a:: db -wc81b:: db -wc81c:: db -wc81d:: db -wMobileSDK_SendCommandID:: db -wc81f:: db -wc820:: db -wc821:: db -wc822:: db -wc823:: ds 4 -wc827:: dw -wc829:: dw -wc82b:: db -wc82c:: db -wc82d:: db -wc82e:: db -wc82f:: ds 3 -wc832:: db -wc833:: db -wc834:: db -wc835:: db -wc836:: ds 8 -wc83e:: ds 20 -wc852:: ds 20 -wc866:: ds 4 -wc86a:: db -wc86b:: db -wc86c:: db -wc86d:: db -wc86e:: dw -wc870:: db -wc871:: db -wc872:: db -wc873:: db -wc874:: db -wc875:: db -wc876:: db -wc877:: db -wc878:: dw -wc87a:: db -wc87b:: db -wc87c:: db -wc87d:: db -wc87e:: db -wc87f:: db -wc880:: dw -wc882:: db -wc883:: db -wc884:: ds 8 -wc88c:: ds 32 -wc8ac:: ds 26 -wc8c6:: db -wc8c7:: db -wc8c8:: db -wc8c9:: db -wc8ca:: ds 44 -wc8f6:: ds 8 -wc8fe:: db -wc8ff:: ds 15 -wc90e:: ds 8 -wc916:: ds 16 -wc926:: ds 8 -wc92e:: ds 75 -wc979:: db -wc97a:: ds 5 -wc97f:: db -wc980:: db -wc981:: db -wc982:: db -wc983:: dw -wc985:: db -wc986:: db -wc987:: db -wMobileAPIIndex:: db -wc989:: db -wc98a:: db -wc98b:: db -wc98c:: db -wc98d:: db -wc98e:: db -wc98f:: db -wc990:: db -wc991:: db -wc992:: db -wc993:: db -wc994:: db -wc995:: ds 16 -wc9a5:: ds 5 -wc9aa:: db -wc9ab:: db -wc9ac:: db -wc9ad:: db -wc9ae:: db -wc9af:: dw -wc9b1:: db -wc9b2:: ds 3 -wc9b5:: db -wc9b6:: ds 121 - -wMobileSDK_ReceivePacketBufferAlt:: ds 11 -wMobileSDK_ReceivedBytes:: dw -wMobileSDK_ReceivePacketBuffer:: ds 250 -wcb36:: db - ds 16 -wMobileSDK_PacketBuffer:: ds 281 -wcc60:: ds 1 -wcc61:: ds 1 -wcc62:: ds 2 -wcc64:: ds 1 -wcc65:: ds 57 - ds 22 -wccb4:: ds 1 -wccb5:: ds 3 -wccb8:: ds 1 -wccb9:: ds 1 -wccba:: ds 90 - - if DEF(_DEBUG) SECTION UNION "Overworld Map", WRAM0 @@ -1312,143 +992,6 @@ NEXTU ; credits wCreditsPos:: dw wCreditsTimer:: db - -NEXTU -; mobile data -wMobileMonSpeciesPointer:: dw -wMobileMonStructPointer:: dw -wMobileMonOTPointer:: dw -wMobileMonNicknamePointer:: dw -wMobileMonMailPointer:: dw - -NEXTU -; more mobile data -wcd20:: ds 1 -wcd21:: ds 1 -wcd22:: ds 1 -wcd23:: ds 1 -wcd24:: ds 1 -wMobileCommsJumptableIndex:: ds 1 -wcd26:: ds 1 -wcd27:: ds 1 -wcd28:: ds 1 -wcd29:: ds 1 - -wMobileMonIndex:: -wMobileMonMiscSpecies:: -wcd2a:: db - -UNION -wTempOddEggNickname:: ds MON_NAME_LENGTH -NEXTU -wcd2b:: ds 1 -wcd2c:: ds 1 -wcd2d:: ds 1 -wcd2e:: ds 1 -wcd2f:: ds 1 -wcd30:: ds 1 -wcd31:: ds 1 -wcd32:: ds 1 -wcd33:: ds 1 -wcd34:: ds 1 -wcd35:: ds 1 -ENDU - -; current time for link/mobile? -wcd36:: db ; hours -wcd37:: db ; mins -wcd38:: db ; secs - -wcd39:: ds 1 -wcd3a:: ds 1 -wcd3b:: ds 1 -wBattleTowerRoomMenu2JumptableIndex:: ds 1 -wcd3d:: ds 1 -wcd3e:: ds 1 -wcd3f:: ds 1 -wcd40:: ds 1 -wcd41:: ds 1 -wcd42:: ds 1 -wcd43:: ds 1 - -; some sort of timer in link battles -wMobileInactivityTimerMinutes:: db ; mins -wMobileInactivityTimerSeconds:: db ; secs -wMobileInactivityTimerFrames:: db ; frames -wcd47:: ds 1 - - ds 1 - -wBTTempOTSprite:: -wcd49:: db - -wcd4a:: ds 1 -wcd4b:: ds 1 - -wEZChatCursorXCoord:: -wcd4c:: db -wEZChatCursorYCoord:: -wcd4d:: db - -wcd4e:: ds 1 -wcd4f:: ds 1 -wcd50:: ds 1 -wcd51:: ds 1 -wcd52:: ds 1 - -wMobileOpponentBattleMessage:: ; ds 12 -wcd53:: ds 1 -wcd54:: ds 1 -wcd55:: ds 1 -wcd56:: ds 1 -wcd57:: ds 1 -wcd58:: ds 1 -wcd59:: ds 1 -wcd5a:: ds 1 -wcd5b:: ds 1 -wcd5c:: ds 1 -wcd5d:: ds 1 -wcd5e:: ds 1 -wcd5f:: ds 1 -wcd60:: ds 2 -wcd62:: ds 1 -wcd63:: ds 1 -wcd64:: ds 1 -wcd65:: ds 1 -wcd66:: ds 1 -wcd67:: ds 1 -wcd68:: ds 1 -wcd69:: ds 1 -wcd6a:: ds 1 -wcd6b:: ds 1 -wcd6c:: ds 1 -wcd6d:: ds 1 -wcd6e:: ds 1 -wcd6f:: ds 1 -wcd70:: ds 1 -wcd71:: ds 1 -wcd72:: ds 1 -wcd73:: ds 1 -wcd74:: ds 1 - -wOTMonSelection:: ds 2 ; ds BATTLETOWER_PARTY_LENGTH -wcd77:: ds 1 - -wMobileCrashCheckPointer:: dw -wcd7a:: ds 2 -wcd7c:: ds 3 -wcd7f:: ds 1 -wcd80:: ds 1 -wcd81:: ds 1 -wcd82:: ds 1 -wcd83:: ds 1 -wcd84:: ds 1 -wcd85:: ds 4 -wcd89:: ds 1 -wcd8a:: ds 1 -wcd8b:: ds 1 -wcd8c:: ds 1 -wcd8d:: ds 11 ENDU wDefaultSGBLayout:: db @@ -1511,7 +1054,6 @@ wNamedObjectType:: db ds 1 wJumptableIndex:: -wBattleTowerBattleEnded:: db UNION @@ -1615,12 +1157,6 @@ NEXTU ; stats screen wStatsScreenFlags:: db -NEXTU -; battle tower -wNrOfBeatenBattleTowerTrainers:: db - ds 1 -wBattleTowerRoomMenuJumptableIndex:: db - NEXTU ; miscellaneous wFrameCounter:: @@ -1634,12 +1170,6 @@ wPrinterQueueLength:: wUnusedSGB1eColorOffset:: db wUnusedTradeAnimPlayEvolutionMusic:: db - -NEXTU -; mobile -wcf64:: db -wcf65:: db -wcf66:: db ENDU wRequested2bppSize:: db @@ -1969,15 +1499,6 @@ wPlaceBallsDirection:: db wTrainerHUDTiles:: ds 4 -SECTION UNION "Miscellaneous WRAM 1", WRAMX - -; mobile participant nicknames - ds 4 -wMobileParticipant1Nickname:: ds NAME_LENGTH_JAPANESE -wMobileParticipant2Nickname:: ds NAME_LENGTH_JAPANESE -wMobileParticipant3Nickname:: ds NAME_LENGTH_JAPANESE - - SECTION UNION "Miscellaneous WRAM 1", WRAMX ; battle exp gain @@ -2087,36 +1608,6 @@ wDebugColorIsShiny:: db wDebugColorCurTMHM:: db -SECTION UNION "Miscellaneous WRAM 1", WRAMX - -; mobile? -wd002:: ds 1 -wd003:: ds 1 -wd004:: ds 1 - ds 3 -wd008:: ds 2 - ds 6 -wd010:: ds 1 -wd011:: ds 1 -wd012:: ds 1 -wd013:: ds 1 -wd014:: ds 2 - ds 1 -wd017:: ds 1 -wd018:: ds 1 -wd019:: ds 1 - ds 19 -wd02d:: ds 1 -wd02e:: ds 1 -wd02f:: ds 1 -wd030:: ds 1 -wd031:: ds 1 -wd032:: ds 1 -wd033:: ds 1 -wd034:: ds 2 -wd036:: ds 2 - - SECTION UNION "Miscellaneous WRAM 1", WRAMX ; Every previous SECTION UNION takes up 60 or fewer bytes, @@ -2285,7 +1776,6 @@ wTMHMPocketScrollPosition:: db wSwitchMon:: wSwitchItem:: wSwappingMove:: -wd0e3:: ; mobile db wMenuScrollPosition:: ds 4 @@ -2594,20 +2084,6 @@ NEXTU wLinkBattleRNPreamble:: ds SERIAL_RN_PREAMBLE_LENGTH wLinkBattleRNs:: ds SERIAL_RNS_LENGTH -NEXTU -; mobile -wd1ea:: ds 1 -wd1eb:: ds 1 -wd1ec:: ds 1 -wd1ed:: ds 1 -wd1ee:: ds 1 -wd1ef:: ds 1 -wd1f0:: ds 1 -wd1f1:: ds 1 -wd1f2:: ds 1 -wd1f3:: ds 1 - ds 6 - NEXTU ; miscellaneous bytes wSkipMovesBeforeLevelUp:: @@ -2621,7 +2097,6 @@ wCurEnemyItem:: db NEXTU ; miscellaneous words wBuySellItemPrice:: -wTempMysteryGiftTimer:: wMagikarpLength:: dw ENDU @@ -2727,7 +2202,6 @@ wBreedingCompatibility:: wMoveGrammar:: wApplyStatLevelMultipliersToEnemy:: wUsePPUp:: -wd265:: ; mobile db wFailedToFlee:: db @@ -2744,8 +2218,6 @@ SECTION "Enemy Party", WRAMX UNION wPokedexShowPointerAddr:: dw wPokedexShowPointerBank:: db - ds 3 -wd271:: dw ; mobile NEXTU wUnusedEggHatchFlag:: db @@ -2796,7 +2268,6 @@ ENDU ds 4 -wd430:: ; mobile wBattleAction:: db wLinkBattleSentAction:: db @@ -3434,81 +2905,6 @@ wPokeAnimBitmaskBuffer:: ds 7 wPokeAnimStructEnd:: -SECTION "Battle Tower RAM", WRAMX - -w3_d000:: ds 1 -w3_d001:: ds 1 -w3_d002:: ds 16 -w3_d012:: ds $6e -w3_d080:: ds 1 -w3_d081:: ds $f -w3_d090:: ds $70 - -w3_d100:: -wBT_OTTrainer:: battle_tower_struct wBT_OT - ds $20 -wBT_TrainerTextIndex:: db - ds 1 -w3_d202:: battle_tower_struct w3_d202 -w3_d2e2:: battle_tower_struct w3_d2e2 -w3_d3c2:: battle_tower_struct w3_d3c2 -w3_d4a2:: battle_tower_struct w3_d4a2 -w3_d582:: battle_tower_struct w3_d582 -w3_d662:: battle_tower_struct w3_d662 - -UNION -w3_d742:: battle_tower_struct w3_d742 - -NEXTU - ds $be -w3_d800:: ds BG_MAP_WIDTH * SCREEN_HEIGHT - -NEXTU - ds $be -wBTChoiceOfLvlGroup:: db - ds $1 -w3_d802:: ds 12 -w3_d80e:: db - ds $1 -w3_d810:: - ds $59 -w3_d869:: ds $17 -w3_d880:: ds 1 -w3_d881:: ds 8 -w3_d889:: ds 1 -w3_d88a:: ds 4 -w3_d88e:: ds 1 -w3_d88f:: ds 4 -w3_d893:: ds 1 -w3_d894:: ds 1 -w3_d895:: ds 11 -w3_d8a0:: ds 1 -w3_d8a1:: ds 1 -w3_d8a2:: ds 1 -w3_d8a3:: ds 1 -ENDU - - ds $1c0 - -w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT -UNION -w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT - - ds $11c - -w3_dfec:: ds $10 -w3_dffc:: ds 4 -NEXTU - ds $98 -w3_de00:: ds $200 -ENDU - - -SECTION "News Script RAM", WRAMX - -w4_d000:: ds $1000 - - SECTION "GBC Video", WRAMX, ALIGN[8] ; eight 4-color palettes each @@ -3617,19 +3013,6 @@ wSurfWaveBGEffectEnd:: ENDU -SECTION "Mobile RAM", WRAMX - -w5_d800:: ds $200 -w5_da00:: ds $200 -w5_dc00:: ds $d -w5_dc0d:: ds 4 -w5_dc11:: ds 9 -w5_MobileOpponentBattleMessages:: ds $c -w5_MobileOpponentBattleStartMessage:: ds $c -w5_MobileOpponentBattleWinMessage:: ds $c -w5_MobileOpponentBattleLossMessage:: ds $c - - SECTION "Scratch RAM", WRAMX UNION